IP Library › Granted Patent US 10,769,184
Granted Patent B2
US 10,769,184 · App. 14/869,376 · Granted Sep 8, 2020

Systems and methods for providing improved search functionality on a client device

Inventors: Jennifer L. Moore (Mountain View, CA); John M. Homkvist (Cupertino, CA)
Assignee: Apple Inc.
G06F16/3329G06F16/3344G06F16/243G06F16/24522G06F16/3331
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 10,769,184
App. No.
14/869,376
Granted
Sep 8, 2020
Kind
B2
Abstract

A system, method, and machine readable medium are described for providing improved search functionality on a client device.

Claims (44)

1. A machine implemented method for providing a search functionality on a computer, the method comprising:

receiving an unstructured query to be used to perform one or more searches;

determining one or more structured queries from the unstructured query based on a grammatical interpretation of the unstructured query and available contextual information using a query grammar, wherein the query grammar is a set of one or more rules that associate one or more terms of the unstructured query with a keyword identifying one or more types of metadata associated with computer-storable objects, a past selection of a query result by a user is used to modify the set of one or more rules of the query grammar for this user that is used to parse the unstructured query to generate the one or more structured queries, and the query result is associated with the one or more terms and corresponds to a particular type of metadata associated with computer-storable objects;

executing a search using the one or more structured queries and the unstructured query to determine search results, wherein the search results include results from both the one or more structured queries and the unstructured query; and

presenting the results of the search using the one or more structured queries and the unstructured query.

2. The machine implemented method of claim 1 , wherein determining the one or more structured queries based on a grammatical interpretation of the unstructured query includes using the query grammar to parse the unstructured query without requiring user input to parse the unstructured query, wherein determining the one or more structured queries based on a grammatical interpretation of the unstructured query further includes identifying keywords associated with particular types of computer files.

3. The machine implemented method of claim 2 , wherein the available contextual information modifies the rules of the query grammar to parse the unstructured query.

4. The machine implemented method of claim 1 , further comprising:

determining a best grammatical interpretation of the unstructured query based on partial execution of the one or more structured queries.

5. The machine implemented method of claim 1 , further comprising:

determining that the received unstructured query has met a predetermined threshold of ambiguity; and

presenting a second unstructured query as a suggestion for an improved search query.

6. The machine implemented method of claim 5 , wherein the second unstructured query is based on variations to the unstructured query that produce improved search results compared to the received unstructured query.

7. The method of claim 1 where the available contextual information includes one or more of: (a) one or more previous selections of one or more query results by a user of the computer; (b) frequency with which a user of the computer uses an application on the computer; (c) a representation of the amount of time which a user of the computer has actively used an application on the computer; (d) a set of one or more times which a user has historically used an application on the computer; (e) whether the computer is connected to one or more previously used wireless networks; or (f) one or more previous selections of one or more query results by other users of the search functionality.

8. The machine implemented method of claim 1 , wherein the type of metadata is a file type.

9. A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system method for providing a search functionality, the method comprising:

receiving an unstructured query to be used to perform one or more searches;

determining one or more structured queries from the unstructured query based on a grammatical interpretation of the unstructured query and available contextual information using a query grammar, wherein the query grammar is a set of one or more rules that associate one or more terms of the unstructured query with a keyword identifying one or more types of metadata associated with computer-storable objects, a past selection of a query result by a user is used to modify the set of one or more rules of the query grammar for this user that is used to parse the unstructured query to generate the one or more structured queries, and the query result is associated with the one or more terms and corresponds to a particular type of metadata associated with computer-storable objects;

executing a search using the one or more structured queries and the unstructured query to determine search results, wherein the search results include results from both the one or more structured queries and the unstructured query; and

presenting the results of the search using the one or more structured queries and the unstructured query.

10. The medium of claim 9 , wherein determining the one or more structured queries based on a grammatical interpretation of the unstructured query includes using the query grammar to parse the unstructured query without requiring user input to parse the unstructured query.

11. The medium of claim 10 , wherein the available contextual information modifies the rules of the query grammar to parse the unstructured query.

12. The medium of claim 9 , wherein determining the one or more structured queries based on a grammatical interpretation of the unstructured query further includes identifying keywords associated with particular types of computer files.

13. The medium of claim 9 , the method further comprising:

determining a best grammatical interpretation of the unstructured query based on partial execution of the one or more structured queries.

14. The medium of claim 9 , the method further comprising:

determining that the received unstructured query has met a predetermined threshold of ambiguity; and

presenting a second unstructured query as a suggestion for an improved search query.

15. The medium of claim 14 , wherein the second unstructured query is based on variations to the unstructured query that produce improved search results compared to the received unstructured query.

16. The medium of claim 9 wherein the available contextual information includes one or more of: (a) one or more previous selections of one or more query results by a user of the system; (b) frequency with which a user of the system uses an application on the system; (c) a representation of the amount of time which a user of the system has actively used an application on the system; (d) a set of one or more times which a user of the system has historically used an application on the system; (e) whether the system is connected to one or more previously used wireless networks; or (f) one or more previous selections of one or more query results by other users of the search functionality.

17. A data processing system comprising:

a processor;

a memory coupled to the processor though a bus; and

a process executed from the memory by the processor that causes the processor to receive an unstructured query to be used to perform one or more searches,

determine one or more structured queries from the unstructured query based on a grammatical interpretation of the unstructured query and available contextual information using a query grammar, wherein the query grammar is a set of one or more rules that associate one or more terms of the unstructured query with a keyword identifying one or more types of metadata associated with computer-storable objects, a past selection of a query result by a user is used to modify the set of one or more rules of the query grammar for this user that is used to parse the unstructured query to generate the one or more structured queries, and the query result is associated with the one or more terms and corresponds to a particular type of metadata associated with computer-storable objects,

execute a search using the one or more structured queries and the unstructured query to determine search results, wherein the search results include results from both the one or more structured queries and the unstructured query, and

present the results of the search using the one or more structured queries and the unstructured query.

18. The system of claim 17 , wherein the process further causes the processor to

determine a best grammatical interpretation of the unstructured query based on partial execution of the one or more structured queries.

19. The system of claim 17 , wherein the process further causes the processor to

determine that the received unstructured query has met a predetermined threshold of ambiguity, and

present a second unstructured query as a suggestion for an improved search query.

20. The system of claim 19 , wherein the second unstructured query is based on variations to the unstructured query that produce improved search results compared to the received unstructured query.

21. The system of claim 17 wherein the available contextual information includes one or more of: (a) one or more previous selections of one or more query results by a user of the system; (b) frequency with which a user of the system uses an application on the system; (c) a representation of the amount of time which a user of the system has actively used an application on the system; (d) a set of one or more times which a user of the system has historically used an application on the system; (e) whether the system is connected to one or more previously used wireless networks; or (f) one or more previous selections of one or more query results by other users of the search functionality.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: MOORE, JENNIFER L.; HORNKVIST, JOHN M.
To: APPLE INC.
Reel/Frame 036872/0707 →
Continuity (2)
Provisional Application 62171703 · Jun 5, 2015
Related Publication 20160357853A1 · Dec 8, 2016
Cited By (1)
US 12,346,945