Method and apparatus for searching using an active ontology
First Claim
Patent Images
1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for:
- receiving natural language input representing a user request;
receiving contextual data associated with the natural language input;
parsing, using an active ontology, a plurality of tokens representing the natural language input to determine a user intent corresponding to the natural language input, wherein the active ontology includes a plurality of concept nodes, and wherein the parsing comprises;
matching a first token of the plurality of tokens to both a first concept node and a second concept node of the plurality of concept nodes, wherein matching the first token of the plurality of tokens to both the first concept node and the second concept node comprises;
determining a confidence value associated with the first concept node based on the contextual data; and
selecting the second concept node based on the confidence value associated with the first concept node; and
in accordance with a determination that a second token of the plurality of tokens matches an attribute of the first concept node but not any attribute of the second concept node, determining that the user intent corresponds to a concept represented by the first concept node;
generating a semantic structure for the user intent using the attribute of the first concept node and the second token; and
performing a task corresponding to the semantic structure.
0 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a method and apparatus for searching using an active ontology. One embodiment of a method for searching a database includes receiving a search string, where the search string comprises one or more words, generating a semantic representation of the search string in accordance with an ontology, searching the database using the semantic representation, and outputting a result of the searching.
2811 Citations
21 Claims
-
1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for:
-
receiving natural language input representing a user request; receiving contextual data associated with the natural language input; parsing, using an active ontology, a plurality of tokens representing the natural language input to determine a user intent corresponding to the natural language input, wherein the active ontology includes a plurality of concept nodes, and wherein the parsing comprises; matching a first token of the plurality of tokens to both a first concept node and a second concept node of the plurality of concept nodes, wherein matching the first token of the plurality of tokens to both the first concept node and the second concept node comprises; determining a confidence value associated with the first concept node based on the contextual data; and selecting the second concept node based on the confidence value associated with the first concept node; and in accordance with a determination that a second token of the plurality of tokens matches an attribute of the first concept node but not any attribute of the second concept node, determining that the user intent corresponds to a concept represented by the first concept node; generating a semantic structure for the user intent using the attribute of the first concept node and the second token; and performing a task corresponding to the semantic structure. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for natural language processing to perform a task, the method comprising:
-
at an electronic device having one or more processors and memory storing one or more programs configured to be executed by the one or more processors; receiving natural language input representing a user request; receiving contextual data associated with the natural language input; parsing, using an active ontology, a plurality of tokens representing the natural language input to determine a user intent corresponding to the natural language input, wherein the active ontology includes a plurality of concept nodes, and wherein the parsing comprises; matching a first token of the plurality of tokens to both a first concept node and a second concept node of the plurality of concept nodes, wherein matching the first token of the plurality of tokens to both the first concept node and the second concept node comprises; determining a confidence value associated with the first concept node based on the contextual data; and selecting the second concept node based on the confidence value associated with the first concept node; and in accordance with a determination that a second token of the plurality of tokens matches an attribute of the first concept node but not any attribute of the second concept node, determining that the user intent corresponds to a concept represented by the first concept node; generating a semantic structure for the user intent using the attribute of the first concept node and the second token; and performing the task corresponding to the semantic structure. - View Dependent Claims (9, 10, 11, 13, 14)
-
-
12. The method of claim I 1, wherein parsing the plurality of tokens further comprises matching a third token of the plurality of tokens to an attribute of the second concept node, and wherein the generated semantic structure includes a constraint derived from the third token and from the attribute of the second concept node.
-
15. An electronic device, comprising:
-
one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for; receiving natural language input representing a user request; receiving contextual data associated with the natural language input; parsing, using an active ontology, a plurality of tokens representing the natural language input to determine a user intent corresponding to the natural language input, wherein the active ontology includes a plurality of concept nodes, and wherein the parsing comprises; matching a first token of the plurality of tokens to both a first concept node and a second concept node of the plurality of concept nodes wherein matching the first token of the plurality of tokens to both the first concept node and the second concept node comprises; determining a confidence value associated with the first concept node based on the contextual data; and selecting the second concept node based on the confidence value associated with the first concept node; and in accordance with a determination that a second token of the plurality of tokens matches an attribute of the first concept node but not any attribute of the second concept node, determining that the user intent corresponds to a concept represented by the first concept node; generating a semantic structure for the user intent using the attribute of the first concept node and the second token; and performing a task corresponding to the semantic structure. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification