IP Library Granted Patent US 10,671,182
Granted Patent B2
US 10,671,182 · App. 15/519,113 · Granted Jun 2, 2020

Text prediction integration

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,671,182
App. No.
15/519,113
Granted
Jun 2, 2020
Kind
B2
Abstract

The present invention provides systems and methods for integrating text prediction from a text prediction engine into a mechanism for searching/filtering/ordering a plurality of items. In one embodiment, the system comprises a text prediction engine configured to receive user text input relating to a sequence of two or more terms, generate a plurality of word predictions for a first term of the sequence of two or more terms and generate at least one word prediction for a second term of the sequence of two or more terms. The text prediction engine is configured to generate a distribution of candidate word predictions for the sequence of two or more terms using the plurality of word predictions for the first term and the at least one word prediction for the second term. The system further comprises a mechanism for filtering/searching/ordering a plurality of items. The mechanism is configured to filter/search/order a plurality of items using the distribution of word predictions for the sequence of two or more terms.

Claims (69)

1. A system comprising a processor and memory, the memory storing executable instructions that, when executed by the processor, cause the system to perform operations comprising:

receive, at a keyboard associated with a user interface on a computing device, user text input comprising a plurality of selected characters indicative of a sequence of two or more terms, wherein the user interface is operable to input characters via a touch location or continuous gesture;

generate a plurality of word predictions for a first term of the sequence of two or more terms, the word predictions comprising a first word comprising a subset of the selected characters and a second word generated from a text prediction engine;

generate at least one word prediction for a second term of the sequence of two or more terms, wherein each word prediction for the second term is based on the plurality of word predictions for the first term and the plurality of selected characters;

assign each word prediction an associated probability value determined by the text input and a contextual analysis;

generate a ranked distribution of predicted sequences of two or more terms using probability values of each of the plurality of word predictions for the first term and the probability value of the at least one word prediction for the second term to determine a cumulative probability of each predicted sequence;

filter, search, and order a plurality of items associated with content of an application by at least

using the ranked distribution of predicted sequences of two or more terms to determine a subset of most likely items;

generating a relevancy score for each item in the subset based on the ranked distribution and a content vector generated from words associated with each item; and

ordering items in the subset based on the relevancy score; and

output, on a user interface of the computing device, the subset of most likely items to a user.

2. The system of claim 1 , further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

generate a query string from the distribution of word predictions for the sequence of two or more words; and

filter, search, and order the plurality of items using the query string.

3. The system of claim 1 , wherein the subset of most likely items are output for user selection.

4. The system of claim 1 , wherein the distribution of word predictions comprises a sequence of the word predictions for each term in the sequence two or more terms.

5. The system of claim 1 , further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

generate a plurality of word predictions for the second term, wherein the distribution of word predictions comprises a sequence comprises the plurality of word predictions for the first term and the plurality of word predictions for the second term.

6. The system of claim 5 , further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising generate a single search query from distribution of candidates.

7. The system of claim 6 , further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

generate a search query by using the “OR” operator between each of the plurality of word predictions for the first term, the “AND” operator between the plurality of word predictions for the first term and the plurality of word predictions for the second term, and the “OR” operator between each of the plurality of word predictions for the second term.

8. The system of claim 1 , wherein the first term and the second term are separated by one or more terms or are adjacent terms in the sequence of two or more terms.

9. The system of claim 7 , wherein each word prediction comprises a word mapped to a probability value, further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

output a subset of most-likely items;

wherein a probability of an item is based on a sequence probability associated with the query which results in that item.

10. The system of claim 1 , wherein the distribution of word predictions comprises a plurality of sequences of two or more word predictions, the plurality of sequences of two or more word predictions corresponding to a plurality of sequence predictions.

11. The system of claim 10 , wherein each word prediction comprises a word mapped to a probability value, further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

generate a sequence probability for each of the plurality of sequences of two or more word predictions, by combining the probabilities of the word predictions in each of the sequences.

12. The system of claim 1 , further comprising executable instructions that, when executed by the processor, cause the system to perform operations comprising:

render a keyboard; where the keyboard is configured such that when an executing application is given focus the keyboard enters a special mode in which the text input is used for at least one of filtering, searching, and ordering items within the application rather than for text input.

13. A computing device comprising a processor and memory, the memory storing executable instructions that, when executed by the processor, cause the computing device to perform operations comprising:

instantiating a user interface comprising:

a keyboard comprising a character entry display;

an input text field for displaying inputted text; and

a predicted items pane for displaying predicted messages contacts, conversations or documents the user may wish to interact with, based on text input by a user;

wherein the user interface is operable to input characters via a gesture across the user interface, wherein the gesture is a continuous touch gesture and the predicted items pane displays one or more items based on the continuous gesture, even when there is no text committed to the text input field; and

upon receiving an input gesture relating to a sequence of two or more terms, instantiating a text prediction to perform operations comprising:

generate a plurality of word predictions for a first term of the sequence of two or more terms the word prediction comprising a first word comprising a subset of the selected characters and a second word generated from a text prediction engine;

generate at least one word prediction for a second term of the sequence of two or more terms, wherein each word prediction for the second term is based on the plurality of word predictions for the first term and the plurality of selected characters;

assign each word prediction an associated probability value determined by the text input and a contextual analysis;

generate a ranked distribution of predicted sequences of two or more terms using probability values of each of the plurality of word predictions for the first term and the at least one word prediction for the second term to determine a cumulative probability of each predicted sequence;

filter, search, and order, by the computing device, a plurality of predicted items associated with content of an application by at least:

using the ranked distribution of predicted sequences of two or more terms to determine a subset of most likely items;

generating a relevancy score for each item in the subset based on the ranked distribution and a content vector generated from words associated with each item; and

ordering items in the subset based on the relevancy score; and

outputting the subset of most likely items on the predicted items pane.

14. A method for searching a plurality of items, the method comprising:

receiving, at a keyboard associated with a user interface on a computing device comprising a processor and memory, user text input comprising a plurality of selected characters indicative of a sequence of two or more terms, wherein the user interface is operable to input characters via a touch location or continuous gesture;

generating, by the computing device, a plurality of word predictions for a first term of the sequence of two or more terms the word prediction comprising a first word comprising a subset of the selected characters and a second word generated from a text prediction engine;

generating at least one word prediction for a second term of the sequence of two or more terms wherein each word prediction for the second term is based on the plurality of word predictions for the first term and the plurality of selected characters;

assigning each word prediction an associated probability value based on the text input and a contextual analysis;

generating, by the computing device, a ranked distribution of predicted sequences of two or more terms using probability values of each of the plurality of word predictions for the first term and the at least one word prediction for the second term to determine a cumulative probability of each predicted sequence;

filtering, ordering, and searching, by the computing device, a plurality of items associated with content of an application by at least:

using the ranked distribution of predicted sequence of two or more terms to determine a subset of most likely items;

generating a relevancy score for each item in the subset based on the ranked distribution and a content vector generated from words associated with each item; and

ordering items in the subset based on the relevancy score; and

outputting, on a user interface of the computing device, the subset of most likely items to a user.

15. The method of claim 14 , further comprising:

generating a query string from the distribution of word predictions for the sequence of two or more words; and

filtering, searching, and ordering the plurality of items using the query string.

16. The method of claim 14 , wherein the distribution of word predictions comprises a sequence of the word predictions for each term in the sequence two or more terms.

17. The method of claim 14 , further comprising:

generating a plurality of word predictions for the second term, wherein the distribution of word predictions comprises a sequence comprises the plurality of word predictions for the first term and the plurality of word predictions for the second term.

18. The method of claim 17 , further comprising generating a single search query from distribution of candidates.

19. The method of claim 18 , further comprising:

generating a search query by using the “OR” operator between each of the plurality of word predictions for the first term, the “AND” operator between the plurality of word predictions for the first term and the plurality of word predictions for the second term, and the “OR” operator between each of the plurality of word predictions for the second term.

20. The method of claim 19 , wherein each word prediction comprises a word mapped to a probability value, further comprising:

outputting a subset of most-likely items for user selection;

wherein a probability of an item is based on the sequence probability associated with the query which results in that item.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: TOUCHTYPE LIMITED
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053965/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 047259 FRAME: 0625. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Dec 14, 2018
From: TOUCHTYPE, INC.
To: MICROSOFT CORPORATION
Reel/Frame 047909/0341 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT FROM MICROSOFT CORPORATION TO MICROSOFT TECHNOLOGY LICENSING, LLC IS NOT RELEVANT TO THE ASSET. PREVIOUSLY RECORDED ON REEL 047259 FRAME 0974. ASSIGNOR(S) HEREBY CONFIRMS THE THE CURRENT OWNER REMAINS TOUCHTYPE LIMITED.. Recorded Dec 14, 2018
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047909/0353 →
MERGER Recorded Oct 22, 2018
From: TOUCHTYPE, INC.
To: MICROSOFT CORPORATION
Reel/Frame 047259/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047259/0974 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2017
From: ALEY, JAMES; ORR, DOUGLAS; NIXON, ALEX
To: TOUCHTYPE LTD.
Reel/Frame 042005/0034 →