专利汇可以提供Method and system for modeless operation of a multi-modal user interface through implementation of independent decision networks专利检索,专利查询,专利分析的服务。并且A method and system for modeless operation of a multi-modal user interface through implementation of independent decision networks includes presenting a command to a dialog manager and comparing the command to a table of decision networks to determine if a corresponding decision network entry exists. The dialog manager creates a new instance of a decision network when a corresponding decision network entry is found. The new instance of the decision network is traversed in an isolated thread of execution such that a plurality of decision networks of a same instance or different instances may be active simultaneously. The new instance of the decision network is executed responsive to the command.,下面是Method and system for modeless operation of a multi-modal user interface through implementation of independent decision networks专利的具体信息内容。
What is claimed is:1. A computer implemented method for continuous process operation of user initiated interruptible tasks through implementation of independent automata with supporting applications, comprising the steps of:presenting a request for the completion of a task to a dialog manager;comparing the task to a table of available automata to determine if a corresponding automaton is defined;creating an instance of the corresponding automaton when a corresponding table entry is found;executing the instance of the corresponding automaton responsive to the task such that a plurality of other automata corresponding to a plurality of other tasks may be active simultaneously, wherein the plurality of other tasks are of the same type as and/or different type from the task; andcompleting the task, completing other running tasks, or interrupting the task, with the option to return and continue, while presenting a new request to the dialog manager.2. The method as recited in claim 1, wherein executing the instance of the corresponding automaton responsive to the task, comprises the steps of:providing instructions to the instance of the corresponding automaton of how to accomplish the task through a specifically crafted decision network; andexecuting these instructions independently of the plurality of other automata.3. The method as recited in claim 1, further comprising the step of:querying a user to provide input to resolve discrepancies and ambiguities and input additional information.4. The method as recited in claim 1, further comprising the step of:requesting an instance of an automaton be created to provide a service, the requesting being initiated by another automaton.5. The method as recited in claim 1, further comprising the step of:requesting a plurality of instances of automata be created to provide a service, the requesting being initiated by the dialog manager.6. The method as recited in claim 1, further comprising the step of:generating a record of activity by an automaton for the activity of that automaton.7. The method as recited in claim 1, wherein the task is presented in a formal language such that a plurality of human utterances represents a set of tasks to be taken.8. The method as recited in claim 1, further comprising the step of interfacing with at least one application to respond to the command, the interfacing being initiated by at least one automaton.9. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for continuous process operation of user initiated interruptible tasks through implementation of independent automata with supporting applications, the method steps comprising:presenting a request for the completion of a task to a dialog manager;comparing the task to a table of available automata to determine if a corresponding automaton is defined;creating an instance of the corresponding automaton when a corresponding table entry is found;executing the instance of the corresponding automaton responsive to the task such that a plurality of other automata corresponding to a plurality of other tasks may be active simultaneously, wherein the plurality of other tasks are of the same type as and/or different type from the task; andcompleting the task, completing other, running tasks, or interrupting the task, with the option to return and continue, while presenting a new request to the dialog manager.10. The program storage device as recited in claim 9, wherein executing the instance of the corresponding automaton responsive to the task, comprises the steps of:providing instructions to the instance of the corresponding automaton of how to accomplish the task through a specifically crafted decision network; andexecuting these instructions independently of the plurality of other automata.11. The program storage device as recited in claim 9, further comprising the step of:querying a user to provide input to resolve discrepancies and ambiguities and input additional information.12. The program storage device as recited in claim 9, further comprising the step of:requesting an instance of an automaton be created to provide a service, the requesting being initiated by another automaton.13. The program storage device as recited in claim 9, further comprising the step of:requesting a plurality of instances of automata be created to provide a service, the requesting being initiated by the dialog manager.14. The program storage device as recited in claim 9, further comprising the step of:generating a record of activity by an automaton for the activity of that automaton.15. The program storage device as recited in claim 9, wherein the task is presented in a formal language such that a plurality of human utterances represents a set of tasks to be taken.16. The program storage device as recited in claim 9, further comprising the step of interfacing with at least one application to respond to the command, the interfacing being initiated by at least one automaton.17. A system for continuous process operation of user initiated interruptible tasks through implementation of independent automata with supporting applications comprising:a user interface adapted for receiving commands for the completion of a task;a dialog manager adapted to receive the commands from the user interface;a table of automata stored in a memory, the table providing cross-references between commands and automata; anda plurality of automata responsive to the dialog manager, the dialog manager instantiating automata based on the table of automata to respond to the commands to complete the task;wherein the task is completed, other running tasks are completed, or the task is interrupted, with the option to return and continue, while a new command is presented to the dialog manager.18. The system as recited in claim 17, wherein the commands include formal language commands.19. The system as recited in claim 17, wherein each of the plurality of automata includes states and transitions between states.20. The system as recited in claim 19, further comprising a plurality of decision networks for instructing the plurality of automata to transition between the states, wherein the states initiate interface with the supporting applications.21. The system as recited in claim 17, wherein the dialog manager is adapted to query and receive query responses pursuant to information needed by the automata.22. The system as recited in claim 17, wherein the plurality of automata include an active state within an isolated thread of execution wherein a plurality of automata are capable of simultaneously being in the active state.23. The system as recited in claim 17, wherein the commands include human utterances.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to dialog management for conversational speech systems, and more particularly to modeless operation of a conversational computer system with multiple applications.
2. Description of the Related Art
Conversational systems typically focus on the interaction with a single application at a time. A speaker for a conversational system is only permitted to interact with the active application. This type of interaction is generally referred to as a modal interaction or a modal system. That is, the user must specify which application he intends to use, and must finish working with that application before using another. This is disadvantageous in many situations where several applications may be needed or desired to be accessed simultaneously. Further, the conventional modal systems may result in loss of efficiency and time. In many instances, this leads to reduced profitability.
To illustrate a conventional modal system, a first task must be performed and closed prior to opening a second task and performing the second task. Conventional conversational modal systems are not capable of distinguishing tasks between applications. However, this is not how every day tasks are generally performed. In an office setting, for example, a worker might begin writing a letter, stop for a moment and place a telephone call, then finish the letter. The conventional modal systems do not provide this flexibility.
Therefore, a need exists for a system and method which includes a modeless conversational speech system which provides greater flexibility by controlling multiple applications concurrently. A further need exists for a system and method which employs information from applications and the user's actions to predict which applications the user will need.
SUMMARY OF THE INVENTION
A method, which may be implemented by a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for modeless operation of a multi-modal user interface through implementation of independent decision networks, includes presenting a command to a dialog manager and comparing the command to a table of decision networks to determine if a corresponding decision network entry exists. The dialog manager creates a new instance of a decision network when a corresponding decision network entry is found. The new instance of the decision network is traversed in an isolated thread of execution such that a plurality of decision networks of a same instance or different instances may be active simultaneously. The new instance of the decision network is executed responsive to the command.
In other methods, which may be implemented using the program storage device, the step of querying a user to provide input to resolve discrepancies in decision networks and input additional information may be included. The steps of requesting an instance of a decision network be created to provide a service, the requesting being initiated by another decision network, and/or requesting a plurality of instances of decision networks be created to provide a service, the requesting being initiated by the dialog manager may be included. The step of generating a record of activity by a decision network for the activity of that decision network may also be included. The command may be presented in a formal language such that a plurality of human utterances represent an action to be taken. The step of interfacing with at least one application to respond to the command may be included where the interfacing is initiated by at least one decision network.
A system for modeless operation of a multi-modal user interface, in accordance with the present invention, includes a user interface adapted for receiving commands and a dialog manager adapted to receive the commands from the user interface. A table of decision networks is stored in a memory. The table provides cross-references between commands and decision networks. A plurality of decision networks are responsive to the dialog manager. The dialog manager instantiates decision networks based on the table of decision networks to respond to the commands.
In alternate embodiments, the commands may include formal language commands or human utterances. The decision networks preferably include states and transitions between states. The states are capable of initiating actions. The dialog manager may be adapted to query and receive query responses pursuant to information needed by the decision networks. The plurality of decision networks may include an active state on an isolated thread of execution wherein any number of the decision networks are capable of simultaneously being in the active state.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF DRAWINGS
The invention will be described in detail in the following description of preferred embodiments with reference to the following figures wherein:
FIG. 1
is a block/flow diagram showing dialog manager interaction with decision networks in accordance with the present invention;
FIG. 2
illustratively depicts various threads of execution for a single command in accordance with the present invention;
FIG. 3
is a schematic diagram illustratively showing a simple decision network in accordance with the present invention;
FIG. 4
is a schematic diagram illustratively showing interaction between two decision networks in accordance with the present invention; and
FIG. 5
is a block/flow diagram of a system/method for modeless operation in accordance with the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention relates to dialog management for conversational speech systems, and more particularly to modeless operation of a conversational computer system with multiple applications. The present invention controls multiple applications through a conversational speech system, which manipulates information from applications, presents this information to the user, and converses with the user when some aspect of this manipulation is unclear or ambiguous. The present invention provides methods for modeless operation by which a user may begin working with one application, leave his work incomplete, work with another application, and then return to the first application.
The present invention is capable of supporting and interacting with any application a user may desire to use and allows the user to begin one or more operations with one or more applications, work with other applications, and then return to previous operations. This is completely different from the operation of most computer systems. With these, the user can only complete one task at a time, and as described above, this is usually not a very efficient use of resources.
It should be understood that the elements shown in
FIGS. 1-5
may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in software on one or more appropriately programmed general purpose digital computers having a processor and memory and input/output interfaces. Referring now to the drawings in which like numerals represent the same or similar elements and initially to
FIG. 1
, a conversational system
10
used to provide modeless operation in accordance with the present invention is shown. System
10
includes a dialog manager
12
which is responsive to a command or responsive to a command or response provided in block
14
. A table of decision networks
16
is included which represents a plurality of decision networks
18
. A command or response, from block
14
, from the user is presented to the dialog manager
12
for processing. Block
14
may include an interface as described in commonly assigned U.S. Pat. No. 6,377,913, entitled “METHOD AND SYSTEM FOR MULTI-CLIENT ACCESS TO A DIALOG SYSTEM”, filed concurrently herewith and incorporated herein by reference. In one embodiment, the command given to the dialog manager
12
is not the actual spoken command, but rather an element of a formal language representing the meaning of the command. In this manner, there may be many human utterances which convey the same meaning to the dialog manager
12
. Alternatively, actual human language may be given as the command provided the dialog manager
12
is capable of handling this type of command. That is, the dialog manager can recognize spoken utterances. Illustratively, an actual form of this formal language may include “command(argumentl=valuel, . . . , argumentj=valuej)” where “command” represents the nature of the action to be taken or response, and “argument valuel=valuel” represents a qualifier to this command. In this manner, the utterance “Do I have anything scheduled for tomorrow?” would be transformed into the forma language “query_calendar(day=tomorrow)”. The execution of a users command is initiated by the dialog manager
12
. The command portion of the forma language is extracted and compared against the table of available decision networks
16
. If a corresponding entry is found, the dialog manager
12
creates a new instance of a decision network
18
. The table of decision networks
16
is not necessarily statically bound to the dialog manager
12
. It may be modified at any time and different tables may be provided for the several users of the system
10
. The decision network
18
selected in accordance with table
16
is traversed in its own thread of execution. Thus, multiple decision networks
18
may be active simultaneously, and as they are dynamically instantiated, several instances of the same network may even be active at the same time. It is this dynamic instantiation and the multi-threading that are needed to provide the desired modeless operation in accordance with this invention. The decision networks
18
may be though of as recipes for accomplishing a user's intended action. At each node of the network
18
, the network
18
sends a query or command to an application
19
, or poses a question to the user. The network
18
then awaits a response, and on the basis of this response, performs a transition to a new state or exits. The queries sent by the decision network
18
are requests for information necessary to the successful completion of the user's action, but this information is not necessarily of direct interest to the user. For example, if the user's utterance was “Change the subject of this message to ‘Proposal”’, the decision network implementing this command would first check to see if the current application in fact had a subject field. If it indeed has a subject field, this information would not be presented to the user. However, if the user's utterance was “Do I have any new mail?”, the result of the query issued by the decision network would naturally be provided to the user. The commands issued by the decision network
18
may influence the state of the application. If the user were to say “Go to the next appointment”, the application providing calendaring functions would, as the result of a method issued by the decision network
18
, change its selected appointment to the next appointment within its list of appointments. Advantageously, this can be done while employing one or more different applications, for example, typing a letter in a word processing application, and employing a spreadsheet.
If the decision network
18
needs more information from the user, the decision network
18
presents a question to the user and awaits a response. In this case, the decision network
18
registers the type of responses it expects with the dialog manager
12
, as described in commonly assigned U.S. application Ser. No. 09/374,374 entitled “METHOD AND SYSTEM FOR DETERMINING AND MAINTAINING DIALOG FOCUS IN A CONVERATIONAL SPEECH SYSTEM,” filed concurrently herewith and incorporated herein by reference. The decision networks
18
act as finite state automata, and as such are independent agents. The decision networks
18
may interact with each other, and may even request that a new decision network be instantiated. An example of this behavior is the performance of the system
10
when the user responds in the positive to a “yes/no” question, i.e., the decision network
18
implementing the concept of “AFFIRMATION” will independently seek out that decision network which posed the question and deliver the affirmative result. A decision network
18
will ask that another network be created when it needs some subsidiary service. For example, if the user were to say “Send a new message to Mary” the decision network implementing the concept of “SEND_MAIL_MESSAGE” would request the help of a decision network implementing name resolution to resolve the full name and mail address of the person, Mary. The decision networks
18
may be terminated at any time by the dialog manager
12
.
Referring to
FIG. 2
, a flow chart showing modeless operation is illustratively shown. Modeless operation is provided by the present invention through the use of the decision networks
18
as independent automata. In
FIG. 2
, each vertical column represents a separate thread of execution. It is noted that the user interacts only with the dialog manager
12
. Thus, for modeless operation, the dialog manager
12
remains available at virtually all times.
The action presented in
FIG. 2
is initiated when the user says “Open the one from Steve”. The formal language translation of this is “open_object(sender=Steve)”. The dialog manager
16
examines its table of decision networks
16
(
FIG. 1
) and instantiates that network
18
a
implementing the concept of “OPEN_OBJECT”. This network
18
a
examines the arguments passed to it, and requests that the dialog manager
12
create an instance of the resolveSender decision network
18
b
for resolving the name “Steve”. This new decision network
18
b
performs its work in a separate thread of execution from either the dialog manager
12
or the original decision network
18
a
. The resolveSender decision network
18
b
makes use of names of senders in a mail application by sending a query to a mail application list
28
. Decision network
18
b
further examines a multi-modal history
28
to see if there had been a previous reference to a person named “Steve”. Suppose here that the resolveSender network
18
b
found two people named “Steve”, say “Steve Krantz” and “Steve Bradner”. This ambiguity must, of course, be resolved by the user. The resolveSender network
18
b
requests that the dialog manager
12
produce a prompt
30
to this effect for the user. Note that once this prompt
30
has been presented, the dialog manager
12
is again free. The user need not respond to the prompt
30
, but may if he wishes perform some new, unrelated action, responding to the prompt
30
later, if at all.
After a user
32
responds with the utterance “I mean Steve Krantz” the action of open the message may proceed. The utterance is translated into the formal language “select_object(object=Steve Krantz )” (in block
14
of
FIG. 1
) and passed to the dialog manager
12
. As before, the dialog manager instantiates a decision network
18
c
implementing this concept (i.e., select object). This new decision network
18
c
deduces that the resolveSender decision network
18
b
had posed the question initially, and passes the result to decision network
18
c
. Now the work of the resolveSender network
18
b
is completed and it returns the resolved name to the original OpenObject decision network
18
a
. The arguments originally given to this network
18
a
are now completely resolved so the network sends the desired command to a mail application
26
. Subsequently it creates a record of what the decision network has done, including all of the steps in the resolution sequence. After each of the networks completes its appointed task, it exits, removing all trace of itself except for this record.
Referring to
FIG. 3
, a schematic diagram of a simple decision network
100
is illustratively shown. Here, states
102
of the network
100
are indicated by circles and transitions
104
are indicated by lines between states
102
. Each state
102
of the decision network
100
implements two methods: receiveCommand and receiveResult. When the receiveCommand method is entered, the decision network
100
issues a query, command, or prompt as noted above. The method then awaits the result. Upon receipt of this result, the receiveResult method is entered. At this point, the network
100
examines the result and decides which state should be the next state (i.e., S
2
, S
3
, S
4
, etc.).
The decision network
100
implements the concept “CHECK_NEW_MAIL” which would used to act upon a user's utterance of the type “Please check my mail”. The decision network
100
is entered at the state labeled S
1
. This state issues the command “REFRESH_INBOX” to a mail application (i.e., mail application
26
of FIG.
2
). The result of this command will be either “Success” after the inbox is successfully refreshed, or “Failure”. The receiveResult method in state S
1
is entered. If the result is success, the next state will be S
2
. If it is not, the decision network
100
exits.
The receiveCommand in state S
2
issues the command “CHECK_NEW_MAIL” to the mail application
26
. The response will be the number of new messages. In the receiveResult method, this number is stored away and the next state will be S
3
. In this state's receiveCommand method a prompt encapsulating this number of new messages is generated and presented to the user. The next state will be S
4
in which the decision network records what it has done. Subsequently the network
100
exits.
Referring to
FIG. 4
, a schematic illustrates a set of two decision networks
200
and
300
performing the action corresponding to the utterance “Send a new message to Steve” which is translated to the formal language statement “send_message(recipient=Steve )”. The action begins at state S
1
′ in the sendMessage decision network
200
. The receiveCommand (RC) method requests that the dialog manager
12
create an instance of the resolveRecipient (RR) decision network
300
to resolve the recipient's name. When decision network
300
finishes its work, it returns a result of “Success” or “Failure” to sendMessage decision network
200
. Within the receiveResult method of S
1
′, the next state is set to S
2
′ if the result is “Success”, otherwise the sendMessage decision network
200
exits. Within the receiveCommand (RC) method of S
2
′, the command “SEND_MESSAGE” is sent to the mail application
26
(see
FIG. 2
) along with the previously resolved name of the intended recipient.
The action of the resolveRecipient decision network
300
begins at its state S
1
″. The network
300
sends a command to the address book component “LOOKUP, Steve” and awaits the result which will be that there are no people named “Steve” in the address book, that there is exactly one, or that there are more than one. This result is examined within the receiveResult (RR) method of S
1
″. For simplicity, the transition from state S
1
″ to S
3
″ which would be obtained in the case of exactly one person is not shown in FIG.
4
.
If the address book was unable to provide the name of anyone named “Steve” a transition is made to state S
4
″ where a question (QU) of the form “I could not find the address of Steve. Would you like to select someone else?” is posed to the user. If the user supplies the name of a new person, a transition is made to state S
1
″, i.e., the initial state, and the resolution process begins again. If the user responds in the negative, a transition is make to state S
5
″. Within state s
5
″ the result “Failure” is returned to the waiting sendMessage decision network
200
and the resolveRecipient decision network
300
subsequently exits.
If the address book includes the names of more than one person named “Steve” the user must resolve this ambiguity. In this case, a transition is made to state S
2
″ in which a query of the form “Do you mean Steve Krantz or Steve Bradner?” is presented to the user. If the user selects one of these choices, that choice is recorded and a transition is made to state S
3
″ where the result “Success” and the resolved name are delivered to the sendMessage decision network
200
. If the user does not select one of these names, perhaps because the name “Steve” was not the correct name to start with, a transition is made to state S
4
″ so that the user may select a new name, as before.
Referring to
FIG. 5
, a block/flow diagram is shown for a system/method in accordance with the present invention. The system/method may be implemented by a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for modeless operation of a multi-modal user interface through implementation of independent decision networks. In block
402
, a command is present to a dialog manager by a user. The command is compared to a table of decision networks to determine if a corresponding decision network entry exists, in block
404
. The dialog manager creates a new instance of a decision network when a corresponding decision network entry is found, in block
406
. In block
408
, the new instance of the decision network is traversed in an isolated thread of execution such that a plurality of decision networks of a same instance or different instances may be active simultaneously. Also, decision networks (or the dialog manager) may instantiate new instances for services needed by the active decision networks or for other commands of the user. In block
410
, the new instance of the decision network is executed responsive to the command. This may be performed by calling one or more applications, requesting new information from the user, etc. In block
412
, a record of activity is generated for each decision network's activity.
The present invention permits the modeless operation of a multi-modal user interface. With this invention, it becomes possible to perform several tasks simultaneously. Thus, a user can start one task, then start a second task without completing the first and later return to the first task. The tasks the user may perform are implemented as finite state automata. Each of these executes a decision network running within its own thread of execution. Each of these automata has access to the state information of the complete application, but acts independently. The present invention has been described in terms of an illustrative example involving identifying and sending a message. However, the present invention is much broader and may be used on any user interface platform with any number of different applications, for example, a calender application, a mail application, a spread sheet application, etc.
Having described preferred embodiments of a method and system for modeless operation of a multi-modal user interface through implementation of independent decision networks (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments of the invention disclosed which are within the scope and spirit of the invention as outlined by the appended claims. Having thus described the invention with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种基于家庭智能服务机器人控制系统及其控制方法 | 2020-05-22 | 413 |
汽车爆胎安全稳定控制系统 | 2020-05-13 | 125 |
一种基于卫星定位系统的高大架体垂直度监测系统及方法 | 2020-05-14 | 727 |
用于睡眠监测的心肺信号感知与采集系统 | 2020-05-16 | 902 |
多模态深度融合机载座舱人机交互方法 | 2020-05-18 | 294 |
基于北斗双天线系统的高大架体垂直度监测系统及方法 | 2020-05-15 | 474 |
一种基于云平台的人体步态与下肢协调性康复训练平台 | 2020-05-20 | 779 |
一种高压直流断路器控制系统 | 2020-05-21 | 866 |
一种基于手势和眼动的无人机操控方法、装置和系统 | 2020-05-15 | 874 |
一种基于人脸识别的访客智能管理系统及其管理方法 | 2020-05-14 | 344 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。