AUTOMATED ANSWERS TO ONLINE QUESTIONS
Methods, systems, and apparatus for providing automated answers to a question. In an aspect, a method include receiving a question from a client and querying a first repository for answers corresponding to the question. If no result is returned from the first repository, the method will parse the question into a set of keywords and query a second repository for answers corresponding to the set of keywords, and order the answers returned from the first repository or the second repository according to a ranking criteria, and finally present at least a subset of the ordered answers to the client.
1 . A computer-implemented method of providing automated answers to a question, comprising:
receiving data defining a question from a client, the question including a plurality of words;
querying a first repository for answers corresponding to the question, the first repository storing question answer pairs, each of the question answer pairs have a respective score corresponding to its popularity;
parsing the question into a set of keywords and querying a second repository for answers corresponding to the set of keywords, the second repository storing keyword-set answer pairs, each of the keyword-set answer pairs having a respective score corresponding to its popularity;
ordering the answers returned from the first repository or the second repository according to ranking criteria; and
providing at least a subset of the ordered answers to the client.
2 . The method of claim 1 , further comprising normalizing the received question by at least one of: removing redundant words; correcting spelling mistakes; removing unnecessary punctuation; correcting incorrect punctuation; and removing redundant spaces.
3 . The method of claim 1 , wherein parsing the question into set of keywords comprises:
segmenting the question into a set of words using a language model corresponding to the language in which the question is written; and
removing the stop words from the set of words.
4 . The method of claim 3 , wherein segmenting the question is refined by comparing at least part of the question against a collection of search terms.
5 . The method of claim 1 , wherein providing at least a subset of the ordered answers comprises providing the answer having the highest ranking to the client.
6 . The method of claim 1 , wherein the client comprises at least one of a chat room application, a bulletin board application, and a client side interface to a search engine.
7 . The method of claim 1 , wherein parsing the question into a set of keywords and querying a second repository for answers corresponding to the set of keywords occurs concurrently with querying the first repository.
8 . The method of claim 1 , wherein parsing the question into a set of keywords and querying a second repository for answers corresponding to the set of keywords occurs only when no answers are received in response to the querying of the first repository.
9 . A system of providing automated answers to a question, comprising:
a first repository, storing question answer pairs, each of the question answer pairs having a respective score corresponding to its popularity;
a second repository, storing keyword-set answer pairs, each of the keyword-set answer pairs having a respective score corresponding to its popularity;
a question processing module configured to:
receive data defining a question from a client, the question including a plurality of words;
query the first repository for answers corresponding to the question;
parse the question into a set of keywords and query the second repository for answers corresponding to the set of keywords;
order the answers returned from the first repository or the second repository according to ranking criteria;
provide at least a subset of the ordered answers to the client for presentation.
10 . The system of claim 9 , wherein the question processing module is further configured to normalize the received question by at least one of: removing redundant words; correcting spelling mistakes; removing unnecessary punctuation; correcting incorrect punctuation; and removing redundant spaces.
11 . The system of claim 9 , wherein the step of parsing the question into a set of keywords comprises at least:
segmenting the question into a set of words using a language model corresponding to the language in which the question is written; and
removing the stop words from the set of words.
12 . The system of claim 11 , wherein segmenting the question is refined by comparing at least part of the question against a collection of search terms.
13 . The system of claim 9 , wherein the parsing the question into a set of keywords and querying a second repository for answers corresponding to the set of keywords occurs currently with the step of querying the first repository.
14 . The system of claim 9 , wherein parsing the question into a set of keywords and querying a second repository for answers corresponding to the set of keywords occurs only when no answers are received in response to the querying of the first repository.
15 . The system of claim 9 , further comprising a repository maintenance module for maintaining the first and second repositories, the repository maintenance module being configured to:
identify a question-answer pair from a document among a corpus of documents, wherein the answer is mapped to the question;
add the question-answer pair to the first repository;
parse the question in the question-answer pair to obtain a set of keywords; and
add the set of keywords and the answer to the second repository.
16 . The system of claim 15 , wherein the keywords and the answer are added to the second repository only if the size of the set of keywords is over a threshold.
17 . The system of claim 16 , wherein a distance between the end of the question and the beginning of the answer of the identified question-answer pair in the document is within a first predetermined threshold value.
18 . The system of claim 16 or 17 , wherein the length of the question in the identified question-answer pair is within a second predetermined threshold value, and the length of the answer of the identified question-answer pair is within a third threshold value.
19 . The system of claim 15 , wherein adding the question-answer pair to the first repository comprises:
determining whether the question-answer pair already exists in the first repository;
if the question-answer pair already exists in the first repository, increasing the ranking of the question-answer pair in the first repository, or if the question-answer pair does not exist in the first repository, storing a new entry for the question-answer pair in the first repository and initializing a ranking for the pair.
20 . The system of claim 15 , wherein adding the set of keywords and the answer to the second repository in the index system comprises:
determining whether a pair of the set of keywords and the answer already exists in the second repository;
if the pair of the set of keywords and the answer already exists in the second repository, increasing the ranking of the pair in the second repository; or
if the pair of the set of keywords and the answer does not exist in the second repository, storing a new entry for the pair of the set of keywords and the answer in the second repository and initializing a ranking for the pair.
21 . The system of claim 15 , wherein the corpus of documents comprises chat-room transcripts, bulletin board data, and web pages.
22 . The system of claim 15 , wherein the step of identifying a question-answer pair includes normalizing the question and answer in the pair by at least one of: removing redundant words; correcting spelling mistakes; removing unnecessary punctuation; correcting incorrect punctuation; removing redundant spaces.
23 . A computer-implemented method, comprising:
identifying a question-answer pair from a document among a corpus of documents, wherein the answer is mapped to the question;
adding the question-answer pair to a first repository;
parsing the question in the question-answer pair to obtain a set of keywords;
associating the set of keywords with the answer; and
adding the set of keywords and the answer to a second repository.
24 . The method of claim 23 , wherein the keywords and the answer are added to the second repository only if the size of the set of keywords is over a threshold.
25 . The method of claim 23 , wherein identifying a question-answer pair from a document among a corpus of documents comprises identifying only the question-answer pair only if the distance between an end of the question and a beginning of the answer in the document is within a first predetermined threshold value.
26 . The method of claim 25 , wherein identifying a question-answer pair from a document among a corpus of documents comprises identifying a question only if a length of the questions is within a second predetermined threshold value, and identifying an answer only if a length of the answer of the identified question-answer pair is within a third threshold value.
27 . The method of claim 23 , wherein adding the question-answer pair to the first repository comprises:
determining whether the question-answer pair already exists in the first repository;
if the question-answer pair already exists in the first repository, increasing the ranking of the question-answer pair in the first repository; and
if the question-answer pair does not exist in the first repository, storing a new entry for the question-answer pair in the first repository and initializing a ranking for the pair.
28 . The method of claim 23 , wherein adding the set of keywords and the answer to the second repository in the index system comprises:
determining whether a pair of the set of keywords and the answer already exists in the second repository;
if a pair of the set of keywords and the answer already exists in the second repository, increasing the ranking of the pair in the second repository; and
if a pair of the set of keywords and the answer does not exist in the second repository, storing a new entry for the pair of the set of keywords and the answer in the second repository and initializing a ranking for the pair.
29 . The method of claim 23 , wherein the corpus of documents comprises chat-room messages, bulletin board messages, and web pages.