IP Library Granted Patent US 10,706,230
Granted Patent B2
US 10,706,230 · App. 15/103,703 · Granted Jul 7, 2020

System and method for inputting text into electronic devices

Inventors: Juha Iso-Sipilä (London, GB); Hwasung Lee (London, GB); Julien Baley (London, GB); Joseph Osborne (London, GB)
Assignee: TOUCHTYPE LIMITED
G06F40/274G06F40/253G06F40/268G06F40/284
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,706,230
App. No.
15/103,703
Granted
Jul 7, 2020
Kind
B2
Abstract

Systems for inputting text into an electronic device are provided. The systems are configured to receive a sequence of characters input into the device. The systems comprise a means configured to generate from the sequence of characters a sequence of word-segments. The systems also comprise a text prediction engine comprising a language model having stored sequences of word-segments. The text prediction engine is configured to receive the sequence of word-segments. In a first embodiment, the text prediction engine is configured to determine whether each word-segment of the sequence of word-segments corresponds to a stored word-segment of the language model and output the sequence of word-segments as a candidate prediction when each of the word-segments of the sequence of word-segments corresponds to a stored word-segment of the language model, regardless of whether the sequence of word-segments corresponds to a stored sequence of word-segments. Various other systems and corresponding methods are provided. A system is provided comprising a word-segment language model comprising stored sequences of word segments and a candidate filter. The candidate filter is used to filter word predictions generated by the word-segment language model.

Claims (36)

1. A system for validating entered text comprising a processor and memory, the memory storing thereon machine-readable instructions that when executed by the processor, cause the system to:

generate from a sequence of characters of the entered text, a sequence of word-segments;

determine whether each word-segment of the sequence of word-segments corresponds to a respective stored word-segment of a hybrid language model, the hybrid language model including a word language model and a word-segment language model; and

in response to determining that each word-segment of the sequence of word-segments corresponds to a respective stored word-segment of the hybrid language model, output the sequence of word-segments as a candidate prediction validating the entered text, wherein the sequence of word-segments is a single word that does not correspond to any stored words in the hybrid language model at a time of determining that each word-segment of the sequence of word-segments corresponds to a respective stored word-segment of the hybrid language model.

2. A method for processing text data by a computing device comprising a processor and memory, the method comprising:

receiving data indicative of a sequence of characters of entered text;

generating from the sequence of characters a sequence of one or more word-segments;

comparing the sequence of one or more word-segments to a stored sequence of word segments;

predicting, based on a hybrid language model, including a word language model and a word-segment language model, and a stored sequence of word-segments, a next word-segment in the sequence, wherein a single word is formed using the next word-segment in the sequence and the sequence of characters, and wherein the single word differs in at least one word-segment from all stored words in the hybrid language model at a time of predicting the next word-segment in the sequence and wherein each word-segment of the sequence and the next word-segment correspond to respective stored word-segments of the hybrid language model; and

outputting the single word as a next word prediction.

3. The method of claim 2 further comprising iteratively predicting the next word-segment in the sequence.

4. The method of claim 3 , further comprising:

iteratively predicting the next word-segment in the sequence until it has reached a term boundary; and

outputting the sequence of word-segments as a word.

5. The method of claim 4 , further comprising sending the word through a candidate filter to determine if the word is a valid word.

6. The method of claim 5 , further comprising:

discarding an invalid word unless it corresponds to verbatim text input; and

outputting valid words and invalid words corresponding to the verbatim text input.

7. The method of claim 5 , where the hybrid language model comprises the candidate filter.

8. The method of claim 5 , wherein the candidate filter is a bloom filter constructed from valid words.

9. The method of claim 8 , wherein the bloom filter is constructed from character strings corresponding to the valid words or identifier combinations for the word-segment combinations making up the valid words.

10. A computing device comprising a processor and memory, the computing device configured to:

generate from a sequence of characters of entered text, a sequence of one or more word-segments;

compare the sequence of one or more word-segments to a stored sequence of word-segments;

modify, based on a hybrid language model, including a word language model and a word-segment language model, and the stored sequence of word-segments, at least one of the word-segments of the sequence of one or more word-segments such that the at least one modified word-segment corresponds to a stored word-segment in the hybrid language model, and wherein a single word is formed using the modified word-segment and unmodified word-segments of the sequence of one or more word-segments, and wherein the single word differs in at least one word-segment from all stored words in the hybrid language model at a time of modification to the at least one of the word-segments of the sequence and wherein each word-segment of the sequence corresponds to a respective stored word-segment of the hybrid language model; and

outputting the word as a candidate prediction.

11. The computing device of claim 10 , wherein the hybrid language model comprises a plurality of word boundary markers which indicate the start or end of a word.

12. The computing device of claim 11 , wherein the hybrid language model comprises a context model having stored sequences of word-segments and an input model having stored sequences of characters forming word-segments.

13. The computing device of claim 12 , wherein the context model comprises an n-gram map having stored sequences of word segments.

14. The computing device of claim 13 , wherein then-gram map comprises the plurality of word boundary markers which indicate the start or end of a word.

15. The computing device of claim 12 , wherein the input model comprises a trie configured to generate one or more word-segments from a character sequence.

16. The computing device of claim 15 , wherein the trie comprises a plurality of word-segment boundary markers.

17. The computing device of claim 15 , further configured to determine whether each word-segment of the sequence of word-segments corresponds to a stored word-segment of the trie.

18. The computing device of claim 10 , wherein the sequence of characters comprises the characters relating to the current word being entered and the characters relating to the context for that current word.

19. The computing device of claim 18 , further configured to generate a sequence of one or more word-segments from the characters relating to the context.

20. The computing device of claim 18 , further configured to generate a sequence of one or more word-segments from the characters relating to the current word.

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 Jun 10, 2016
From: ISO-SIPILÄ, JUHA; LEE, HWASUNG; BALEY, JULIEN; OSBORNE, JOSEPH
To: TOUCHTYPE LIMITED
Reel/Frame 038881/0241 →
Priority Claims (2)
GB 1321927.4 · Dec 11, 2013 · national
GB 1419489.8 · Oct 31, 2014 · national
Continuity (1)
Related Publication 20160321239A1 · Nov 3, 2016