IP Library Granted Patent US 10,546,067
Granted Patent B2
US 10,546,067 · App. 15/457,692 · Granted Jan 28, 2020

Platform for creating customizable dialog system engines

Inventors: Ilya Gelfenbeyn (Sunnyvale, CA); Artem Goncharuk (Arlington, VA); Pavel Sirotin (Sunnyvale, CA)
Assignee: GOOGLE LLC
G06F17/279G06F17/274G06F17/2705G06F17/2755G06F17/2795G10L15/02G10L15/22G10L15/265
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,546,067
App. No.
15/457,692
Granted
Jan 28, 2020
Kind
B2
Abstract

Provided are systems and methods for creating custom dialog system engines. The system comprises a dialog system interface installed on a first server or a user device and a platform deployed on a second server. The platform is configured to receive dialog system entities and intents associated with a developer profile and associate the dialog system entities with the dialog system intents to form a custom dialog system engine associated with the dialog system interface. The web platform receives a user request from the dialog system interface, activates the custom dialog system engine based on identification, and retrieves the dialog system entities and intents. The user request is processed by applying the dialog system entities and intents to generate a response to the user request. The response is sent to the dialog system interface.

Claims (83)

1. A method, comprising:

enabling a developer, by a first server comprising at least one processor and a memory storing processor-executable codes, to create a developer profile through interaction of the developer with a platform interface, wherein the developer profile links a custom dialog system engine of the developer with a dialog system interface used by a plurality of users;

receiving, by the first server, multiple example phrases provided by the developer through the platform interface, and a custom fulfillment provided by the developer through the platform interface,

wherein the example phrases are each an example request for which the custom dialog engine performs the custom fulfillment, and

wherein the custom fulfillment is for the multiple example phrases, is provided through the platform interface along with the example phrases, and includes a request to a website or database to retrieve information, or a request to perform an operation;

automatically determining, by the first server, based on the example phrases provided by the developer through the platform interface:

one or more dialog system entities implied in the example phrases, and

one or more dialog system intents implied in the example phrases;

associating, by the first server, the one or more dialog system entities implied in the example phrases and the custom fulfillment with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine that is associated with the dialog system interface and that is to be used by the plurality of users;

after forming the custom dialog system engine:

receiving, by the first server or a second server, a user request from the dialog system interface, wherein the dialog system interface is installed on a user device or a third server, and wherein the user request is from a user, of the plurality of users, that is in addition to the developer;

identifying, by the first server or the second server, the dialog system interface based on the user request;

based on the identification of the dialog system interface, activating, by the first server or the second server, the custom dialog system engine and retrieving the one or more dialog system entities and the one or more dialog system intents, wherein the one or more dialog system entities, the custom fulfillment, and the one or more dialog system intents are retrieved based on:

the one or more dialog system entities implied in the example phrases and the one or more dialog system intents implied in the example phrases being determined based on the example phrases, and

the one or more dialog system entities implied in the example phrases and the custom fulfillment being associated with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine;

processing, by the first server or the second server, the user request by applying the one or more dialog system entities and the one or more dialog system intents;

generating, by the first server or the second server, a response to the user request based on the processing and the custom fulfillment; and

sending the response to the dialog system interface.

2. The method of claim 1 , wherein the one or more dialog system entities include one or more of the following: a keyword and at least one synonym to the keyword, a keyword and at least one definition of the keyword, and a list of keywords defining objects of one class.

3. The method of claim 1 , further comprising creating, by web tools of the platform interface, the one or more dialog system entities and the one or more dialog system intents based on a developer input.

4. The method of claim 1 , wherein the identification is based on an identifier of the dialog system interface, the identifier accompanying the user request.

5. The method of claim 1 , further comprising displaying the response to the user.

6. The method of claim 1 , further comprising playing back the response to the user.

7. The method of claim 1 , further comprising:

pre-processing the user request to recognize one or more spoken words, wherein the user request includes a voice input; and

transforming the voice input into text input.

8. A system, comprising:

a dialog system interface installed on a first server or a user device, the dialog system interface used by a plurality of users;

a platform deployed on a second server and configured to:

enable a developer to create a developer profile through interaction of the develop with a platform interface, wherein the developer profile links a custom dialog system engine of the developer with the dialog system interface;

receive multiple example phrases provided by the developer through the platform interface, and a custom fulfillment provided by the developer through the platform interface,

wherein the example phrases are each an example request for which the custom dialog engine performs the custom fulfillment, and

wherein the custom fulfillment is for the multiple example phrases, is provided through the platform interface along with the example phrases, and includes a request to a website or database to retrieve information, or a request to perform an operation;

automatically determine, based on the example phrases provided by the developer through the platform interface:

one or more dialog system entities implied in the example phrases, and

one or more dialog system intents implied in the example phrases;

associate the one or more dialog system entities implied in the example phrases and the custom fulfillment with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine that is associated with the dialog system interface and that is to be used by the plurality of users;

after forming the custom dialog system engine:

