System and method for providing answers to questions
First Claim
1. A computer-implemented method of generating answers to questions based on a corpus of data, said method comprising:
- receiving an input query;
performing a query context analysis upon said input query to break down said input query into query terms, said query terms comprising searchable components;
conducting a first search in said corpus of data using one of more of said searchable components to obtain documents potentially including candidate answers, wherein all documents potentially including candidate answers are stored in a data storage device;
analyzing all of said documents and each document'"'"'s metadata, in a candidate answer generation module, to generate a set of candidate answers;
conducting a second search in said corpus of data using said candidate answers and said searchable components of said query terms to obtain one or more supporting passages, wherein said supporting passages have at least one of said candidate answers and at least one of said searchable components of said query terms;
scoring said candidate answers using said supporting passages, wherein said scoring is carried out by a plurality of parallel implemented scoring modules, each scoring module producing a candidate score;
selecting one or more query answers based on said candidate score;
generating a query response based on said one or more query answers for delivery to a user,wherein each said plurality of parallel implemented scoring modules for scoring all candidate answers using the said supporting passages automatically conducts, in parallel, one or more analyses each producing a candidate score, wherein one candidate score comprises a term match score obtained by implementing executable instructions for counting the number of terms in said supporting passage and determining if said number matches a number of terms in a candidate answer; and
,wherein a further score comprises a textual alignment score obtained by said processor implementing executable instructions for determining if placement of words in said supporting passages are in alignment with placement of words of said candidate answers; and
,wherein a further score comprises a deeper analysis score obtained by said processor implementing executable instructions for determining the meaning of the supporting passages and input queries by analyzing lexical or semantic relations.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method and computer program product for providing answers to questions based on any corpus of data. The method facilitates generating a number of candidate passages from the corpus that answer an input query, and finds the correct resulting answer by collecting supporting evidence from the multiple passages. By analyzing all retrieved passages and that passage'"'"'s metadata in parallel, there is generated an output plurality of data structures including candidate answers based upon the analyzing. Then, by each of a plurality of parallel operating modules, supporting passage retrieval operations are performed upon the set of candidate answers, and for each candidate answer, the data corpus is traversed to find those passages having candidate answer in addition to query terms. All candidate answers are automatically scored causing the supporting passages by a plurality of scoring modules, each producing a module score. The modules scores are processed to determine one or more query answers; and, a query response is generated for delivery to a user based on the one or more query answers.
-
Citations
25 Claims
-
1. A computer-implemented method of generating answers to questions based on a corpus of data, said method comprising:
-
receiving an input query; performing a query context analysis upon said input query to break down said input query into query terms, said query terms comprising searchable components; conducting a first search in said corpus of data using one of more of said searchable components to obtain documents potentially including candidate answers, wherein all documents potentially including candidate answers are stored in a data storage device; analyzing all of said documents and each document'"'"'s metadata, in a candidate answer generation module, to generate a set of candidate answers; conducting a second search in said corpus of data using said candidate answers and said searchable components of said query terms to obtain one or more supporting passages, wherein said supporting passages have at least one of said candidate answers and at least one of said searchable components of said query terms; scoring said candidate answers using said supporting passages, wherein said scoring is carried out by a plurality of parallel implemented scoring modules, each scoring module producing a candidate score; selecting one or more query answers based on said candidate score; generating a query response based on said one or more query answers for delivery to a user, wherein each said plurality of parallel implemented scoring modules for scoring all candidate answers using the said supporting passages automatically conducts, in parallel, one or more analyses each producing a candidate score, wherein one candidate score comprises a term match score obtained by implementing executable instructions for counting the number of terms in said supporting passage and determining if said number matches a number of terms in a candidate answer; and
,wherein a further score comprises a textual alignment score obtained by said processor implementing executable instructions for determining if placement of words in said supporting passages are in alignment with placement of words of said candidate answers; and
,wherein a further score comprises a deeper analysis score obtained by said processor implementing executable instructions for determining the meaning of the supporting passages and input queries by analyzing lexical or semantic relations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for generating answers to questions based on a corpus of data comprising:
-
a memory storage device; a processor in communication with said memory storage device and configured to perform a method comprising; receiving an input query; performing a query context analysis upon said input query to break down said input query into query terms, said query terms comprising searchable components; conducting a first search in said corpus of data using one of more of said searchable components to obtain documents potentially including candidate answers, wherein all documents potentially including candidate answers are stored in a data storage device; analyzing all of said documents and each document'"'"'s metadata, in a candidate answer generation module, to generate a set of candidate answers; conducting a second search in said corpus of data using said candidate answers and said searchable components of said query terms to obtain one or more supporting passages, wherein said supporting passages have at least one of said candidate answers and at least one of said searchable components of said query terms; scoring said candidate answers using said supporting passages, wherein said scoring is carried out by a plurality of parallel implemented scoring modules, each scoring module producing a candidate score; selecting one or more query answers based on said candidate score; generating a query response based on said one or more query answers for delivery to a user, wherein each said plurality of parallel implemented scoring modules for scoring all candidate answers using the said supporting passages automatically conducts, in parallel, one or more analyses each producing a candidate score, wherein one candidate score comprises a term match score obtained by implementing executable instructions for counting the number of terms in said supporting passage and determining if said number matches a number of terms in a candidate answer; and
,wherein a further score comprises a textual alignment score obtained by said processor implementing executable instructions for determining if placement of words in said supporting passages are in alignment with placement of words of said candidate answers; and
,wherein a further score comprises a deeper analysis score obtained by said processor implementing executable instructions for determining the meaning of the supporting passages and input queries by analyzing lexical or semantic relations. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for generating answers to questions based on a corpus of data, said method steps including the steps of:
-
receiving an input query; performing a query context analysis upon said input query to break down said input query into query terms, said query terms comprising searchable components; conducting a first search in said corpus of data using one of more of said searchable components to obtain documents potentially including candidate answers, wherein all documents potentially including candidate answers are stored in a data storage device; analyzing all of said documents and each document'"'"'s metadata, in a candidate answer generation module, to generate a set of candidate answers; conducting a second search in said corpus of data using said candidate answers and said searchable components of said query terms to obtain one or more supporting passages, wherein said supporting passages have at least one of said candidate answers and at least one of said searchable components of said query terms; scoring said candidate answers using said supporting passages, wherein said scoring is carried out by a plurality of parallel implemented scoring modules, each scoring module producing a candidate score; selecting one or more query answers based on said candidate score; generating a query response based on said one or more query answers for delivery to a user, wherein each said plurality of parallel implemented scoring modules for scoring all candidate answers using the said supporting passages automatically conducts, in parallel, one or more analyses each producing a candidate score, wherein one candidate score comprises a term match score obtained by implementing executable instructions for counting the number of terms in said supporting passage and determining if said number matches a number of terms in a candidate answer; and
,wherein a further score comprises a textual alignment score obtained by said processor implementing executable instructions for determining if placement of words in said supporting passages are in alignment with placement of words of said candidate answers; and
,wherein a further score comprises a deeper analysis score obtained by said processor implementing executable instructions for determining the meaning of the supporting passages and input queries by analyzing lexical or semantic relations.
-
Specification