Source: https://patents.google.com/patent/US8942985B2/en
Timestamp: 2019-04-18 11:08:19
Document Index: 277530149

Matched Legal Cases: ['art 700', 'art 700', 'art 700', 'Application No. 200510116339', 'Application No. 2005', 'Application No. 2345', 'Application No. 05109794']

US8942985B2 - Centralized method and system for clarifying voice commands - Google Patents
US8942985B2
US8942985B2 US10/990,345 US99034504A US8942985B2 US 8942985 B2 US8942985 B2 US 8942985B2 US 99034504 A US99034504 A US 99034504A US 8942985 B2 US8942985 B2 US 8942985B2
US10/990,345
US20060106614A1 (en
2004-11-16 Priority to US10/990,345 priority Critical patent/US8942985B2/en
2005-01-19 Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHAMBERS, ROBERT L., MOWATT, DAVID
2006-05-18 Publication of US20060106614A1 publication Critical patent/US20060106614A1/en
2011-02-25 Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ANDREW, FELIX G.T.I., CHAMBERS, ROBERT L., MOWATT, DAVID
2015-01-27 Publication of US8942985B2 publication Critical patent/US8942985B2/en
A method and system for facilitating centralized interaction with a user includes providing a recognized voice command to a plurality of application modules. A plurality of interpretations of the voice command are generated by at least one of the plurality of application modules. A centralized interface module visually renders the plurality of interpretations of the voice command on a centralized display. An indication of selection of an interpretation is received from the user.
The present invention generally pertains to user interaction with a computing device. More specifically, the present invention pertains to user interactions with a centralized interface in the context of speech recognition.
Much attention, lately, has been directed towards the improvement of speech recognition technology. One such challenge in speech recognition technology lies in user interaction with a computing device using voice commands. Frequently, a voice command needs further clarification before the computing device can execute such a command.
A computing device can often interpret a voice command in multiple ways. In one aspect, a computing device may not understand which application the voice command is directed towards. For example, a voice command can include terms that are used across a plurality of application modules. In another aspect, an application may not understand what the user would like to execute because the voice command contains ambiguous information. For example, a voice command can include “play the Beatles” when there are multiple Beatles albums that the application could play. In still another example, the voice command can contain a misrecognition error. For example, the user may recite the command “insert ice cream” while the speech recognition system recognizes the command as “insert I scream”.
Making guesses at what the user meant or taking action without consulting the user can lead to frustration for a user. There is a need to provide the user with the tools to control the clarification of voice commands and clarification of misrecognition errors without causing undue frustration and sacrificing speech recognition efficiency.
A method and system is provided for facilitating centralized interaction with a user. The method and system includes providing a recognized voice command to a plurality of application modules. A plurality of interpretations of the voice command are generated by at least one of the plurality of application modules. A centralized interface module visually renders the plurality of interpretations of the voice command on a centralized display. An indication of selection of an interpretation is received from the user.
A centralized interface module that visually renders a list of interpretations to a user when there is otherwise ambiguity in a voice command avoids the arbitrary guessing of a command with which the user is referencing. In addition, a centralized display panel provided by a central interface module can allow generic user interaction.
FIG. 3 illustrates a block diagram of a system for facilitating centralized user interaction.
FIG. 4 illustrates an example screenshot of a centralized panel.
FIG. 5 illustrates an example screenshot of a centralized panel.
FIG. 6 illustrates an example screenshot of a display of a computing device.
FIG. 7 illustrates a flowchart of a method for facilitating centralized user interaction.
FIG. 8 illustrates an example screenshot of a centralized panel.
FIG. 9 illustrates an example screenshot of a centralized panel.
FIG. 10 illustrates an example screenshot of a centralized panel.
FIG. 11 is a block diagram illustrating a method for manipulating characters displayed on a centralized panel using a speech recognizer.
FIG. 12 illustrates an example screenshot of a centralized panel.
FIG. 13 illustrates an example screenshot of a centralized panel.
FIG. 14 illustrates an example screenshot of a centralized panel.
FIG. 15 illustrates an example screenshot of a centralized panel.
FIG. 16 illustrates an example screenshot of a centralized panel.
FIG. 17 illustrates an example screenshot of a centralized panel.
FIG. 18 illustrates an example screenshot of a centralized panel.
FIG. 19 illustrates an example screenshot of a centralized panel.
FIG. 20 illustrates an example screenshot of a centralized panel.
FIG. 21 illustrates an example screenshot of a centralized panel.
FIG. 22 illustrates an example screenshot of a centralized panel.
FIG. 23 illustrates an example screenshot of a centralized panel.
The present invention is described in the context of a computer-implemented system which uses speech recognition to recognize voice commands from a user. Before describing aspects of the present invention, however, it may be useful to describe suitable computing environments that can incorporate and benefit from these aspects.
FIG. 3 illustrates a schematic block diagram of a computer-implemented system 300 in accordance with an embodiment of the present invention. System 300 can be incorporated into any of the previously discussed computing environments and includes a microphone 302, an audio capture module 304, a speech recognizer 306, a plurality of installed application modules 310 and a centralized interface module 312. Microphone 302 is configured to receive a voice command from a user. Audio capture module 304 is configured to capture the voice command received by microphone 302 and convey the processed voice command to a speech recognizer 306.
To recognize a voice command, speech recognizer 306 accesses a grammar 308 containing a plurality of recognizable commands. A grammar generator module 309 is configured to generate grammar 308 based on input received from installed and operating application modules 310. The input received from application modules 310 populate grammar 308 and are the executable commands with which the application modules can process and execute various actions. Thus, each recognizable command located in grammar 308 corresponds to a command that executes an action in one of the plurality of application modules 310.
Grammar generator module 309 can also populate grammar 308 with alternative forms of various commands. These alternative forms of commands typically are received from application modules 310. For example, if a user desires to play the Beatles on a computing device, the user should utter “play the Beatles”. It is possible, however, that the user may instruct the computing device to “start the Beatles” instead of properly instructing the computing device to “play the Beatles”, which would accomplish the same task.
In some embodiments, grammar generator module 309 is further configured to determine which of application modules 310 are operational at any given time. For example, grammar generator module 309 can determine that five application modules are running on the operating system. The operational application modules include two instances of a web browser, an email application, a word processing application and a spreadsheet application. When grammar generator module 309 generates grammar 308, it compresses the commands such that only one set of commands for the web browsing application populate grammar 308. Grammar generator 309, however, retains the notion that there are two instances of the web browser that are operational. Therefore, grammar generator 309 realizes that ambiguity exists at the time of generating grammar 308.
In other embodiments, grammar generator 309 does not retain the notion that there are two instances of the web browser that are operational. In this embodiment, centralized interface module 312 can perform a status check on the operation system to determine if different instances of the same application are operational and, thus, ambiguous.
After speech recognizer 306 recognizes the voice command, the recognized voice command is communicated to the plurality of application modules 310. The recognized voice command can either be communicated to the plurality of application modules via centralized interface module 312 or by speech recognizer 306. Regardless of the path of communication, the plurality of application modules 310 process the recognized voice command.
In accordance with one embodiment of the present invention, some or all of the application modules 310 determine that they can execute the recognized voice command. For example, a user utters the command “start settings”. However, many of the application modules 310 that are installed in system 300 could have application aspects that include the term “settings”. Therefore the recognized command 310 is ambiguous. It is unclear as to which application the user is referring.
In this embodiment, centralized interface module 312 gathers the set of possible interpretations of the recognized voice command from the plurality of application modules 310. Centralized interface module 312 then visually renders the set of interpretations in a list. The list of interpretations are viewed by the user on a centralized panel of display 314. An example screenshot 400 of a centralized panel visually rendering a list of possible interpretations 402 is illustrated in FIG. 4.
In accordance with another embodiment of the present invention, only one of the plurality of application modules 310 determines that it can execute the recognized voice command. For example, a user utters the command “play the Indigo Girls”. Only one application module 310, such as a media application, has a menu item that includes “play the Indigo Girls”. However, upon the media application attempting to execute the command, it discovers that there are four possible Indigo Girls albums that can be played. Therefore, the recognized command is ambiguous. It is unclear to the media application what album the user meant to play.
In this embodiment, centralized interface module 312 gathers the set of possible interpretations of the recognized voice command from the application module 310. Centralized interface module 312 visually renders the set of interpretations in a list. The list of interpretations are viewed by the user in a centralized panel located on display 314. Example screenshot 500 of a centralized panel visually renders a list of possible interpretations with reference to the described example is illustrated in FIG. 5.
In accordance with yet another embodiment of the present invention and as previously discussed, there can be ambiguity in what instance or application module of a particular application the user is referencing. For example, a user is using a spreadsheet application and utters the command “switch to the Internet browser”. However, besides system 300 running one instance of the spreadsheet application, system 300 is also running two instances of the Internet browser application. Therefore, the recognized command is ambiguous. It is unclear which instance of the Internet browser the user is referring.
In this embodiment, speech recognizer 306 can supply centralized interface module 312 with a set of possible interpretations of the voice command based on grammar generator 309 retaining the notion that there are more than one instance of an operational web browser. In the alternative, centralized interface module 312, after performing a status check of the operating system, can supply a set of possible interpretations of the voice command. Centralized interface module 312 visually renders the set of interpretations in a list. The list of interpretations are viewed by the user in a centralized panel located on display 314.
Each interpretation in the list of interpretations 402 and 502 are annotated with an identifier (i.e. “1”, “2”, “3”, etc.). In the FIG. 4 and FIG. 5 embodiment, identifiers 404 and 504 are numeric symbols, although any form of symbol can be used. Upon viewing the list of interpretations 402 and 502, the user can determine which of the interpretations is the interpretation that corresponds to what the user meant. In one embodiment, the user can select the correct command by speaking the corresponding numeric symbol. In another embodiment, the user can select the correct command by using an input device 316 (illustrated in FIG. 3) to select desired interpretations. Input device 316 can be, but is not limited to, a selection apparatus, such as a mouse. Input device 316 can also be a keypad. Regardless of how the correct interpretation is selected, selection of an interpretation induces system 300 to execute the corresponding command by forwarding the command to the corresponding application.
In another embodiment, the user can indicate, in reference to FIG. 5, that playing all of the Indigo Girls albums is desired. Communication line 506 indicates that the user can either select an interpretation from the plurality of interpretations 502 or the user can utter “Play all” to play all of the albums. Regardless of what the user desired, selection of the correct interpretation induces system 300 to take action by providing the command information to the corresponding application.
Using a centralized interface module that visually renders a list of interpretations to a user when there is otherwise ambiguity in a voice command provides a way for system 300 to avoid arbitrarily guessing an appropriate command. A centralized interface module also provides a simple centralized panel for graphically representing possible user interactions, provides a highly efficient means of determining what the user meant and provides a consistent interface that is located outside of the plurality of application modules. In other words, each of the screenshots of a centralized panel illustrated in FIGS. 4, 5 and 8-10 (discussed below), look and operate similarly and can, therefore, be displayed in a consistent location. For example, FIG. 6 illustrates a screenshot 600 of a media player that is operating on an operating system. The user asks to “play Indigo Girls”. As discussed above, there is more than one album of Indigo Girls that could be played. The centralized interface or panel 500 appears in the lower right hand corner of the screen and prompts the user to select what the user meant. In this manner, the user is less confused as to how to operate with the display even though the centralized panel can be used with one or more application modules 310.
FIG. 7 illustrates a flowchart 700 for providing a computer-implemented method of facilitating centralized interaction with a user. Flowchart 700 includes step 702 that entails receiving a voice command from a user. After receiving the voice command, flowchart 700 proceeds to step 704 to process the voice command such that it is in appropriate condition to be recognized by a speech recognizer. At step 706, a speech recognizer, such as speech recognizer 306 of FIG. 3 recognizes the voice command. The speech recognizer compares the voice command to a plurality of commands stored in an index.
At step 708, the recognized command is conveyed to a plurality of application modules. At step 710, a plurality of interpretations are received upon at least one of the plurality of application modules determining that the recognized command is ambiguous. The plurality of interpretations are visually rendered to the user at step 712. For example, the plurality of interpretations can be listed with a corresponding identifier on a centralized panel of a display. An indication of the user selection of one of the plurality of interpretations is received at step 714. For example, by audibly indicating the identifier, the desired interpretation can be identified as the correct command.
In addition to clarifying voice commands by interacting with centralized interface module 312 in FIG. 3, a user can also interact with centralized interface module 312 to correct recognition errors while the user is dictating to an application module, such as a word processing application. To correct recognition errors, the user can highlight a term that has been transcribed incorrectly by using an input device. After highlighting, the application module transmits a plurality of alternatives to centralized interface module 312. The alternatives contain phrases that sound similar to the voice utterance. Centralized interface module 312 receives and visually renders the alternative phrases on the centralized panel of display 314. Each of the alternative phrases includes a corresponding identifier. Centralized interface module 312 receives an indication of selection from the user via speech or input device 316 in the form of an identifier and conveys the selection to the application module.
In some instances, the centralized interface module 312 fails to visually render an alternative that is the correct alternative. Failure to render a correct alternative can occur if either speech recognizer 306 made a misrecognition error or if the alternative is not recognizable because the user has never used the utterance with system 300. With these types of occurrences, centralized interface module 312 is configured to present further alternatives in addition to the alternatives previously presented. One such alternative includes presenting an option to respeak the original utterance. Another such further alternative includes presenting an option to allow the user to create a new alternative that is otherwise unfamiliar to system 300.
For example, FIG. 8 illustrates a screenshot 800 of a centralized panel that is visually rendering a list of alternatives in accordance with an embodiment of the present invention. The list of alternatives include a list of alternative phrases 804 generated by a word processing application and a list of further alternatives 806 generated by centralized interface module 312. Each of the further alternatives 806 includes a corresponding identifier such that the user can make an indication of selection in the form of an identifier.
If the user selects identifier “9”, then the centralized interface module 312 visually renders a screenshot 900 in a centralized panel as illustrated in FIG. 9. The communication line 902 of screenshot 900 prompts the user to respeak the utterance. Upon respeaking the utterance, centralized interface module 312 will visually render a refreshed list of alternatives. Selecting identifier “9” is useful if system 300 has made a recognition error. If the user selects the identifier “10” in FIG. 8, then centralized interface module 312 visually renders screenshot 1000 in a centralized panel as illustrated in FIG. 10. Communication line 1002 of screenshot 1000 prompts the user to spell the utterance aloud. As the user spells the utterance, the letters will appear in block 1004. In addition, it is possible that a user could also type the correct spelling of the utterance in block 1004 using an input device.
In another embodiment of the present invention, FIG. 11 is a block diagram illustrating a method 1100 for manipulating characters displayed on a centralized panel, such as screenshot 1000 of a centralized panel illustrated in FIG. 10, after the user audibly spells a new alternative. For example, in FIG. 12, the user spells the following phrase, “intent”. However, the speech recognizer 306 (FIG. 3) has “heard” the series of entered text 1204 as “i”, “n”, “v”, “e”, “n”, “t” and thus, displays the word “invent” on panel 1200. The word “invent” needs to be corrected to be “intent.”
Referring to FIG. 13, in order to correct this, the user invokes a spelling command to vocally communicate a command to modify “invent”. Upon the system 300 receiving the spelling command, the selected word is identified and an appended word 1302 is created by appending at least one space 1304 to the selected word, wherein the appended word 1302 includes at least one character 1306 to be modified, as shown in operational block 1102 (FIG. 11). Each of the characters 1308 in the appended word are then assigned and correlated with a unique numerical value 1310, as shown in operational block 1104. The appended word 1302 is then displayed via screenshot 1300 of a centralized panel to visually communicate the correlation between each of the characters 1308 in the appended word 1302 and their assigned unique numerical value 1310. This correlation may be visually communicated by drawing a box 1312 around the appended word 1302 on screenshot 1300 and displaying each of the unique numerical values 1310 adjacent their assigned character 1308 in the appended word 1302. As such, each of the characters 1308 is “assigned” a unique numerical value 1310 to which each character 1308 is correlated. For example, a user who wants to change the word “invent” 1314 to “intent”, would vocally enter a command to speech recognizer 306. This would cause a box 1312 to be displayed on screenshot 1300 around the word “invent” 1314. This also causes each letter in the word “invent” 1314 to be assigned a unique numerical value 1310 which is displayed adjacent its corresponding character 1308, both of which is shown in FIG. 13. This will allow the user to change and/or correct any letter in the word “invent.”
At this point, a selection command and a modification command may be received by system 300, wherein the selection command is the unique numerical value 1310 corresponding to a selected character, as shown in operational block 1106. This indicates to system 300 which character in the appended word 1302 is to be changed. Once system 300 receives the modification command a modified word is generated by modifying the selected character responsive to the modification command, as shown in operational block 1108. It should be appreciated that the user may enter in a plurality of modification commands, such as “delete”, “insert”, or the letter/character to be added, wherein each of these situations are discussed below.
For example, referring to FIG. 14, consider the case above where the user would like to delete the letter “v” 1402 in the appended word “invent_” 1404 displayed on a screenshot 1400 of a centralized panel. As discussed herein, the user communicates the unique numerical value corresponding to the character to be change to system 300. It should be appreciated that although these unique numerical values 1408 start with the number 1 and increase by 1, any unique numerical values 1408 and increments may be assigned. As can been seen, the letter “v” 1402 in the appended word “invent_” 1404 is assigned a unique numerical value 1408 of “3”. As such, the user would vocally communicate the number “3” to system 300. This selects the letter corresponding to and correlated with the number “3” as indicated by the caret 1410, which in this case is the letter “v” 1402 in the appended word “invent” 1404. The user may then enter the desired modification command, such as “delete” which will cause the letter “v” 1402 to be deleted from the appended word “invent” 1404, leaving the resultant “inent” 1412, as shown in screenshot 1500 of a centralized panel of FIG. 15. Thus, the modification command “delete” will remove the selected letter and its corresponding space from the appended word and the selection caret 1410 will select the next subsequent character, i.e. “e.”
On the other hand, referring to FIG. 16, consider the case where the user wants to insert a character, such as a letter or space, between the letter “n” 1604 and the letter “v” 1606 in the word “invent” displayed on screenshot 1600 in a centralized panel. In essence, the user wants to insert a character into the spot corresponding to the unique numerical value “3”. As discussed herein, the user may vocally communicate a command. This causes a space to be appended to the word “invent” to create an appended word “invent_” 1608 and a box 1610 to be displayed around the appended word “invent_” 1608 and unique numerical values 1612 to be assigned and displayed adjacent each of the characters in the appended word “invent_” 1608. As can be seen, the letter “v” 1606 in the appended word “invent_” 1608 is assigned a unique numerical value 1612 of “3”. As such, the user can vocally communicate the number “3” to system 300 to “select” the letter corresponding to and correlated with the number “3” as indicated by the caret 1614, which in this case is the letter “v” 1606 in the appended word “invent_” 1608. The user may then enter in a modification command, causing system 300 to respond in an appropriate manner. For example if the user communicates the modification command “insert” and then communicates the word “space”, then a space will be inserted between the letter “n” 1604 and the letter “v” 1606, effectively changing the appended word “invent_” 1608 to “in_vent_” 1616, as shown in screenshot 1700 in a centralized panel illustrated in FIG. 17. In this case the caret 1614 would remain in place to indicate that the space correlated with the unique numerical value “3” has been selected. However, if the user communicates the command “insert” and then communicates the letter “p”, then the letter “p” will be inserted between the letter “n” 1604 and the letter “v” 1606, effectively changing the appended word “invent_” to “inpvent_” 1618, as shown in screenshot 1800 of a centralized panel illustrated in FIG. 18, and the selection caret 1614 will shift to the following character to indicate that the following character (i.e. the character corresponding to the unique numerical value “4”) has been selected.
Similarly, referring to FIG. 19, consider the case where the user simply wants to change a letter in the word “invent” displayed on screenshot 1900 of a centralized panel. As discussed herein, the user may vocally communicate a command. This causes a space to be appended to the word “invent” to create an appended word “invent_” 1902 and a box 1904 to be displayed around the appended word “invent_” 1902 and unique numerical values 1906 to be assigned and displayed adjacent each of the characters 1908 in the appended word “invent_” 1902. As can been seen, the letter “v” 1912 in the appended word “invent_” 1902 is assigned a unique numerical value 1906 of “3.” As such, the user can vocally communicate the number “3” to system 300. This causes the letter corresponding to and correlated with the number “3” to be selected as indicated by the caret 1910, which in this case is the letter “v” 1912 in the appended word “invent_” 1902. The user may then enter in a modification command (in this case the command is simply a letter) causing system 300 to respond in an appropriate manner. For example if the user communicates the modification command “t” after the number “3”, then the letter “v” 1912 will be replaced with the letter “t”, effectively changing the appended word “invent_” 1902 to the word “intent” 1914, as shown in screenshot 2000 of a centralized panel illustrated in FIG. 20. At this point the selection caret 1910 will shift to the following character to indicate that the following character (i.e. the character corresponding to the unique numerical value “4”) has been selected.
It should be appreciated that once a user enters the unique numerical value corresponding to the letter to be changed, a menu of suggested modification commands may be displayed, such as a dropdown menu, where each suggested action would be assigned is own unique numerical value. For example, referring to FIG. 21, consider the case where the user wants to change a letter in the word “invent” displayed on screenshot 2100 of a centralized panel. The user vocally communicates a command. This causes a space to be appended to the selected word “invent” to create an appended word “invent_” 2102 and a box 2104 to be displayed around the appended word “invent_” 2102 and unique numerical values 2106 to be displayed adjacent each of the letters in the appended word “invent_” 2102. As can been seen, the letter “v” 2108 in the appended word “invent_” 2102 is assigned a unique numerical value 2106 of “3.” As such, the user would vocally communicate the number “3” to system 300 to “select” the character corresponding to and correlated with the unique numerical value “3” as indicated by the caret 2110, which in this case is the letter “v” 2108 in the appended word “invent_” 2102. Referring to FIG. 22, a menu 2112 may be displayed on centralized panel shot 2200 giving the user a number of modification command choices, each of which is assigned a second unique numerical value 2114. The user may then enter a modification command which is the second unique numerical value 2114 correlated with the desired modification command causing the speech recognition software application to respond in an appropriate manner. For example, if the user communicates the numerical value “4” after the number “3” then the letter “v” 2108 will be replaced with the letter “d” 2116, effectively changing the appended word “invent_” 2102 to the word “indent” 2118, as shown in screenshot 2300 of a centralized panel in FIG. 23. As above, the selection caret 2110 will shift to the following character to indicate that the following character (i.e. the character corresponding to the unique numerical value “4”) has been selected.
It should be appreciated that the menu 2112 of suggested modification commands may include any modification commands suitable to the desired end purpose, such as a menu of characters/words that are acoustically similar to the selected letter or word, e.g. if “v” is selected, then the menu 2112 will contain “d”, “t”, “e”, “g”, “3”. Additionally, the menu 1012 may also contain the capitalized form of the characters, e.g. “V”, as well as an auto-complete list from a spell checker. As such, for this example the menu 1012 may include the words “indent”, “intent”, “amend.” Furthermore, it should be appreciated that the present invention may include voice commands that performing multiple functions simultaneously, e.g. “Change 3 to “e” as in eagle,” or “Change t to g” may change the letter “t” to the letter “g” if there were only one letter “t” in the selected word. If there were two letters “t” in the selected word, feedback may be provided to the user to be more precise. Moreover, other commands may also be provided such as “undo” which may revert previously changed characters to their previous state, e.g. if the user says “cap that” (to capitalize the selected letter), but the input is recognized as “caret”, then the user may say “undo” to revert the letter to the previous state.
With reference to FIGS. 8-23, these figures are discussed in the context of a user dictating to a word processing application. However, those skilled in the art will recognize that the embodiments discussed in FIGS. 8-23 can also apply to a user uttering a voice command to system 300. If a voice command is ambiguous, centralized interface module 312 will visually render a list of interpretations and also visually render a list of further alternatives. The list of further alternatives include an alternative to respeak the command and an alternative to create a new command. For example, if the user would like to send email to David White, the user can audibly issue the command “insert the name David”. However, if the user has previously sent email to David Black and David Green, but never has sent email to David White, there is an ambiguity as to what David to insert. Centralized interface module 312 visually renders a list of David interpretations. The list of interpretations includes David Black and David Green. In addition, centralized interface module 312 visually renders a list of further alternatives that includes an alternative to respeak the voice command and an alternative to create a new voice command. In this example, the user would choose to create a new command because the user desires to email David White, which is unfamiliar to system 300.
In addition to clarifying commands and correcting misrecognition errors by interacting with a centralized interface module 312, a user can also interact with centralized interface module 312 to receive feedback from the plurality of application modules 310. Centralized interface module 312 is configured to visually render what system 300 is listening for. For example, the centralized panel can display that system 300 is listening for nothing because microphone 302 is turned off. In addition, centralized interface module 312 is also configured to visually render the status of system 300. For example, the centralized panel can display the last command recognized by system 300. In another embodiment, the centralized panel can display that a particular application module is opening or closing.
1. A computer-implemented method of facilitating centralized interaction with a user, the method comprising:
providing a recognized voice command to a plurality of application modules for execution;
receiving a plurality of possible interpretations of the recognized voice command when at least one of the application modules is unable to execute the recognized voice command because the execution of the recognized voice command is ambiguous in that the recognized voice command could execute more than one action in one of the plurality of application modules, the plurality of possible interpretations are generated by and received from each of the plurality of application modules that are affected;
visually rendering the plurality of possible interpretations of the voice command on a centralized display; and
receiving an indication of selection of an interpretation from the user.
2. The method of claim 1, wherein visually rendering the plurality of interpretations comprises visually rendering the plurality of interpretations in a list, each of the plurality of interpretations having a corresponding numerical identifier.
3. The method of claim 2, wherein receiving an indication of selection of an interpretation comprises receiving a speech signal indicating the numerical identifier that corresponds to the selected interpretation.
4. The method of claim 2, wherein receiving an indication of selection of an interpretation comprises receiving an input device signal indicating the numerical identifier that corresponds to the selection of interpretation.
5. The method of claim 1, further comprising visually rendering an alternative that allows the user to choose to respeak the voice command.
6. The method of claim 5, further comprising visually rendering a plurality of refreshed interpretations when the user chooses to respeak the voice command.
7. The method of claim 1, further comprising visually rendering an alternative that allows the user to choose to create a new interpretation that is not included in the plurality of interpretations.
8. The method of claim 7, wherein allowing the user to choose to create a new interpretation further comprises receiving an audible spelling of the new interpretation.
9. The method of claim 1, wherein the centralized display comprises a centralized panel that is displayed in a consistent location on a computing device display.
10. The method of claim 1, further comprising visually rendering a list of alternative spellings for a misrecognized utterance on the centralized display.
11. The method of claim 1, further comprising visually rendering feedback from the plurality of application modules on the centralized display.
12. The method of claim 1, wherein the execution of the voice command is ambiguous to the plurality of application modules if the recognized voice command could execute an action in more than one of the application modules.
13. The method of claim 1, wherein the execution of the recognized voice command is ambiguous to the plurality of application modules when more than one instance of one of the application modules is open and it is unclear which instance of the one application module the recognized voice command is referencing.
14. A computer-implemented system for facilitating centralized interaction with a user, the system comprising:
a plurality of application modules configured to receive commands for executing various actions;
an audio capture module configured to capture a voice command;
a grammar including a plurality of commands that correspond to commands that the plurality of application modules can receive for executing the various actions and a plurality of alternative forms of the plurality of commands, each of the plurality of alternative forms has the same definition as one of the plurality of commands, but is in a different form;
a speech recognizer configured to recognize the voice command by accessing the plurality of commands and the plurality of alternative forms of the plurality of commands in the grammar;
a centralized interface module configured to:
send the recognized voice command to each of the plurality of application modules for execution;
visually render a plurality of possible interpretations of the recognized voice command received from at least one of the plurality of application modules when the at least one of the plurality of application modules is unable to execute the recognized voice command because the recognized voice command is ambiguous; and
receive an indication from the user of selection of one of the plurality of possible interpretations for executing the voice command.
15. The computer-implemented system of claim 14, wherein the centralized interface module is adapted to visually render an alternative that allows the user to choose to respeak the voice command.
16. The computer-implemented system of claim 14, wherein the centralized interface module is adapted to visually render an alternative that allows the user to choose to create a voice command that is not visually rendered in the list of interpretations.
17. The computer-implemented system of claim 14, wherein the centralized interface module is adapted to visually render a list of alternative phrases for a dictated phrase that includes a recognition error.
18. A computer-implemented method of facilitating centralized interaction with a user, the method comprising:
capturing a voice command;
recognizing the voice command by accessing a grammar including a plurality of recognizable commands that correspond to commands that a plurality of application modules can receive for executing various actions;
sending the recognized voice command to the plurality of application modules for execution;
determining that there is ambiguity in which application module to execute the command or how to execute the recognized voice command in a single application module;
visually rendering a list of possible interpretations of the recognized voice command on a centralized display, the list of possible interpretations generated by and received from the at least one of the plurality of application modules; and
receiving an indication from the user of selection of one of the interpretations.
19. The method of claim 18, wherein the list of interpretations are based on a notion that more than one instance of an application is operating.
US10/990,345 2004-11-16 2004-11-16 Centralized method and system for clarifying voice commands Active 2033-09-14 US8942985B2 (en)
JP2005299982A JP4854259B2 (en) 2004-11-16 2005-10-14 Centralized method and system for clarity a voice command
CN2005101163399A CN1776583B (en) 2004-11-16 2005-10-14 Centralized method and system for clarifying voice commands
DE602005019518T DE602005019518D1 (en) 2004-11-16 2005-10-20 Centralized method and system for the clarification of voice commands
AT05109794T AT459076T (en) 2004-11-16 2005-10-20 Centralized process and system for clarification of voice command
EP05109794A EP1657709B1 (en) 2004-11-16 2005-10-20 Centralized method and system for clarifying voice commands
US14/563,255 US9972317B2 (en) 2004-11-16 2014-12-08 Centralized method and system for clarifying voice commands
US15/292,871 US20170032786A1 (en) 2004-11-16 2016-10-13 Centralized method and system for determining voice commands
US14/563,255 Continuation US9972317B2 (en) 2004-11-16 2014-12-08 Centralized method and system for clarifying voice commands
US20060106614A1 US20060106614A1 (en) 2006-05-18
US8942985B2 true US8942985B2 (en) 2015-01-27
US10/990,345 Active 2033-09-14 US8942985B2 (en) 2004-11-16 2004-11-16 Centralized method and system for clarifying voice commands
US14/563,255 Active 2025-03-17 US9972317B2 (en) 2004-11-16 2014-12-08 Centralized method and system for clarifying voice commands
US15/292,871 Pending US20170032786A1 (en) 2004-11-16 2016-10-13 Centralized method and system for determining voice commands
JP2002182688A (en) 2000-12-18 2002-06-26 Seiko Epson Corp Method and system for device control using voice recognition
WO2002075538A1 (en) 2001-03-19 2002-09-26 Mitsubishi Denki Kabushiki Kaisha Vehicle-mounted multimedia device
JP2004234273A (en) 2003-01-30 2004-08-19 Hitachi Ltd Interactive terminal device and interactive application providing method
DE19615693C1 (en) 1996-04-19 1997-12-11 Siemens Ag Apparatus and method for action determination
Chang et al., "A System for Spoken Query Information Retrieval on Mobile Devices", IEEE Transactions on Speech and Audio Processing, vol. 10, No. 8, pp. 531-541, Nov. 2002.
Chang et al., "Efficient Web Search on Mobile Devices with Multi-Modal Input and intelligent Text Summarization", Poster Proceedings, The 11th International World Wide Web Conference 2002.
Chinese Patent Application No. 200510116339.9 Notice of Second Office Action Date of Dispatch Feb. 3, 2012, 6 pages.
European Search Report dated Nov. 8, 2005 for application EP 05106352.7, filed Jul. 12, 2005.
Gu et al., "Spoken Query for Web Search and Navigation", WWW Posters 2001.
Ifikhar, et al., "Query by Image Content Using NOKIA 9210 Communicator", Proc. of the Workshop on Image Analysis for Multimedia Interactive Services, WIAMIS'01, pp. 133-137, Tampere, Finland, May 16-17, 2001.
Japanese Patent Application No. 2005-299982 Notice of Rejection mailed on May 24, 2011.
Kvale et al., "Speech Centric Multimodal Interfaces for Mobile Communication Systems", pp. 104-117, Teletronikk, Feb. 2003.
Manaris, "Universal Access to Mobile Computing Devices through Speech Input", Proceedings of 12th International Florida AI Research Symposium (FLAIRS-99), Orlando, FL, pp. 286-292, May 1999.
Myers et al, "Flexi-modal and Multi-Machine User Interfaces", IEEE Fourth International Conference on Multimodal Interfaces, Pittsburgh, PA, pp. 377-382, Oct. 2002.
Office Action from India Patent Application No. 2345/DEL/2005 dated Nov. 25, 2014. 2 pages.
Potamitis et al., I., "An Integrated System for Smart-Home Control of Appliances Based on Remote Speech Interaction" In Proceedings of the 8th European Conference on Speech Communication and Technology (Eurospeech 2003), Geneva, Switzerland, pp. 2197-2200, Sep. 1-4, 2003.
Reithinger, N., Alexandersson, J., Becker, T., Blocher, A., Engel, R., Löckelt, M., Muller, J., Pfleger, N., Poller, P., Streit, M., and Tschernomas, V. 2003. SmartKom: adaptive and flexible multimodal access to multiple applications. In Proceedings of the 5th international Conference on Multimodal interfaces (Vancouver, British Columbia, Canada, N. *
Search Report dated Mar. 21, 2006 for Application No. 05109794.7.
Seide et al., "Vocabulary-Independent Search in Spontaneous Speech", 2005 IEEE International Conference on Speech, Acoustics, and Signal Processing, Philadelphia, PA, Mar. 2005.
Third Chinese Office Action for Chinese Application No. CN 200510116339,9, mailed May 3, 2012, 6 pages.
U.S. Appl. No. 10/889,822, filed Jul. 13, 2004, entitled "Efficient Multimodal Method to Provide Input to a Computing Device".
Wasinger et al., "Robust Speech Interaction in a mobile environment through the use of multiple and different media input types", Proc. of EuroSpeech, pp. 1049-1052, 2003.
KR101143034B1 (en) 2012-05-11
CN1109328C (en) 2003-05-21 Computer operating method
US20060116868A1 (en) 2006-06-01 Method and apparatus for robust efficient parsing
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOWATT, DAVID;CHAMBERS, ROBERT L.;REEL/FRAME:015584/0591;SIGNING DATES FROM 20041231 TO 20050104
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOWATT, DAVID;CHAMBERS, ROBERT L.;SIGNING DATES FROM 20041231 TO 20050104;REEL/FRAME:015584/0591
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MOWATT, DAVID;CHAMBERS, ROBERT L.;ANDREW, FELIX G.T.I.;SIGNING DATES FROM 20041231 TO 20110224;REEL/FRAME:025865/0786