IP Library Granted Patent US 12,499,476
Granted Patent B1
US 12,499,476 · App. 17/219,630 · Granted Dec 16, 2025

Machine learning techniques for dialog-based service order acquisition

Inventors: Yahor Pushkin (Redmond, WA); Rishita Rajal Anubhai (Seattle, WA); Kalpit Dixit (Mountain View, CA); Saab Mansour (San Jose, CA); Yaser Al-Onaizan (Cortlandt Manor, NY); Rama Krishna Sandeep Pokkunuri (Redmond, WA); Roger Scott Jenke (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06Q30/0603G06F40/35G06Q30/0201G06Q50/12
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,499,476
App. No.
17/219,630
Granted
Dec 16, 2025
Kind
B1
Abstract

A plurality of concepts is identified from utterances of a user of a service using a set of machine learning models. The plurality of concepts includes a primary concept representing an offering included in a catalog of the service, and a non-primary concept which provides additional information about the offering. A logical relationship is inferred among a pair of concepts using the set of machine learning models. A service order for the service is populated based at least in part on the relationship.

Claims (75)

1 . A system, comprising:

one or more computing devices;

wherein the one or more computing devices include instructions that upon execution on or across the one or more computing devices cause the one or more computing devices to:

train a set of one or more machine learning models based, at least in part, on a problem domain for a service and a schema of the service received via a programmatic interface, wherein to train the set of one or more machine learning models, the instructions cause the one or more computing devices to:

obtain one or more baseline templates for training the set of one or more machine learning models based on the problem domain for the service; and

train the set of one or more machine learning models, utilizing at least some of the one or more baseline templates; and

obtain a representation of one or more unstructured utterances of a user of the service;

detect a condition associated with one or more resources of a plurality of resources, wherein:

the plurality of resources includes one or more resources located at a premises and one or more resources located externally to the premises; and

the condition comprises either a complexity of the one or more unstructured utterances or at least one utilization metric of the one or more resources;

based on the detected condition, assigning one or more resources from the plurality of resources for executing the set of one or more models;

identify, from the one or more unstructured utterances and based at least in part on the problem domain, by executing the set of one or more machine learning models at the assigned one or more resources, a first plurality of concepts associated with the problem domain of the service, including at least a first primary concept associated with the schema of the service and at least a non-primary concept which (a) is not associated with the schema of the service and (b) provides additional information about the at least first primary concept;

construct, by executing the set of one or more machine learning models at the assigned one or more resources, a graph comprising a plurality of nodes and a plurality of edges, wherein a first node of the plurality of nodes represents a particular concept of a reduced plurality of concepts obtained from the first plurality of concepts using co-reference analysis, wherein a second node of the plurality of nodes represents another concept of the reduced plurality of concepts, and wherein a particular edge of the plurality of edges represents a hierarchical relationship inferred between the particular concept and the other concept;

populate, based at least on the graph and the problem domain, one or more parameters of a data structure associated with the schema of the service, wherein the data structure includes the at least first primary concept and a second concept; and

transmit a representation of the data structure to the service.

2 . The system as recited in claim 1 , wherein the non-primary concept represents one or more of: (a) a negation of at least a portion of the at least first primary concept, (b) a quantifier of the at least first primary concept, (c) a size indicator of the at least first primary concept, (d) an override of one or more attributes of the at least first primary concept, or (e) a qualitative attribute of the at least first primary concept.

3 . The system as recited in claim 1 , wherein another edge of the plurality of edges indicates one or more of: (a) a quantity of a concept represented by the particular concept, (b) a size of a concept represented by the particular concept, or (c) a negation of a property of a concept represented by the particular concept.

4 . The system as recited in claim 1 , wherein the one or more unstructured utterances of the user include a first utterance and a second utterance, and wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:

generate, using the set of one or more machine learning models, a response to the first utterance;

cause the response to be presented to the user prior to obtaining a representation of the second utterance; and

identify, using the set of one or more machine learning models, a relationship or a co-reference between (a) a concept mentioned in the first utterance and (b) another concept mentioned in the second utterance.

5 . The system as recited in claim 1 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:

obtain, via one or more programmatic interfaces, an indication of one or more updates to the schema;

synthesize, based on the one or more updates, training data for at least a first model of the set of one or more machine learning models; and

retrain the first model using the training data.

6 . A computer-implemented method, comprising:

training a set of one or more machine learning models based, at least in part, on a problem domain for a service and a schema of the service received via a programmatic interface, the training comprising:

obtaining one or more baseline templates for training the set of one or more machine learning models based on the problem domain for the service; and

training the set of one or more machine learning models, utilizing at least some of the one or more baseline templates; and

obtaining a representation of one or more unstructured utterances of a user of the service;

detecting a condition associated with one or more resources of a plurality of resources, wherein:

the plurality of resources includes one or more resources located at a premises and one or more resources located externally to the premises; and

the condition comprises either a complexity of the representation of the one or more unstructured utterances or at least one utilization metric of the one or more resources; and

based, at least in part, on the detected condition, assigning one or more resources from the plurality of resources for executing the set of one or more machine learning models;

identifying, from the one or more unstructured utterances and based at least in part on the problem domain, by executing the set of one or more machine learning models at the assigned one or more resources, a first plurality of concepts associated with the problem domain of the service, including at least a first primary concept associated with the schema of the service and at least a non-primary concept which (a) is not associated with the schema of the service and (b) provides additional information about the at least first primary concept;

inferring a logical relationship, by executing the set of one or more machine learning models at the assigned one or more resources, wherein a first concept of the logical relationship represents a particular concept of a reduced plurality of concepts obtained from the first plurality of concepts, and wherein a second concept of the logical relationship represents another concept of the reduced plurality of concepts;

populating, based at least in part on the logical relationship and the problem domain, one or more parameters of a data structure associated with the schema of the service, wherein the data structure includes the at least first primary concept and a second concept; and

providing a representation of the data structure to the service.

7 . The computer-implemented method as recited in claim 6 , wherein the non-primary concept represents one or more of: (a) a negation of the at least first primary concept, (b) a quantifier of the at least first primary concept, (c) a size indicator of the at least first primary concept, (d) an override of one or more attributes of the at least first primary concept, or (e) a qualitative attribute of the at least first primary concept.

8 . The computer-implemented method as recited in claim 6 , wherein the logical relationship indicates one or more of: (a) a quantity of a concept represented by the particular concept, (b) a size of a concept represented by the particular concept, (c) a negation of a property of a concept represented by the particular concept, or (d) an indication that a concept represented by the other concept is to be added on to a concept represented by the particular concept.

9 . The computer-implemented method as recited in claim 6 , further comprising:

obtaining, from the first plurality of concepts, the reduced plurality of concepts based at least in part on co-reference analysis conducted using the set of one or more machine learning models, wherein a count of concepts in the reduced plurality of concepts is smaller than the count of concepts in the first plurality of concepts, and wherein to the data structure is populated based at least in part on analysis of one or more concepts of the reduced plurality of concepts.

10 . The computer-implemented method as recited in claim 6 , wherein the one or more unstructured utterances of the user include a first utterance and a second utterance, the computer-implemented method further comprising:

composing, using the set of one or more machine learning models, a response to the first utterance;

causing to be presented, to the user, the response prior to obtaining a representation of the second utterance of the user by the service; and

identifying, using the set of one or more machine learning models, a relationship or a co-reference between (a) a concept mentioned by the user in the first utterance and (b) another concept mentioned by the user in the second utterance.

11 . The computer-implemented method as recited in claim 6 , further comprising:

identifying one or more co-reference groups among concepts of the first plurality of concepts prior to inferring the logical relationship, including a co-reference group representing one or more of: (a) a pronoun and a concept referenced by the pronoun; (b) an ordinal term and a concept to which the ordinal term refers; (c) multiple references to a concept using repeated terms; or (d) references to different instances of a concept.

12 . The computer-implemented method as recited in claim 6 , wherein the service comprises one or more of: (a) a food ordering service, (b) a retail store service, (c) a repair service, (d) a maintenance service, or (e) an appointment scheduling service.

13 . The computer-implemented method as recited in claim 6 , further comprising:

obtaining at least a portion of a particular utterance of the one or more unstructured utterances from one or more of: (a) a voice-driven assistant device, (b) a phone, (c) a portable computing device, (d) a wearable computing device, (e) an augmented reality device, (f) a virtual reality device, (g) a sensor located in a drive-through ordering area, or (h) a touch interface.

14 . The computer-implemented method as recited in claim 6 , wherein at least one machine learning model of the set of one or more machine learning models is executed at least in part using one or more resources of a provider network.

15 . The computer-implemented method as recited in claim 6 , wherein the set of one or more machine learning models includes one or more of: (a) a hierarchical encoder decoder model, (b) a convolutional neural network layer, (c) a recurrent neural network layer, (d) a transformer, or (e) a model in which one or more gazetteer bits are added to a token of an utterance prior to generating an embedding representing the token, wherein the gazetteer bits are based at least in part on contents of the schema.

16 . One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to implement:

training a set of one or more machine learning models based, at least in part, on a problem domain for a service and a schema of the service received via a programmatic interface, the training comprising:

obtaining one or more baseline templates for training the set of one or more machine learning models based on the problem domain for the service; and

training the set of one or more machine learning models, utilizing at least some of the one or more baseline templates; and

obtaining a representation of one or more unstructured utterances of a user of the service;

detecting a condition associated with one or more resources of a plurality of resources, wherein:

the plurality of resources includes one or more resources located at a premises and one or more resources located externally to the premises; and

the condition comprises either a complexity of the representation of the one or more unstructured utterances or at least one utilization metric of the one or more resources; and

based, at least in part, on the detected condition, assigning one or more resources from the plurality of resources for executing the set of one or more models;

identify, from the one or more unstructured utterances and based at least in part on the problem domain, by executing the set of one or more machine learning models at the assigned one or more resources, a first plurality of concepts associated with the problem domain of the service, including at least a first primary concept associated with the schema of the service and at least a non-primary concept which (a) is not associated with the schema of the service and (b) provides additional information about the at least first primary concept;

inferring a logical relationship, by executing the set of one or more machine learning models at the assigned one or more resources, wherein a first concept of the logical relationship represents a particular concept of a reduced plurality of concepts obtained from the first plurality of concepts, and wherein a second concept of the logical relationship represents another concept of the first plurality of concepts; and

populate, based at least in part on the logical relationship and the problem domain, one or more parameters of a data structure associated with the schema of the service, wherein the data structure includes the at least first primary concept and a second concept; and

providing a representation of the data structure to the service.

17 . The one or more non-transitory computer-accessible storage media as recited in claim 16 , wherein the non-primary concept represents one or more of: (a) a negation of the at least first primary concept, (b) a quantifier of the at least first primary concept, (c) a size indicator of the at least first primary concept, (d) an override of one or more attributes of the at least first primary concept, or (e) a qualitative attribute of the at least first primary concept.

18 . The one or more non-transitory computer-accessible storage media as recited in claim 16 , wherein the logical relationship indicates one or more of: (a) a quantity of a concept represented by the particular concept, (b) a size of a concept represented by the particular concept, (c) a negation of a property of a concept represented by the particular concept, or (d) an indication that a concept represented by the other concept is to be added on to a concept represented by the particular concept.

19 . The one or more non-transitory computer-accessible storage media as recited in claim 16 , storing further program instructions that when executed on or across one or more processors further cause the one or more processors to:

detect a particular term in a particular utterance;

determine, using a contextual interpretation model of the set of one or more machine learning models, that the particular term in the particular utterance refers to a concept associated with the problem domain of the service;

detect the particular term in another utterance; and

determine, using the contextual interpretation model, that the particular term in the other utterance refers to a different concept associated with the problem domain of the service.

20 . The one or more non-transitory computer-accessible storage media as recited in claim 16 , storing further program instructions that when executed on or across one or more processors further cause the one or more processors to:

identify, from the one or more unstructured utterances, using an entity resolution model of the set of one or more machine learning models, a particular concept associated with the schema of the service, wherein the schema of the service includes a first set of terms to represent the particular concept and wherein the one or more utterances do not include terms of the first set of terms.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: PUSHKIN, YAHOR; ANUBHAI, RISHITA RAJAL; DIXIT, KALPIT; MANSOUR, SAAB; AL-ONAIZAN, YASER; POKKUNURI, RAMA KRISHNA SANDEEP; JENKE, ROGER SCOTT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 055802/0233 →
References Cited (64)
US 6246981B1 · Papineni et al. · 2001 [cited by applicant]
US 6415257B1 · Junqua et al. · 2002 [cited by applicant]
US 6510411B1 · Norton et al. · 2003 [cited by applicant]
US 7197460B1 · Gupta et al. · 2007 [cited by applicant]
US 9928833B2 · Prokhorov · 2018 [cited by examiner]
US 9934777B1 · Joseph et al. · 2018 [cited by applicant]
US 10331791B2 · Vikram et al. · 2019 [cited by applicant]
US 10453117B1 · Reavely et al. · 2019 [cited by applicant]
US 10891152B2 · Anbazhagan et al. · 2021 [cited by applicant]
US 11004449B2 · Bender · 2021 [cited by examiner]
US 11023959B2 · Kalaimani · 2021 [cited by examiner]
US 11354760B1 · Dorch · 2022 [cited by examiner]
US 11355122B1 · Gonzalez · 2022 [cited by examiner]
US 11574345B2 · Dorch · 2023 [cited by examiner]
US 11704753B2 · Dorch · 2023 [cited by examiner]
US 11710481B2 · Ham · 2023 [cited by examiner]
US 20070143099A1 · Balchandran et al. · 2007 [cited by applicant]
US 20080010280A1 · Jan et al. · 2008 [cited by applicant]
US 20100298012A1 · Damarla · 2010 [cited by applicant]
US 20150263941A1 · Jung · 2015 [cited by applicant]
US 20160042748A1 · Jain et al. · 2016 [cited by applicant]
US 20160225370A1 · Kannan et al. · 2016 [cited by applicant]
US 20170116982A1 · Gelfenbeyn et al. · 2017 [cited by applicant]
US 20170125008A1 · Maisonnier et al. · 2017 [cited by applicant]
US 20170193387A1 · Lavallee · 2017 [cited by applicant]
US 20170236512A1 · Williams et al. · 2017 [cited by applicant]
US 20170286916A1 · Skiba et al. · 2017 [cited by applicant]
US 20180143857A1 · Anbashagan · 2018 [cited by applicant]
US 20200065881A1 · Truong · 2020 [cited by applicant]
US 20200151583A1 · Mueller · 2020 [cited by examiner]
US 20200226667A1 · Kalaimani · 2020 [cited by applicant]
US 20200312298A1 · Bui · 2020 [cited by applicant]
US 20220270600A1 · Aggarwal · 2022 [cited by examiner]
US 20230051787A1 · Mall · 2023 [cited by examiner]
EP 2933070 · 2015 [cited by applicant]
WO 9723088 · 1997 [cited by applicant]
WO 2008054331 · 2008 [cited by applicant]
No Author “Natural Language Processing (NLP): A Complete Introduction” MonkeyLearn Aug. 12, 2020. Retrieved from https://monkeylearn.com/natural-language-processing/ (Year: 2020). [cited by examiner]
Csaky, Richard. “Deep learning based chatbot models.” arXiv preprint arXiv:1908.08835 (2019). (Year: 2019). [cited by examiner]
U.S. Appl. No. 17/219,640, filed Mar. 31, 2021, Pokkunuri, et al., Amazon Technologies, Inc., pp. 1-79, drawing pp. 1-20. [cited by applicant]
Chan Hee Song, Dawn Lawrie, Tim Finin, James Mayfield, “Gazetteer Generation for Neural Named Entity Recognition,” Copyright 2020, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights re… [cited by applicant]
Kenton Lee, Luheng He, Mike Lewis, and Luke Zettlemoyer, “End-to-end Neural Coreference Resolution,” Facebook AI Research, arXiv: 1707.07045v2 [cs.CL] Dec. 15, 2017, pp. 1-10. [cited by applicant]
Tom Kocmi and Ondrej Bojar, “An Exploration of Word Embedding Initialization in Deep-Learning Tasks,” preprint: arXiv:1711.09160v1 [cs.CL] Nov. 24, 2017, In Proceedings of the 14th International Conference on Natural La… [cited by applicant]
Miguel Ballesteros, et al. (Amazon AI), “Severing the Edge Between Before and After: Neural Architectures for Temporal Ordering of Events,” arXiv:2004.04295v1 [cs.CL] Apr. 8, 2020, pp. 1-6. [cited by applicant]
Robert Jamison, “Announcing a New Tool for Building Interactive Adventure Games on Alexa”, Amazon Mobile App Distribution Blog, Retrieved from URL: https://developer.amazon.com/public/community/post/TxEQV5K754YS77/Annou… [cited by applicant]
“Getting Started with the Alexa Skills Kit”, Amazon Apps & Games Developer Portal, Retrieved from URL: https://developer.amazon.com/pulbic/solutions/slexas/alexa-skills-kit/getting-started-guide on Oct. 30, 2016, pp. 1-… [cited by applicant]
Seth Rosenberg, “How to Build Bots for Messenger”, Facebook for Developers, Retrieved from URL: https://developers.facebook.com/blog/post/2016/04/12/bots-for-messenger on Oct. 30, 2016, pp. 1-5. [cited by applicant]
Ali El-Kahky, et al., “Entending Domain Coverage of Language Understanding Systems via Intent Transfer Between Domains Using Knowledge Graphs and Search Query Click Logs”, 2014 IEEE International Conference on Acoustic,… [cited by applicant]
Elad Natanson, “Messaging Platforms, Bots and the Future of Mobile”, Retrieved from URL: http://www.forbes.com/sites/eladnatanson/2016/04/08/messaging-platforms-bot-and-the-future-of-mobile/#2d1ab79884af on Oct. 30, 201… [cited by applicant]
“Messenger Platform”, Facebook for Developers, Retrieved from URL: https://developers.facebook.com/doc/messenger-platform on Oct. 30, 2016, pp. 1-3. [cited by applicant]
Collen Estrada, “Microsoft Bot Framework”, Mar. 30, 2016, Retrieved from URL: https://blog.botframework.com/2016/03/30/BotFramework/ on Oct. 30, 2016, pp. 1-7. [cited by applicant]
“Microsoft Cognitive Services—APIs”, Retrieved from URL: https://www.microsoft.com/cognitive-services/en-us/apis on Oct. 30, 2016, pp. 1-8. [cited by applicant]
Himanshu S. Bhatt, et al., “Cross-domain Text Classification with Multiple Domains and Disparate Label Sets”, Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, Aug. 7-12, 2016, pp.… [cited by applicant]
Amit Fulay, “Say hello to Google Allo: a smarter messaging app”, Retrieved from URL: https://blog.google/products/allo/google-allo-smater-messaging-app on Oct. 30, 2016, pp. 1-14. [cited by applicant]
“Training for the Alexa Skills Kit”, Amazon Apps & Games Developer Portal, Retrieved from URL: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kits/content/alexa-skilss-developer-training on Oct. 30, 20… [cited by applicant]
Wikipedia, “Vorbis”, Retrieved from URL: https://en.wikipedia.org/wiki/Vorbis on Sep. 26, 2016, pp. 1-10. [cited by applicant]
International Search Report and Written Opinion from PCT/US17/063066, dated Nov. 22, 2017, Amazon Technologies Inc., pp. 1-14. [cited by applicant]
Svetlana Stoyanchev et al “Rapid Prototyping of Form-driven Dialogue Systems Using an Open-Source Framework”, Proceddings of the Sigdial 2016 Conference, pp. 216-219. [cited by applicant]
Claus Brabrand “PowerForms: Declarative client-side form field validation” Brics Report Series, Jan. 1, 2000, pp. 205-214. [cited by applicant]
U.S. Appl. No. 17/030,204, filed Sep. 23, 2020, Saab Mansour, all pages. [cited by applicant]
U.S. Appl. No. 15/841,122, filed Dec. 13, 2017, Rashmi Gangadhariah, all pages. [cited by applicant]
U.S. Appl. No. 17/039,889, filed Sep. 30, 2020 Singh, et al., all pages. [cited by applicant]
U.S. Appl. No. 17/039,900, filed Sep. 30, 2020, Swapandeep Singh et al. [cited by applicant]
U.S. Appl. No. 17/039,920, filed Sep. 30, 2020, Jin Hoon Bang et al. [cited by applicant]