IP Library Granted Patent US 11,550,751
Granted Patent B2
US 11,550,751 · App. 15/356,245 · Granted Jan 10, 2023

Sequence expander for data entry/information retrieval

Inventors: Douglas Alexander Harper Orr (Brentwood, GB); Matthew James Willson (London, GB); Marco Fiscato (London, GB); Juha Iso-Sipilä (London, GB); Joseph Osborne (London, GB); James Peter John Withers (London, GB)
Assignee: Microsoft Technology Licensing, LLC
G06F16/00G06N3/0454G06N3/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,550,751
App. No.
15/356,245
Granted
Jan 10, 2023
Kind
B2
Abstract

An electronic device is described which has a user interface which receives an input comprising a sequence of target indicators of data items. The data entry system has a search component which searches for candidate expanded sequences of indicators comprising the target indicators. The search component searches amongst indicators generated by a trained conditional language model, the conditional language model having been trained using pairs, each individual pair comprising a sequence of indicators and a corresponding expanded sequence of indicators.

Claims (46)

1. A data entry system comprising a processor and memory, the memory storing thereon computer-readable instructions that, when executed by the processor, cause the data entry system to perform operations comprising:

instantiating a user interface;

receiving an input via the user interface;

identifying one or more target indicators of data items from the input;

inputting the target indicators to an encoder of a trained conditional language model, the encoder implemented using a neural network;

generating a plurality of searchable indicators, based on the target indicators input to the encoder, by a decoder of the trained conditional language model using output from the encoder, wherein the decoder is implemented using a neural network, and wherein the trained conditional language model is trained using one or more pairs that each comprise one or more indicators and a corresponding expanded sequence of indicators, each of the one or more pairs comprising empirically observed search query expansion data, synthetic data computed from deleting words from sentences, data produced from detecting high frequency words, words in a list of known stop-words, or words found to have high likelihood given a context of the words, or combinations thereof, and wherein the plurality of searchable indicators are each mapped to the one or more target indicators or translations of the one or more target indicators, the one or more target indicators and the plurality of searchable indicators each including text or an image;

searching text items, using the plurality of searchable indicators as search terms, to generate, from the text items, candidate expanded sequences corresponding to the plurality of searchable indicators, each of the candidate expanded sequences comprising a subset of the plurality of searchable indicators wherein searching comprises a beam search;

using the candidate expanded sequences of indicators to facilitate data entry or information retrieval; and

rendering the candidate expanded sequences to replace the one or more target indicators.

2. The data entry system of claim 1 , wherein the conditional language model is formed using a neural network.

3. The data entry system of claim 1 , wherein the searching is performed using a beam search which searches, at each place in the candidate expanded sequence of indicators, a set of indicators, the sets of indicators being subsets of the plurality of searchable indicators formed using the conditional language model.

4. The data entry system of claim 3 , wherein:

the sets of indicators are found from the conditional language model;

the conditional language model comprises a neural network which comprises a sequence-to-sequence model;

the operations further comprising inputting the one or more target indicators to an encoder of the neural network and predicting indicators using a decoder of the neural network.

5. The data entry system of claim 1 , wherein the data items comprise one or more of: a word, an emoji, a pictogram, and an emoticon.

6. The data entry system of claim 1 , wherein the user interface comprises a predictive keyboard and wherein at least one of the one or more target indicators of data items is a word which has been corrected or completed by the predictive keyboard.

7. The data entry system of claim 1 , wherein the searching is performed using a search algorithm for searching for candidate expanded sequences of indicators comprising the one or more target indicators, the search algorithm applying a penalty based on the presence or absence of the one or more target indicators in the candidate expanded sequences.

8. The data entry system of claim 1 , wherein the searching is performed using at least one search algorithm to search for candidate expanded sequences of indicators comprising the one or more target indicators, the search algorithm applying at least one constraint selected from:

a number of the one or more target indicators, a sequence of the one or more target indicators, a sequence of a subset of the one or more target indicators, and a maximum number of indicators between the one or more target indicators.

9. The data entry system of claim 1 , wherein the trained conditional language model comprises an encoder and a decoder, the encoder having been trained to generate a vector of numerical values which represent a meaning of a sequence of the one or more target indicators input to the encoder.

10. The data entry system of claim 9 , wherein the encoder is a recurrent neural network and the vector of numerical values is a hidden state of the recurrent neural network.

11. The data entry system of claim 9 , wherein the decoder comprises a neural network trained to receive the vector of numerical values from the encoder and to predict at least one data item.

12. The data entry system of claim 9 , wherein the decoder has been trained using the pairs, each individual pair comprising a sequence of indicators and a corresponding expanded sequence of indicators.

13. The data entry system of claim 12 , wherein the decoder has been trained using pairs obtained from empirically observed search query expansion data.

14. The data entry system of claim 12 , wherein the decoder has been trained using pairs obtained from synthetic data computed by deleting words from sentences by detecting any one or more of: high frequency words, words in a list of known stop-words, and words found to have high likelihood given a context of the words.

15. The data entry system of claim 1 , wherein the user interface comprises a target indicator input field and a candidate expanded sequence of indicators field, and wherein the user interface comprises a toggle facility to enable a user to toggle between the target indicator input field and the candidate expanded sequence of indicators field.

16. A computer-implemented method comprising:

receiving, by a computing device, an input via a user interface;

identifying one or more target indicators of data items from the input;

inputting the target indicators to an encoder of a trained conditional language model, the encoder implemented using a neural network;

generating, by the computing device, a plurality of searchable indicators, based on the target indicators input to the encoder, using a decoder of the trained conditional language model using output from the encoder, wherein the decoder is implemented using a neural network, and wherein the trained conditional language model is trained using pairs, the pairs comprising an indicator or a sequence of indicators and a corresponding expanded sequence of indicators, each of the pairs comprising empirically observed search query expansion data, synthetic data computed from deleting words from sentences, data produced from detecting high frequency words, words in a list of known stop-words, or words found to have high likelihood given a context of the words, or combinations thereof, the one or more target indicators and the plurality of searchable indicators each including text or an image;

searching text items, using the plurality of searchable indicators as search terms, to by the computing device from the text items, candidate expanded sequences corresponding to the plurality of searchable indicators, the plurality of searchable indicators each mapped to the one or more target indicators or translations of the one or more target indicators, wherein the candidate expanded sequences each comprise a subset of the plurality of searchable indicators wherein searching comprises a beam search;

using the candidate expanded sequences to facilitate data entry or information retrieval; and

rendering, by the computing device, one or more of the candidate expanded sequences on a user interface communicatively coupled to the computing device, the one or more candidate expanded sequences replacing the one or more target indicators.

17. The method of claim 16 , further comprising using the candidate expanded sequences of indicators to facilitate data entry or information retrieval.

18. The method of claim 16 , wherein the data items comprise emoji or pictograms and wherein the candidate expanded sequences of indicators comprise words such that the method facilitates generation of text by autistic or dyslexic users.

19. The method of claim 16 , further comprising training the conditional language model using the pairs.

20. One or more computer storage media storing thereon computer-executable instructions that, when executed by a computing system, cause the computing system to perform operations comprising:

receiving an input via a user interface;

identifying one or more target indicators of data items from the input;

inputting the target indicators to an encoder of a trained conditional language model, the encoder implemented using a neural network;

generating a plurality of searchable indicators, based on the target indicators input to the encoder, using a decoder of the trained conditional language model using output from the encoder, wherein the trained conditional language model is trained using pairs, each of the pairs comprising an indicator or a sequence of indicators and a corresponding expanded sequence of indicators, each of the pairs comprising empirically observed search query expansion data, synthetic data computed from deleting words from sentences, data produced from detecting high frequency words, words in a list of known stop-words, or words found to have high likelihood given a context of the words, or combinations thereof, the one or more target indicators and the plurality of searchable indicators each including text or an image; and

searching text items, using the plurality of searchable indicators as search terms, to generate, from the text items, candidate expanded sequences corresponding to the plurality of searchable indicators, each of the plurality of searchable indicators mapped to the one or more target indicators or translations of the one or more target indicators, wherein the candidate expanded sequences each comprise a subset of the plurality of searchable indicators wherein searching comprises a beam search;

using the candidate expanded sequences to facilitate data entry or information retrieval; and

rendering the candidate expanded sequences of indicators replacing the one or more target indicators.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: ORR, DOUGLAS ALEXANDER HARPER; WILLSON, MATTHEW JAMES; FISCATO, MARCO; ISO-SIPILÄ, JUHA; OSBORNE, JOSEPH; WITHERS, JAMES PETER JOHN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040534/0306 →
Continuity (1)
Related Publication 20180143760A1 · May 24, 2018