A3-ChenYe
From CS294-10 Visualization Fa07
[edit] Interactive Visualization for Question-Answering System
Introduction:
We plan to develop a visualization for a question-answering system. Question-answering systems are considered to be next-generation search engines that takes natural language questions as input, returning a possible answer. Some examples of existing question answering systems are: http://www.hakia.com, http://www.powerset.com
There are some challenges for question-answering systems. First, similar to web search, search results might be ambiguous. For example, the question "what's the maximum speed of jaguar" might mean the car or the cat. Second, some questions might be time sensitive, with correct answers changing over time. For instance, the answer to "who is the president of the United States" will be different after next year. Third, since there is no one way to ask a specific question, answers found by the system might vary as well. We think these problems can be solved by utilizing an interactive user interface. We will develop an interactive visualization for the question-answering system to help users more easily find accurate and specific answers.
Data Domain:
Jerry had implemented a question answering system as a class project for "IS 240: Information Retrieval" in Spring 2005. The system indexed all articles in Wikipedia using Lucene, a Java API for search engine development. Given a question as input, the system returns 10 possible answers based on the knowledge base. We will use the indexed Wikipedia articles and the answers generated by the QA system as the dataset.
Features:
The project will use the dynamic query technique for interactive visualization:
1. Tag Cloud:
The tag cloud is in the form of lists of words whose varying font size reflects the frequency of the terms in the answer sentences. Users could click on words to remove them from the tag cloud. Subsequently the answers that contain that word would be removed as well. Clicking on the word a second time would add it back into the tag cloud, and the removed answer would come back.
2. Time slide bar:
A slide bar to filter the answers by date. Users could use the time slide bar to select the time range for the articles that contain the answers. The answers in this time range will be highlighted.
3. Check box for the type of answer:
The check boxes are used to help users find the type of answers they need. The types can be "places", "persons", "time", etc. When the boxes are checked the answers in that certain type will be highlighted.
Storyboard:
The following is an interactive visualization for the search results of the question-answering system. When the user queries the system with a question in the text field on the top and clicks "ask", ten answers will show up on the left column of the page, and the tag cloud is displayed in the right side. The size of the words in the tag cloud is in proportion to the word's frequency in the answer sentences. When the user clicks a word in the tag cloud, that word will be crossed out, and the answers that contains the word will be removed.
The slide bar above the answers lets users select the time range of the answers. After the user selects the time range using the slide bar, the answers in that time range will be highlighted. The check boxes beside the slide bar let users select the type of answers. In the visualization below, the "time" type is checked, and the answers of time type are highlighted.
Implementation:
We'll use JSP and JavaScript to implement the interactive interface.
[edit] Final Implementation
Description
This project is an interactive visualization for the question-answering system. The user submits a question string and gets a set of possible answers. Because the answers have different types (such as who and where) and updated time, they can be ambiguous and time-sensitive. This interface provides some interactive features to help users pinpoint their ideal answers. The features are:
1. tag cloud.
2. time slide bar
3. check box for the type of answer.
For tag cloud, users can click the tags to remove the answers that contain the tag. Clicking that tag again will bring back the answer. To narrow down to the good answers, users can use the time slide bar AND check box to highlight the answers that meet both the selected time range and answer type.
The link to the project is : http://cocobean.gotdns.com/vis/
The source codes are Media:CY a3.zip
The project is implemented in JSP and Javascript.
Changes made for final implementation
1. We added a text field below the time slider to show the selected time range. In the storyboard users can't see exactly what year they select. As some answers can be time-sensitive, we think showing the selected year would help navigate users to the right answer.
2. There were four check boxes for answer types in the storyboard. We actually implemented two of them because the other two are redundant.
Breakdown of work:
Jih-Yin Chen: time slide bar, checkbox, final writeup, integration
Jerry Ye: tag cloud, checkbox, answer highlighting, integration
Commentary on Development Process:
We spent about 10 hours each on the implementation. The most time-consuming part is the implementation of interactive interface with Javascript. It's kind of annoying when mixed with html code. And code sometimes doesn't work as documented. For instance, object.indexOf("word") works, but object.indexOf(element.innerHTML) doesn't work, even though element.innerHTML = "word".


