IP Library Granted Patent US 9,336,485
Granted Patent B2
US 9,336,485 · App. 13/914,906 · Granted May 10, 2016

Determining answers in a question/answer system when answer is not contained in corpus

Inventors: Peter F. Haggar (Raleigh, NC); Dane A. Johnson (Townsend, MA); Stephan J. Roorda (Fuquay-Varina, NC); Richard L. Stillwell (Austin, TX); Michael D. Whitley (Durham, NC)
Assignee: International Business Machines Corporation
G06N5/02G06F17/30684
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,336,485
App. No.
13/914,906
Granted
May 10, 2016
Kind
B2
Abstract

Mechanisms are provided for generating an answer for an input question when the answer is not directly present in a corpus of information. An input question is received from a computing device and analyzed to determine whether the input question is requesting an answer that is calculable. In response to a determination that the input question is requesting an answer that is calculable, one or more constituent data values are retrieved, from a corpus of information, for calculating the requested answer to the input question. A value corresponding to the requested answer is calculated based on the one or more retrieved constituent data values and is then output as the requested answer to the input question.

Claims (55)

1. A method, in a data processing system comprising a processor and a memory, for generating an answer for an input question when the answer is not directly present in a corpus of information, the method comprising:

receiving, in the data processing system, an input question from a computing device;

processing, by the data processing system, the input question to generate a first set of candidate answers to the input question and corresponding confidence scores for each candidate answer in the first set of candidate answers;

determining, by the data processing system, whether at least one of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding a minimum confidence score value, wherein the answer to the input question is determined to not be directly provided in the corpus of information with a predetermined level of confidence if none of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding the minimum confidence score value; and

in response to the answer to the input question not being directly provided in the corpus of information with the predetermined level of confidence:

analyzing, by the data processing system, the input question to determine whether the input question is requesting an answer that is calculable at least by:

determining a domain of the input question, wherein the domain indicates a subject matter area context of the input question, and wherein the domain is one of a plurality of domains for which input questions are received by the data processing system; and

invoking one or more domain specific annotators, corresponding to the determined domain, to analyze the input question, wherein the one or more domain specific annotators are configured to identify domain specific terms or phrases, specific to the determined domain of the input question, which are indicative of the answer being calculable; and

in response to a determination that the input question is requesting an answer that is calculable:

retrieving, by the data processing system, from a corpus of information, one or more constituent data values for calculating the requested answer to the input question;

calculating a value corresponding to the requested answer based on the one or more retrieved constituent data values; and

outputting, by the data processing system, the calculated value as the requested answer to the input question, wherein calculating the value corresponding to the requested answer comprises invoking the one or more domain specific annotators to perform domain specific calculations to generate domain specific calculable values that are specific to the determined domain of the input question, and wherein different domains are associated with different sets of domain specific terms or phrases and domain specific calculable values.

2. The method of claim 1 , wherein analyzing the input question comprises:

performing natural language processing on the input question to extract one or more features from the input question; and

analyzing the one or more extracted features to identify the one or more constituent data values.

3. The method of claim 2 , wherein retrieving, from a corpus of information, the one or more constituent data values for calculating the requested answer to the input question comprises:

applying, by the data processing system, one or more queries to the corpus of information, based on the extracted one or more features, to retrieve the one or more constituent data values.

4. The method of claim 2 , further comprising:

calculating a confidence score associated with the calculated value, wherein the confidence score for the calculated value is a function of confidence values associated with the one or more constituent data values.

5. The method of claim 1 , wherein analyzing the input question to determine whether the input question is requesting an answer that is calculable comprises analyzing the input question to identify one or more predetermined terms or phrases corresponding to a mathematically generated value.

6. The method of claim 5 , wherein the one or more predetermined terms or phrases comprises at least one of the terms average, longest, shortest, per, how much, how little, biggest, smallest, bigger, smaller, mean, or median.

7. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a data processing system, causes the data processing system to:

receive an input question from a computing device;

process the input question to generate a first set of candidate answers to the input question and corresponding confidence scores for each candidate answer in the first set of candidate answers;

