Applications Server and Method
First Claim
1. A speech applications server operable to provide a user driven service in response to user commands for selecting service options, the user commands being prompted by audio prompts, the speech applications server comprisingat least one state machine operable by a state machine engine to determine a state of an application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, anda prompt selection rule set operable by a prompt selection engine to generate the audio prompts for prompting the commands from the user in accordance with predetermined rules, wherein the prompt selected by the prompt selection engine is determined at run-time and the at least one state machine of the application program is defined separately from the prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue generated by the prompt selection engine for the user driven service independently from the operation of the state machine,wherein the state machine is defined using a mark-up language, the mark-up language includinga form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, andwherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein,the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
1 Assignment
0 Petitions
Accused Products
Abstract
A speech applications server is arranged to provide a user driven service in accordance with an application program in response to user commands for selecting service options. The user is prompted by audio prompts to issue the user commands. The application program comprises a state machine operable to determine a state of the application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set. The logical conditions include whether a user has provided one of a set of possible commands. A prompt selection engine is operable to generate the audio prompts for prompting the commands from the user in accordance with predetermined rules. The prompt selected by the prompt selection engine is determined at run-time. Since the state machine and the prompt selection engine are separate entities and the prompts to be selected are determined at run-time, it is possible to effect a change to the prompt selection engine without influencing the operation of the state machine, enabling different customisations to be provided for the same user driven services, in particular this allows multilingual support, with the possibility of providing rules to adapt the prompt structure allowing for grammatical differences between to languages to be taken into account thus providing higher quality multiple language support.
73 Citations
40 Claims
-
1. A speech applications server operable to provide a user driven service in response to user commands for selecting service options, the user commands being prompted by audio prompts, the speech applications server comprising
at least one state machine operable by a state machine engine to determine a state of an application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and a prompt selection rule set operable by a prompt selection engine to generate the audio prompts for prompting the commands from the user in accordance with predetermined rules, wherein the prompt selected by the prompt selection engine is determined at run-time and the at least one state machine of the application program is defined separately from the prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue generated by the prompt selection engine for the user driven service independently from the operation of the state machine, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
-
9. An application program operable to provide a user driven service in response to user commands for selecting service options, the user commands being prompted by audio prompts, the application program comprising
at least one state machine operable by a state machine engine to determine a state of the application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and a prompt selection rule set operable by a prompt selection engine to generate the audio prompts for prompting the commands from the user in accordance with predetermined rules, wherein the prompt selected by the prompt selection engine is determined at run-time and the at least one state machine of the application program is defined separately from the prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue generated by the prompt selection engine for the user driven service independently from the operation of the state machine, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
-
13. A system for providing a user driven service, the system comprising a speech applications server, a telephony platform and a user equipment,
the speech applications server being operable to provide a user driven service in response to user commands for selecting service options, the user commands being prompted by audio prompts, the speech applications server comprising at least one state machine operable by a state machine engine to determine a state of an application program from one of a predetermined set of states defining a logical procedure though the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and a prompt selection rule set operable by a prompt selection engine to generate the audio prompts for prompting the commands from the user in accordance with predetermined rules, the telephony platform being operable to receive data representing the audio prompts from the applications server, and to communicate the audio prompt data to the user equipment, and to receive data representative of the possible commands from the user equipment, and to communicate the possible commands to the applications server, wherein the prompt selected by the prompt selection engine is determined at run-time and the at least one state machine of the application program is defined separately from the prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue generated by the prompt selection engine for the user driven service independently from the operation of the state machine, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
-
14. A method for providing a user driven service, the service being provided in response to user commands for selecting service options, the user commands being prompted by audio prompts, the method comprising
determining a state of the application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and selecting the audio prompts for prompting the possible commands from the user in accordance with a predetermined rule set, wherein the prompts are generated at run-time and the states of the application program are defined separately from the predetermined prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue for the user driven service independently from determining the state of the application program, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
-
18. An extended mark-up language for defining a user driven service, the user driven service being provided in response to user commands for selecting service options, the user commands being prompted by audio prompts, the mark-up language comprising
a form instruction for defining a set of possible states of the service in a dialog form, each form including at least one situation identifier for identifying at least one current state and the logical condition for changing to that state, and a prompt request to generate a request for a user command for satisfying the logical condition for changing to a following state.
-
23. A computer program which when loaded on to a data processor causes the data processor to perform a method for providing a user driven service, the service being provided in response to user commands for selecting service options, the user commands being prompted by audio prompts, the method comprising
determining a state of the application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and generating the audio prompts for prompting the possible commands from the user in accordance with predetermined rules, wherein the prompts are generated at run-time and the states of the application program are defined separately from the predetermined prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue for the user driven service independently from determining the state of the application program, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
-
24. (canceled)
-
25. An apparatus for providing a user driven service, the service being provided in response to user commands for selecting service options, the user commands being prompted by audio prompts, the apparatus comprising
means for determining a state of the application program from one of a predetermined set of states defining a logical procedure through the user selected service options, transitions between states being determined in accordance with logical conditions to be satisfied in order to change between one state of the set and another state of the set, the logical conditions including whether a user has provided one of a set of possible commands, and means for selecting the audio prompts for prompting the possible commands from the user in accordance with a predetermined rule set, wherein the prompts are generated at run-time and the states of the application program are defined separately from the predetermined prompt selection rule set to the effect that a change can be made to the prompt selection rule set defining a dialogue for the user driven service independently from determining the state of the application program, wherein the state machine is defined using a mark-up language, the mark-up language including a form instruction for defining a set of the possible states of the application program within a dialog form, each form state including at least one situation identifier for identifying at least one current state and a logical condition for changing to the following state, and a request to the prompt selection engine to generate a request for a user command for satisfying the logical condition for the application program to change to the following state, and wherein the prompt selection rule set is defined using a mark-up language, the mark-up language defining for each situation identifier the set of possible prompts which may be provided to a user, and wherein, the application program is formed by translating the mark-up language for the state machine and the mark-up language for the prompt selection rule sets into executable code, the executable code being operable to generate the VoiceXML mark-up language, which when communicated to a telephony platform provides the user driven service.
Specification