IP Library › Granted Patent US 12,651,029
Granted Patent B2
US 12,651,029 · App. 18/361,450 · Granted Jun 9, 2026

Using frames for action dialogs

Inventors: David P. Whipp (San Jose, CA); David Kliger Elson (Brooklyn, NY); Shir Judith Yehoshua (San Francisco, CA)
Assignee: GOOGLE LLC
G06F16/9538G06F3/167G06F16/243G06F16/3329G06F16/953G06F16/9535G06F16/9536G10L15/1822G10L15/22H04M3/4936G10L2015/223
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 12,651,029
App. No.
18/361,450
Granted
Jun 9, 2026
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using frames for performing tasks. One of the methods includes receiving a first request to perform a task, the first request comprising user speech identifying the task; generating a frame associated with the task, wherein the frame comprises one or more types of values necessary to perform the task, and wherein each type of value can be satisfied by a respective value; receiving a second request to provide information related to a question, the second request comprising user speech identifying the question; providing information identifying the question to a search engine, and receiving a response identifying one or more terms; determining that at least one term can satisfy a type of value necessary to perform the task; and storing the at least one term in the frame.

Claims (72)

1 . A method, comprising:

generating, based on user interface input provided at a user device, a first inquiry associated with a calendar application;

causing, based on the first inquiry, a frame to be generated specifying one or more types of values necessary to respond to the first inquiry;

generating, based on additional user interface input provided at the user device subsequent to receiving the first inquiry, a second inquiry associated with a request for particular information of the calendar application associated with the first inquiry;

causing, based on the second inquiry, generation of a plurality of results responsive to the request for the particular information;

determining, based on processing the plurality of results, that one or more of the plurality of results, that are caused to be generated based on the second inquiry, provide at least one value corresponding to one or more of the types of values necessary to respond to the first inquiry specified by the frame;

storing, in the frame associated with the first inquiry, the at least one value that was provided by the one or more of the plurality of results,

wherein storing the at least one value is responsive to determining that the one or more of the plurality of results responsive to the second inquiry, associated with the request for particular information of the calendar application associated with the first inquiry, provides the at least one value corresponding to the one or more types of values specified by the frame associated with the first inquiry; and

causing a response to the first inquiry to be rendered based on the at least one value stored in the frame.

2 . The method of claim 1 , further comprising:

identifying, prior to generating the second inquiry, an ambiguity associated with one or more terms of the additional user interface input;

causing a disambiguation question identifying the different meanings to be provided to the user;

receiving further user interface input identifying a particular meaning associated with the terms responsive to the disambiguation question; and

generating, based on the additional user interface input provided at the user device subsequent to receiving the first inquiry and the further user interface input, the second inquiry associated with the request for information of the calendar application.

3 . The method of claim 1 , wherein the first inquiry is associated with a time of the calendar application and the one or more types of values include at least one of: a separate time associated with the calendar application.

4 . The method of claim 1 , wherein the one or more types of values include at least one of: a calendar event associated with the calendar application.

5 . The method of claim 1 , further comprising:

identifying, prior to storing the at least one value that was provided by the one or more of the plurality of results, a natural language question template associated with the at least one value;

causing, based on the natural language question template, a natural language question to be provided to the user via the user device; and

storing, in the frame associated with the first inquiry and based further on another user interface input responsive to the natural language question, the at least one value.

6 . The method of claim 1 , further comprising:

determining, prior to storing the at least one value that was provided by the one or more of the plurality of results, that the one or more of the plurality of results provides at least one additional value corresponding to one or more of the types of values specified by the frame;

determining respective confidence levels for the at least one value and the at least one additional value based on one or more rules; and

storing, in the frame associated with the first inquiry, the at least one value based further on the respective confidence levels.

7 . The method of claim 1 , wherein causing a response to the first inquiry to be rendered based on the at least one value stored in the frame, further comprises:

