Remote and local predictions
Abstract
The description relates to predicting terms based on text inputted by a user. One example includes a computing device comprising a processor configured to send, over a communications network, the text to a remote prediction engine. The processor is configured to send the text to a local prediction engine stored at the computing device, and to monitor for a local predicted term from the local prediction engine and a remote predicted term from the remote prediction engine, in response to the sent text. The computing device includes a user interface configured to present a final predicted term to the user such that the user is able to select the final term. The processor is configured to form the final predicted term using either the remote predicted term or the local predicted term on the basis of a time interval running from the time at which the user input the text.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A computing device comprising a processor and memory, the memory storing thereon computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising:
receive text input; send, over a communications network, data indicative of the text input to a remote prediction engine having been trained to predict terms based on text data; provide the received text input to a local prediction engine executing at the computing device; determine whether a remote predicted term is received from the remote prediction engine within a time interval; in response to determining that the remote predicted term was not received within the time interval, determine whether a local predicted term was received from the local prediction engine within the time interval; and in response to determining that the remote and local predicted terms were not received within the time interval, present, on a user interface of the computing device, a final predicted term based on a first received predicted term of the remote and local predicted terms.
22 . The computing device of claim 21 , wherein the remote prediction engine is more accurate than the local prediction engine.
23 . The computing device of claim 21 , wherein the final predicted term is based on the local predicted term, and further comprising computer-readable instructions that when executed by the processor, configure the computing device to perform operations comprising, after receiving the remote predicted term, determine whether a user is moving a digit towards the user interface, and in response to determining that the user is not moving the digit towards the user interface, replace the final predicted term with a second final predicted term formed from the remote predicted term.
24 . The computing device of claim 21 , wherein the remote prediction is selected as the final predicted term if the remote prediction is received during the time interval.
25 . The computing device of claim 21 , wherein the local prediction engine is related to the remote prediction engine.
26 . The computing device of claim 21 , wherein the local prediction engine comprises a local model and the remote prediction engine comprises a remote model, and the local model is a subset of the remote model.
27 . The computing device of claim 26 , wherein n-grams with usage counts under a threshold are included in the remote model but not in the local model.
28 . The computing device of claim 21 , further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising merging results from the remote prediction engine and the local prediction engine and presenting the merged results as a second prediction.
29 . The computing device of claim 21 , wherein the time interval is in the range 80 ms to 1000 ms.
30 . The computing device of claim 21 , wherein the time interval is dynamically adjusted based on a local condition.
31 . The computing device of claim 30 , wherein the local condition comprises a parameter of a connection over the communications network.
32 . The computing device of claim 21 , further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising presenting a second final predicted term formed from the remote predicted term if:
the final predicted term was formed from the local predicted term and the final predicted term has already been presented, and a user input to present the final predicted term formed from the remote predicted term has been received.
33 . The computing device of claim 21 , further comprising computer-readable instructions that, when executed by the processor, configure the computing device to perform operations comprising presenting a second final predicted term formed from the remote predicted term when it arrives if it is received after the time interval and after the local predicted term.
34 . A method performed by a computing device, the method comprising:
receiving, by the computing device, text input; sending, over a communications network, data indicative of the text input to a remote prediction engine having been trained to predict terms based on text data; providing, by the computing device, data indicative of the text to a local prediction engine executing at the computing device; determining whether a remote predicted tem is received from the remote prediction engine within a time interval; in response to determining that the remote predicted term was not received within the time interval, determining whether a local predicted term was received from the local prediction engine within the time interval; in response to determining that the remote and local predicted terms were not received within the time interval, forming a final predicted term based on a first received predicted term of the remote predicted term and the local predicted term; and presenting the final predicted term on the computing device.
35 . The method of claim 34 , wherein the remote prediction engine is more accurate than the local prediction engine.
36 . The method of claim 34 , wherein the final predicted term is based on the local predicted term, and further comprising, after receiving the remote predicted term, determining whether a user is moving a digit towards the user interface, and in response to determining that the user is not moving the digit towards the user interface, replacing the final predicted term with a second final predicted term formed from the remote predicted term.
37 . The method of claim 34 , comprising selecting the remote prediction if the remote prediction is received during the time interval.
38 . The method of claim 34 , wherein the local prediction engine is related to the remote prediction engine.
39 . The method of claim 34 , wherein the local prediction engine comprises a local model and the remote prediction engine comprises a remote model, and the local model is a subset of the remote model.
40 . At least one non-transitory computer readable medium including instructions that when executed by at least one processor, cause the at least one processor to:
receive text input; send, over a communications network, data indicative of the text input to a remote prediction engine having been trained to predict terms and emojis based on text; provide the received text input to a local prediction engine executing at the computing device; determine whether a remote predicted term is received from the remote prediction engine within a time interval; in response to determining that the remote predicted term was not received within the time interval, determine whether a local predicted term was received from the local prediction engine within the time interval; and in response to determining that the remote and local predicted terms were not received within the time interval, present, on a user interface of the computing device, a final predicted term based on a first received predicted term of the remote and local predicted terms.Join the waitlist — get patent alerts
Track US2022060537A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.