Abstract:
A method for state transition in voice systems including: generating one or more stackable state macros, each of the one or more stackable state macros including a plurality of commands; saving the current state before executing another macro; enabling restoring the previous state after a plurality of commands is completed, allowing a user to utter voice commands to restore the individual state of components or the voice systems as a whole to the previous state or to a known home state. The method further utilizes voice commands not specific to the current state and is used specifically for automatically controlling a plurality of components of a vehicle.

Description:
TRADEMARKS 
     IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies. 
     BACKGROUND OF THE INVENTION 
     Field of the Invention 
     This invention relates to voice systems, and particularly to a method for generating, saving, and restoring stackable state macros in voice systems. 
     Description of Background 
     Currently, in-vehicle voice systems allow one or more users to speak individual commands in order to execute a single action that might otherwise require the use of a user&#39;s hands and/or eyes. For example, the voice commands “raise window” or “mute radio” may be recited by a user, and the user expects the system to execute such commands. However, these voice commands do not allow the ability to make a set of modifications to accommodate changes in the user&#39;s context. 
     For example, when a driver of a vehicle pulls up to a tollbooth, the driver may desire to perform the following tasks: turn the wipers off, roll down the driver&#39;s window, and turn off or mute the vehicle radio. Then, when the driver pulls back out of the tollbooth, the driver may desire to return all those actions back to a previous state. 
     Traditional systems allow one or more users to issue a series of commands to accomplish these goals and allow for the creation of a set of voice commands that each execute a series of actions prompted by the one or more users. Each user/system speech turn requires cognitive resources and introduces an opportunity for speech and/or recognition errors. One solution proposed by traditional systems is abstracting a set of system responses. However, proposed state transitions are problematic. 
     Considering the limitations of the aforementioned methods, it is clear that there is a need for an efficient method for generating, saving, and restoring stackable state macros in voice systems. This capability reduces the time it takes for a user to perform tasks, makes tasks more natural to the driver, and reduces cognitive demand on the driver. 
     SUMMARY OF THE INVENTION 
     The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method for state transition in voice systems, the method comprising: generating one or more stackable state macros, each of the one or more stackable state macros including a plurality of commands; saving a current state before executing another macro; enabling restoring a previous state after the plurality of commands are completed; and allowing a user to utter voice commands to restore an individual state of the voice systems as a whole to the previous state or to a known home state. 
     The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a system for state transition in voice systems, the system comprising: a network; and a host system in communication with the network, the host system including software to implement a method comprising: generating one or more stackable state macros, each of the one or more stackable state macros including a plurality of commands; saving a current state before executing another macro; enabling restoring a previous state after the plurality of commands are completed; and allowing a user to utter voice commands to restore an individual state of the voice systems as a whole to the previous state or to a known home state. 
     Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and the drawings. 
     TECHNICAL EFFECTS 
     As a result of the summarized invention, technically we have achieved a solution that provides for a method for generating, saving, and restoring stackable state macros in voice systems. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which: 
         FIG. 1  illustrates one example of a flow diagram illustrating a system of enhancing environment voice macros; 
         FIG. 2  illustrates one example of how states of a system are stacked or nested according to the exemplary embodiments of the present invention; 
         FIG. 3  illustrates one example of how states of a system are stacked or nested, and shifted as a macro is added according to the exemplary embodiments of the present invention; 
         FIG. 4  illustrates one example of a user invoking one macro of the system according to the exemplary embodiments of the present invention; 
         FIG. 5  illustrates one example of a user invoking one command from a macro according to the exemplary embodiments of the present invention; and 
         FIG. 6  illustrates one example of areas of application of systems enhancing environment voice macros according to the exemplary embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     One aspect of the exemplary embodiments is a method for enhancing environment voice macros via a stackable save/restore state of an object within an environment controlled by voice commands. 
     The exemplary embodiments of the present invention illustrate a set of related methods by which embedded voice systems allow one or more users of a system to enter and exit modes in a natural and flexible manner. Traditional approaches have explored methods of aggregating commands as scripts (timed), macros (sequential), and actions (asynchronous). These approaches allow the driver (user) or the manufacturer to define a set of actions associated with context in advance of the situation. 
     For example, the driver of a vehicle heading toward a tollbooth can define the end state sought for “Tollbooth.” This end state might consist of the commands: open driver&#39;s side window, inactivate wipers, and turn off or mute the radio. The command “Tollbooth” would set everything to this pre-specified state. Since the goal is to achieve a state, only necessary actions are invoked. Thus, if the radio were already silent, this command would not affect the radio. 
     In a first exemplary embodiment, a set of pre-packaged commands is defined, which coordinates a set of actions necessary to achieve a specified state and then teaches these commands to the user. For instance, an in-vehicle system may ship with “Phone” mode and “Off-road” modes. Perhaps the “Phone” command returns the vehicle to a state in which the windows are raised fully, the radio is muted, and the air or heat fan is no higher than at blower level 2 (since level 4 is noisy). By this first method, the manufacturer pre-packages a set of commands rather than allowing the user to define such commands. Themes are a special variation of the first method in which the pre-packaged commands invoke a set of coordinated items. 
     In a second exemplary embodiment, the user is permitted to save the current system state (through a voice command or other interaction) and return to this saved state through a voice command. The save and restore commands may function in collaboration with or independent of the previous method. For example, the user might recite, “Save car” or “Save state.” The user could then make a series of changes to the system (e.g., a vehicle) through a single command, through multiple commands, or through interactions with physical system controls. Once the user is ready to return to the previous state, he/she could issue a command such as “Restore,” which would restore all the settings to the saved state. This feature is helpful for temporary context changes, such as the tollbooth scenario. In other words, a driver may change from high-speed expressway driving to a motionless state in which he needs to communicate with and interact with another individual and then return to his original context. 
     In a third exemplary embodiment, an additional feature such that activating any mode automatically saves the system&#39;s current state is presented. This feature accomplishes principle usability goals in that it relieves the user&#39;s memory workload (users no longer are required to remember to explicitly save state) and reduces necessary user interactions (thus reducing cognitive demands and potential failure points). A global command such as “End mode” would always return the system to the state that it held immediately prior to mode activation. This restoration concerns those settings associated with the onset of the mode. In other words, if “tollbooth mode” turns wipers off, mutes radio, and lowers driver&#39;s window, then the driver turns the AC up (manually or via a voice command), and then saying “End mode” would restore the window, radio, and wipers, but would not affect the AC settings. 
     A fourth exemplary embodiment provides the user with a known state to which the user can return. This is a method by which the system automatically sets or allows the user to set a “Home” mode, which can be returned to at any time, for example, by giving a “Home” command. For an in-vehicle system, the “Home” mode could be the vehicle start up state or a state that occurs 2 minutes into the drive (presumably the point at which the driver becomes comfortable), etc. Another option is to allow the user a method of specifically setting “Home” mode at any point during the drive. This could be set through a voice command, through interaction with a push-to-talk button, or through any other control. Alternatively, the user could set a “Home” mode that is similar to that described in the first method (this mode would always be available and would remain constant unless the user specifically updated it) and a “Trip” mode which has the characteristics described above with reference to method four. 
     A fifth exemplary embodiment allows the user to nest modes and commands. This method further allows the user to alter individual settings without releasing the current mode. For example, the driver could return to “Home” mode, but then also mute the radio (assume Home mode plays radio at a certain volume setting), without exiting home mode. 
     Note that although the description above applies to in-vehicle voice systems, these same capabilities could greatly benefit users of a variety of speech-enabled entities, such as a television or a “smart house.” The applications are described with reference to  FIG. 6  described below. 
     Referring to  FIG. 1 , one example of a flowchart illustrating system of enhancing environment voice macros is described. In the exemplary embodiments of the present invention, the proposed system  12  commences at an approach menu  14 . The commands open window, turn down radio, and turn off wipers are bundled together in a takeout mode command  16 , where all three commands are executed simultaneously by allowing the user to utter only one voice activation phrase. The command prompt conduct transaction  18  executes the takeout mode command  16 . After a user prompts the system to execute the commands by uttering “takeout mode,” the user is then in a position to restore the system into its original state by voice activation. The commands restore wipers, restore radio, and close window are bundled together and restored by allowing the user to utter “end mode” at the end mode  20  step. Thus, all three commands are executed simultaneously by allowing the user to utter only one voice activation phrase. Once these commands are executed, the user may resume driving  22 . 
     Referring to  FIG. 2 , one example of how states of a system are stacked or nested according to the exemplary embodiments of the present invention is illustrated. In  FIG. 2 , when the first motion of the vehicle has been detected, the vehicle&#39;s entire state is recorded and a marker is placed on the data structure  50  representing the vehicle&#39;s set of current states and data. The state of a vehicle may be MODE: HOME  52 , Seat Position Data  54 , Window Position Data  56 , Radio Setting Data  58 , Environment Data  60 , and Wiper State  62 . 
     Referring to  FIG. 3 , one example of a how states of a system are stacked or nested, and shifted as a macro is added according to the exemplary embodiments of the present invention is illustrated. In  FIG. 3 , a tollbooth macro pushes the state of the radio, wipers, and windows. In addition, the stack  70  marks the name of the current mode. The final version of the tollbooth macro saves the entire vehicle&#39;s state. The tollbooth macro includes the states MODE: Tollbooth  72 , Window Position Data  74 , Radio Setting Data  76 , and Wiper State  78 . The home macro includes MODE: HOME  80 , Seat Position Data  82 , Window Position Data  84 , Radio Setting Data  86 , Environment Data  88 , and Wiper State  90 . 
     Referring to  FIG. 4 , one example of a user invoking one macro  100  of the system according to the exemplary embodiments of the present invention is illustrated. In  FIG. 4 , when the user invokes the home mode, the system discards the state information and mode names of the tollbooth macro  102 . Then the system traverses the settings under the home mode and sets each object to the state it was in when the vehicle first moved. The home macro includes MODE: HOME  80 , Seat Position Data  82 , Window Position Data  84 , Radio Setting Data  86 , Environment Data  88 , and Wiper State  90 . 
     Referring to  FIG. 5 , one example of a user invoking one command from a macro according to the exemplary embodiments of the present invention is illustrated. In  FIG. 5 , if the user invokes the Restore radio command, an entry from the stack  110  is searched for from the top. Once found, the system sets the Radio  92  to that value and then removes the entry unless it is part of the home mode. This illustrates that the system stack has some linked list like properties. The home macro includes MODE: HOME  80 , Seat Position Data  82 , Window Position Data  84 , Radio Setting Data  86 , Environment Data  88 , and Wiper State  90 . 
     Referring to  FIG. 6 , one example of areas of application of systems enhancing environment voice macros  120  according to the exemplary embodiments of the present invention is illustrated. The systems include automotive systems, trucking systems, military/tactical systems, home automation systems, and home equipment systems. 
     The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof. 
     As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately. 
     The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention. 
     While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.