receive a user request from the dialog system interface, wherein the user request is from a user device, of the plurality of users, that is in addition to the developer;

identify the dialog system interface based on the user request;

based on the identification of the dialog system interface, activate the custom dialog system engine and retrieve the one or more dialog system entities and the one or more dialog system intents, wherein the one or more dialog system entities, the custom fulfillment, and the one or more dialog system intents are retrieved based on:

the one or more dialog system entities implied in the example phrases and the one or more dialog system intents implied in the example phrases being determined based on the example phrases, and

the one or more dialog system entities implied in the example phrases and the custom fulfillment being associated with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine;

process the user request by applying the one or more dialog system entities and the one or more dialog system intents to the user request;

generate a response to the user request based on the processing and the custom fulfillment; and

send the response to the dialog system interface.

9. The system of claim 8 , wherein the user request is accompanied with an identifier of the dialog system interface for the identification.

10. The system of claim 8 , wherein the platform is further configured to display the response to the user.

11. The system of claim 8 , wherein the platform is further configured to playback the response to the user.

12. The system of claim 8 , wherein the custom dialog system engine includes an Automatic Speech Recognizer (ASR), a Natural Language Processing (NLP), a dialog manager, and an output renderer.

13. The system of claim 12 , wherein the ASR is configured to:

receive speech-based user inputs; and

process the speech-based user inputs into a sequence of parameter vectors.

14. The system of claim 12 , wherein the ASR includes one or more of the following: a pattern-based speech recognizer, a free-dictation recognizer, an address book based recognizer, and a dynamically created recognizer.

15. The system of claim 12 , wherein the NLP is configured to:

disassemble recognized input received from the ASR;

parse the recognized input to produce utterances;

analyze the utterances utilizing one or more of the following: morphological analysis, part-of-speech tagging, shallow parsing; and

map the recognized input or one or more parts of the recognized input to meaning representations.

16. The system of claim 12 , wherein the dialog manager is configured to:

communicate with external resources;

process recognized input using one or more of the following: discourse analysis, knowledge database query, and system action prediction based on discourse context; and

select an action based on the processing and analysis of the NLP.

17. The system of claim 12 , wherein the output renderer is configured to:

transform action selected by the dialog manager into output, wherein the output includes an operation, a text message, an image, and a video message.

18. A non-transitory processor-readable medium having instructions stored thereon, which when executed by one or more processors, cause the one or more processors to implement a method, comprising:

enabling a developer, by a first server comprising at least one processor and a memory storing processor-executable codes, to create a developer profile through interaction of the developer with a platform interface, wherein the developer profile links a custom dialog system engine of the developer with a dialog system interface used by a plurality of users;

receiving, by the first server, multiple example phrases provided by the developer through the platform interface, and a custom fulfillment provided by the developer through the platform interface,

wherein the example phrases are each an example request for which the custom dialog engine performs the custom fulfillment, and

wherein the custom fulfillment is for the multiple example phrases, is provided through the platform interface along with the example phrases, and includes a request to a website or database to retrieve information, or a request to perform an operation of a client device;

automatically determining, by the first server, based on the example phrases provided by the developer through the platform interface:

one or more dialog system entities implied in the example phrases, and

one or more dialog system intents implied in the example phrases;

associating, by the first server, the one or more dialog system entities implied in the example phrases and the custom fulfillment with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine that is associated with the dialog system interface and that is to be used by the plurality of users;

after forming the custom dialog system engine:

receiving, by the first server or a second server, a user request from the dialog system interface, wherein the dialog system interface is installed on a user device or a third server, and wherein the user request is from a user, of the plurality of users, that is in addition to the developer;

identifying, by the first server or the second server, the dialog system interface based on the user request;

based on the identification of the dialog system interface, activating, by the first server or the second server, the custom dialog system engine and retrieving the one or more dialog system entities and the one or more dialog system intents, wherein the one or more dialog system entities, the custom fulfillment, and the one or more dialog system intents are retrieved based on:

the one or more dialog system entities implied in the example phrases and the one or more dialog system intents implied in the example phrases being determined based on the example phrases, and

the one or more dialog system entities implied in the example phrases and the custom fulfillment being associated with the one or more dialog system intents implied in the example phrases to form the custom dialog system engine;

processing, by the first server or the second server, the user request by applying the one or more dialog system entities and the one or more dialog system intents;

generating, by the first server or the second server, a response to the user request based on the processing and the custom fulfillment; and

sending the response to the dialog system interface.

Assignments (3)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: GELFENBEYN, ILYA; GONCHARUK, ARTEM; SIROTIN, PAVEL
To: SPEAKTOIT, INC.
Reel/Frame 043728/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: SPEAKTOIT, INC.
To: GOOGLE INC.
Reel/Frame 043728/0723 →
Continuity (3)
Continuation PCTUS2015049626 · Sep 11, 2015
Provisional Application 62050149 · Sep 14, 2014
Related Publication 20170185582A1 · Jun 29, 2017