generating a calendar event associated with the calendar application; and

rendering a prompt for the user to schedule the calendar event.

8 . The method of claim 1 , wherein causing a response to the first inquiry to be rendered based on the at least one value stored in the frame, further comprises:

generating a reminder associated with the calendar application; and

causing the user to be prompted to set the reminder.

9 . A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations, the operations comprising:

receiving a first inquiry, wherein the first inquiry comprises natural language input from a user identifying a calendar application associated with the first inquiry;

in response to receiving the first inquiry:

generating a frame associated with the first inquiry, wherein the frame specifies one or more types of values necessary to respond to the first inquiry; and

receiving, subsequent to receiving the first inquiry, a second inquiry comprising a request by the user for a search system to access user data of the calendar application associated with the first inquiry;

in response to receiving the second inquiry:

causing the search system to execute a search over the user data based on the second inquiry;

receiving, based on the search, a plurality of results from the search system; and

determining, that one or more of the plurality of results that are caused to be generated based on the second inquiry provide at least one value corresponding to one or more of the types of values necessary to respond to the first inquiry;

storing, in the frame associated with the first inquiry, the at least one value,

wherein storing the at least one value is responsive to determining that one or more of the plurality of results, determined in response to receiving the second inquiry comprising the request by the user for the search system to access user data of the calendar application associated with the first inquiry, provide the at least one value corresponding to one or more of the types of values necessary to respond to the first inquiry; and

causing a response to the first inquiry to be rendered based on the at least one value stored in the frame.

10 . The system of claim 9 , the operations further comprising:

identifying, prior to causing the search system to execute a search over the user data based on the second inquiry, an ambiguity associated with the second inquiry;

causing a disambiguation inquiry identifying ambiguous meanings of one or more terms of the second inquiry to be provided to the user;

receiving a disambiguation response identifying a particular meaning associated with the terms responsive to the disambiguation inquiry; and

causing the search system to execute a search over the user data based further on the disambiguation response.

11 . The system of claim 9 , wherein the one or more types of values include at least one of: a date, a time, a location, a phone number, a user name, a web address, and/or a person's name.

12 . The system of claim 9 , wherein the response to the first inquiry comprises: setting a reminder, scheduling a calendar event, providing information, and/or providing directions.

13 . The system of claim 9 , the operations further comprising:

identifying, prior to storing the at least one value that was provided by the one or more of the plurality of results, a question template for the at least one value;

causing the question template to be provided for presentation to the user via the user device; and

storing, in the frame associated with the first inquiry, the at least one value, based further on a response, received by the user, to the natural language question.

14 . The system of claim 9 , the operations further comprising:

determining, prior to storing the at least one value that was provided by the one or more of the plurality of results, that the one or more of the plurality of results provides at least one additional value corresponding to one or more of the types of values specified by the frame;

determining respective confidence levels for the at least one value and the at least one additional value based on one or more rules; and

storing, in the frame associated with the first inquiry, the at least one value based further on the respective confidence levels.

15 . The system of claim 9 , wherein the operations are locally performed at a client computer of the user having a graphical user interface.

16 . The system of claim 9 , wherein the operations are remotely performed at a server.

17 . One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations, the operations comprising:

generating, based on user interface input provided at a user device, a first inquiry associated with a calendar application;

causing, based on the first inquiry, a frame to be generated specifying one or more types of values necessary to respond to the first inquiry; and

generating, based on additional user interface input provided at the user device subsequent to receiving the first inquiry, a second inquiry associated with a request for information of the calendar application associated with the first inquiry;

causing, based on the second inquiry, generation of a plurality of results responsive to the request for information; and

determining, based on processing the plurality of results, that one or more of the plurality of results, that are caused to be generated based on the second inquiry, provide at least one value corresponding to one or more of the types of values necessary to respond to the first inquiry specified by the frame;

storing, in the frame associated with the first inquiry, the at least one value that was provided by the one or more of the plurality of results,

