IP Library Granted Patent US 11,232,265
Granted Patent B2
US 11,232,265 · App. 16/686,257 · Granted Jan 25, 2022

Context-based natural language processing

Inventors: Ilya Gennadyevich Gelfenbeyn (Sunnyvale, CA); Artem Goncharuk (Mountain View, CA); Pavel Aleksandrovich Sirotin (Sunnyvale, CA)
Assignee: Google LLC
G06F40/35G06F40/279G10L15/22G10L15/26G10L2015/228
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 11,232,265
App. No.
16/686,257
Granted
Jan 25, 2022
Kind
B2
Abstract

A method for context-based natural language processing is disclosed herein. The method comprises maintaining a plurality of dialog system rules, receiving a user request from a Dialog System Interface, receiving one or more attributes associated with the user request from the Dialog System Interface or a user device, and identifying a type of context associated with the user request based on the user request and the one or more attributes. A context label is assigned to the user request associated with the type of context. Based on the context label and the user request, a particular dialog system rule is selected from the plurality of dialog system rules. A response to the user request is generated by applying the dialog system rule to at least a part of the user request.

Claims (69)

1. A method implemented by one or more processors, the method comprising:

receiving at least one user request based on input provided by a user during a current user session via a dialog system interface, wherein the at least one user request includes speech input;

determining user request text for the at least one user request, wherein determining the user request text includes performing speech recognition to convert the speech input to the user request text;

determining an intent for the at least one user request based on the user request text;

determining, based on the user request text for the at least one user request, one or more conversational contexts for the current user session;

providing a fulfillment to the user request based on the intent, wherein the fulfillment satisfies the intent;

receiving, in response to providing the fulfillment to the user request, an additional user request based on additional input provided by the user during the current user session via the dialog system interface, wherein the additional user request includes additional speech input;

determining additional user request text for the additional user request, wherein determining the additional user request text includes performing speech recognition to convert the additional speech input to the additional user request text;

identifying, based on the additional user request text and based on one or more of the conversational contexts for the current user session, a given conversational context of the one or more conversational contexts for the additional user request;

selecting, from a plurality of dialog system rules, a given dialog system rule based on it being associated with the identified given conversational context; and

generating a response to the additional user request, generating the response to the additional user request comprising:

applying the given dialog system rule to at least a part of the additional user request text converted from the additional speech input.

2. The method of claim 1 , further comprising:

delivering, via the Dialog System Interface, the response to the user request.

3. The method of claim 1 , wherein the response includes building a route in a navigational software application.

4. The method of claim 1 , wherein the response includes providing a clarifying question, the clarifying question being generated based on the dialog system rule.

5. The method of claim 1 , further comprising:

pre-processing the user request by the Dialog System Interface.

6. The method of claim 1 , wherein determining the one or more conversational contexts for current the user session is further based on at least one of:

a geographical location of the user,

a software application running on the user device,

a type of the user device,

weather conditions in the geographical location of the user, or

a physical condition of the user.

7. The method of claim 1 , wherein determining the one or more conversational contexts for the current user session is further based on a software application running on the user device.

8. The method of claim 1 , wherein determining the one or more conversational contexts for the current user session is further based on a physical condition of the user.

9. The method of claim 1 , wherein the user request immediately precedes the additional user request during the current user session via the dialog system interface.

10. The method of claim 1 , further comprising:

determining that the additional user request cannot be understood without the dialog system rule that is associated with the identified given conversational context;

wherein applying the given dialog system rule to the at least a part of the additional user request text converted from the additional speech input, in generating the response to the additional user request, is based on determining that the user request cannot be understood without the dialog system rule that is associated with the identified given conversational context.

11. A system, comprising:

one or more computers each including at least one processor and a memory storing processor-executable code, the one or more computers configured to:

maintain a plurality of dialog system rules;

receive at least one user request based on input provided by a user during a current user session via a dialog system interface, wherein the at least one user request includes speech input;

determine user request text for the at least one user request, wherein determining the user request text includes performing speech recognition to convert the speech input to the user request text;

determine an intent for the at least one user request based on the user request text;

determine, based on the user request text for the at least one user request, one or more conversational contexts for the current user session;

provide a fulfillment to the user request based on the intent, wherein the fulfillment satisfies the intent;

receive, in response to providing the fulfillment to the user request, an additional user request based on additional input provided by the user during the current user session via the dialog system interface, wherein the additional user request includes additional speech input;

determine additional user request text for the additional user request, wherein determining the additional user request text includes performing speech recognition to convert the additional speech input to the additional user request text;

identify, based on the additional user request text and based on one or more of the conversational contexts for the current user session, a given conversational context of the one or more conversational contexts for the additional user request;

select, from a plurality of dialog system rules, a given dialog system rule based on it being associated with the identified given conversational context; and

generate a response to the additional user request, generating the response to the additional user request comprising:

applying the given dialog system rule to at least a part of the additional user request text converted from the additional speech input.

12. The system of claim 11 , wherein the one or more computers are further configured to:

deliver, via the Dialog System Interface, the response to the user request.

13. The system of claim 11 , wherein the response includes building a route in a navigational software application.

14. The system of claim 11 , wherein the response includes a clarifying question generated based on the dialog system rule.

15. The system of claim 11 , wherein the user request is pre-processed by the Dialog System Interface.

16. The system of claim 11 , wherein determining the one or more conversational contexts for the current user session is further based on at least one of:

a software application running on the user device,

a type of the user device,

weather conditions in the geographical location of the user, or

a physical condition of the user.

17. The system of claim 11 , wherein determining the one or more conversational contexts for the user session is further based on a software application running on the user device.

18. The system of claim 11 , wherein determining the one or more conversational contexts for the current user session is further based on a physical condition of the user.

19. The system of claim 11 , wherein the user request immediately precedes the additional user request during the current user session via the dialog system interface.

20. 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:

receiving at least one user request based on input provided by a user during a current user session via a dialog system interface, wherein the at least one user request includes speech input;

determining user request text for the at least one user request, wherein determining the user request text includes performing speech recognition to convert the speech input to the user request text;

determining an intent for the at least one user request based on the user request text;

determining, based on the user request text for the at least one user request, one or more conversational contexts for the current user session;

providing a fulfillment to the user request based on the intent, wherein the fulfillment satisfies the intent;

receiving, in response to providing the fulfillment to the user request, an additional user request based on additional input provided by the user during the current user session via the dialog system interface, wherein the additional user request includes additional speech input;

determining additional user request text for the additional user request, wherein determining the additional user request text includes performing speech recognition to convert the additional speech input to the additional user request text;

identifying, based on the additional user request text and based on one or more of the conversational contexts for the current user session, a given conversational context of the one or more conversational contexts for the additional user request;

selecting, from a plurality of dialog system rules, a given dialog system rule based on it being associated with the identified given conversational context; and

generating a response to the additional user request, generating the response to the additional user request comprising:

applying the given dialog system rule to at least a part of the additional user request text converted from the additional speech input.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: GELFENBEYN, ILYA GENNADYEVICH; GONCHARUK, ARTEM; SIROTIN, PAVEL ALEKSANDROVICH
To: SPEAKTOIT, INC.
Reel/Frame 051115/0505 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: SPEAKTOIT, INC.
To: GOOGLE INC.
Reel/Frame 051115/0523 →
CHANGE OF NAME Recorded Nov 26, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 051115/0618 →
Cited By (1)
US 12,632,665