Voice command selection based on context information
A user equipment (UE), a server, or a combination of a UE and server configured to select a voice command or a wake word decision based on voice input received for the UE, on context information associated with the UE, and on a user profile associating voice commands or wake word decisions with context constraint weights is described herein. The UE, server, or combination also receives the voice input, determines context information related to an activity of the UE, a characteristic of the UE, a location of the UE, or a connection of the UE, and either executes the selected voice command or acts on the wake word decision. As server of the wireless network, connected to the UE, may also be configured to generate default user profiles and provide the UE with one of the default user profiles.
1 . A computer-implemented method comprising:
receiving voice input associated with a user equipment (UE);
determining context information for the UE, wherein the context information includes at least one of environmental data from at least one of a microphone of the UE or a camera of the UE or UE motion data;
selecting a voice command or a wake word decision based on the voice input, the context information, and a user profile associating voice commands or wake word decisions with context constraint weights; and
executing the voice command or acting on the wake word decision,
wherein the user profile is a best matching default user profile determined from a plurality of default user profiles based on identities of members of a subscription plan associated with the UE.
2 . The computer-implemented method of claim 1 , wherein the selecting includes determining the context constraint weights based on the context information.
3 . The computer-implemented method of claim 1 , further comprising receiving the best matching default user profile from a server of a wireless network, the best matching default user profile providing initial settings for the context constraint weights.
4 . The computer-implemented method of claim 3 , further comprising providing input to the server and receiving the best matching default user profile based at least in part on the input.
5 . The computer-implemented method of claim 1 , wherein the context information further includes at least one of a UE location, identities of applications currently active on the UE, network connections between the UE and at least one of the Internet or social media, a user calendar, or identities of communication partners of the UE.
6 . The computer-implemented method of claim 1 , wherein the context information relates to a predicted activity, a predicted characteristic, a predicted presence at a location, or a predicted connection that the context information suggests will occur or will not occur.
7 . The computer-implemented method of claim 1 , wherein the receiving, the determining, and the selecting are performed by the UE, by a server or access point of a wireless network, or by a combination of the UE and the server or access point.
8 . The computer-implemented method of claim 1 , further comprising updating the context constraint weights based on whether UE activity after executing the voice command or acting on the wake word decision matches a correct selection result workflow or an incorrect selection result workflow for the voice command or the wake word decision.
9 . The computer-implemented method of claim 8 , wherein the user profile is created by a machine learning module of the UE, the machine learning module performing the updating.
10 . A user equipment (UE) comprising:
a processor;
a voice command module configured to be operated by the processor to interpret voice input from a user of the UE as a voice command to the UE or as a wake word;
a user profile associated with the voice command module and including context constraint weights that effect selection of the voice command or a wake word decision; and
a plurality of programming instructions configured to be operated by the processor to perform operations including:
receiving voice input;
determining context information for the UE, wherein the context information includes at least one of environmental data from at least one of a microphone of the UE or a camera of the UE or UE motion data;
selecting the voice command or the wake word decision based on the voice input, the context information, and the user profile associating voice commands or wake word decisions with the context constraint weights; and
executing the voice command or acting on the wake word decision,
wherein the user profile is a best matching default user profile determined from a plurality of default user profiles based on identities of members of a subscription plan associated with the UE.
11 . The UE of claim 10 , wherein the selecting includes determining the context constraint weights based on the context information.
12 . The UE of claim 10 , wherein the operations further include updating the context constraint weights based on whether UE activity after executing the voice command or acting on the wake word decision matches a correct selection result workflow or an incorrect selection result workflow for the voice command or the wake word decision.
13 . The UE of claim 10 , wherein the best matching default user profile provides initial settings for the context constraint weights.
14 . The UE of claim 13 , wherein the operations further include providing input to a server and receiving the best matching default user profile based at least in part on the input.
15 . The UE of claim 10 , wherein the context information further includes at least one of a UE location, identities of applications currently active on the UE, network connections between the UE and at least one of the Internet or social media, a user calendar, or identities of communication partners of the UE.
16 . A non-transitory computer-readable medium having a plurality of programming instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving activity information and location information from multiple user equipments (UEs);
generating a plurality of default user profiles for voice command modules of the multiple UEs based on the activity information and the location information;
receiving input from a UE, wherein the input includes at least one of UE motion data of the UE or environmental data from at least one of a microphone of the UE or a camera of the UE;
determining a best matching default user profile from the plurality of default user profiles based on the input, wherein determining the best matching default user profile is based on identities of members of a subscription plan associated with the UE; and
providing the determined best matching default user profile to the UE.
17 . The non-transitory computer-readable medium of claim 16 , wherein the operations include generating the plurality of default user profiles based, initially, on existing user profiles.
18 . The non-transitory computer-readable medium of claim 17 , wherein generating the plurality of default user profiles based, initially, on existing user profiles includes aggregating the existing user profiles into groups.
19 . The non-transitory computer-readable medium of claim 16 , wherein the activity information or location information includes at least one of a location of one of the UEs, identities of applications currently active on one of the UEs, network connections between one of the UEs and at least one of the Internet or social media, UE motion data of one of the UEs, environmental data from at least one of a microphone of one of the UEs or a camera of one of the UEs, a user calendar of one of the UEs, or identities of communication partners of one of the UEs.