IP Library › Granted Patent US 12,651,013
Granted Patent B2
US 12,651,013 · App. 18/714,673 · Granted Jun 9, 2026

Domain-specific conversational automated assistant

Inventors: Matthew Sharifi (Kilchberg, CH); Maryam Karimzadehgan (Mountain View, CA); Lukas Zilka (Zurich, CH); Julian Odell (Kirkland, WA); Jesper Andersen (Portland, OR)
Assignee: Google LLC
G06F16/3329G06F16/3344G06F40/40G06N3/006G06N20/00
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,013
App. No.
18/714,673
Granted
Jun 9, 2026
Kind
B2
Abstract

Systems and methods for generating a domain-specific conversational automated assistant. In some examples, a conversational language model is used to generate a target answer and a target action recommendation in response to each of a set of in-domain training questions. In some examples, the conversational language model is further used to generate follow-up questions to one or more of its generated target answers, and to then generate a target answer and target action recommendation to each generated follow-up question. In some examples, the processing system also generates a set of out-of-domain training examples including an out-of-domain question, a predetermined target answer, and a predetermined target action recommendation. The automated assistant may then be trained to predict the generated target answers and target action recommendations based on the associated training question or generated follow-up question, as well as any prior questions and answers in the conversation.

Claims (87)

1 . A computer-implemented method, comprising:

for each first question of a plurality of first questions:

generating, using a conversational language model, a first target response based on the first question;

submitting, using one or more processors of a processing system, a first action query to the conversational language model in response to the first target response;

generating, using the conversational language model, a first target action recommendation based on the first action query, the first target response, and the first question;

generating, using the one or more processors, a single-turn in-domain training example comprising the first question, the first target response, and the first target action recommendation;

generating, using the conversational language model, a second question based on the first target response and the first question;

generating, using the conversational language model, a second target response based on the second question, the first target response, and the first question;

submitting, using the one or more processors, a second action query to the conversational language model in response to the second target response;

generating, using the conversational language model, a second target action recommendation based on the second action query, the second target response, the second question, the first target response, and the first question; and

generating, using the one or more processors, a double-turn in-domain training example comprising the first question, the first target response, the second question, the second target response, and the second target action recommendation; and

training an automated assistant, using the one or more processors, based on a training set, wherein the training set includes one or more of the single-turn in-domain training examples, and one or more of the double-turn in-domain training examples.

2 . The method of claim 1 , wherein training the automated assistant based on the training set comprises:

for each given single-turn in-domain training example in the training set:

generating, using the automated assistant, a first training response and a first training action recommendation based on the first question of the given single-turn in-domain training example;

comparing, using the one or more processors, the first training response to the first target response of the given single-turn in-domain training example to generate a first loss value; and

comparing, using the one or more processors, the first training action recommendation to the first target action recommendation of the given single-turn in-domain training example to generate a second loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated first loss values and the generated second loss values.

3 . The method of claim 2 , wherein the first target action recommendation and the first training action recommendation both comprise one or more of: an indication of whether to take an action; an identification of an action to be taken; or instructions that, when executed by one or more processors of a given device, cause the given device to take an action.

4 . The method of claim 2 , wherein training the automated assistant based on the training set further comprises:

for each given double-turn in-domain training example in the training set:

generating, using the automated assistant, a second training response and a second training action recommendation based on the second question, the first target response, and the first question of the given double-turn in-domain training example;

comparing, using the one or more processors, the second training response to the second target response of the given double-turn in-domain training example to generate a third loss value; and

comparing, using the one or more processors, the second training action recommendation to the second target action recommendation of the given double-turn in-domain training example to generate a fourth loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated third loss values and the generated fourth loss values.

5 . The method of claim 4 , wherein the second target action recommendation and the second training action recommendation both comprise one or more of:

an indication of whether to take an action;

an identification of an action to be taken; or

instructions that, when executed by one or more processors of a given device, cause the given device to take an action.

6 . The method of claim 4 , further comprising:

for each first question of a plurality of first questions:

generating, using the conversational language model, a third question based on the second target response, the second question, the first target response, and the first question;

generating, using the conversational language model, a third target response based on the third question, the second target response, the second question, the first target response, and the first question;

submitting, using the one or more processors, a third action query to the conversational language model in response to the third target response;

generating, using the conversational language model, a third target action recommendation based on the third action query, the third target response, the third question, the second target response, the second question, the first target response, and the first question; and

generating, using the one or more processors, a triple-turn in-domain training example comprising the first question, the first target response, the second question, the second target response, the third question, the third target response, and the third target action recommendation; and

