IP Library Granted Patent US 11,816,431
Granted Patent B2
US 11,816,431 · App. 16/846,338 · Granted Nov 14, 2023

Autocomplete of user entered text

Inventor: Yang Zhang (Cambridge, MA)
Assignee: Salesforce, Inc.
G06F40/274G06F40/30G06N3/088
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,816,431
App. No.
16/846,338
Granted
Nov 14, 2023
Kind
B2
Abstract

Computer implemented method and a system for auto completion of text based on the context associated with the text. The computer implemented method includes steps of receiving input text, identifying a certain context associated with the input text from multiple predefined contexts, by feeding the input text into a context-prediction component of a machine learning model that predicts the certain context, selecting a certain context-specific component of the machine learning model from multiple context-specific components according to the identified certain context, feeding the input text into the selected context-specific component that outputs autocomplete text associated with the identified certain context. The context-specific components are each trained to generate autocompleted text associated with a respective context pre-defined for the respective context-specific component.

Claims (42)

1. A computer implemented method of context based autocomplete of text, comprising:

in an inference phase of an operation of autocomplete of text:

receiving input text;

feeding the received input text into a context-prediction component of a machine learning model;

identifying a context associated with said input text from a plurality of predefined contexts, by analyzing said input text by said context-prediction component that selects said context out of said plurality of pre-defined contexts;

selecting a context-specific component from a plurality of context-specific components according to the identified context, wherein each of said context-specific components is trained to generate autocompleted text, said training of each of the plurality of context-specific components is conducted by initially using generic text and then improving each respective context-specific component by re-training using text associated with a specific context, said specific context is different for each of the plurality of context-specific components and corresponds to one of the plurality of pre-defined contexts;

feeding said received input text to the selected context-specific component;

generating autocomplete text associated with the identified context, wherein said autocomplete text is outputted by said selected context-specific component; and

providing the autocomplete text.

2. The method of claim 1 , wherein the receiving, feeding the text into the context-prediction component, the selecting, the feeding the text into the selected context-specific component, and the providing, are dynamically iterated for additional received text, wherein the context is dynamically adapted according to the additional received text.

3. The method of claim 1 , wherein when the context-prediction component predicts at least two different contexts of the plurality of contexts, at least two context-specific components are selected according to the at least two different contexts, the input text is fed into each one of the at least two different context-specific components that output respective autocomplete text, and at least two different autocomplete texts outputted by the context-specific components are presented on a display for selection of one of the at least two different autocomplete texts for completion of the input text.

4. The method of claim 1 , further comprising:

extracting embeddings from the context-prediction component of the machine learning model fed the input text;

mapping the embeddings to one of a plurality of clusters, each respective cluster denoting one respective context of the plurality of contexts, wherein the context is predicted according to the respective cluster.

5. The method of claim 4 , wherein the context-prediction component is implemented as a neural network, wherein the embeddings are represented as a vector and extracted as hidden states from internal layers of the neural network, wherein each of the plurality of clusters is defined as points within a multidimensional space, and the context is predicted according to the cluster that has a shortest distance to the vector representation of the input text.

6. The method of claim 4 , wherein the embeddings are mapped to one of the plurality of clusters by a clustering model that is trained using an unsupervised approach.

7. A computer implemented method of training a machine learning model for context based autocomplete of text, comprising:

training a context-prediction component of the machine learning model to identify during an inference phase of an operation of autocomplete of text, a context associated with input text inputted to said context-prediction component, said identifying said context is by analyzing said input text by said context-prediction component that selects said context out of a plurality of predefined contexts;

training a plurality of context-specific components of the machine learning model, each respective context-specific component is trained to generate and output, during said inference phase of said operation of autocomplete of text, in response to said input text inputted to said respective context-specific component, autocompleted text associated with a corresponding respective context pre-defined for the respective context-specific component; and

providing the model for outputting autocomplete text when fed input text during said inference phase of said operation of autocomplete of text.

8. The method of claim 7 , further comprising:

receiving a plurality of text elements, each text element associated with a label of a context of the plurality of contexts; and

wherein training each respective context-specific component of the plurality of context-specific components is performed using text elements associated with the label of the respective context corresponding to the respective context-specific component.

9. The method of claim 8 , wherein each respective context-specific component of the plurality of context-specific components is trained by fine tuning a common pre-trained generic language model trained on generic text, with respective text elements associated with the label of the respective context corresponding to the respective context-specific component.

10. The method of claim 7 , further comprising:

receiving a plurality of text elements, each text element associated with a label of a context of the plurality of contexts; and

training a language model on the plurality of text elements and associated labels, wherein the language model is used for the context-prediction component.

11. The method of claim 10 , wherein the plurality of text elements are semi-structured metadata, and the labels are automatically extracted from the semi-structured metadata using a label extraction machine learning model trained on a training dataset of text and associated labels.

12. The method of claim 10 , wherein the language model comprises a pre-trained generic language model trained on generic text that is unlabeled with an indication of context, and the language model is trained by fine tuning the pre-trained generic language model on the plurality of text elements and associated labels indicative of context.

13. The method of claim 12 , further comprising using embeddings of the language model to create a clustering model for predicting clusters using an unsupervised approach that learns to cluster the embeddings, wherein each cluster indicates a respective context of the plurality of contexts, and using the cluster model for the context-prediction component.

14. A system for context based autocomplete of text, comprising:

at least one hardware processor executing a code for conducting an operation of autocomplete of text in an inference phase, said code comprising:

code for receiving input text;

code for feeding the received input text into a context-prediction component of a machine learning model;

code for identifying a context associated with said input text from a plurality of predefined contexts, by analyzing said input text by said context-prediction component that selects said context of said plurality of pre-defined contexts;

code for selecting a context-specific component from a plurality of context-specific components according to the identified context, wherein each of said context-specific components is trained to generate autocompleted text, said training of each of the plurality of context-specific components is conducted by initially using generic text and then improving each respective context-specific component by re-training using text associated with a specific context, said specific context is different for each of the plurality of context-specific components and corresponds to one of the plurality of pre-defined contexts;

code for feeding said received input text to the selected context-specific component;

code for generating autocomplete text associated with the identified context, wherein said autocomplete text is outputted by said selected context-specific component; and

code for providing the autocomplete text.

15. The system of claim 14 , wherein the code further comprising code for:

training the context-prediction component of the machine learning model for predicting the context associated with input text inputted to said context-prediction component, said predicting is by identifying said context within a plurality of predefined contexts; and

training the plurality of context-specific components of the machine learning model, each respective context-specific component is trained to generate and output, in response to said input text inputted to said respective context-specific component, autocompleted text associated with a corresponding respective context pre-defined for the respective context-specific component.

Assignments (2)
CHANGE OF NAME Recorded Sep 22, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065018/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2020
From: ZHANG, YANG
To: SALESFORCE.COM, INC.
Reel/Frame 053120/0818 →
Continuity (1)
Related Publication 20210319178A1 · Oct 14, 2021