WO2006101164A1 - 対話情報処理装置及び対話情報処理方法 - Google Patents
対話情報処理装置及び対話情報処理方法 Download PDFInfo
- Publication number
- WO2006101164A1 WO2006101164A1 PCT/JP2006/305815 JP2006305815W WO2006101164A1 WO 2006101164 A1 WO2006101164 A1 WO 2006101164A1 JP 2006305815 W JP2006305815 W JP 2006305815W WO 2006101164 A1 WO2006101164 A1 WO 2006101164A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- net
- processing
- input
- item
- status
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 45
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 32
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000008859 change Effects 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 73
- 230000004044 response Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 5
- 101150105350 tts1 gene Proteins 0.000 description 5
- 101000927793 Homo sapiens Neuroepithelial cell-transforming gene 1 protein Proteins 0.000 description 3
- 101001124937 Homo sapiens Pre-mRNA-splicing factor 38B Proteins 0.000 description 3
- 101000631937 Homo sapiens Sodium- and chloride-dependent glycine transporter 2 Proteins 0.000 description 3
- 101000639975 Homo sapiens Sodium-dependent noradrenaline transporter Proteins 0.000 description 3
- 101000680095 Homo sapiens Transmembrane protein 53 Proteins 0.000 description 3
- 102100028886 Sodium- and chloride-dependent glycine transporter 2 Human genes 0.000 description 3
- 102100022244 Transmembrane protein 53 Human genes 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 3
- 101000721401 Homo sapiens Inactive ubiquitin thioesterase OTULINL Proteins 0.000 description 2
- 101001123843 Homo sapiens Nucleolus and neural progenitor protein Proteins 0.000 description 2
- 102100025186 Inactive ubiquitin thioesterase OTULINL Human genes 0.000 description 2
- 102100028752 Nucleolus and neural progenitor protein Human genes 0.000 description 2
- 101100236201 Arabidopsis thaliana LSU2 gene Proteins 0.000 description 1
- 101000602918 Homo sapiens Nicalin Proteins 0.000 description 1
- 101000634679 Homo sapiens Nucleolar complex protein 2 homolog Proteins 0.000 description 1
- 101000801088 Homo sapiens Transmembrane protein 201 Proteins 0.000 description 1
- 101000851579 Homo sapiens Transmembrane protein 209 Proteins 0.000 description 1
- 102100037228 Nicalin Human genes 0.000 description 1
- 102100029101 Nucleolar complex protein 2 homolog Human genes 0.000 description 1
- 101150067286 STS1 gene Proteins 0.000 description 1
- 101150005017 STS2 gene Proteins 0.000 description 1
- 101100028967 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PDR5 gene Proteins 0.000 description 1
- 101100364650 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RVS161 gene Proteins 0.000 description 1
- 101100533616 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SLA2 gene Proteins 0.000 description 1
- 101100533615 Schizosaccharomyces pombe (strain 972 / ATCC 24843) end4 gene Proteins 0.000 description 1
- 102100032830 Tetraspanin-9 Human genes 0.000 description 1
- 102100036754 Transmembrane protein 209 Human genes 0.000 description 1
- 101150006480 Ubash3a gene Proteins 0.000 description 1
- 101150027289 Ubash3b gene Proteins 0.000 description 1
- 102100040337 Ubiquitin-associated and SH3 domain-containing protein A Human genes 0.000 description 1
- 102100040338 Ubiquitin-associated and SH3 domain-containing protein B Human genes 0.000 description 1
- 101100313728 Vitis vinifera VINST1 gene Proteins 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Definitions
- the present invention relates to a dialogue information processing technique for performing information processing while talking with a user by voice or the like.
- an interactive information processing device a device that performs interactive information processing with a user.
- the interactive information processing apparatus information is acquired through interaction with the user, and processing based on the information is performed. For example, the user's utterance content is recognized by a speech recognition device, and then a response or question is repeatedly answered by a speech synthesizer, and the device is operated in accordance with the user's intention.
- the “dialogue” here includes not only voice dialogue but also dialogue by switch operation and dialogue by image.
- the dialog information processing apparatus described in Patent Document 2 further describes a technique for naturally shifting to a different AP by a user's utterance by using a scenario with a hierarchical structure.
- the active state is a diagram showing a hierarchical structure of scenarios in the interactive information processing apparatus described in Patent Document 2. Scenarios are prepared as A-AP scenario group, B-AP scenario group, and C AP scenario group corresponding to three APs. Separately from each AP scenario group, there is a route scenario that performs application branch processing. The application branching process in the route scenario starts the AP according to the input information from the user and calls the AP scenario group corresponding to the AP. As a result, if the user instructs to move to another AP scenario group while executing a process in one AP scenario group, it is necessary to move to the root scenario. Can be performed.
- Patent Document 1 Japanese Patent Laid-Open No. 2001-56694
- Patent Document 2 Japanese Patent Laid-Open No. 2001-296943
- the object of the present invention is to allow easy addition / deletion of a scenario, and appropriately process contents when a plurality of events are simultaneously input from a user. It is to provide a dialogue information processing technology capable of simultaneously executing. Means for solving the problem
- the first configuration of the interactive information processing apparatus is a program for appropriately selecting and executing each processing item interactively corresponding to an input event for a plurality of processing items prepared in advance. It is a talk information processing device, and it is a net that specifies the information transmission relationship between the processing items!
- a net state table for storing variables representing state information transmitted through the nets (hereinafter “net status” t) as a table; connected to the processing item and the input side of the processing item
- input nets a set of nets
- output nets connected to the output side of the processing items
- Processing item execution module sequentially selects all the processing items in the processing item table and sets the net status of the input net of the selected processing item to the network Selection state means for reading out and inputting to the processing item execution module corresponding to the processing item and executing it; and selection execution when any net status in the net state table changes
- a state change determination means for executing each processing item execution module by means.
- the status change determination means first detects a change in the net status, and each process is performed by the selection execution means. Execute item execution module.
- the selection execution means sequentially reads out process items from the process item table, and acquires the net status of the input net of the process item as well as the net state table power. And get The net status is input to the processing item execution module corresponding to the processing item and executed.
- Each processing item execution module executes processing related to the processing item when the net status of the input net is in an active state (asserted). Then, the net status of the output net in the net status table is updated as necessary from the execution result. On the other hand, when the net status of the input net is inactive (negated), the processing related to the processing item is not executed.
- the state change determination unit detects the change of the net status in the net state table again. If a change is detected, the above operation is repeated.
- the net status can take a plurality of states. For example, there may be two states, an active state and an inactive state, or more states may be adopted.
- Initial net state updating means for updating the network to an active state.
- the initial net state update means is updated to the active state in response to the input event. This triggers the execution of all process item execution modules until the net status in the net status table stabilizes as described above. As a result, the processing item for the input event can be executed.
- a third configuration of the interactive information processing apparatus is that, in the second configuration, the initial net state updating means responds to each input event when a plurality of input events are input simultaneously. The net status of each of the nets to be updated is updated.
- a fourth configuration of the interactive information processing apparatus in the second or third configuration, includes an input device that generates an input event by a user's operation, and the initial net state update means includes A recognition dictionary for storing a correspondence relationship between each input event and predetermined recognition information; input event recognition means for referring to the recognition dictionary for the input event and outputting corresponding recognition information; and the input event Recognition information input means for updating the net status of the net corresponding to the recognition information output by the recognition means to a state specified by the recognition information.
- the input event recognition unit recognizes the input event and outputs recognition information. Then, the recognition information input means appropriately updates the net status of the net to a state specified by the recognition information in accordance with the recognition information.
- the input device it is possible to use various input devices used in a computer such as a voice input device, an image input device (camera, scanner, etc.), a touch panel, a key input device, and a pointing device. It can.
- Examples of the input event include an audio signal, an image signal, and a key input signal.
- Examples of the recognition information include word information and ON ZOFF information.
- a program according to the present invention is characterized by causing a computer to function as the interactive information processing apparatus having any one of the first to fourth configurations by being read and executed by a computer.
- a net designating an information transmission relationship between the processing items is transmitted via the nets.
- a net state table that stores variables representing state information (hereinafter referred to as “net status” and “!”) As a table; the processing item and a net connected to the input side of the processing item (hereinafter referred to as “input net”).
- output net a net connected to the output side of the processing item (hereinafter referred to as “output net”), a processing item table storing a set as a table; A plurality of processing item execution modules that execute processing contents of the processing item for the net status of the net and update the net status of the output net according to the result;
- An initial net state update step for updating the net status of the net corresponding to the incoming event; and a processing item execution step for appropriately selecting and executing the processing item execution module for the input event.
- the item execution step there is a net state change detection step in which any change in the net status of the net state table is detected; All the processing items of the selected processing item are sequentially selected, and the net status of the input net of the selected processing item is selected.
- a selection execution step of reading out the state table force and inputting it into the processing item execution module corresponding to the processing item and executing it is repeatedly executed until no change in the net status is detected.
- the net status corresponding to the input event is activated (asserted), and all process items are executed until the net status in the net state table is stabilized.
- the module By repeating the execution of the module, even if multiple input events are input at the same time, it is possible to correctly execute the processing items corresponding to them.
- execution control of each processing item is performed using the processing item table and the net state table, it is very easy to add and delete processing items and flexibly cope with changes in processing items. It becomes possible.
- FIG. 1 is a block diagram showing a configuration of a dialog information processing apparatus 1 according to Embodiment 1 of the present invention.
- FIG. 2 is a diagram illustrating an example of a scenario structure in the interactive information processing apparatus 1 according to the first embodiment.
- FIG. 3 is a diagram showing the structure of a processing item table 12.
- FIG. 4 is a diagram showing the structure of the net state table 10.
- FIG. 5 is a flowchart showing the operation of the dialog recognition module 2.
- FIG. 6 is a flowchart showing the operations of the dialog processing engine 3 and each processing item execution module 4 i.
- FIG. 7 is a diagram showing a hierarchical structure of scenarios in the interactive information processing apparatus described in Patent Document 2.
- FIG. 1 is a block diagram showing the configuration of the interactive information processing apparatus 1 according to the first embodiment of the present invention.
- the dialog information processing apparatus 1 includes a dialog recognition module 2 that is an initial net state update means, a dialog processing engine 3, a process execution module set 4, an input device 5, and an output device 6.
- the input device 5 is a device that generates an input event by a user operation. In this embodiment, it is assumed that a microphone is used as the input device 5.
- the output device 6 is a device that actually performs various types of processing in accordance with instructions input by the user. For example, a speaker that performs audio output processing, an air conditioner that performs indoor air conditioning, and a motor that opens and closes windows.
- the process execution module set 4 is a set of process item execution modules 4-1, 4-2,..., 4-n provided in correspondence with various process items prepared in advance.
- Each processing item execution module 4 1, 4-2,..., 4 n is a module that executes an operation control process for various processing items.
- processing item refers to an item of processing actually performed in various devices (output device 6) in response to an input event. For example, in response to the input event “Turn on the air conditioner”, the process of saying “Turn on the air conditioner” or the process of actually operating the air conditioner, “Close the window” t, Close the window ”and process to activate the motor that actually closes the window.
- a transition order relationship is defined between these processing items. For example, after the processing item TTS1 that says “air conditioner or window?” For the input event “down”, the next input event is “air conditioner”, “window” or any other.
- Each net has two states, an active (asserted) state and an inactive (negated) state (the active state may be further defined as two or more states if necessary).
- This net state is called “net status”.
- Each processing item execution module 4-1, 4- 2,..., 4-n executes the processing contents of the processing item when the net status of the input net is active. Then, the net status of the output net is updated according to the execution result.
- the dialogue recognition module 2 is a device that recognizes an input event such as a user's utterance input from the input device 5 such as a microphone and outputs it as recognition information in a predetermined format.
- the dialogue recognition module 2 includes a recognition dictionary 7, input event recognition means 8, and recognition information input means 9.
- the recognition dictionary 7 stores various types of recognition information for recognizing user's utterances such as words, sentences, and speech waveforms.
- the input event recognition means 8 recognizes an input event input from the input device 5 with reference to the recognition dictionary 7 and outputs it as recognition information.
- the recognition information input means 9 rewrites the net state table 10 described later based on the recognition information output from the input event recognition means 8.
- the dialog processing engine 3 includes a net state table 10, a previous state net state table 11, a processing item table 12, a selection execution unit 13, and a state change determination unit 14.
- the net status table 10 stores the net status of each net as a table.
- the previous state net state table 11 stores the net status of each net before the update when the processing related to each processing item is executed once and the net status of each net is updated.
- the previous state net state table 11 may store the net status of the previous state of all nets, or only the changed nets. Further, it may be configured to be stored as one table by merging with the net state table 10.
- the process item table 12 stores a set of ⁇ process item, input net connected to the input side of the process item, output net connected to the output side of the process item ⁇ as a table.
- the selection execution means 13 sequentially selects all the processing items in the processing item table 12, and reads the net status of the input net of the selected processing item from the net state table 10. Then, the processing item execution module 4 i corresponding to the processing item is inputted and executed.
- the state change determination means 14 is configured so that each of the process item execution modules 4-1, 4-2,..., 4 n is executed by the selection execution means 13 when any net status in the net state table 10 changes. Is executed.
- FIG. 2 is a diagram illustrating an example of a dialog scenario structure in the dialog information processing apparatus 1 according to the first embodiment.
- This dialogue scenario shows an example in which air conditioning in a car is executed in an interactive manner.
- the processing items are the parts to which the symbols FCT, QB, TTS, STS, BR, and TRM are attached.
- FCT represents a processing item for extracting a specified keyword described in an XML (Extensible Markup Language) ff expression for speech recognition also with input speech power.
- “Ku FCT>” attached to each FCT represents a corpus (keyword) for entering the FCT.
- FCT is a processing item executed by the dialog recognition module 2 (initial net state update means), and is treated as a keyword for entering the category of this dialog scenario.
- QB represents a process of extracting a speech word from speech recognition using a specified XML and branching the flow of dialogue.
- TTS Text to Speech
- KU SP> attached to each TTS indicates the content of the text to be read out by the TTS.
- a question can be described using both TTS and QB.
- TTS1 Air conditioning or windows?
- QB1 the recognition process for the answer to the question can be realized by specifying the XML file that contains the expected answer method (“air conditioner”, “window”).
- rSTSj represents internal status information.
- STS1 represents internal status information indicating whether or not the window is open
- STS2 represents internal status information indicating whether or not the air conditioner is on.
- BR represents a process of branching the flow of dialogue depending on internal status information other than voice recognition. For example, in BR1, the content of the conversation is changed depending on whether the air conditioner is on or off.
- TRM represents termination processing. In other words, this dialogue scenario ends in TRM.
- a line connecting each processing item (FCT, QB, TTS, STS, BR, TRM) represents a net.
- the number given to each net represents the net number.
- the net with net number X is referred to as “NETx”.
- “JA” and “JC” represent connection points of the net.
- the processing item FCT6 is executed by the conversation recognition module 2, and NET6 is activated.
- the processing item TTS1 an utterance process of “Is the air conditioner or window?” Is performed, NET6 is deactivated and NRT19 is activated.
- NET20 is activated.
- processing item QB1 is executed and an input event is determined to determine whether “air conditioner”, “window”, or others have been input.
- a process for branching the dialog flow is performed, and NET19, 20 is deactivated and one of NRT27, 31, 29 is activated.
- the dialogue process is executed according to the dialogue scenario shown in FIG.
- FIG. 3 is a diagram showing the structure of the processing item table 12.
- FIG. 3 as an example, the structure of the processing item table 12 for the dialogue scenario of FIG. 2 is shown.
- a pointer for calling the process item execution module 4 i corresponding to each process item in FIG. 2 is stored.
- the network connection point “JA” is also treated as a virtual process item that does nothing.
- an input net specifier for the processing item is stored.
- an output net specifier for the processing item is stored. That is, a pointer indicating the net status of the output net in the net state table 10 is stored.
- FIG. 4 is a diagram showing the structure of the net state table 10.
- the net state table 10 and the previous state net state table 11 are shown separately for easier understanding, but in FIG. 4, the net state table 10 and the previous state net state table 11 are shown.
- the “net status” column stores the net status of the net in the left column.
- the “change flag” field stores a change flag indicating whether or not the net status has been changed.
- the change flag “0” indicates no change and “1” indicates a change.
- FIG. 5 is a flowchart showing the operation of the dialogue recognition module 2.
- step S1 the input event recognition means from the input device 5 by the user's speech or the like
- the input device 5 outputs the speech waveform to the input event recognition means 8.
- step S2 the input event recognition unit 8 recognizes the input event by referring to the recognition dictionary 7, and outputs the recognition result to the recognition information input unit 9 as recognition information.
- the input event recognition means 8 refers to the recognition dictionary 7 and analyzes the speech waveform to analyze “ Text information “with an icon” is output as recognition information.
- step S3 the recognition information input means 9 refers to the processing item table 12 and searches for a processing item FCT having a keyword that matches the recognition information. Then, for the output net of the processing item whose keyword matches, the net status in the net status table 10 is changed to the active status and the change flag is set to 1.
- the recognition information input means 9 searches for a process item QB having a keyword that matches the recognition information among the process items QB in which the input net is in an active state. Then, for the output net of the branch that matches the keyword among the output nets of the processing item QB detected by the search, the net status in the net state table 10 is changed to the active state, and the change flag is set to 1. .
- the recognition information input means 9 activates NET1, which is the output net of the processing item FCT1.
- the recognition information input means 9 NET31 which is the output net of the branch corresponding to “,” is activated.
- the dialog recognition module 2 ends all processes and waits for an input event to be input again.
- FIG. 6 is a flowchart showing the operations of the dialogue processing engine 3 and each processing item execution module 4 i.
- step S 11 the state change determination means 14 monitors the force / force of change in the net status of the net state table 10. If the net status has changed, go to step S12.
- step S12 the selection execution means 13 selects one processing item in order from the top row of the processing item table 12.
- step S 13 the selection execution unit 13 acquires the net status of the input net of the selected processing item from the net state table 10. [0080] In step S14, the selection execution means 13 calls the processing item execution module 4-i corresponding to the selected processing item and passes the acquired net status. Then, the input net of the selected process item is returned to the inactive state. When the selected processing item is the connection point CF A), the selection execution means 13 activates the output net at the connection point and returns the input net to the inactive state.
- each processing item execution module 4 i when called from the selection execution means 13, the net status of the input net is first acquired in step S 21, and the net status of the input net is activated in step S 22! Inspect whether the force is state. If it is in the inactive state here, the process ends without executing anything.
- step S23 if the state is the active state, the processing item is executed in step S23. Then, in step S24, if necessary, the net status of the output net in the net status table 10 is changed to the active status and the process is terminated.
- process item BR1 the process to determine whether the air conditioner is ON or not is performed. If it is ON, the net status of NET17 is changed to NET17. To do.
- process item TTS1 after performing the speech process of “Is the air conditioner or window?”, The net status of the output net ends as an active state.
- process item QB1 the input event from the user is awaited, and the net status of the output net ends without being changed.
- step S15 the selection execution means 13 determines whether or not the processing in steps S12 to S14 has been completed for all the processing items in the processing item table 12, and if not completed, the step Return to S12. If everything is done, go back to step S11 again
- NET4 becomes active.
- the active state of NET1 is transmitted as NET1 ⁇ NET15 ⁇ TTS7 ⁇ NET5 7 ⁇ END4. During that time, processing item TTS7 is executed and reaches a steady state.
- the active state of NET4 is transmitted as NET4 ⁇ TTS9 ⁇ NET59 ⁇ END6, and during that time, processing item TTS9 is executed to reach a steady state.
- the processing item table 12 and the net state table 10 to control interactive information processing based on the transition of the active status of the net status, appropriate response processing is possible even if there are multiple input events at the same time. It becomes.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
シナリオの追加・削除が容易で、複数のイベントが同時入力された場合でも適切に処理内容を実行できる対話情報処理装置を提供する。 各ネットのネットステータスを記憶するネット状態テーブル10、{処理項目,当該処理項目の入力ネット,及び当該処理項目の出力ネット}の組を記憶する処理項目テーブル12、各処理項目に対応して設けられ当該処理項目の処理内容を実行しその結果に応じて出力ネットのネットステータスの更新を行う処理項目実行モジュール4-i、処理項目テーブル12内の全ての処理項目を順次選択し、選択した処理項目に対応する処理項目実行モジュール4-iを実行する選択実行手段13、並びにネット状態テーブル12の何れかのネットステータスが変化した場合に選択実行手段13により各処理項目実行モジュール4-iを実行させる状態変化判定手段14を備えた。
Description
明 細 書
対話情報処理装置及び対話情報処理方法
技術分野
[0001] 本発明は、音声等により使用者と対話しながら情報処理を行う対話情報処理技術 に関する。
背景技術
[0002] 近年、カーナビゲーシヨン装置や家庭用の種々の機器において、対話型のユーザ インタフェースを有するものが研究開発されてきて 、る。かかる対話型のユーザインタ フェースにおいて、使用者との対話情報処理を行う機器を対話情報処理装置という。
[0003] 対話情報処理装置にお!、ては、使用者との対話を通じて情報を取得し、その情報 に基づく処理を行う。例えば、使用者の発話内容を音声認識装置により認識し、それ に対して音声合成装置により回答や問いかけを行うことを繰り返し、使用者の意図に 沿った機器の操作を行うという具合である。なお、ここにいう「対話」とは、音声による 対話のみならず、スィッチ操作による対話や画像による対話等も含まれる。
[0004] 対話情報処理装置においては、使用者に違和感を持たせることなぐ自然な対話 を行うことが必要とされる。すなわち、使用者側の発話選択の自由度を高くすることが 重要となる。
[0005] そこで、各種機器の操作を行うためのアプリケーションプログラム(実行モジュール。
以下「AP」 t 、う。)と対話処理を行うプログラム (対話モジュール)とを独立させ、 AP に対応して用意されたシナリオに基づき対話処理を行う対話情報処理装置が開発さ れている (特許文献 1, 2参照)。
[0006] 特許文献 1記載の対話情報処理装置では、対話処理の記述自体を APから独立さ せると共に、 APの処理手順に対話の流れが左右されないようにして、使用者側の自 由度が高 、対話を実現して 、る。
[0007] また、特許文献 2記載の対話情報処理装置では、更に、シナリオを階層構造とする ことによって、使用者の発話による異なる APへの移行を自然に行う技術が記載され ている。
[0008] 活性状態は特許文献 2記載の対話情報処理装置におけるシナリオの階層構造を 表す図である。シナリオは、 3つの APに対応して A—APシナリオグループ、 B—AP シナリオグループ、及び C APシナリオグループが用意されている。そして、各 AP シナリオグループと分離して、アプリケーション分岐処理を行うルートシナリオが設け られている。ルートシナリオにおけるアプリケーション分岐処理は、使用者からの入力 情報に応じて APを起動すると共に、その APに対応する APシナリオグループを呼び 出すものである。これにより、ある APシナリオグループにおいて処理を実行中に、使 用者が他の APシナリオグループの処理へ移るように指示した場合、ルートシナリオ へ移行すればょ 、ため、異なる APへの移行を自然に行うことが可能となる。
[0009] また、アプリケーション分岐処理を APシナリオグループ力 独立させてルートシナリ ォにまとめることによって、 AP数力 ^、くら多くなつても、各 APシナリオグループには他 の APシナリオグループへの移行処理を記述する必要がなくなるため、 APシナリオグ ループの記述が簡単となる。
特許文献 1:特開 2001— 56694号公報
特許文献 2:特開 2001— 296943号公報
発明の開示
発明が解決しょうとする課題
[0010] し力しながら、上述の従来の対話情報処理装置においては、新たなアプリケーショ ンを追加する場合、そのアプリケーションに関する APシナリオグループを作成すると ともに、他の APシナリオグループとの間のアプリケーション分岐処理の定義をルート シナリオに追加する必要がある。従って、シナリオの追加'削除の作業が複雑である。
[0011] また、使用者の発話により複数の APに対して同時に指示が入力された場合、複数 の APを同時に制御することはできない。すなわち、ある APシナリオグループ (A)の 処理を実行中に、使用者力 他の APシナリオグループ(B)の処理につ 、ての指示 が入力された場合、対話情報処理装置は APシナリオグループ (A)の処理を中断し て、 APシナリオグループ (B)の処理へ移行しなければならない。そして、次に使用者 から APシナリオグループ (A)の処理内容についての発話が入力されると、対話情報 処理装置は、 APシナリオグループ (B)の処理を中断して APシナリオグループ (A)
の処理へ移行するが、この場合、 APシナリオグループ (A)の処理は最初カゝら実行さ れるため、使用者が先に入力した指示内容を再度繰り返して入力する必要がある。 従って、使用者にとっての利便'性の点で問題がある。
[0012] そこで、本発明の目的は、シナリオの追加'削除を容易に行うことが可能であると共 に、使用者から複数のイベントが同時に入力された場合にも、適切にそれに対する 処理内容を同時に実行することが可能な対話情報処理技術を提供することにある。 課題を解決するための手段
[0013] 本発明に係る対話情報処理装置の第 1の構成は、予め用意された複数の処理項 目に対して、入力イベントに対応して対話的に各処理項目を適宜選択し実行する対 話情報処理装置であって、前記各処理項目間の情報伝達関係を指定するネットに つ!、て、前記各ネットを介して伝達される状態情報を表す変数 (以下「ネットステータ ス」 t 、う。)をテーブルとして記憶するネット状態テーブル;前記処理項目、当該処理 項目の入力側に接続するネット (以下「入力ネット」という。)、及び当該処理項目の出 力側に接続するネット(以下「出力ネット」という。)、の組をテーブルとして記憶する処 理項目テーブル;前記各処理項目に対応して設けられ、前記入力ネットのネットステ 一タスが活性状態にある場合には当該処理項目の処理内容を実行しその結果に応 じて前記出力ネットのネットステータスの更新を行う、複数の処理項目実行モジユー ル;前記処理項目テーブル内の全ての前記処理項目を順次選択し、選択した前記 処理項目の前記入力ネットのネットステータスを前記ネット状態テーブル力 読み出 し、当該処理項目に対応する前記処理項目実行モジュールに入力して実行させる 選択実行手段;並びに、前記ネット状態テーブルの何れかのネットステータスが変化 した場合に前記選択実行手段により前記各処理項目実行モジュールを実行させる 状態変化判定手段;を備えたことを特徴とする。
[0014] 入力イベントが入力され、それに対応してネット状態テーブルの何れかのネットのネ ットステータスが変更された場合、まず状態変化判定手段がネットステータスの変化 を検出し、選択実行手段により各処理項目実行モジュールを実行する。
[0015] 選択実行手段は、処理項目テーブルから処理項目を順次読み出し、その処理項 目の入力ネットのネットステータスをネット状態テーブル力も取得する。そして、取得し
たネットステータスを当該処理項目に対応する処理項目実行モジュールに入力し実 行させる。
[0016] 各処理項目実行モジュールは、入力ネットのネットステータスが活性ィ匕 (アサート) 状態にある場合にはその処理項目に関する処理を実行する。そして、その実行結果 より必要に応じて、ネット状態テーブル内の出力ネットのネットステータスを更新する。 一方、入力ネットのネットステータスが非活性 (ネゲート)状態の場合には、処理項目 に関する処理は実行されない。
[0017] 選択実行手段が処理項目テーブル内のすべての処理項目について、対応する処 理項目実行モジュールの実行が終了すると、状態変化判定手段は再びネット状態テ 一ブル内のネットステータスの変化を検出し、変化が検出された場合には上述の操 作を繰り返す。
[0018] 最終的に状態変化判定手段によるネット状態テーブル内のネットステータスの変化 が検出されなくなった状態 (定常状態)に達すると、対話情報処理が終了する。
[0019] このように、入力イベントに対して対応するネットステータスを活性ィ匕 (アサート)し、 ネット状態テーブルのネットステータスが安定ィ匕するまで、ネットステータスに応じて全 処理項目実行モジュールの実行を繰り返すことにより、複数の入力イベントが同時に 入力された場合でも、それらに対応する処理項目を正しく実行することができる。
[0020] また、新たに処理項目を追加した 、場合には、処理項目テーブルにその処理項目 及び入出力ネットに追加し、必要に応じてネット状態テーブルに新たに生じるネットを 追加するだけでよい。また、処理項目を削除したい場合には、処理項目テーブルに その処理項目及び入出力ネットに追加し、必要に応じてネット状態テーブル力 不要 なネットを削除するだけでよい。従って、処理項目の追加'削除が極めて容易であり、 処理項目の変化に柔軟に対応することが可能となる。
[0021] ここで、前記ネットステータスは、複数の状態を採ることが可能である。例えば、活性 状態及び非活性状態の 2状態であってもよ 、し、それ以上の状態を採るようにしても よい。
[0022] 本発明に係る対話情報処理装置の第 2の構成は、前記第 1の構成において、入力 イベントが入力された場合、当該入力イベントに対応する前記ネットのネットステータ
スを活性状態に更新する初期ネット状態更新手段;を備えたことを特徴とする。
[0023] この構成によれば、入力イベントに対して初期ネット状態更新手段が活性状態に更 新する。これがトリガーとなって、上述のように、ネット状態テーブルのネットステータス が安定ィ匕するまで、全処理項目実行モジュールの実行を繰り返す。これにより、入力 イベントに対する処理項目を実行することができる。
[0024] 本発明に係る対話情報処理装置の第 3の構成は、前記第 2の構成において、前記 初期ネット状態更新手段は、複数の入力イベントが同時に入力された場合、当該各 入力イベントに対応する前記ネットのネットステータスを各々更新することを特徴とす る。
[0025] この構成により、複数の入力イベントが同時に入力された場合にも、それに対応す る処理項目をそれぞれ実行することができる。
[0026] 本発明に係る対話情報処理装置の第 4の構成は、前記第 2又は 3の構成において 、使用者の操作により入力イベントを発生させる入力装置を備え、前記初期ネット状 態更新手段は、各入力イベントと所定の認識情報との対応関係を記憶する認識辞書 ;前記入カイベントに対して前記認識辞書を参照し、対応する認識情報を出力する 入力イベント認識手段;及び、前記入力イベント認識手段が出力する認識情報に対 応する前記ネットのネットステータスを当該認識情報により指定される状態に更新す る認識情報入力手段;を備えて ヽることを特徴とする。
[0027] この構成によれば、入力装置力 入力イベントが出力されると、入力イベント認識手 段が入力イベントを認識し、認識情報を出力する。そして、認識情報入力手段は、こ の認識情報に応じて、適宜ネットのネットステータスを当該認識情報により指定される 状態に更新する。
[0028] ここで、入力装置としては、音声入力装置、画像入力装置 (カメラ、スキャナ一等)、 タツチパネノレ、キー入力装置、ポインティングデバイス等の、コンピュータで使用され る各種入力機器を使用することができる。入力イベントとしては、音声信号、画像信号 、キー入力信号等を挙げることができる。認識情報としては、例えば、単語情報、 ON ZOFF情報等などが挙げられる。これにより、入力イベントに対する処理項目を実行 することができる。
[0029] 本発明に係るプログラムは、コンピュータに読み込ませて実行することにより、コンビ ユータを前記第 1乃至 4の何れか一の構成の対話情報処理装置として機能させること を特徴とする。
[0030] 本発明に係る対話情報処理方法は、予め用意された複数の処理項目に対して、前 記各処理項目間の情報伝達関係を指定するネットについて、前記各ネットを介して 伝達される状態情報を表す変数 (以下「ネットステータス」と!ヽぅ。)をテーブルとして記 憶するネット状態テーブル;前記処理項目、当該処理項目の入力側に接続するネッ ト(以下「入力ネット」という。)、及び当該処理項目の出力側に接続するネット (以下「 出力ネット」という。)、の組をテーブルとして記憶する処理項目テーブル;並びに、前 記各処理項目に対応して設けられ、前記入力ネットのネットステータスに対する当該 処理項目の処理内容を実行しその結果に応じて前記出力ネットのネットステータスの 更新を行う、複数の処理項目実行モジュール;を備えたシステムにおいて、入カイべ ントに対応して対話的に各処理項目を適宜選択し実行する対話情報処理方法であ つて、入力イベントが入力された場合、前記ネット状態テーブルの各ネットのうち、当 該入カイベントに対応するネットのネットステータスを更新する初期ネット状態更新ス テツプ;及び、入力イベントに対して前記処理項目実行モジュールを適宜選択し実行 する処理項目実行ステップ;を備え、前記処理項目実行ステップにお!ヽては、ネット 状態テーブルの何れかのネットステータスが変化を検出するネット状態変化検出ステ ップ;及び、ネットステータスの変化が検出された場合には前記処理項目テーブル内 の全ての前記処理項目を順次選択し、選択した前記処理項目の前記入力ネットのネ ットステータスを前記ネット状態テーブル力 読み出し、当該処理項目に対応する前 記処理項目実行モジュールに入力して実行させる選択実行ステップ;を前記ネットス テータスの変化が検出されなくなるまで繰り返して実行することを特徴とする。
発明の効果
[0031] 以上のように、本発明によれば、入力イベントに対して対応するネットステータスを 活性ィ匕 (アサート)し、ネット状態テーブルのネットステータスが安定ィ匕するまで、全処 理項目実行モジュールの実行を繰り返すことにより、複数の入力イベントが同時に入 力された場合でも、それらに対応する処理項目を正しく実行することが可能となる。
[0032] また、各処理項目の実行制御を処理項目テーブル及びネット状態テーブルを用い て行う構成としたことにより、処理項目の追加'削除が極めて容易であり、処理項目の 変化に柔軟に対応することが可能となる。
図面の簡単な説明
[0033] [図 1]本発明の実施例 1に係る対話情報処理装置 1の構成を表すブロック図である。
[図 2]実施例 1に係る対話情報処理装置 1におけるシナリオ構造の一例を表す図であ る。
[図 3]処理項目テーブル 12の構造を表す図である。
[図 4]ネット状態テーブル 10の構造を表す図である。
[図 5]対話認識モジュール 2の動作を表すフローチャートである。
[図 6]対話処理エンジン 3と各処理項目実行モジュール 4 iの動作を表すフローチヤ ートである。
[図 7]特許文献 2記載の対話情報処理装置におけるシナリオの階層構造を表す図で ある。
符号の説明
1 対話情報処理装置
2 対話認識モジュール
3 対話処理エンジン
4 処理実行モジュール集合
4- - 1, 4- 2, 4- 3, · ··, 4-i, · ··, 4-n 処理項目実行モジュール
5 入力装置
6 出力装置
7 認識辞書
8 入力イベント認識手段
9 認識情報入力手段
10 ネット状態テーブル
11 前状態ネット状態テ
12 処理項目テーブル
13 選択実行手段
14 状態変化判定手段
発明を実施するための最良の形態
[0035] 以下、本発明を実施するための最良の形態について、図面を参照しながら説明す る。
実施例 1
[0036] 図 1は本発明の実施例 1に係る対話情報処理装置 1の構成を表すブロック図である 。対話情報処理装置 1は、初期ネット状態更新手段である対話認識モジュール 2と、 対話処理エンジン 3と、処理実行モジュール集合 4と、入力装置 5と、出力装置 6とを 備えている。
[0037] 入力装置 5は、使用者の操作により入力イベントを発生させる装置である。本実施 例では、入力装置 5としてマイクが使用されているものとする。
[0038] 出力装置 6は、使用者により入力される指示に応じて実際に各種の処理を行う装置 である。例えば、音声出力処理を行うスピーカー、室内の空調を行うエアコン、窓の 開閉を行うモータなどである。
[0039] 処理実行モジュール集合 4は、予め用意された各種処理項目に対応して設けられ た処理項目実行モジュール 4 - 1, 4- 2, · ··, 4- nの集合である。各処理項目実行 モジュール 4 1, 4- 2, · ··, 4 nは、各種処理項目に対する演算'制御処理を実 行するモジュールである。
[0040] ここで、「処理項目」とは、入力イベントに対応して各種機器(出力装置 6)において 実際に行われる処理の項目をいう。例えば、「エアコンをつけて」という入力イベントに 対して「エアコンをつけます」と発語する処理や実際にエアコンを作動させる処理、「 窓を閉めて」 t 、う入力イベントに対して「窓を閉めます」と発語する処理や実際に窓 を閉めるモータを作動させる処理を 、う。
[0041] これらの処理項目間には、遷移順序関係が定義されている。例えば、「下げて」とい う入力イベントに対して「エアコンか窓か?」と発語する処理項目 TTS1の次には、次 の入力イベントが「エアコン」、「窓」又はその他の何れかであるかを判定する処理項 目 QB1がくるという具合に遷移順序関係が定義されている(図 2参照)。この遷移順
序関係が定義された各処理項目について、処理項目間の情報伝達関係を指定する ものを「ネット」という。例えば、上記例では、処理項目 TTS1と処理項目 QB1がネット で接続されている。ネットは方向性を有する。処理項目の入力側に接続するネットを「 入力ネット」、処理項目の出力側に接続するネットを「出力ネット」という。すなわち、処 理項目の集合を N、ネットの集合を Eとすると、 G= (N, E)は有向グラフを構成する。
[0042] 各ネットは活性 (アサート)状態と非活性 (ネゲート)状態との 2状態を有する (必要に 応じて、活性状態を更に 2以上の状態に定義してもよい)。このネットの状態のことを「 ネットステータス」という。各処理項目実行モジュール 4—1, 4- 2, · ··, 4—nは、入 力ネットのネットステータスが活性状態にある場合には当該処理項目の処理内容を 実行する。そして、その実行結果に応じて出力ネットのネットステータスの更新を行う
[0043] 対話認識モジュール 2は、マイク等の入力装置 5から入力される使用者の発話等の 入力イベントを認識し、所定の形式の認識情報として出力する装置である。対話認識 モジュール 2は、認識辞書 7、入力イベント認識手段 8、及び認識情報入力手段 9を 備えている。認識辞書 7は、単語、文章、音声波形等の使用者の発話を認識するた めの各種認識情報を記憶する。入力イベント認識手段 8は、入力装置 5から入力され る入力イベントを、認識辞書 7を参照しながら認識し、認識情報として出力する。認識 情報入力手段 9は、入力イベント認識手段 8から出力される認識情報に基づき、後述 するネット状態テーブル 10を書き換える。
[0044] 対話処理エンジン 3は、ネット状態テーブル 10、前状態ネット状態テーブル 11、処 理項目テーブル 12、選択実行手段 13、及び状態変化判定手段 14を備えている。
[0045] ネット状態テーブル 10は、各ネットのネットステータスをテーブルとして記憶する。前 状態ネット状態テーブル 11は、各処理項目に関する処理が一巡実行され各ネットの ネットステータスが更新された場合、その更新前の各ネットのネットステータスを記憶 する。尚、前状態ネット状態テーブル 11は、すべてのネットの前状態のネットステータ スを記憶するようにしてもょ 、が、変更されたネットのみを記憶するようにしてもょ 、。 また、ネット状態テーブル 10と併合して 1つのテーブルとして記憶するように構成して もよい。各処理項目実行モジュール 4—1, 4- 2, · ··, 4—nは、ネットステータスの更
新を行う場合には、このネット状態テーブル 10のネットステータスを更新する。
[0046] 処理項目テーブル 12は、 {処理項目,当該処理項目の入力側に接続する入力ネッ ト,当該処理項目の出力側に接続する出力ネット }の組をテーブルとして記憶する。
[0047] 選択実行手段 13は、処理項目テーブル 12内の全ての処理項目を順次選択し、選 択した処理項目の入力ネットのネットステータスをネット状態テーブル 10から読み出 す。そして、当該処理項目に対応する処理項目実行モジュール 4 iにネットステータ スを入力して実行させる。
[0048] 状態変化判定手段 14は、ネット状態テーブル 10の何れかのネットステータスが変 化した場合に選択実行手段 13により各処理項目実行モジュール 4—1, 4- 2, · ··, 4 nを実行させる。
[0049] ここで、本実施例の対話情報処理装置 1における処理項目とネットの関係につ!、て 、実例に沿ってより具体的に説明しておく。図 2は、実施例 1に係る対話情報処理装 置 1における対話シナリオ構造の一例を表す図である。この対話シナリオは、自動車 における空調を対話方式により実行する例を示している。
[0050] 図 2において、処理項目は FCT, QB, TTS, STS, BR, TRMの記号が付された 部分である。
[0051] 「FCT」は、音声認識用の XML(Extensible Markup Language)ff 式で記述された指 定のキーワードを入力音声力も抽出する処理項目を表している。各 FCTに付されて いる「く FCT>」は、当該 FCTに入るためのコーパス(キーワード)を表している。実 際には「FCT」は対話認識モジュール 2 (初期ネット状態更新手段)により実行される 処理項目であり、この対話シナリオのカテゴリーに入るためのキーワードとして扱われ る。
[0052] 「QB」は、指定の XMLを利用して音声認識より音声単語を抽出し対話のフローを 分岐させる処理を表す。
[0053] 「TTS (Text to Speech)」は、テキスト音声合成処理を表す。これは、出力装置 6 (ス ピーカー)により指定された文章を読み上げる処理に相当する。各 TTSに付されてい る「く SP >」は、当該 TTSにお 、て読み上げるテキストの内容を表して 、る。
[0054] この TTSと QBを併用して質問を記述することができる。例えば、 TTS1において「
エアコンか窓か?」と発話させ、これに対する認識を行う QB1では、想定される答え 方(「エアコン」、「窓」)を入れた XMLファイルを指定することにより質問に対する回答 の認識処理が実現されて ヽる。
[0055] rSTSjは内部のステータス情報を表す。例えば、 STS1は窓が開いた状態にある か否かの内部ステータス情報、 STS2はエアコンが ON状態か否かの内部ステータス 情報を表している。
[0056] 「BR」は、音声認識以外の内部のステータス情報によって対話のフローを分岐させ る処理を表す。例えば、 BR1では、エアコンの電源が ON状態か OFF状態かによつ て会話の内容を変更させて 、る。
[0057] 「TRM」は終端処理を表す。すなわち、 TRMにおいて、この対話シナリオは終了 する。
[0058] 各処理項目(FCT, QB, TTS, STS, BR, TRM)の間を結ぶ線はネットを表す。
各ネットに付された番号はネット番号を表す。以下、ネット番号 Xのネットを「NETx」と 記す。「JA」及び「JC」はネットの接続点を表す。
[0059] 例えば、最初の入力イベントとして「下げて」というキーワードが入力された場合、対 話認識モジュール 2により処理項目 FCT6が実行され、 NET6が活性ィ匕される。続い て、処理項目 TTS1において「エアコンか窓か?」という発話処理が行われ、 NET6 が非活性ィ匕されるとともに NRT19が活性ィ匕される。それに伴い、 NET20が活性ィ匕さ れる。そして処理項目 QB1が実行されて入力イベントして「エアコン」, 「窓」,その他 の何れが入力されたかを判定する。それに応じて対話のフローを分岐させる処理が 行われ、 NET19, 20が非活性化されるとともに NRT27, 31, 29の何れかが活性化 される。このようにして、図 2の対話シナリオに従って対話処理が実行される。
[0060] 図 3は、処理項目テーブル 12の構造を表す図である。図 3においては、一例として 、図 2の対話シナリオに対する処理項目テーブル 12の構造を示した。
[0061] 「処理項目」の欄には、図 2の各処理項目に対応する処理項目実行モジュール 4 iを呼び出すためのポインタが格納されている。尚、ここではネットの接続点「JA」も、 何も実行しない処理項目として、仮想的に一つの処理項目として取り扱つている。
[0062] 「入力ネット」の欄には、当該処理項目に対する入力ネットの指定子が格納されてい
る。すなわち、ネット状態テーブル 10における当該入力ネットのネットステータスを指 すポインタが格納されて 、る。
[0063] 「出力ネット」の欄には、当該処理項目に対する出力ネットの指定子が格納されてい る。すなわち、ネット状態テーブル 10における当該出力ネットのネットステータスを指 すポインタが格納されて 、る。
[0064] 「コーパス」の欄には、その処理項目におけるキーワードが格納されている。例えば 、処理項目 FCT1では、コーパスとして「エアコンをつけて」が格納されている。また、 処理項目 QB1では、コーパスとして「窓」及び「エアコン」が格納されて 、る。
[0065] 図 4は、ネット状態テーブル 10の構造を表す図である。尚、図 1においては、理解を 容易にするためにネット状態テーブル 10と前状態ネット状態テーブル 11を分けて記 載しているが、図 4では、ネット状態テーブル 10及び前状態ネット状態テーブル 11を 併合して 1つのテーブルとしている。「ネットステータス」の欄には、左欄のネットのネッ トステータスが格納されている。ここでは、ネットステータスは「0」が非活性状態、「1」 が活性状態を表すものとする。「変更フラグ」の欄には、ネットステータスが変更された か否かを示す変更フラグが格納されている。変更フラグが「0」が未変更、「1」が変更 を表す。
[0066] 以上のように構成された実施例 1に係る対話情報処理装置 1について、以下その動 作を説明する。
[0067] 図 5は対話認識モジュール 2の動作を表すフローチャートである。
[0068] ステップ S1において、使用者の発話等により入力装置 5から入力イベント認識手段
8へ入力イベントが入力される。
[0069] 例えば、使用者の発話として入力装置 5に「エアコンをつけて」と入力したとする。そ の場合、入力装置 5はその音声波形を入力イベント認識手段 8に出力する。
[0070] ステップ S2において、入力イベント認識手段 8は、認識辞書 7を参照することによつ て入力イベントを認識し、その認識結果を認識情報として認識情報入力手段 9へ出 力する。
[0071] 例えば、上記例で「エアコンをつけて」という音声波形が入力イベントとして入力され た場合、入力イベント認識手段 8は、認識辞書 7を参照し、その音声波形を解析し「ェ
アコンをつけて」というテキスト情報を認識情報として出力する。
[0072] ステップ S3において、認識情報入力手段 9は、処理項目テーブル 12を参照し、当 該認識情報に一致するキーワードを有する処理項目 FCTを探索する。そして、キー ワードが一致した処理項目の出力ネットについて、ネット状態テーブル 10内のネット ステータスを活性状態に変更するとともに、その変更フラグを 1とする。
[0073] また、認識情報入力手段 9は、入力ネットが活性状態にある処理項目 QBのうち、当 該認識情報に一致するキーワードを有する処理項目 QBを探索する。そして、探索に より検出された処理項目 QBの出力ネットのうちキーワードが一致した枝の出力ネット について、ネット状態テーブル 10内のネットステータスを活性状態に変更するととも に、その変更フラグを 1とする。
[0074] 例えば、「エアコンをつけて」というテキスト認識情報が認識情報入力手段 9に入力 された場合、認識情報入力手段 9は処理項目 FCT1の出力ネットである NET1を活 性状態とする。また、処理項目 QB1の入力ネットである NET20が活性状態の場合に 、「窓」というテキスト認識情報が認識情報入力手段 9に入力された場合、認識情報入 力手段 9は処理項目 QB1の「窓」に相当する枝の出力ネットである NET31を活性状 態とする。
[0075] 以上のステップ S1〜S3の処理が終了すると、対話認識モジュール 2はすべての処 理を終了し、再び入力イベントが入力されるのを待つ状態となる。
[0076] 次に、対話処理エンジン 3と各処理項目実行モジュール 4— iの動作について説明 する。図 6は、対話処理エンジン 3と各処理項目実行モジュール 4 iの動作を表すフ ローチャートである。
[0077] まず、ステップ S 11において、状態変化判定手段 14は、ネット状態テーブル 10の ネットステータスが変更された力否力を監視する。ネットステータスが変更された場合 には、ステップ S 12に進む。
[0078] ステップ S12において、選択実行手段 13は、処理項目テーブル 12の最上行から 順番に処理項目を 1つ選択する。
[0079] ステップ S13にお 、て、選択実行手段 13は、選択した処理項目の入力ネットのネッ トステータスをネット状態テーブル 10から取得する。
[0080] ステップ S 14にお 、て、選択実行手段 13は、選択した処理項目に対応する処理項 目実行モジュール 4— iを呼び出して、取得したネットステータスを渡す。そして、選択 した処理項目の入力ネットを非活性状態に戻す。尚、選択した処理項目が接続点 CF A)の場合、選択実行手段 13は、その接続点の出力ネットを活性状態とし、その入力 ネットを非活性状態に戻す。
[0081] 各処理項目実行モジュール 4 iにおいては、選択実行手段 13から呼び出されると 、ステップ S21において、まず入力ネットのネットステータスを取得し、ステップ S22に お!、て入力ネットのネットステータスが活性状態力否かを検査する。ここで非活性状 態であれば何も実行せずに終了する。
[0082] 一方、活性状態であれば、ステップ S23にお 、て、その処理項目を実行する。そし て、ステップ S24において必要に応じて、ネット状態テーブル 10における出力ネット のネットステータスを活性状態に変更し終了する。
[0083] 例えば、処理項目 BR1では、エアコンが ON状態か否かを判定する処理を行!、、 O N状態であれば NET17、 OFF状態であれば NET16のネットステータスを活性状態 に変更して終了する。処理項目 TTS1では、「エアコンか窓か?」という発語処理を行 つたのち、出力ネットのネットステータスは活性状態として終了する。処理項目 QB1で は、使用者からの入力イベントの入力待ち状態となって、出力ネットのネットステータ スは変更することなく終了する。
[0084] ステップ S15において、選択実行手段 13は、処理項目テーブル 12内のすべての 処理項目に対して上記ステップ S12〜S 14の処理が終わった力否かを判定し、終わ つていなければステップ S12に戻る。すべて終わった場合、再びステップ S11に戻る
[0085] このように、ネット状態テーブル 10内のネットステータスの状態変化がなくなるまで、 処理項目テーブル 12のすベての処理項目が繰り返し実行される。そして、定常状態 まで到達すると再び入力イベントを待つ状態となる。
[0086] 以上のような処理とすることで、複数の入力イベントが同時に入力された場合であつ ても、それに対応した処理項目を実行することができる。例えば、「エアコンをつけて」 という入力イベントと「閉めて」という入力イベントが同時に入力された場合、 NET1と
NET4が活性状態となる。 NET1の活性状態は NET1→NET15→TTS7→NET5 7→END4と伝達され、その間、処理項目 TTS7が実行されて定常状態に達する。 一方、 NET4の活性状態は NET4→TTS9→NET59→END6と伝達され、その間 、処理項目 TTS9が実行されて定常状態に達する。このように、処理項目テーブル 1 2とネット状態テーブル 10を用いてネットステータスの活性状態の遷移によって対話 情報処理を制御することで、同時に複数の入力イベントがあっても、適切な応答処理 が可能となる。
また、対話シナリオに新たな処理項目を追加し、又は対話シナリオから処理項目を 削除したい場合には、処理項目テーブル 12に処理項目を追加し、追加 '削除した箇 所のネットの接続関係を整合させるとともに、追加'削除されたネットをネット状態テー ブル 10に追加又は削除するだけでよい。すなわち、対話シナリオの全体構造を考慮 した変更は必要なぐ追加'削除したい処理項目の部分のみを変更すればよい。従 つて、対話シナリオへの処理項目の追加や削除が極めて容易となる。
Claims
[1] 予め用意された複数の処理項目に対して、入力イベントに対応して対話的に各処 理項目を適宜選択し実行する対話情報処理装置であって、
前記各処理項目間の情報伝達関係を指定するネットについて、前記各ネットを介し て伝達される状態情報を表す変数 (以下「ネットステータス」 t 、う。)をテーブルとして 記憶するネット状態テーブル;
前記処理項目、当該処理項目の入力側に接続するネット(以下「入力ネット」 t 、う。 )、及び当該処理項目の出力側に接続するネット(以下「出力ネット」という。)、の組を テーブルとして記憶する処理項目テーブル;
前記各処理項目に対応して設けられ、前記入力ネットのネットステータスが活性状 態にある場合には当該処理項目の処理内容を実行しその結果に応じて前記出カネ ットのネットステータスの更新を行う、複数の処理項目実行モジュール;
前記処理項目テーブル内の全ての前記処理項目を順次選択し、選択した前記処 理項目の前記入力ネットのネットステータスを前記ネット状態テーブル力 読み出し、 当該処理項目に対応する前記処理項目実行モジュールに入力して実行させる選択 実行手段;
並びに、前記ネット状態テーブルの何れかのネットステータスが変化した場合に前 記選択実行手段により前記各処理項目実行モジュールを実行させる状態変化判定 手段;
を備えたことを特徴とする対話情報処理装置。
[2] 入力イベントが入力された場合、当該入力イベントに対応する前記ネットのネットス テータスを活性状態に更新する初期ネット状態更新手段;
を備えたことを特徴とする請求項 1記載の対話情報処理装置。
[3] 前記初期ネット状態更新手段は、複数の入力イベントが同時に入力された場合、当 該各入力イベントに対応する前記ネットのネットステータスを各々更新することを特徴 とする請求項 2記載の対話情報処理装置。
[4] 使用者の操作により入力イベントを発生させる入力装置を備え、
前記初期ネット状態更新手段は、
各入力イベントと所定の認識情報との対応関係を記憶する認識辞書; 前記入力イベントに対して前記認識辞書を参照し、対応する認識情報を出力する 入力イベント認識手段;
及び、前記入力イベント認識手段が出力する認識情報に対応する前記ネットのネッ トステータスを当該認識情報により指定される状態に更新する認識情報入力手段; を備えていることを特徴とする請求項 2又は 3記載の対話情報処理装置。
[5] コンピュータに読み込ませて実行することにより、コンピュータを請求項 1乃至 4の何 れか一に記載の対話情報処理装置として機能させるプログラム。
[6] 予め用意された複数の処理項目に対して、前記各処理項目間の情報伝達関係を 指定するネットにっ ヽて、前記各ネットを介して伝達される状態情報を表す変数 (以 下「ネットステータス」と 、う。)をテーブルとして記憶するネット状態テーブル; 前記処理項目、当該処理項目の入力側に接続するネット(以下「入力ネット」 t 、う。
)、及び当該処理項目の出力側に接続するネット(以下「出力ネット」という。)、の組を テーブルとして記憶する処理項目テーブル;
並びに、前記各処理項目に対応して設けられ、前記入力ネットのネットステータスに 対する当該処理項目の処理内容を実行しその結果に応じて前記出力ネットのネット ステータスの更新を行う、複数の処理項目実行モジュール;
を備えたシステムにおいて、入力イベントに対応して対話的に各処理項目を適宜選 択し実行する対話情報処理方法であって、
入力イベントが入力された場合、前記ネット状態テーブルの各ネットのうち、当該入 カイベントに対応するネットのネットステータスを更新する初期ネット状態更新ステツ プ;
及び、入力イベントに対して前記処理項目実行モジュールを適宜選択し実行する 処理項目実行ステップ;
を備え、
前記処理項目実行ステップにお 、ては、
ネット状態テーブルの何れかのネットステータスが変化を検出するネット状態変化 検出ステップ;
及び、ネットステータスの変化が検出された場合には前記処理項目テーブル内の 全ての前記処理項目を順次選択し、選択した前記処理項目の前記入力ネットのネッ トステータスを前記ネット状態テーブル力 読み出し、当該処理項目に対応する前記 処理項目実行モジュールに入力して実行させる選択実行ステップ;
を前記ネットステータスの変化が検出されなくなるまで繰り返して実行すること を特徴とする対話情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/886,916 US7743027B2 (en) | 2005-03-23 | 2006-03-23 | Interaction information processing apparatus and interaction information processing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005084287A JP4682322B2 (ja) | 2005-03-23 | 2005-03-23 | 対話情報処理装置及び対話情報処理方法 |
JP2005-084287 | 2005-03-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006101164A1 true WO2006101164A1 (ja) | 2006-09-28 |
Family
ID=37023821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/305815 WO2006101164A1 (ja) | 2005-03-23 | 2006-03-23 | 対話情報処理装置及び対話情報処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7743027B2 (ja) |
JP (1) | JP4682322B2 (ja) |
WO (1) | WO2006101164A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103869982A (zh) * | 2014-03-13 | 2014-06-18 | 小米科技有限责任公司 | 操作项选择方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63317805A (ja) * | 1987-06-22 | 1988-12-26 | Hitachi Ltd | ペトリネットに基づくシミュレ−ション装置 |
JPH11234753A (ja) * | 1998-02-16 | 1999-08-27 | Mitsubishi Electric Corp | 移動通信システムおよび移動通信システムに適用される移動通信装置 |
JP2001296943A (ja) * | 2000-04-14 | 2001-10-26 | Denso Corp | 対話型ユーザインターフェース装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2071309C (en) * | 1991-11-15 | 1998-01-20 | Daryl J. Kahl | Method and apparatus utilizing data icons |
JPH08249296A (ja) * | 1995-03-10 | 1996-09-27 | Fuji Electric Co Ltd | マルチプロセッサシステム |
US5659794A (en) * | 1995-03-31 | 1997-08-19 | Unisys Corporation | System architecture for improved network input/output processing |
US6518989B1 (en) * | 1997-01-24 | 2003-02-11 | Sony Corporation | Graphic data generating apparatus, graphic data generation method, and medium of the same |
US5950190A (en) * | 1997-05-13 | 1999-09-07 | Aptek, Inc. | Dynamic, self-modifying graphical user interface for relational database applications |
JPH10320187A (ja) * | 1997-05-19 | 1998-12-04 | Mitsubishi Electric Corp | システムモデル化方式及びデータ通信方式 |
US6081814A (en) * | 1997-07-07 | 2000-06-27 | Novell, Inc. | Document reference environment manager |
US6014647A (en) * | 1997-07-08 | 2000-01-11 | Nizzari; Marcia M. | Customer interaction tracking |
AUPP624698A0 (en) * | 1998-09-29 | 1998-10-22 | Canon Kabushiki Kaisha | Method and apparatus for multimedia editing |
JP2001056694A (ja) | 1999-08-19 | 2001-02-27 | Denso Corp | 対話型ユーザインタフェース装置 |
US20020165724A1 (en) * | 2001-02-07 | 2002-11-07 | Blankesteijn Bartus C. | Method and system for propagating data changes through data objects |
JP2003044088A (ja) * | 2001-07-27 | 2003-02-14 | Sony Corp | プログラム、記録媒体、並びに音声対話装置および方法 |
JP2003076543A (ja) * | 2001-08-31 | 2003-03-14 | Cats Kk | プログラム生成装置、プログラム生成方法およびその方法をコンピュータに実行させるプログラム |
JP3558222B2 (ja) * | 2002-03-15 | 2004-08-25 | ソニー株式会社 | ロボットの行動制御システム及び行動制御方法、並びにロボット装置 |
US7464091B2 (en) * | 2002-11-27 | 2008-12-09 | Sap Ag | Method and software for processing data objects in business applications |
-
2005
- 2005-03-23 JP JP2005084287A patent/JP4682322B2/ja active Active
-
2006
- 2006-03-23 WO PCT/JP2006/305815 patent/WO2006101164A1/ja active Application Filing
- 2006-03-23 US US11/886,916 patent/US7743027B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63317805A (ja) * | 1987-06-22 | 1988-12-26 | Hitachi Ltd | ペトリネットに基づくシミュレ−ション装置 |
JPH11234753A (ja) * | 1998-02-16 | 1999-08-27 | Mitsubishi Electric Corp | 移動通信システムおよび移動通信システムに適用される移動通信装置 |
JP2001296943A (ja) * | 2000-04-14 | 2001-10-26 | Denso Corp | 対話型ユーザインターフェース装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103869982A (zh) * | 2014-03-13 | 2014-06-18 | 小米科技有限责任公司 | 操作项选择方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006268332A (ja) | 2006-10-05 |
US20090013000A1 (en) | 2009-01-08 |
JP4682322B2 (ja) | 2011-05-11 |
US7743027B2 (en) | 2010-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pieraccini et al. | Where do we go from here? Research and commercial spoken dialogue systems | |
KR101066741B1 (ko) | 컴퓨터 시스템과 동적으로 상호작용하기 위한 컴퓨터 구현 방법, 시스템, 및 컴퓨터 판독가능 기록 매체 | |
US7024368B1 (en) | Man-machine dialogue system, controls dialogue between system and user using dialogue specification employing augmented transition networks propagating tokens | |
US8595642B1 (en) | Multiple shell multi faceted graphical user interface | |
KR101042119B1 (ko) | 음성 이해 시스템, 및 컴퓨터 판독가능 기록 매체 | |
JP4186992B2 (ja) | 応答生成装置、方法及びプログラム | |
WO1999063425A1 (fr) | Procede et appareil de traitement d'informations et support de fourniture d'informations | |
JP6019604B2 (ja) | 音声認識装置、音声認識方法、及びプログラム | |
JP3178426B2 (ja) | 自然言語対話システム及び自然言語対話プログラム記録媒体 | |
JP2006146881A (ja) | 会話用合理的エージェント、このエージェントを用いるインテリジェント会話システム、インテリジェント会話を制御する方法、及びそれを用いるプログラム | |
US7461344B2 (en) | Mixed initiative interface control | |
US7257529B2 (en) | Apparatus and method for an automated grammar file expansion tool | |
JPH06266779A (ja) | 制御装置 | |
US20060136195A1 (en) | Text grouping for disambiguation in a speech application | |
WO2006101164A1 (ja) | 対話情報処理装置及び対話情報処理方法 | |
JP3468572B2 (ja) | 対話処理装置 | |
Turunen | Jaspis-a spoken dialogue architecture and its applications | |
JP2006011641A (ja) | 情報入力方法及びその装置 | |
JP7448240B2 (ja) | 効率的な対話構成 | |
JP4220151B2 (ja) | 音声対話装置 | |
JP5341732B2 (ja) | 談話要約生成システムおよび談話要約生成プログラム | |
JP6022111B2 (ja) | 動作設計装置及び動作設計プログラム | |
JP2015179481A (ja) | 動作設計装置及び動作設計プログラム | |
Bokaei et al. | Niusha, the first Persian speech-enabled IVR platform | |
JP2007140419A (ja) | 状況対応知能を持つ対話型情報伝達装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 11886916 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06729782 Country of ref document: EP Kind code of ref document: A1 |