IP Library Granted Patent US 9,620,113
Granted Patent B2
US 9,620,113 · App. 14/269,545 · Granted Apr 11, 2017

System and method for providing a natural language voice user interface

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 9,620,113
App. No.
14/269,545
Granted
Apr 11, 2017
Kind
B2
Abstract

A conversational, natural language voice user interface may provide an integrated voice navigation services environment. The voice user interface may enable a user to make natural language requests relating to various navigation services, and further, may interact with the user in a cooperative, conversational dialogue to resolve the requests. Through dynamic awareness of context, available sources of information, domain knowledge, user behavior and preferences, and external systems and devices, among other things, the voice user interface may provide an integrated environment in which the user can speak conversationally, using natural language, to issue queries, commands, or other requests relating to the navigation services provided in the environment.

Claims (83)

1. A method for providing a natural language voice user interface, the method being implemented on a computer system including one or more physical processors executing computer program instructions which, when executed, perform the method, the method comprising:

obtaining, by the computer system, a first location of a user, wherein the first location is a current location of the user at a first time;

identifying, by the computer system, a first predefined geographic chunk relating to a first geographic region based on the first location, the first predefined geographic chunk being associated with first grammar information for the first geographic region;

obtaining, by the computer system, information that specifies a travel time parameter;

determining, by the computer system, that a time to travel from the first location to a second geographic region satisfies the travel time parameter;

identifying, by the computer system, a second predefined geographic chunk relating to the second geographic region based on the determination that the time to travel from the first location to the second geographic region satisfies the travel time parameter, the second predefined geographic chunk being associated with second grammar information for the second geographic region;

obtaining, by the computer system, independently of a natural language utterance of the user, a first location-specific grammar based on the first grammar information and the second grammar information;

causing, by the computer system, a previously-stored location-specific grammar to be removed from a storage area associated with the user, wherein the previously-stored location-specific grammar is associated with a prior location of the user;

causing, by the computer system, the first location-specific grammar to be stored in the storage area associated with the user;

receiving, by the computer system, the natural language utterance of the user;

determining, by the computer system, a context of the natural language utterance based on a previous natural language utterance of the user obtained by the computer system before the natural language utterance, wherein the previous natural language utterance is accessed by the computer system through a context stack that includes the previous natural language utterance and the natural language utterance;

performing, by the computer system, natural language processing based on the natural language utterance using the first location-specific grammar and the context;

determining, by the computer system, an interpretation of the natural language utterance based on the natural language processing; and

providing, by the computer system, a response to the natural language utterance based on the interpretation.

2. The method of claim 1 , wherein natural language processing is performed on the natural language utterance based on the first location-specific grammar and one or more other grammars to determine the interpretation of the natural language utterance.

3. The method of claim 1 , further comprising:

receiving, at the computer system, a subsequent natural language utterance indicating that the interpretation is not accurate; and

updating, by the computer system, the first location-specific grammar based on the indication that the interpretation is not accurate, wherein updating the first location-specific grammar comprises removing, from the first location-specific grammar, information associated with the interpretation based on the indication that the interpretation is not accurate.

4. The method of claim 1 , further comprising:

generating, by the computer system, a plurality of location-specific grammars based on one or more of user preferences or user characteristics, wherein the first location-specific grammar is obtained from the plurality of location-specific grammars.

5. The method of claim 1 , wherein obtaining the first location-specific grammar is further based on a proximity between the first location and a location associated with the first location-specific grammar.

6. The method of claim 1 , further comprising:

determining, by the computer system, a route from the first location to a destination based on the interpretation of the natural language utterance.

7. The method of claim 6 , further comprising:

recalculating, by the computer system, the route in response to one or more subsequent interactions of the user that indicate refinement of the destination.

8. The method of claim 6 , further comprising:

detect, by the computer system, a change in location of the user from the first location to a second location, wherein the second location is the current location of the user at a second time;

obtaining, by the computer system, independently of a subsequent natural language utterance of the user, a second location-specific grammar based on the second location;

causing, by the computer system, based on the detected change in location of the user to the second location, the first location-specific grammar to be removed from the storage area associated with the user;

causing, by the computer system, based on the detected change in location of the user to the second location, the second location-specific grammar to be stored in the storage area associated with the user;

receiving, at the computer system, the subsequent natural language utterance of the user;

performing, by the computer system, natural language processing on the subsequent natural language utterance based on the second location-specific grammar to determine an interpretation of the subsequent natural language utterance; and

determining, by the computer system, a second route based on the interpretation of the subsequent natural language utterance.

9. The method of claim 1 , wherein obtaining the first location-specific grammar is further based on information corresponding to a subdivision, neighborhood, city, or county that is most proximal to the first location.

10. The method of claim 1 , wherein identifying the first predefined geographic chunk comprises:

obtaining, by the computer system, information that specifies a distance parameter; and

determining, by the computer system, that a distance to travel from the first location to the first geographic region is within the distance parameter.

11. The method of 10 , wherein the first predefined geographic chunk comprises one or more states, cities, neighborhoods, subdivisions, and/or localities.

12. The method of 1 , wherein identifying the first predefined geographic chunk comprises:

obtaining, by the computer system, a direction of travel of the user; and

determining, by the computer system, that the first geographic region is within the direction of travel of the user.

13. A system for providing a natural language voice user interface, the system comprising:

one or more physical processors programmed with computer program instructions which, when executed, cause the one or more physical processors to:

obtain a first location of a user, wherein the first location is a current location of the user at a first time;

identify a first predefined geographic chunk relating to a first geographic region based on the first location, the first predefined geographic chunk being associated with first grammar information for the first geographic region;

obtain information that specifies a travel time parameter;

determine that a time to travel from the first location to a second geographic region satisfies the travel time parameter;

identify a second predefined geographic chunk relating to the second geographic region based on the determination that the time to travel from the first location to the second geographic region satisfies the travel time parameter, the second predefined geographic chunk being associated with second grammar information for the second geographic region;

obtain, independently of a natural language utterance of the user, a first location-specific grammar based on the first grammar information and the second grammar information;

cause a previously-stored location-specific grammar to be removed from a storage area associated with the user, wherein the previously-stored location-specific grammar is associated with a prior location of the user;

cause the first location-specific grammar to be stored in the storage area associated with the user;

receive the natural language utterance of the user;

determine a context of the natural language utterance based on a previous natural language utterance of the user obtained by the computer system before the natural language utterance, wherein the previous natural language utterance is accessed by the computer system through a context stack that includes the previous natural language utterance and the natural language utterance;

perform natural language processing based on the natural language utterance using the first location-specific grammar and the context;

determine an interpretation of the natural language utterance based on the natural language processing; and

provide a response to the natural language utterance based on the interpretation.

14. The system of claim 13 wherein natural language processing is performed on the natural language utterance based on the first location-specific grammar and one or more other grammars to determine the interpretation of the natural language utterance.

15. The system of claim 13 , wherein the one or more physical processors are further caused to:

receive a subsequent natural language utterance indicating that the interpretation is not accurate; and

update the first location-specific grammar based on the indication that the interpretation is not accurate, wherein updating the first location-specific grammar comprises removing, from the first location-specific grammar, information associated with the interpretation based on the indication that the interpretation is not accurate.

16. The system of claim 13 , wherein the one or more physical processors are further caused to:

generate a plurality of location-specific grammars based on one or more of user preferences or user characteristics, wherein the first location-specific grammar is obtained from the plurality of location-specific grammars.

17. The system of claim 13 , wherein obtaining the first location-specific grammar is further based on a proximity between the first location and a location associated with the first location-specific grammar.

18. The system of claim 13 , wherein the one or more physical processors are further caused to:

determine a route from the first location to a destination based on the interpretation of the natural language utterance.

19. The system of claim 18 , wherein the one or more physical processors are further caused to:

recalculate the route in response to one or more subsequent interactions of the user that indicate refinement of the destination.

20. The system of claim 18 , wherein the one or more physical processors are further caused to:

detect a change in location of the user from the first location to a second location, wherein the second location is the current location of the user at a second time;

obtain, independently of a subsequent natural language utterance of the user, a second location-specific grammar based on the second location;

cause, based on the detected change in location of the user to the second location, the first location-specific grammar to be removed from the storage area associated with the user;

cause, based on the detected change in location of the user to the second location, the second location-specific grammar to be stored in the storage area associated with the user;

receive the subsequent natural language utterance of the user;

perform natural language processing on the subsequent natural language utterance based on the second location-specific grammar to determine an interpretation of the subsequent natural language utterance; and

determine a second route based on the interpretation of the subsequent natural language utterance.

21. The system of claim 13 , wherein obtaining the first location-specific grammar is further based on information corresponding to a subdivision, neighborhood, city, or county that is most proximal to the first location.

22. The system of claim 13 , wherein to identify the first predefined geographic chunk, the one or more physical processors are further caused to:

obtain information that specifies a distance parameter; and

determine that a distance to travel from the first location to the first geographic region is within the distance parameter.

23. The system of claim 22 , wherein the first predefined geographic chunk comprises one or more states, cities, neighborhoods, subdivisions, and/or localities.

24. The system of claim 13 , wherein to identify the first predefined geographic chunk, the one or more physical processors are further caused to:

obtain a direction of travel of the user; and

determine that the first geographic region is within the direction of travel of the user.

Assignments (9)
RELEASE (REEL 052935 / FRAME 0584) Recorded Jan 2, 2025
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: CERENCE OPERATING COMPANY
Reel/Frame 069797/0818 →
SECURITY AGREEMENT Recorded Jun 15, 2020
From: CERENCE OPERATING COMPANY
To: WELLS FARGO BANK, N.A.
Reel/Frame 052935/0584 →
RELEASE OF SECURITY INTEREST Recorded Jun 12, 2020
From: BARCLAYS BANK PLC
To: CERENCE OPERATING COMPANY
Reel/Frame 052927/0335 →
SECURITY AGREEMENT Recorded Nov 7, 2019
From: CERENCE OPERATING COMPANY
To: BARCLAYS BANK PLC
Reel/Frame 050953/0133 →
INTELLECTUAL PROPERTY AGREEMENT Recorded Oct 24, 2019
From: NUANCE COMMUNICATIONS, INC.
To: CERENCE INC.
Reel/Frame 050818/0001 →
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2018
From: ORIX GROWTH CAPITAL, LLC
To: VOICEBOX TECHNOLOGIES CORPORATION
Reel/Frame 045581/0630 →
SECURITY INTEREST Recorded Dec 22, 2017
From: VOICEBOX TECHNOLOGIES CORPORATION
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 044949/0948 →
MERGER Recorded Jul 9, 2014
From: VOICEBOX TECHNOLOGIES, INC.
To: VOICEBOX TECHNOLOGIES CORPORATION
Reel/Frame 033269/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2014
From: KENNEWICK, MICHAEL R.; CHEUNG, CATHERINE; BALDWIN, LARRY; SALOMON, ARI; TJALVE, MICHAEL; GUTTIGOLI, SHEETAL; ARMSTRONG, LYNN; DI CRISTO, PHILIPPE; ZIMMERMAN, BERNIE; MENAKER, SAM
To: VOICEBOX TECHNOLOGIES, INC.
Reel/Frame 033075/0812 →