Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

In one implementation, a computer-implemented method includes receiving, at a mobile computing device, ambiguous user input that indicates more than one of a plurality of commands; and determining a current context associated with the mobile computing device that indicates where the mobile computing device is currently located. The method can further include disambiguating the ambiguous user input by selecting a command from the plurality of commands based on the current context associated with the mobile computing device; and causing output associated with performance of the selected command to be provided by the mobile computing device.

Claims

1. A computer-implemented method comprising:

receiving, at a mobile computing device, ambiguous user input that indicates more than one of a plurality of commands;

determining a current context associated with the mobile computing device, the context being external to the mobile device and indicating a current state of the device in its surrounding environment;

disambiguating the ambiguous user input by selecting a command from the plurality of commands based on the context associated with the mobile computing device; and

causing output associated with performance of the selected command to be provided by the mobile computing device.

2. The computer-implemented method of claim 1, further comprising identifying one or more other computing devices that are located nearby the mobile computing device; and

wherein the context associated with the mobile computing device is determined based on, at least, the identified other computing devices.

3. The computer-implemented method of claim 2, wherein the other computing devices are identified through, at least, one or more wired or wireless connections that are available to the mobile computing device.

4. The computer-implemented method of claim 3, wherein the one or more wired or wireless connections include a wired connection through which the mobile computing device is docked.

5. The computer-implemented method of claim 3, wherein the one or more wired or wireless connections include one or more wireless networks detected by the mobile computing device.

6. The computer-implemented method of claim 2, further comprising accessing information that indicates associations between the identified other computing devices and one or more locations;

wherein the current context associated with the mobile computing device is additionally determined based on, at least, the accessed information.

7. The computer-implemented method of claim 6, wherein the one or more locations include one or more geographic locations.

8. The computer-implemented method of claim 6, wherein the one or more locations include one or more physical structures.

9. The computer-implemented method of claim 2, further comprising:

in response to disambiguating the ambiguous user input, determining whether the selected command applies to one or more of the identified other computing devices; and

based on determining whether the selected command applies to the one or more of the identified other computing devices, communicating with the one or more of the identified other computing devices over a network with regard to the selected command;

wherein communicating with the one or more of the identified other computing devices causes the one or more of the identified other computing devices to provide at least a portion of the output or to perform at least a portion of the selected command.

10. The computer-implemented method of claim 1, further comprising detecting one or more ambient sounds at a time when the ambiguous user input was received or within a threshold amount of time of receiving the ambiguous user input;

wherein the current context associated with the mobile computing device is determined based on, at least, the detected one or more ambient sounds.

11. The computer-implemented method of claim 1, further comprising optically identifying one or more physical objects located nearby the mobile computing device using one or more images obtained from one or more digital cameras of the mobile computing device;

wherein the current context associated with the mobile computing device is determined based on, at least, the optically identified one or more physical objects.

12. The computer-implemented method of claim 1, wherein the ambiguous user input comprises voice input;

the method further comprising causing speech recognition of the voice input to be performed, wherein the voice input is interpreted through the speech recognition to correspond to each of the plurality of commands with at least a threshold level of certainty.

13. The computer-implemented method of claim 12, wherein the plurality of commands are homophones, homonyms, or heteronyms.

14. The computer-implemented method of claim 12, wherein at least one of the plurality of commands is pronounced differently, under normal speech, than one or more other commands of the plurality of commands.

15. The computer-implemented method of claim 14, wherein the voice input, as received by the mobile computing device, is of sufficiently poor quality that the voice input is interpreted as corresponding with at least the threshold level of certainty to two or more commands with different pronunciations.

16. The computer-implemented method of claim 1, further comprising selecting a mode of operation for the mobile computing device based on the determined current context;

wherein the output is provided by the mobile computing device according to the mode of operation.

17. The computer-implemented method of claim 16, wherein the mode of operation is selected from the group consisting of:

a voice-only mode of operation during which a microphone of the mobile computing device is activated to received voice input and a speaker of the mobile computing device is used to provide the output,

a silent mode of operation during which the speaker of the mobile computing device is deactivated and a display of the mobile computing device is used to provide the output, and

a user-defined mode of operation during which the microphone, the speaker, and the display of the mobile computing device are used to receive input and to provide output according to current user-defined settings for the mobile computing device.

18. The computer-implemented method of claim 1, further comprising:

after providing the output, receiving second user input at the mobile computing device;

determining whether the ambiguous user input was correctly disambiguated to the selected command based on the received second user input; and

based on the determination of whether the ambiguous user input was correctly disambiguated, updating user behavior data that associates the loo determined current context of the mobile computing device with the ambiguous user input and the selected command;

wherein the updated user behavior data is stored for use disambiguating future ambiguous user input.

19. The computer-implemented method of claim 1, wherein the current context is determined based on a type of apparatus to which the mobile computing device is physically docked.

20. A system for disambiguating user input, the system comprising:

a mobile computing device;

an input sub-system of the mobile computing device that is configured to receive ambiguous user input that indicates more than one of a plurality of commands;

a context determination unit of the mobile computing device that is configured to determine a current context associated with the mobile computing, the context being external to the mobile device and indicating current state of the device in its surrounding environment;

an input disambiguation unit of the mobile computing device that is configured to disambiguate the ambiguous user input by selecting a command from the plurality of commands based on the current context associated with the mobile computing device; and
an output sub-system of the mobile computing device that is configured to provide output associated with performance of the selected command.

21. A system for disambiguating user input, the system comprising:

a mobile computing device;

an input sub-system of the mobile computing device that is configured to receive ambiguous user input that indicates more than one of a plurality of commands;

a context determination unit of the mobile computing device that is configured to determine a current context associated with the mobile computing device, the context being external to the mobile device and indicating current state of the device in its surrounding environment;

means for disambiguating the ambiguous user input based on the current context associated with the mobile computing device, wherein the means for disambiguating selects a command from the plurality of commands; and
an output sub-system of the mobile computing device that is configured to provide output associated with performance of the selected command.