IP Library › Granted Patent US 11,023,513
Granted Patent B2
US 11,023,513 · App. 15/976,566 · Granted Jun 1, 2021

Method and apparatus for searching using an active ontology

Inventor: Adam Cheyer (Oakland, CA)
Assignee: Apple Inc.
G06F16/367G06F16/334G06F16/3334
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 11,023,513
App. No.
15/976,566
Granted
Jun 1, 2021
Kind
B2
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.

Claims (52)

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.

2. The computer-readable storage medium of claim 1 , wherein the first concept node represents a first action of searching a first database, and wherein the second concept node represents a second action of searching a second database different from the first database.

3. The computer-readable storage medium of claim 2 , wherein the task includes creating an event in the first database in accordance with the attribute and the second token.

4. The computer-readable storage medium of claim 1 , wherein the plurality of concept nodes are arranged in a hierarchical manner, and wherein the second concept node is a descendant of the first concept node in the active ontology.

5. The method of claim 4 , 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.

6. The computer-readable storage medium of claim 4 , wherein the second concept node represents an attribute of the first concept node in the active ontology.

7. The computer-readable storage medium of claim 1 , wherein the first concept node represents the concept of making a restaurant booking, and wherein the second concept node represents a second concept of searching restaurant reviews.

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.

9. The method of claim 8 , wherein the first concept node represents a first action of searching a first database, and wherein the second concept node represents a second action of searching a second database different from the first database.

10. The i rethod of claim 9 , wherein the task includes creating an event in the first database in accordance with the attribute and the second token.

11. The method of claim 8 , wherein the plurality of concept nodes are arranged in a hierarchical manner, and wherein the second concept node is a descendant of the first concept node in the active ontology.

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.

13. The method of claim 11 , wherein the second concept node represents an attribute of the first concept node in the active ontology.

14. The method of claim 8 , wherein the first concept node represents the concept of making a restaurant booking, and wherein the second concept node represents a second concept of searching restaurant reviews.

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.

16. The device of claim 15 , wherein the first concept node represents a first action of searching a first database, and wherein the second concept node represents a second action of searching a second database different from the first database.

17. The device of claim 16 , wherein the task includes creating an event in the first database in accordance with the attribute and the second token.

18. The device of claim 15 , wherein the plurality of concept nodes are arranged in a hierarchical manner, and wherein the second concept node is a descendant of the first concept node in the active ontology.

19. The device of claim 18 , 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.

20. The device of claim 18 , wherein the second concept node represents an attribute of the first concept node in the active ontology.

21. The device of claim 15 , wherein the first concept node represents the concept of making a restaurant booking, and wherein the second concept node represents a second concept of searching restaurant reviews.

Continuity (3)
Continuation 12341743 · Dec 22, 2008
Provisional Application 61015495 · Dec 20, 2007
Related Publication 20180357308A1 · Dec 13, 2018
Cited By (1)
US 12,482,466