IP Library Granted Patent US 10,289,618
Granted Patent B2
US 10,289,618 · App. 16/029,758 · Granted May 14, 2019

Third party search applications for a search system

Inventors: Michael Fink (Tel Aviv, IL); Niv Efron (Tel Aviv, IL); Eyal Fink (Tel Aviv, IL); Alex Gontmakher (Ness Ziona, IL); Anatoly Vorobey (Tel Aviv, IL); Yossi Matias (Tel Aviv, IL); Jack Wright Menzel (Mountain View, CA); Asaph Arnon (New York, NY)
Assignee: GOOGLE LLC
G06F16/24553G06F16/951G06F21/53G06F21/74
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,289,618
App. No.
16/029,758
Granted
May 14, 2019
Kind
B2
Abstract

Systems and methods offer a search system with third-party provided search applications that are triggered in response to specified queries and run at the search system. For example, a method may include determining that a query triggers a third party search application hosted at the search system, executing the third party search application at the search system using computer-instructions obtained from the third party to generate and format a third-party formatted answer for the query, and providing the third-party formatted answer as a search result for the query. The third party may provide the query template, parameter attributes, if any, and the third party formatted answer. The third party search application is stored at the search system and may include the query template, a data store, the parameter attributes, and computer-instructions for accessing the data store using the parameter.

Claims (50)

1. A computer-implemented method comprising:

receiving a query at a search system;

determining, using at least one processor, that the query corresponds to a query template, the query template being provided by a third-party, the query template being a regular expression;

generating, using the at least one processor of the search system, a third-party formatted natural language answer for the query by executing computer-language instructions obtained from the third party for generating the natural language answer and for formatting the natural language answer; and

providing the third-party formatted natural language answer as a search result for the query,

wherein the query template and the computer-language instructions are stored at the search system as a third-party search application, which generates the third-party formatted natural language answer without communicating with a third-party site.

2. The method of claim 1 , wherein the third-party search application includes a data store received from the third party and stored at the search system and the computer-language instructions include instructions for accessing the data store and for using information obtained from the data store to generate the third-party formatted natural language answer.

3. The method of claim 2 , wherein the third-party search application generates the third-party formatted natural language answer by:

locating a record in the data store; and

using a field from the record to replace a variable in the third-party formatted natural language answer.

4. The method of claim 2 , further comprising:

receiving updated data for the data store from the third party on a periodic basis; and

updating the data store with the updated data.

5. The method of claim 2 , further comprising:

obtaining a parameter value from a query context of the query, wherein the third-party search application uses the parameter value to locate a record in the data store.

6. The method of claim 2 , the regular expression including a variable portion and the method further comprises: extracting, from the query, a parameter value that corresponds to the portion of the query that matches the variable portion, wherein the parameter value is used in accessing the data store.

7. The method of claim 1 , further comprising:

obtaining a parameter value from a query context of the query, wherein the third-party formatted natural language answer includes the parameter value.

8. The method of claim 1 , wherein the regular expression includes a variable portion and the method further comprises:

extracting a parameter value from the query that corresponds to the portion of the query that matches the variable portion.

9. The method of claim 8 , wherein the third-party formatted natural language answer includes a sentence determined by the third party that includes the parameter value.

10. The method of claim 1 , wherein the query is an audio query.

11. A search system comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the search system to perform operations comprising:

receiving at least one query template from a third party, the at least one query template comprising a regular expression,

receiving a data store from the third party, the data store including attributes and data,

receiving, from the third party, computer-language instructions for accessing the data store and for formatting a natural-language query answer that includes data identified by accessing the data store, and

storing the data for data store, including the data and the attributes, and the at least one query template at the search system as a third-party search application,

wherein the search system executes the third-party search application, which generates and provides the natural-language query answer responsive to a query matching the at least one query template, without communicating with a third-party site.

12. The search system of claim 11 , wherein the receiving and storing are repeated for a plurality of distinct third parties.

13. The search system of claim 11 , wherein the memory further stores instructions that, when executed by the at least one processor, cause the search system to perform operations comprising:

determining that the query corresponds to the query template;

generating a natural-language query answer for the query by executing the instructions for accessing the data store; and

providing the natural-language query answer as a search result for the query.

14. The search system of claim 11 , wherein the regular expression includes at least one variable portion representing a parameter and the computer-language instructions for accessing the data store include instructions for using a portion of the query matching the variable portion and the parameter to access the data store.

15. The search system of claim 11 , wherein a plurality of query templates are received from the third party, each query template being a regular expression, at least one query template of the plurality of query templates including a variable portion representing a parameter, and wherein the computer-language instructions for accessing the data store include instructions for using a portion of the query that matches the variable portion and the parameter to access the data store responsive to the query template triggering the third-party search application.

16. The search system of claim 11 , wherein a plurality of query templates are received from the third party, each query template being a regular expression, at least one query template of the plurality of query templates lacking a variable portion, wherein the computer-language instructions for accessing the data store include instructions for using a context of the query to identify a parameter value used to access the data store responsive to the at least one query template triggering the third-party search application.

17. The search system of claim 11 , wherein the query is an audio query.

18. A search system comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the search system to perform operations comprising:

determining that a query triggers a third-party search application hosted at the search system based on a query template, the query template being a regular expression obtained from the third party and stored at the search system, wherein the query triggers the third-party search application responsive to each character in the query corresponding to a fixed portion of the regular expression or to a variable portion of the regular expression,

executing computer-language instructions obtained from the third party for generating a third-party formatted natural language answer for the query and for formatting the natural language answer, the computer-language instructions being stored at the search system and the executing occurring at the search system without communicating with a third party site, and

providing the third-party formatted natural language answer as a search result for the query.

19. The search system of claim 18 , the memory further storing instructions that, when executed by the at least one processor, cause the search system to extract a parameter value from the query, the parameter value being characters of the query that correspond to the variable portion, and to use the parameter value to generate the third-party formatted natural language answer.

20. The search system of claim 18 , wherein determining that the query triggers the third-party search application includes:

determining that the query includes a pronoun; and

substituting the pronoun in the query with a noun from a previous query submitted by a requester of the query.

21. The search system of claim 18 , wherein the memory also stores instructions that, when executed by the at least one processor, causes the search system to obtain a parameter value from a context of the query, the parameter value being used to generate the third-party formatted natural language answer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2019
From: ARNON, ASAPH
To: GOOGLE LLC
Reel/Frame 048629/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2018
From: FINK, MICHAEL; EFRON, NIV; FINK, EYAL; GONTMAKHER, ALEX; VOROBEY, ANATOLY; MATIAS, YOSSI; MENZEL, JACK WRIGHT
To: GOOGLE INC.
Reel/Frame 046609/0497 →
CHANGE OF NAME Recorded Aug 10, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 046762/0474 →
Continuity (3)
Continuation 13960302 · Aug 6, 2013
Provisional Application 61847371 · Jul 17, 2013
Related Publication 20180314736A1 · Nov 1, 2018
Cited By (20)
US 12,204,329 US 12,216,465 US 12,216,466 US 12,222,714 US 12,228,924 US 12,235,641 US 12,242,262 US 12,242,264 US 12,248,316 US 12,248,317 US 12,253,851 US 12,292,939 US 12,298,759 US 12,298,760 US 12,321,168 US 12,321,169 US 12,321,170 US 12,353,206 US 12,361,324 US 12,694,427