wherein the training set further includes one or more of the triple-turn in-domain training examples.

7 . The method of claim 6 , wherein training the automated assistant based on the training set further comprises:

for each given triple-turn in-domain training example in the training set:

generating, using the automated assistant, a third training response and a third training action recommendation based on the third question, the second target response, the second question, the first target response, and the first question of the given triple-turn in-domain training example;

comparing, using the one or more processors, the third training response to the third target response of the given triple-turn in-domain training example to generate a fifth loss value; and

comparing, using the one or more processors, the third training action recommendation to the third target action recommendation of the given triple-turn in-domain training example to generate a sixth loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated fifth loss values and the generated sixth loss values.

8 . The method of claim 7 , wherein the third target action recommendation and the third training action recommendation both comprise one or more of: an indication of whether to take an action; an identification of an action to be taken; or instructions that, when executed by one or more processors of a given device, cause the given device to take an action.

9 . The method of claim 7 , further comprising:

for each fourth question of a plurality of fourth questions:

generating, using the one or more processors, a single-turn out-of-domain training example comprising the fourth question, a fourth target response, and a fourth target action recommendation, wherein the fourth target response indicates that an answer to the fourth question cannot be provided, and wherein the fourth target action recommendation indicates that no action is to be taken;

generating, using the conversational language model, a fifth question based on the fourth target response and the fourth question; and

generating, using the one or more processors, a double-turn out-of-domain training example comprising the fourth question, the fourth target response, the fifth question, a fifth target response, and a fifth target action recommendation, wherein the fifth target response indicates that an answer to the fifth question cannot be provided, and wherein the fifth target action recommendation indicates that no action is to be taken; and

wherein the training set further includes one or more of the single-turn out-of-domain training examples, and one or more of the double-turn out-of-domain training examples.

10 . The method of claim 9 , wherein training the automated assistant based on the training set further comprises:

for each given single-turn out-of-domain training example in the training set:

generating, using the automated assistant, a fourth training response and a fourth training action recommendation based on the fourth question of the given single-turn out-of-domain training example;

comparing, using the one or more processors, the fourth training response to the fourth target response of the given single-turn out-of-domain training example to generate a seventh loss value; and

comparing, using the one or more processors, the fourth training action recommendation to the fourth target action recommendation of the given single-turn out-of-domain training example to generate an eighth loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated seventh loss values and the generated eighth loss values.

11 . The method of claim 10 , wherein training the automated assistant based on the training set further comprises:

for each given double-turn out-of-domain training example in the training set:

generating, using the automated assistant, a fifth training response and a fifth training action recommendation based on the fifth question, the fourth target response, and the fourth question of the given double-turn out-of-domain training example;

comparing, using the one or more processors, the fifth training response to the fifth target response of the given double-turn out-of-domain training example to generate a ninth loss value; and

comparing, using the one or more processors, the fifth training action recommendation to the fifth target action recommendation of the given double-turn out-of-domain training example to generate a tenth loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated ninth loss values and the generated tenth loss values.

12 . The method of claim 11 , further comprising:

for each fourth question of a plurality of fourth questions:

generating, using the conversational language model, a sixth question based on the fifth target response, the fifth question, the fourth target response, and the fourth question; and

generating, using the one or more processors, a triple-turn out-of-domain training example comprising the fourth question, the fourth target response, the fifth question, the fifth target response, the sixth question, a sixth target response, and a sixth target action recommendation, wherein the sixth target response indicates that an answer to the sixth question cannot be provided, and wherein the sixth target action recommendation indicates that no action is to be taken; and

wherein the training set further includes one or more of the triple-turn out-of-domain training examples.

13 . The method of claim 12 , wherein training the automated assistant based on the training set further comprises:

for each given triple-turn out-of-domain training example in the training set:

generating, using the automated assistant, a sixth training response and a sixth training action recommendation based on the sixth question, the fifth target response, the fifth question, the fourth target response, and the fourth question of the given triple-turn out-of-domain training example;

comparing, using the one or more processors, the sixth training response to the sixth target response of the given triple-turn out-of-domain training example to generate an eleventh loss value; and

comparing, using the one or more processors, the sixth training action recommendation to the sixth target action recommendation of the given triple-turn out-of-domain training example to generate a twelfth loss value; and

modifying, using the one or more processors, one or more parameters of the automated assistant based at least in part on the generated eleventh loss values and the generated twelfth loss values.

14 . The method of claim 13 , further comprising:

generating, using the one or more processors, one or more of the plurality of first questions based on one or more logs of questions asked by human users relating to a given device.

15 . The method of claim 14 , further comprising:

generating, using the one or more processors, one or more of the plurality of fourth questions based on one or more logs of questions asked by human users not relating to the given device.

16 . The method of claim 14 , wherein training the automated assistant based on the training set results in the automated assistant being configured to provide information about the given device.

17 . The method of claim 13 , further comprising:

generating, using the one or more processors, one or more of the plurality of first questions based on one or more queries that, when submitted to a given search engine, cause the search engine to return one or more webpages that mention a given device.

18 . The method of claim 17 , further comprising:

generating, using the one or more processors, one or more of the plurality of fourth questions based on one or more queries that, when submitted to a given search engine, cause the search engine to return one or more webpages that do not mention the given device.

19 . The method of claim 17 , wherein training the automated assistant based on the training set results in the automated assistant being configured to provide information about the given device.

20 . A processing system comprising one or more processors configured to carry out the method of claim 1 .

21 . A non-transitory computer-readable medium storing computer readable instructions that, when executed by a computer, cause the computer to perform the method of claim 1 .

22 . An automated assistant device comprising processing circuitry trained according to the method of claim 1 .

23 . The automated assistant device of claim 22 , wherein the processing circuitry is configured to obtain information from a first device in order to generate responses to questions, the first device being remote from the automated assistant device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: SHARIFI, MATTHEW; KARIMZADEHGAN, MARYAM; ZILKA, LUKAS; ODELL, JULIAN; ANDERSEN, JESPER
To: GOOGLE LLC
Reel/Frame 067564/0341 →
Continuity (1)
Related Publication 20250028744A1 · Jan 23, 2025
References Cited (15)
US 11003865B1 · Lee · 2021 [cited by examiner]
International Search Report and Written Opinion for Application No. PCT/US22/11639 dated Jul. 20, 2022 (14 pages). [cited by applicant]
Adiwardana , et al., “Towards a Human-like Open-Domain Chatbot”, arXiv :2001.09977v1, 2020, pp. 1-38. [cited by applicant]
Adiwardana , et al., “Towards a Human-like Open-Domain Chatbot”, arXiv :2001.09977v2, 2020, pp. 1-38. [cited by applicant]
Adiwardana , et al., “Towards a Human-like Open-Domain Chatbot”, arXiv :2001.09977v3, 2020, pp. 1-38. [cited by applicant]
Guu, Kelvin , “REALM: Retrieval-Augmented Language Model Pre-Training”, arXiv:2002.08909v1, 2020, pp. 1-12. [cited by applicant]
Hajjar, Alamira Jouman, “LaMDA: Google's Language Model ForDialogue Applications,” from: https://research.aimultiple.com/lamda/, printed Dec. 15, 2021, pp. 1-10. [cited by applicant]
Mohan, Deepa , et al., “Knowledge distillation of multilingual BERT forWalmart's conversational AI assistant,” https://medium.com/walmartglobaltech/knowledge-distillation-of-multilingual-bert-for-walmarts-conversational… [cited by applicant]
Romero, Alberto , “Google's LaMDA: The Next Generation of Chatbots,” from: https://towardsdatascience.com/googles-lamda-the-next-generation-of-chatbots-62294be58426, printed Dec. 15, 2021, pp. 1-6. [cited by applicant]
Romero, Alberto , “Top 5 GPT-3 Successors You Should Know in 2021,” from: https://towardsdatascience.com/top-5-gpt-3-successors-you-should-know-in-2021-42ffe94cbbf, printed Dec. 15, 2021, pp. 1-8. [cited by applicant]
Sun, Siqi , et al., “Patient Knowledge Distillation for BERT Model Compression,” arXiv:1908.09355v1, 2019, pp. 1-10. [cited by applicant]
Tahami, Amir Vakili, et al., “Distilling Knowledge for Fast Retrieval-based Chat-bots,” arXiv:2004.11045v1, 2020, pp. 1-5. [cited by applicant]
Tian, James Yi , et al., “WaLDORf: Wasteless Language-model Distillation On Reading-comprehension,” arXiv:1912.06638v1, 2019, pp. 1-13. [cited by applicant]
Tian, James Yi , et al., “WaLDORf: Wasteless Language-model Distillation On Reading-comprehension,” arXiv:1912.06638v2, 2020, pp. 1-13. [cited by applicant]
European Patent Office, Summons issued in Application No. 22702819.8, 13 pages, dated Nov. 24, 2025. [cited by applicant]