wherein storing the at least one value is responsive to determining that the one or more of the plurality of results responsive to the second inquiry provides the at least one value corresponding to the one or more types of values specified by the frame associated with the first inquiry; and

causing a response to the first inquiry to be rendered based on the at least one value stored in the frame.

18 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the operations are locally performed at a client computer of the user having a graphical user interface.

19 . The one or more non-transitory computer-readable storage media of claim 17 , wherein the operations are remotely performed at a server.

20 . The one or more non-transitory computer-readable storage media of claim 17 , wherein a first set of the operations are locally performed at a client computer of the user having a graphical user interface, and a second set of the operations are remotely performed at a server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2023
From: WHIPP, DAVID P.; ELSON, DAVID KLIGER; YEHOSHUA, SHIR JUDITH
To: GOOGLE INC.
Reel/Frame 064455/0235 →
CHANGE OF NAME Recorded Aug 1, 2023
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 064461/0292 →
Continuity (4)
Continuation 17122906 · Dec 15, 2020
Continuation 14881778 · Oct 13, 2015
Provisional Application 62090093 · Dec 10, 2014
Related Publication 20230367832A1 · Nov 16, 2023
References Cited (30)
US 5685000A · Cox, Jr. · 1997 [cited by examiner]
US 7613610B1 · Zimmerman et al. · 2009 [cited by applicant]
US 8478769B2 · Goldfarb · 2013 [cited by applicant]
US 8560567B2 · Azzam et al. · 2013 [cited by applicant]
US 8577671B1 · Barve · 2013 [cited by examiner]
US 8612233B2 · Anand et al. · 2013 [cited by applicant]
US 8639517B2 · Di Fabbrizio et al. · 2014 [cited by applicant]
US 20020133355A1 · Ross et al. · 2002 [cited by applicant]
US 20020138266A1 · Ross · 2002 [cited by examiner]
US 20040088285A1 · Martin et al. · 2004 [cited by applicant]
US 20040143440A1 · Prasad et al. · 2004 [cited by applicant]
US 20090162824A1 · Heck · 2009 [cited by applicant]
US 20120117005A1 · Spivack · 2012 [cited by applicant]
US 20130115927A1 · Gruber · 2013 [cited by examiner]
US 20130185336A1 · Singh · 2013 [cited by examiner]
US 20130275875A1 · Gruber et al. · 2013 [cited by applicant]
US 20140081633A1 · Badaskar · 2014 [cited by examiner]
US 20140310001A1 · Kalns et al. · 2014 [cited by applicant]
US 20140365227A1 · Cash · 2014 [cited by examiner]
US 20150045003A1 · Vora · 2015 [cited by examiner]
US 20150142704A1 · London · 2015 [cited by applicant]
US 20150373183A1 · Woolsey et al. · 2015 [cited by applicant]
EP 1045373B1 · 2000 [cited by applicant]
EP 1187007A1 · 2002 [cited by applicant]
WO 2006129968A1 · 2006 [cited by applicant]
European Patent Office; Summons to Attend Oral Proceeding Persuant to Rule 115(1) EPC in Application No. 15791095.1; 9 pages; dated Jun. 25, 2020. [cited by applicant]
European Patent Office; Office Action issue in European Application No. 15791095.1; 6 pages; dated Jul. 24, 2019. [cited by applicant]
Bobrow et al.; “Gus, a frame-driven dialog system,” Artificial Intelligence, Elsevier Science Publisher B.V., Amsterdam, NL, 8(2): 155-173; dated Apr. 1, 1977. [cited by applicant]
International Search Report and Written Opinion issued in International Application No. PCT/US2015/056200; 13 pages; mailed Feb. 4, 2016. [cited by applicant]
International Preliminary Report on Patentability issued in International Application No. PCT/US2015/056200; 8 pages; mailed Jun. 13, 2017. [cited by applicant]