determine whether at least one of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding a minimum confidence score value, wherein the answer to the input question is determined to not be directly provided in the corpus of information with a predetermined level of confidence if none of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding the minimum confidence score value; and

in response to the answer to the input question not being directly provided in the corpus of information with the predetermined level of confidence:

analyze the input question to determine whether the input question is requesting an answer that is calculable at least by:

determining a domain of the input question, wherein the domain indicates a subject matter area context of the input question, and wherein the domain is one of a plurality of domains for which input questions are received by the data processing system; and

invoking one or more domain specific annotators, corresponding to the determined domain, to analyze the input question, wherein the one or more domain specific annotators are configured to identify domain specific terms or phrases, specific to the determined domain of the input question, which are indicative of the answer being calculable; and

in response to a determination that the input question is requesting an answer that is calculable:

retrieve, from a corpus of information, one or more constituent data values for calculating the requested answer to the input question;

calculate a value corresponding to the requested answer based on the one or more retrieved constituent data values; and

output the calculated value as the requested answer to the input question, wherein the computer readable program causes the data processing system to calculate the value corresponding to the requested answer at least by invoking the one or more domain specific annotators to perform domain specific calculations to generate domain specific calculable values that are specific to the determined domain of the input question, and wherein different domains are associated with different sets of domain specific terms or phrases and domain specific calculable values.

8. The computer program product of claim 7 , wherein the computer readable program further causes the data processing system to analyze the input question at least by:

performing natural language processing on the input question to extract one or more features from the input question; and

analyzing the one or more extracted features to identify the one or more constituent data values.

9. The computer program product of claim 8 , wherein the computer readable program further causes the data processing system to retrieve, from a corpus of information, the one or more constituent data values for calculating the requested answer to the input question at least by:

applying, by the data processing system, one or more queries to the corpus of information, based on the extracted one or more features, to retrieve the one or more constituent data values.

10. The computer program product of claim 8 , wherein the computer readable program further causes the data processing system to:

calculate a confidence score associated with the calculated value, wherein the confidence score for the calculated value is a function of confidence values associated with the one or more constituent data values.

11. The computer program product of claim 7 , wherein the computer readable program further causes the data processing system to analyze the input question to determine whether the input question is requesting an answer that is calculable at least by analyzing the input question to identify one or more predetermined terms or phrases corresponding to a mathematically generated value.

12. An apparatus comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

receive an input question from a computing device;

process the input question to generate a first set of candidate answers to the input question and corresponding confidence scores for each candidate answer in the first set of candidate answers;

determine whether at least one of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding a minimum confidence score value, wherein the answer to the input question is determined to not be directly provided in the corpus of information with a predetermined level of confidence if none of the candidate answers in the first set of candidate answers has a corresponding confidence score equaling or exceeding the minimum confidence score value; and

in response to the answer to the input question not being directly provided in the corpus of information with the predetermined level of confidence:

analyze the input question to determine whether the input question is requesting an answer that is calculable at least by:

determining a domain of the input question, wherein the domain indicates a subject matter area context of the input question, and wherein the domain is one of a plurality of domains for which input questions are received by the data processing system; and

invoking one or more domain specific annotators, corresponding to the determined domain, to analyze the input question, wherein the one or more domain specific annotators are configured to identify domain specific terms or phrases, specific to the determined domain of the input question, which are indicative of the answer being calculable; and

in response to a determination that the input question is requesting an answer that is calculable:

retrieve, from a corpus of information, one or more constituent data values for calculating the requested answer to the input question;

calculate a value corresponding to the requested answer based on the one or more retrieved constituent data values; and

output the calculated value as the requested answer to the input question, wherein the instructions cause the processor to calculate the value corresponding to the requested answer at least by invoking the one or more domain specific annotators to perform domain specific calculations to generate domain specific calculable values that are specific to the determined domain of the input question, and wherein different domains are associated with different sets of domain specific terms or phrases and domain specific calculable values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2013
From: HAGGAR, PETER F.; JOHNSON, DANE A.; ROORDA, STEPHAN J.; STILLWELL, RICHARD L.; WHITLEY, MICHAEL D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030600/0429 →
Continuity (1)
Related Publication 20140365502A1 · Dec 11, 2014