Disambiguating join paths for natural language queries
First Claim
1. A Method comprising:
- obtaining a natural language query from a user;
converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base, including;
identifying one or more tokens in the natural language query;
generating a tree specifying dependency relationships among the identified tokens in the natural language query;
generating a graph based on the tree and a data schema of the knowledge base, the graph having multiple join paths that each specify a directional relationship among elements within the knowledge base that correspond to the identified tokens in the natural language query;
responsive to detecting a linguistic ambiguity due to the inclusion of a particular identified token in multiple join paths in the graph, wherein a token included in the natural language query has two or more interpretations;
resolving the linguistic ambiguity by selecting one of the multiple join paths specified by the graph, wherein the selected join path corresponds to an interpretation of the token from among the two or more interpretations of the token;
using the natural language query in accordance with the selected interpretation of the token, to generate one or more structured operations;
identifying search results by performing the one or more structured operations on the structured APIs of the knowledge base; and
returning the search results to the user in response to the natural language query;
wherein the knowledge base is implemented on one or more computers and one or more storage devices storing instructions to produce operation results based on structured operations; and
wherein the knowledge base stores information associated with entities according to the data schema and has the APIs for programs to query the knowledge base.
2 Assignments
0 Petitions
Accused Products
Abstract
One of the methods includes, obtaining a natural language query from a user; while converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base: responsive to detecting a linguistic ambiguity associated with the converting, wherein the linguistic ambiguity identifies two or more interpretations of a word included in the natural langue query: resolving the linguistic ambiguity by selecting an interpretation of the word, from the two or more interpretations of the word, based on one or more join paths that have been generated based on a data schema of the knowledge base; modifying the converting in accordance with the selected interpretation of the word, to generate one or more structured operations; performing the one or more structured operations on the structured APIs of the knowledge base; and returning search results matching the natural language query results to the user.
-
Citations
20 Claims
-
1. A Method comprising:
-
obtaining a natural language query from a user; converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base, including; identifying one or more tokens in the natural language query; generating a tree specifying dependency relationships among the identified tokens in the natural language query; generating a graph based on the tree and a data schema of the knowledge base, the graph having multiple join paths that each specify a directional relationship among elements within the knowledge base that correspond to the identified tokens in the natural language query; responsive to detecting a linguistic ambiguity due to the inclusion of a particular identified token in multiple join paths in the graph, wherein a token included in the natural language query has two or more interpretations; resolving the linguistic ambiguity by selecting one of the multiple join paths specified by the graph, wherein the selected join path corresponds to an interpretation of the token from among the two or more interpretations of the token; using the natural language query in accordance with the selected interpretation of the token, to generate one or more structured operations; identifying search results by performing the one or more structured operations on the structured APIs of the knowledge base; and returning the search results to the user in response to the natural language query; wherein the knowledge base is implemented on one or more computers and one or more storage devices storing instructions to produce operation results based on structured operations; and wherein the knowledge base stores information associated with entities according to the data schema and has the APIs for programs to query the knowledge base. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system comprising:
-
one or more computers; and one or more storage units storing instructions that when executed by the one or more computers cause the computing system to perform operations comprising; obtaining a natural language query from a user; converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base, including; identifying one or more tokens in the natural language query; generating a tree specifying dependency relationships among the identified tokens in the natural language query; generating a graph based on the tree and a data schema of the knowledge base, the graph having multiple join paths that each specify a directional relationship among elements within the knowledge base that correspond to the identified tokens in the natural language query; responsive to detecting a linguistic ambiguity due to the inclusion of a particular identified token in multiple join paths in the graph, wherein a token included in the natural language query has two or more interpretations; resolving the linguistic ambiguity by selecting one of the multiple join paths specified by the graph, wherein the selected join path corresponds to an interpretation of the token, from among the two or more interpretations of the token; using the natural language query in accordance with the selected interpretation of the token, to generate one or more structured operations; identifying search results by performing the one or more structured operations on the structured APIs of the knowledge base; and returning the search results to the user in response to the natural language query; wherein the knowledge base is implemented on one or more computers and one or more storage devices storing instructions to produce operation results based on structured operations; and wherein the knowledge base stores information associated with entities according to the data schema and has the APIs for programs to query the knowledge base. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by a system cause the system to perform operations comprising:
-
obtaining a natural language query from a user; converting the natural language query into structured operations to be performed on structured application programming interfaces (APIs) of a knowledge base, including; identifying one or more tokens in the natural language query; generating a tree specifying dependency relationships among the identified tokens in the natural language query; generating a graph based on the tree and a data schema of the knowledge base, the graph having multiple join paths that each specify a directional relationship among elements within the knowledge base that correspond to the identified tokens in the natural language query; responsive to detecting a linguistic ambiguity due to the inclusion of a particular identified token in multiple join paths in the graph, wherein a token included in the natural language query has two or more interpretations; resolving the linguistic ambiguity by selecting one of the multiple join paths specified by the graph, wherein the selected join path corresponds to an interpretation of the token from among the two or more interpretations of the token; using the natural language query in accordance with the selected interpretation of the token, to generate one or more structured operations; identifying search results by performing the one or more structured operations on the structured APIs of the knowledge base; and returning the search results to the user in response to the natural language query; wherein the knowledge base is implemented on one or more computers and one or more storage devices storing instructions to produce operation results based on structured operations; and wherein the knowledge base stores information associated with entities according to the data schema and has the APIs for programs to query the knowledge base. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification