Method and system for accessing CRM data via voice
First Claim
1. A method for accessing customer relationship management (CRM) data via user voice inputs, comprising:
- enabling a user to establish a telephone connection with a voice access system;
providing a voice user interface that enables the user to navigate a plurality of domains using voice commands, each domain comprising data corresponding to a type of object in a CRM data storage system;
enabling the user to request an ad hoc query be performed against CRM data in the CRM data storage system using a spoken natural language query;
converting the spoken natural language query into a data query and executing the data query to retrieve any data in the CRM data storage system corresponding to the ad hoc query;
providing feedback data corresponding to data retrieved from the CRM data storage system in a verbal format to the user via the telephone connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for providing access to CRM data via a voice interface. In one embodiment, the system includes a voice recognition unit and a speech processing server that work together to enable users to interact with the system using voice commands guided by navigation context sensitive voice prompts, and provide user-requested data in a verbalized format back to the users. Digitized voice waveform data are processed to determine the voice commands of the user. The system also uses a “grammar” that enables users to retrieve data using intuitive natural language speech queries. In response to such a query, a corresponding data query is generated by the system to retrieve one or more data sets corresponding to the query. The user is then enabled to browse the data that are returned through voice command navigation, wherein the system “reads” the data back to the user using text-to-speech (TTS) conversion.
-
Citations
77 Claims
-
1. A method for accessing customer relationship management (CRM) data via user voice inputs, comprising:
-
enabling a user to establish a telephone connection with a voice access system;
providing a voice user interface that enables the user to navigate a plurality of domains using voice commands, each domain comprising data corresponding to a type of object in a CRM data storage system;
enabling the user to request an ad hoc query be performed against CRM data in the CRM data storage system using a spoken natural language query;
converting the spoken natural language query into a data query and executing the data query to retrieve any data in the CRM data storage system corresponding to the ad hoc query;
providing feedback data corresponding to data retrieved from the CRM data storage system in a verbal format to the user via the telephone connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
authenticating the user with the voice access system using a login process in which the user is identified by a unique user identifier;
determining log-in data that enables the user to access the enterprise data system, based on the unique user identifier for the voice access system; and
logging the user into the enterprise data system using the log-in data in a manner that is transparent to the user.
-
-
3. The method of claim 1, wherein the ad hoc query returns user-specific CRM data corresponding to an enterprise the user works for.
-
4. The method of claim 1, wherein converting the spoken natural language query into the database query comprises:
-
converting the spoken natural language query into a data request in a text form;
identifying one or more object(s) and data criteria corresponding the spoken natural language query by processing the data request; and
formulating a database query based on any objects and data criteria that are identified.
-
-
5. The method of claim 4, wherein the database query is further based on a present navigation context of the user.
-
6. The method of claim 4, wherein the CRM data storage system data is accessed via an enterprise data system that includes an object manager and data manager, further comprising:
-
passing information corresponding to any objects and data criteria that are identified to the object manager;
formulating a database query based on the objects and data criteria passed to the object manager in consideration of CRM database schema information available to the data manager, wherein use of the object manager and data manager abstracts objects from how data corresponding to the objects are stored in the CRM data storage system such that the schema of the CRM database may be changed without requiring any changes to any voice access system component that is external to the enterprise data system.
-
-
7. The method of claim 4, wherein the database query returns a plurality of data sets pertaining to an object to which the ad hoc query corresponds to, further comprising enabling the user to browse the plurality of data sets using voice navigation commands.
-
8. The method of claim 1, wherein the voice user interface includes a set of global voice commands that enable the user to jump from a current domain to a new domain.
-
9. The method of claim 1, wherein the voice user interface includes voice commands that are context sensitive to a current navigation context of the user, such that the user may navigate to another navigation context from a current navigation context using navigation voice commands that are based, at least in part, on the current navigation context of the user.
-
10. The method of claim 1, wherein one of said plurality of domains comprises a contacts domain that enables the user to look up information corresponding to one or more contacts that has previously been entered into the CRM data storage system using a voice command.
-
11. The method of claim 10, wherein the user is enabled to access the CRM data storage system via an initial telephone connection, further comprising:
-
enabling the user to request to call a contact from the contacts domain; and
transferring the initial telephone connection to a new connection that connects the user with the contact via the contact telephone number for the contact.
-
-
12. The method of claim 11, further comprising reconnecting the user to the voice access system after the call to the contact has been completed.
-
13. The method of claim 10, further comprising:
enabling the user to perform a contact lookup query, wherein contact information corresponding to any contacts matching the contact lookup query is returned to the user, and wherein the user is enabled to browse the contact information on a contact-by-contact basis through use of voice navigation commands.
-
14. The method of claim 13, wherein a plurality of contacts are returned from the contact lookup query, further comprising:
-
enabling the user to disambiguate between said plurality of contacts by, reading information pertaining to a first returned contact to the user and providing a system prompt asking the user if this is the correct contact;
processing the user'"'"'s response to determine if the contact is correct; and
repeating the foregoing operations for other contacts returned from the query, one-by-one, until a correct contact is identified.
-
-
15. The method of claim 13, further comprising enabling the user to lookup up any business opportunities corresponding to a contact that is currently being browsed by the user through use of a voice command, wherein data corresponding to the business opportunities are provided to the user in a verbal format.
-
16. The method of claim 13, further comprising enabling the user to lookup up any accounts corresponding to a contact that is currently being browsed by the user through use of a voice command, wherein data corresponding to the accounts are provided to the user in a verbal format.
-
17. The method of claim 1, further comprising:
-
enabling the user to query the CRM data storage system for any business opportunities the user may have using a spoken natural language query; and
enabling the user to browse any business opportunities returned from the query using voice navigation commands.
-
-
18. The method of claim 1, wherein one of said plurality of domains comprises a opportunities domain that enables the user, through a use of one or more voice commands, to look up information corresponding to one or more business opportunities that has previously been entered into the CRM data storage system.
-
19. The method of claim 18, further comprising enabling the user to lookup up contact information corresponding to any of the business opportunities returned by the query using a voice command.
-
20. The method of claim 18, further comprising enabling the user to lookup up account information corresponding to any of the business opportunities returned by the query using a voice command.
-
21. The method of claim 1, wherein one of said plurality of domains comprises an accounts domain that enables the user, through a use of one or more voice commands, to look up information corresponding to one or more accounts that has previously been entered into the CRM data storage system.
-
22. The method of claim 21, further comprising:
-
enabling the user to query the database for one or more accounts the user may have using a spoken natural language query; and
enabling the user to browse any account information returned from the query on an account-by-account basis using voice navigation commands.
-
-
23. The method of claim 22, further comprising enabling the user to lookup up contact information corresponding to any of the accounts returned by the query using a voice command.
-
24. The method of claim 22, further comprising enabling the user to lookup up business opportunity information corresponding to any of the accounts returned by the query using a voice command.
-
25. The method of claim 21, wherein the user is enabled to access the voice access system via an initial telephone connection, further comprising:
-
enabling the user to request to call an account from the accounts domain using a voice command; and
transferring the initial telephone connection to a new connection that connects the user with a person associated with the account via a telephone number for the account that is stored in the CRM data storage system.
-
-
26. The method of claim 1, wherein one of said plurality of domains comprises a calendar domain that enables the user, through a use of one or more voice commands, to retrieve appointment information corresponding to one or more appointments that has previously been entered into the CRM data storage system.
-
27. The method of claim 26, wherein the user is enabled to retrieve appointments for a particular day by using a spoken natural language appointments query that references the particular day.
-
28. The method of claim 27, wherein a plurality of appointments are returned in response to the appointments query for the particular day, further comprising enabling the user to browse the plurality of appointments on an appointment-by-appointment basis using voice navigation commands.
-
29. The method of claim 1, wherein one of said plurality of domains comprises an employees domain that enables the user to retrieve information corresponding to one or more employees that work for a same enterprise as the user.
-
30. The method of claim 29, further comprising:
-
enabling the user to query the database to look up information pertaining to one or more employees using a spoken natural language query; and
enabling the user to browse any employee information returned by the query on an employee-by-employee basis using voice navigation commands.
-
-
31. The method of claim 29, wherein the user is enabled to access the database via an initial telephone connection, further comprising:
-
enabling the user to request to call an employee by using a spoken natural language query that identifies the employee; and
transferring the initial telephone connection to a new connection that connects the user with the employee using the telephone number for the employee.
-
-
32. The method of claim 31, further comprising reconnecting the user to the voice access system after the call to the contact has been completed.
-
33. The method of claim 1, further comprising:
-
authenticating the user with the voice access system using a login process in which the user is identified by a unique user identifier;
retrieving data pertaining to new opportunities for the user from the CRM data storage system through use of the unique user identifier; and
providing feedback data corresponding to the new opportunities in a verbal format to the user via the telephone connection.
-
-
34. A method for accessing customer relationship management (CRM) data via a telephone connection, comprising:
-
defining a set of grammars comprising a language and syntax describing a phonetic format in which data are stored;
retrieving selected CRM data from a CRM data storage system;
pre-compiling the CRM data into a form corresponding to the set of grammars;
storing the pre-compiled data in a local database that is apart from the enterprise data system enabling a user to establish a telephone connection with the voice access system;
enabling the user to request an ad hoc query be performed to receive CRM data using a spoken natural language query;
processing the natural language query to determine CRM data the user desires to retrieve;
generating a data query to retrieve data from the CRM data storage system, said data query including selection criteria that references pre-compiled data stored in the local database;
executing the data query to retrieve CRM data from the CRM data storage system; and
providing CRM data that are retrieved to the user in a verbal format. - View Dependent Claims (35, 36, 37, 38, 39)
defining a set of objects for which CRM data are to be pre-compiled;
defining a schedule identifying when CRM data corresponding to the set of objects are to be pre-compiled; and
pre-compiling CRM data corresponding to those objects based on the schedule.
-
-
37. The method of claim 34, wherein the data that are pre-compiled include user account information.
-
38. The method of claim 34, wherein the data that are pre-compiled include user contact information.
-
39. The method of claim 34, wherein the data that are pre-compiled include employee information pertaining to an enterprise the user is a member of.
-
40. A voice access system for enabling voice access to a customer relationship management (CRM) database, comprising:
-
a voice recognition unit, including;
a processor;
a telephony interface coupled to the processor to enable the voice recognition unit to receive user input via a telephone connection; and
a network interface coupled to the processor to enable the voice recognition unit to be linked in communication with the enterprise data system via a computer network; and
a memory in which a plurality of machine executable instructions are stored comprising a plurality of software modules; and
a speech processing server, including;
a processor;
a network interface coupled to the processor to enable the voice recognition unit to be linked in communication with the voice recognition unit via a computer network; and
a memory in which a plurality of machine executable instructions are stored comprising a plurality of software modules, wherein the software modules when executed by the processors of the voice recognition unit and the speech processing server interact with each other to perform operations comprising;
enabling a user to establish a telephone connection with the voice recognition unit;
providing a voice user interface that enables the user to navigate a plurality of domains using voice commands, each domain comprising data corresponding to a type of object in a CRM data storage system;
enabling the user to request an ad hoc query be performed against CRM data in the CRM data storage system using a spoken natural language query;
converting the spoken natural language query into a database query and executing the database query to retrieve any data in the CRM data storage system corresponding to the ad hoc query;
providing feedback data corresponding to data retrieved from the CRM data storage system in a verbal format to the user via the telephone connection. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71)
authenticating the user with the voice access system using a login process in which the user is identified by a unique user identifier;
determining log-in data that enables the user to access the enterprise data system, based on the unique user identifier for the voice access system; and
logging the user into the enterprise data system using the log-in data in a manner that is transparent to the user.
-
-
42. The voice access system of claim 40, wherein converting the spoken natural language query into the database query comprises:
-
converting the spoken natural language query into a data request in a text form;
identifying one or more object(s) and data criteria corresponding the spoken natural language query by processing the data request; and
formulating a database query based on any objects and data criteria that are identified.
-
-
43. The voice access system of claim 42, wherein the database query is further based on a current navigation context of the user.
-
44. The voice access system of claim 42 wherein the CRM data storage system data is accessed via an enterprise data system that includes an object manager and data manager, and wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
passing information corresponding to any objects and data criteria that are identified to the object manager;
formulating a database query based on the objects and data criteria passed to the object manager in consideration of CRM database schema information available to the data manager, wherein use of the object manager and data manager abstracts objects from how data corresponding to the objects are stored in the CRM data storage system such that the schema of the CRM database may be changed without requiring any changes to any voice access system component that is external to the enterprise data system.
-
-
45. The voice access system of claim 42, wherein the database query returns a plurality of data sets pertaining to an object to which the ad hoc query corresponds to, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to browse the plurality of data sets using voice navigation commands.
-
46. The voice access system of claim 40, wherein the voice user interface includes a set of global voice commands that enable the user to jump from a current domain to a new domain.
-
47. The voice access system of claim 40, wherein the voice user interface includes voice commands that are context sensitive to a current navigation context of the user, such that the user may navigate to another navigation context from a current navigation context using navigation voice commands that are based, at least in part, on the current navigation context of the user.
-
48. The voice access system of claim 40, wherein one of said plurality of domains comprises a contacts domain that enables, through a use of one or more voice commands, the user to look up information corresponding to one or more contacts that has previously been entered into the CRM data storage system.
-
49. The voice access system of claim 48, wherein the user is enabled to access the CRM data storage system via an initial telephone connection, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to request to call a contact from the contacts domain; and
transferring the initial telephone connection to a new connection that connects the user with the contact via the contact telephone number for the contact.
-
-
50. The voice access system of claim 49, further comprising reconnecting the user to the voice access system after the call to the contact has been completed.
-
51. The voice access system of claim 48, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to perform a contact lookup query, wherein contact information corresponding to any contacts matching the contact lookup query is returned to the user, and wherein the user is enabled to browse the contact information on a contact-by-contact basis through use of voice navigation commands.
-
52. The voice access system of claim 51, wherein a plurality of contacts are returned from the contact lookup query, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to disambiguate between said plurality of contacts by, reading information pertaining to a first returned contact to the user and providing a system prompt asking the user if this is the correct contact;
processing the user'"'"'s response to determine if the contact is correct; and
repeating the foregoing operations for other contacts returned from the query, one-by-one, until a correct contact is identified.
-
-
53. The voice access system of claim 51, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up any business opportunities corresponding to a contact that is currently being browsed by the user through use of a voice command, wherein data corresponding to the business opportunities are provided to the user in a verbal format.
-
54. The voice access system of claim 51, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up any accounts corresponding to a contact that is currently being browsed by the user through use of a voice command, wherein data corresponding to the accounts are provided to the user in a verbal format.
-
55. The voice access system of claim 40, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to query the CRM data storage system for any business opportunities the user may have using a spoken natural language query; and
enabling the user to browse any business opportunities returned from the query using voice navigation commands.
-
-
56. The voice access system of claim 40, wherein one of said plurality of domains comprises a opportunities domain that enables the user, through a use of one or more voice commands, to look up information corresponding to one or more business opportunities that has previously been entered into the CRM data storage system.
-
57. The voice access system of claim 56, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up contact information corresponding to any of the business opportunities returned by the query using a voice command.
-
58. The voice access system of claim 56, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up account information corresponding to any of the business opportunities returned by the query using a voice command.
-
59. The voice access system of claim 40, wherein one of said plurality of domains comprises an accounts domain that enables the user, through a use of one or more voice commands, to look up information corresponding to one or more accounts that has previously been entered into the CRM data storage system.
-
60. The voice access system of claim 59, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to query the database for one or more accounts the user may have using a spoken natural language query; and
enabling the user to browse any account information returned from the query on an account-by-account basis using voice navigation commands.
-
-
61. The voice access system of claim 60, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up contact information corresponding to any of the accounts returned by the query using a voice command.
-
62. The voice access system of claim 60, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of enabling the user to lookup up business opportunity information corresponding to any of the accounts returned by the query using a voice command.
-
63. The voice access system of claim 40, wherein the user is enabled to access the database via an initial telephone connection, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to request to call an account from the accounts domain using a voice command; and
transferring the initial telephone connection to a new connection that connects the user with a person associated with the account via a telephone number for the account that is stored in the CRM data storage system.
-
-
64. The voice access system of claim 40, wherein one of said plurality of domains comprises a calendar domain that enables the user, through a use of one or more voice commands, to retrieve appointment information corresponding to one or more appointments that has previously been entered into the database.
-
65. The voice access system of claim 64, wherein the user is enabled to retrieve appointments for a particular day by using a spoken natural language appointments query that references the particular day.
-
66. The voice access system of claim 65, wherein a plurality of appointments are returned in response to the appointments query for the particular day, and wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of comprising enabling the user to browse the plurality of appointments on an appointment-by-appointment basis using voice navigation commands.
-
67. The voice access system of claim 40, wherein one of said plurality of domains comprises an employees domain that enables the user to retrieve information corresponding to one or more employees that work for a same enterprise as the user.
-
68. The voice access system of claim 67, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to query the database to look up information pertaining to one or more employees using a spoken natural language query; and
enabling the user to browse any employee information returned by the query on an employee-by-employee basis using voice navigation commands.
-
-
69. The voice access system of claim 67, wherein the user is enabled to access the database via an initial telephone connection, and wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
enabling the user to request to call an employee by using a spoken natural language query that identifies the employee; and
transferring the initial telephone connection to a new connection that connects the user with the employee using the telephone number for the employee.
-
-
70. The voice access system of claim 69, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operation of reconnecting the user to the voice access system after the call to the contact has been completed.
-
71. The voice access system of claim 40, wherein execution of the plurality of software modules by the processors of the voice recognition unit and the speech processing server further performs the operations of:
-
authenticating the user with the voice access system using a login process in which the user is identified by a unique user identifier;
retrieving data pertaining to new opportunities for the user from the CRM data storage system through use of the unique user identifier; and
providing feedback data corresponding to the new opportunities in a verbal format to the user via the telephone connection.
-
-
72. A voice access system for enabling voice access to a customer relationship management (CRM) database, comprising:
-
a voice recognition unit, including;
a processor;
a telephony interface coupled to the processor to enable the voice recognition unit to receive user input via a telephone connection; and
a network interface coupled to the processor to enable the voice recognition unit to be linked in communication with the enterprise data system via a computer network; and
a memory in which a plurality of machine executable instructions are stored comprising a plurality of software modules; and
a speech processing server, including;
a processor;
a network interface coupled to the processor to enable the voice recognition unit to be linked in communication with the voice recognition unit via a computer network; and
a memory in which a plurality of machine executable instructions are stored comprising a plurality of software modules, wherein the software modules when executed by the processors of the voice recognition unit and the speech processing server interact with each other to perform operations comprising;
defining a set of grammars comprising a language and syntax describing a phonetic format in which data are stored;
retrieving selected CRM data from a CRM data storage system;
pre-compiling the CRM data into a form corresponding to the set of grammars;
storing the pre-compiled data in a local database that is apart from the enterprise data system enabling a user to establish a telephone connection with the voice access system;
enabling the user to request an ad hoc query be performed to receive CRM data using a spoken natural language query;
processing the natural language query to determine CRM data the user desires to retrieve;
generating a data query to retrieve data from the CRM data storage system, said data query including selection criteria that references pre-compiled data stored in the local database;
executing the data query to retrieve CRM data from the CRM data storage system; and
providing CRM data that are retrieved to the user in a verbal format. - View Dependent Claims (73, 74, 75, 76, 77)
defining a set of objects for which data are to be pre-compiled; and
defining a schedule identifying when data corresponding to the set of objects are to be pre-compiled; and
pre-compiling data corresponding to those objects based on the schedule.
-
-
75. The voice access system of claim 74, wherein the data that are precompiled include user account information.
-
76. The voice access system of claim 74, wherein the data that are precompiled include user contact information.
-
77. The voice access system of claim 74, wherein the data that are precompiled include employee information pertaining to an enterprise the user is a member of.
Specification