Performing a safety analysis for user-defined voice commands to ensure that the voice commands do not cause speech recognition ambiguities
First Claim
1. A method for use in a voice-enabled system that permits a user to define one or more new voice commands, the method comprising acts of:
- identifying a user attempt to define a new voice command that is not yet defined in the voice-enabled system, the user attempt comprising a proposed voice command to be associated with a voice-enabled capability in the voice-enabled system, wherein the user attempt fully specifies the proposed voice command;
in response to the user providing the proposed voice command as part of the user attempt to define a new voice command, performing, by at least one processor, a safety analysis on the proposed voice command to determine a likelihood that the proposed voice command would be confused with at least one existing voice command that the voice-enabled system was programmed to recognize prior to the act of identifying a user attempt to define a new voice command, wherein the safety analysis is performed after the act of identifying the user attempt; and
parsing the proposed voice command into a plurality of component parts, wherein the safety analysis is performed against at least one component part; and
when a high likelihood of confusion is determined by the safety analysis, presenting a notification that the proposed voice command is subject to potential confusion.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention discloses a solution for assuring user-defined voice commands are unambiguous. The solution can include a step of identifying a user attempt to enter a user-defined voice command into a voice-enabled system. A safety analysis can be performed on the user-defined voice command to determine a likelihood that the user-defined voice command will be confused with preexisting voice commands recognized by the voice-enabled system. When a high likelihood of confusion is determined by the safety analysis, a notification can be presented that the user-defined voice command is subject to confusion. A user can then define a different voice command or can choose to continue to use the potentially confusing command, possibly subject to a system imposed confusion mitigating condition or action.
-
Citations
20 Claims
-
1. A method for use in a voice-enabled system that permits a user to define one or more new voice commands, the method comprising acts of:
-
identifying a user attempt to define a new voice command that is not yet defined in the voice-enabled system, the user attempt comprising a proposed voice command to be associated with a voice-enabled capability in the voice-enabled system, wherein the user attempt fully specifies the proposed voice command; in response to the user providing the proposed voice command as part of the user attempt to define a new voice command, performing, by at least one processor, a safety analysis on the proposed voice command to determine a likelihood that the proposed voice command would be confused with at least one existing voice command that the voice-enabled system was programmed to recognize prior to the act of identifying a user attempt to define a new voice command, wherein the safety analysis is performed after the act of identifying the user attempt; and parsing the proposed voice command into a plurality of component parts, wherein the safety analysis is performed against at least one component part; and when a high likelihood of confusion is determined by the safety analysis, presenting a notification that the proposed voice command is subject to potential confusion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of adding user-defined abstractions to a voice-enabled system, the method comprising acts of:
-
detecting an attempt to record a new abstraction; receiving a proposed voice command for use when invoking the new abstraction, the proposed voice command being proposed as part of the attempt to record the new abstraction, wherein receiving the proposed voice command comprises receiving the entire proposed voice command; in response to the act of receiving the proposed voice command for use when invoking the new abstraction, comparing the proposed voice command against a set of existing voice commands that the voice-enabled system was programmed to recognize prior to the act of receiving the proposed voice command to determine whether the proposed voice command is likely to be confused with at least one of the existing voice commands, wherein the act of comparing the proposed voice command against the set of existing commands is performed after the act of receiving the proposed voice command; parsing the proposed voice command into a plurality of component parts, wherein each the act of comparing the proposed voice command against the existing voice commands comprises comparing at least one component part against one or more of the existing voice commands; when it is determined that the proposed voice command is likely to be confused with at least one of the existing voice commands, performing at least one programmatic action designed to reduce a likelihood of an occurrence of a potential recognition ambiguity between the proposed voice command and the at least one of the existing voice commands; recording a plurality of actions associated with the new abstraction; and associating the new abstraction with the proposed voice command to enable a user to subsequently invoke an execution of the plurality of actions by speaking the proposed voice command. - View Dependent Claims (12, 13)
-
-
14. A voice-enabled system comprising:
-
at least one processor programmed to implement; a speech recognition engine configured to accept speech, to compare the speech with voice commands in a grammar, and to automatically execute programmatic actions associated with at least one voice command responsive to a match between the speech and the at least one voice command; and a safety analysis engine configured to, in response to and after the at least one processor receiving a proposed voice command for use in invoking at least one action in the voice-enabled system, the proposed voice command being received in its entirety and being not yet defined in the voice-enabled system as a command for invoking the at least one action; parse the proposed voice command into a plurality of component parts; determine, based at least in part on a comparison of at least one component part of the plurality of component parts against one or more existing voice commands in the grammar, a likelihood that the proposed voice command would be confused with at least one existing voice command in the grammar so as to determine whether the proposed voice command is permitted to be added to the grammar. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification