IP Library Granted Patent US 11,899,928
Granted Patent B2
US 11,899,928 · App. 17/739,562 · Granted Feb 13, 2024

Virtual keyboard based on adaptive language model

Inventors: Mark A. Richardson (Seattle, WA); Robert Y. Wang (Kirkland, WA)
Assignee: Meta Platforms Technologies, LLC
G06F3/04886G06F3/013G06F3/04883
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,899,928
App. No.
17/739,562
Granted
Feb 13, 2024
Kind
B2
Abstract

Disclosed herein are related to systems and methods for providing inputs through a virtual keyboard with an adaptive language model. In one approach, one or more processors determine whether a user intended to provide semantically meaningful characters or not, when providing a hand motion or a hand pose with respect to a virtual keyboard. The virtual keyboard may be located on a surface without physical keys. In one approach, the one or more processors determine an input to the virtual keyboard based on the hand motion or the hand pose. In one approach, the one or more processors determine weight of a language model according to the determined user intention. In one approach, the one or more processors modify the detected input according to the determined weight of the language model.

Claims (62)

1. A method comprising:

determining, by one or more processors, a level of focus of a user when providing a hand motion with respect to a virtual keyboard;

detecting, by the one or more processors via an image sensor, an input to the virtual keyboard based on the hand motion;

determining, by the one or more processors, weight of a language model according to the determined level of focus of the user;

determining, by the one or more processors through the language model, a semantically suitable replacement corresponding to the determined weight; and

modifying, by the one or more processors, the detected input according to the determined semantically suitable replacement corresponding to the determined weight.

2. The method of claim 1 , wherein determining the level of focus of the user when providing the hand motion includes:

determining, by the one or more processors, an orientation of a head of the user.

3. The method of claim 2 , wherein determining the weight of the language model includes:

determining, by the one or more processors, the weight to be a first value, if the head is oriented to face towards the virtual keyboard, and

determining, by the one or more processors, the weight to be a second value, if the head is oriented to face away from the virtual keyboard.

4. The method of claim 1 , wherein determining the level of focus of the user when providing the hand motion includes:

determining, by the one or more processors, a gaze direction of the user.

5. The method of claim 4 , wherein determining the weight of the language model includes:

determining, by the one or more processors, the weight to be a first value, if the gaze direction of the user is directed to the virtual keyboard, and

determining, by the one or more processors, the weight to be a second value, if the gaze direction of the user is away from the virtual keyboard.

6. The method of claim 1 , wherein determining the level of focus of the user when providing the hand motion includes:

determining, by the one or more processors, a speed of the hand motion.

7. The method of claim 6 , wherein determining the weight of the language model includes:

determining, by the one or more processors, the weight to be a first value, if the speed of the hand motion is less than a predetermined threshold, and

determining, by the one or more processors, the weight to be a second value, if the speed of the hand motion is higher than the predetermined threshold.

8. The method of claim 1 , further comprising:

determining, by the one or more processors, a type of content corresponding to the input,

wherein the weight of the language model is determined according to the determined type of content.

9. The method of claim 1 , wherein modifying, by the one or more processors, the detected input includes:

determining, by the one or more processors, a distribution of first characters in the detected input during a time period,

predicting, by the one or more processors via the language model according to the determined weight and the distribution of the first characters, semantically meaningful characters, one or more characters in the semantically meaningful characters different from one or more corresponding characters in the first characters, the semantically suitable replacement including the one or more semantically meaningful characters, and

replacing the one or more corresponding characters with the one or more characters in the semantically meaningful characters.

10. A device comprising:

at least one processor configured to:

determine a level of focus of a user when providing a hand motion with respect to a virtual keyboard,

detect, via an image sensor, an input to the virtual keyboard based on the hand motion,

determine weight of a language model according to the determined level of focus of the user,

determine, through the language model, a semantically suitable replacement corresponding to the determined weight, and

modify the detected input according to the determined semantically suitable replacement corresponding to the determined weight.

11. The device of claim 10 , wherein the at least one processor is configured to determine the level of focus of the user when providing the hand motion by determining an orientation of a head of the user.

12. The device of claim 10 , wherein the at least one processor is configured to determine the level of focus of the user when providing the hand motion by determining a gaze direction of the user.

13. The device of claim 10 , wherein the at least one processor is configured to determine the level of focus of the user when providing the hand motion by determining a speed of the hand motion.

14. The device of claim 10 , wherein the at least one processor is configured to determine a type of content corresponding to the input, wherein the at least one processor is configured to determine the weight of the language model according to the determined type of content.

15. The device of claim 10 , wherein the at least one processor is configured to modify the detected input by:

determining a distribution of first characters in the detected input during a time period,

predicting, via the language model according to the determined weight and the distribution of the first characters, semantically meaningful characters, one or more characters in the semantically meaningful characters different from one or more corresponding characters in the first characters, the semantically suitable replacement including the one or more semantically meaningful characters, and

replacing the one or more corresponding characters with the one or more characters in the semantically meaningful characters.

16. A device comprising:

at least one processor configured to:

detect, via one or more sensors, an input to a virtual keyboard based on a hand motion with respect to the virtual keyboard,

detect, via the one or more sensors, a speed of the hand motion,

determine weight of a language model according to the speed of the hand motion, and

modify the detected input according to the determined weight of the language model.

17. The device of claim 16 , wherein the at least one processor is configured to:

determine a level of focus of a user, according to the speed of the hand motion,

wherein the at least one processor is configured to determine the weight of the language model, according to the determined level of focus of the user.

18. The device of claim 16 , wherein the at least one processor is configured to determine the weight of the language model by:

determining the weight to be a first value, if the speed of the hand motion is less than a predetermined threshold, and

determining the weight to be a second value, if the speed of the hand motion is higher than the predetermined threshold.

19. The device of claim 16 , wherein the at least processor is configured to modify the detected input by:

determining, through the language model, a semantically suitable replacement corresponding to the determined weight, and

modifying the detected input according to the determined semantically suitable replacement corresponding to the determined weight.

20. The device of claim 19 , wherein the at least one processor is configured to modify the detected input according to the determined weight of the language model by:

determining a distribution of first characters in the detected input during a time period,

predicting, via the language model according to the determined weight and the distribution of the first characters, semantically meaningful characters, one or more characters in the semantically meaningful characters different from one or more corresponding characters in the first characters, the semantically suitable replacement including the one or more semantically meaningful characters, and

replacing the one or more corresponding characters with the one or more characters in the semantically meaningful characters.

Assignments (2)
CHANGE OF NAME Recorded Jul 22, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060816/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: RICHARDSON, MARK A.; WANG, ROBERT Y.
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 060188/0737 →
Continuity (2)
Continuation 16789079 · Feb 12, 2020
Related Publication 20220261150A1 · Aug 18, 2022