IP Library › Granted Patent US 10,783,456
Granted Patent B2
US 10,783,456 · App. 16/611,725 · Granted Sep 22, 2020

Training encoder model and/or using trained encoder model to determine responsive action(s) for natural language input

Inventors: Brian Strope (Palo Alto, CA); Yun-hsuan Sung (Mountain View, CA); Wangqing Yuan (Wilmington, MA)
Assignee: GOOGLE LLC
G06N20/00G06F16/3329G06F16/3344G06F16/3346G06F16/35G06N5/04
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,783,456
App. No.
16/611,725
Granted
Sep 22, 2020
Kind
B2
Abstract

Systems, methods, and computer readable media related to: training an encoder model that can be utilized to determine semantic similarity of a natural language textual string to each of one or more additional natural language textual strings (directly and/or indirectly); and/or using a trained encoder model to determine one or more responsive actions to perform in response to a natural language query. The encoder model is a machine learning model, such as a neural network model. In some implementations of training the encoder model, the encoder model is trained as part of a larger network architecture trained based on one or more tasks that are distinct from a “semantic textual similarity” task for which the encoder model can be used.

Claims (56)

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

identifying a plurality of positive training instances that each include an input and a response, wherein for each of the positive training instances:

the input is based on content of a corresponding electronic communication, and

the response is based on a corresponding responsive electronic communication that is responsive to the corresponding electronic communication;

training an encoder model based on the positive training instances, wherein training the encoder model based on a given instance of the positive training instances comprises:

generating an input encoding based on processing the input using the encoder model;

generating a response encoding based on processing the response using the encoder model;

generating a final response encoding based on processing the response encoding using a reasoning model;

determining a value based on comparison of the input encoding and the final response encoding; and

updating both the reasoning model and the encoder model based on comparison of the value to a given value indicated by the given instance; and

after training the encoder model:

using the trained encoder model, independent of the reasoning model, to determine a similarity value of two textual segments, wherein the similarity value indicates semantic similarity of the two textual segments, and wherein using the trained encoder model to determine the similarity value of the two textual segments comprises:

receiving a query directed to an automated assistant;

generating a query encoding based on processing the query using the trained encoder model;

comparing the query encoding to a plurality of pre-determined query encodings each stored in association with one or more corresponding actions;

determining, based on the comparing, a given predetermined query encoding to which the query encoding is most similar; and

in response to the query and based on the given predetermined query encoding being most similar to the query encoding, causing the automated assistant to perform the one or more corresponding actions that are stored in association with the given predetermined query encoding.

2. The method of claim 1 , further comprising:

training the encoder model based on a plurality of distinct additional training instances, wherein the plurality of distinct additional training instances are for a task that is distinct from the task of the plurality of positive training instances.

3. The method of claim 2 , wherein training the encoder model based on a given distinct instance of the distinct additional training instances comprises:

generating a first encoding based on processing a first input of the given distinct instance using the encoder model;

generating a second encoding based on processing a second input of the given distinct instance using the encoder model;

generating a prediction based on processing of the first encoding and the second encoding using an additional model, wherein the additional model is not utilized in training the encoder model based on the positive training instances; and

updating both the additional model and the encoder model based on comparison of the prediction to a labeled output of the given distinct instance.

4. The method of claim 3 , wherein the labeled output indicates a particular category, of a plurality of potential categories, for a natural language inference task.

5. The method of claim 3 , wherein training the encoder model based on the plurality of distinct additional training instances occurs simultaneously with training the encoder model based on the positive training instances.

6. The method of claim 5 , wherein training the encoder model based on the plurality of distinct additional training instances is by one or more first worker threads and wherein training the encoder model based on the positive training instances is by one or more second worker threads.

7. The method of claim 1 , further comprising

determining that a distance, between the query encoding and the given predetermined query encoding, satisfies a closeness threshold;

wherein causing the automated assistant to perform the one or more corresponding actions is further in response to determining that the distance satisfies the closeness threshold.

8. The method of claim 1 , wherein comparing the query encoding to the plurality of pre-determined query encodings comprises:

generating a plurality of scalar values, each based on a corresponding dot product of the query encoding and a corresponding one of the plurality of pre-determined query encodings; and

wherein determining, based on the comparing, the given predetermined query encoding to which the query encoding is most similar comprises: selecting the given predetermined query encoding based on a scalar value, that is based on the dot product of the query encoding and the given predetermined query encoding, being the minimal of the generated plurality of scalar values.

9. The method of claim 1 , wherein the query is not explicitly mapped, by the automated assistant, to the one or more corresponding actions.

10. The method of claim 1 , wherein the query is based on user input received at a first computing device, and wherein the one or more corresponding actions comprise controlling one or more additional devices.

11. The method of claim 1 , wherein the query is received as a voice input, wherein the method further comprises performing a voice-to-text conversion process on the voice input to generate text, and wherein generating the query encoding based on processing the query using the trained encoder model comprises processing the text using the trained encoder model.

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

identifying a plurality of positive training instances that each include an input and a response, wherein for each of the positive training instances:

the input is based on content of a corresponding electronic communication, and

the response is based on a corresponding responsive electronic communication that is responsive to the corresponding electronic communication;

training an encoder model based on the positive training instances, wherein training the encoder model based on a given instance of the positive training instances comprises:

generating an input encoding based on processing the input using the encoder model;

generating a response encoding based on processing the response using the encoder model;

generating a final response encoding based on processing the response encoding using a reasoning model;

determining a value based on comparison of the input encoding and the final response encoding; and

updating both the reasoning model and the encoder model based on comparison of the value to a given value indicated by the given instance; and

training the encoder model based on a plurality of distinct additional training instances, wherein the plurality of distinct additional training instances are for a task that is distinct from the task of the plurality of positive training instances, and wherein training the encoder model based on a given distinct instance of the distinct additional training instances comprises:

generating a first encoding based on processing a first input of the given distinct instance using the encoder model;

generating a second encoding based on processing a second input of the given distinct instance using the encoder model;

generating a prediction based on processing of the first encoding and the second encoding using an additional model, wherein the additional model is not utilized in training the encoder model based on the positive training instances; and

updating both the additional model and the encoder model based on comparison of the prediction to a labeled output of the given distinct instance;

after training the encoder model:

using the trained encoder model, independent of the reasoning model, to determine a similarity value of two textual segments, wherein the similarity value indicates semantic similarity of the two textual segments.

13. The method of claim 12 , wherein the labeled output indicates a particular category, of a plurality of potential categories, for a natural language inference task.

14. The method of claim 12 , wherein training the encoder model based on the plurality of distinct additional training instances occurs simultaneously with training the encoder model based on the positive training instances.

15. The method of claim 14 , wherein training the encoder model based on the plurality of distinct additional training instances is by one or more first worker threads and wherein training the encoder model based on the positive training instances is by one or more second worker threads.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2020
From: STROPE, BRIAN; SUNG, YUN-HSUAN; YUAN, WANGQING
To: GOOGLE LLC
Reel/Frame 051568/0166 →
Continuity (2)
Provisional Application 62599550 · Dec 15, 2017
Related Publication 20200104746A1 · Apr 2, 2020
Cited By (6)
US 12,242,491 US 12,314,347 US 12,326,867 US 12,387,051 US 12,393,875 US 12,579,050