Responding to natural language queries
First Claim
Patent Images
1. A system comprising:
- at least one processor;
an indexer which, upon execution, causes the at least one processor to determine, based on source code text of a plurality of program modules, which keywords are likely to appear in a natural language query and to associate each keyword of the keywords with a program module of the plurality of program modules that are executable to obtain data in response to natural language queries;
a language learner which, upon execution, causes the at least one processor to alter an association between a keyword of the keywords and a program module of the plurality of program modules, in response to determining that the altered association is more likely to trigger an accurate response to a natural language query;
a query translator which, upon execution, causes the at least one processor to determine whether at least one determined keyword of the keywords determined by the indexer appears in a received natural language query; and
a results generator which, upon execution, causes the at least one processor to;
respond to the received natural language query with data generated by each program module, of the plurality of program modules, that is associated with the at least one determined keyword appearing in the received natural language query, andrank the data returned by each program module associated with the at least one determined keyword based on a probability that the data is a correct response to the received natural language query.
8 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein are a system, non-transitory computer-readable medium, and method for responding to natural language queries. Keywords likely to appear in a natural language query are determined and each likely keyword is associated with a module. A response to a natural language query comprises information generated by each module associated with a likely keyword appearing in the natural language query.
-
Citations
17 Claims
-
1. A system comprising:
-
at least one processor; an indexer which, upon execution, causes the at least one processor to determine, based on source code text of a plurality of program modules, which keywords are likely to appear in a natural language query and to associate each keyword of the keywords with a program module of the plurality of program modules that are executable to obtain data in response to natural language queries; a language learner which, upon execution, causes the at least one processor to alter an association between a keyword of the keywords and a program module of the plurality of program modules, in response to determining that the altered association is more likely to trigger an accurate response to a natural language query; a query translator which, upon execution, causes the at least one processor to determine whether at least one determined keyword of the keywords determined by the indexer appears in a received natural language query; and a results generator which, upon execution, causes the at least one processor to; respond to the received natural language query with data generated by each program module, of the plurality of program modules, that is associated with the at least one determined keyword appearing in the received natural language query, and rank the data returned by each program module associated with the at least one determined keyword based on a probability that the data is a correct response to the received natural language query. - View Dependent Claims (2, 3, 4, 13, 14)
-
-
5. A non-transitory computer-readable medium storing instructions that upon execution cause at least one processor to:
-
determine keywords likely to appear in natural language queries, the determining based on source code text of application programming interface (API) modules executable in response to the natural language queries to obtain data; associate each of the determined keywords with a respective API module of the API modules; alter an association between a determined keyword of the determined keywords and a respective API module of the API modules, in response to determining that the altered association is more likely to trigger an accurate response to a natural language query of the natural language queries; determine whether at least one determined keyword of the determined keywords appears in a received natural language query; respond to the received natural language query with data produced by each API module, of the API modules, that is associated with the at least one determined keyword that appears in the received natural language query; and rank the data returned by each API module associated with the at least one determined keyword based on a probability that the data is a correct response to the received natural language query. - View Dependent Claims (6, 7, 8, 15)
-
-
9. A method comprising:
-
determining, using at least one processor, keywords that are likely to appear in natural language queries, the determining of the keywords based on source code text of program modules executable to obtain data from a data structure in response to the natural language queries; associating, using the at least one processor, each determined keyword with a program module of the program modules; changing, using the at least one processor, an association between a determined keyword and a program module, in response to determining that changing the association is more likely to trigger an accurate response to a natural language query of the natural language queries; determining, using the at least one processor, whether at least one determined keyword of the determined keywords appears in a received natural language query; generating, using the at least one processor, a response to the received natural language query with data produced by each respective program module, of the program modules, that is associated with the at least one determined keyword appearing in the received natural language query; and ranking, using the at least one processor, the data returned by each respective program module associated with the at least one determined keyword based on a probability that the data returned is a correct response to the received natural language query. - View Dependent Claims (10, 11, 12, 16, 17)
-
Specification