JP2007033478A - Multi-modal dialog system and multi-modal application generation wizard - Google Patents
Multi-modal dialog system and multi-modal application generation wizard Download PDFInfo
- Publication number
- JP2007033478A JP2007033478A JP2005212055A JP2005212055A JP2007033478A JP 2007033478 A JP2007033478 A JP 2007033478A JP 2005212055 A JP2005212055 A JP 2005212055A JP 2005212055 A JP2005212055 A JP 2005212055A JP 2007033478 A JP2007033478 A JP 2007033478A
- Authority
- JP
- Japan
- Prior art keywords
- speech recognition
- application
- gui
- input
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、音声操作と画面上の操作の両者を用いて操作可能なマルチモーダルアプリケーションプログラムを自動的に生成する技術に関するものである。
The present invention relates to a technique for automatically generating a multimodal application program that can be operated using both voice operation and operation on a screen.
画面上でのアプリケーション操作が可能なGUI(Graphical User Interface)は、パーソナルコンピュータや、カーナビゲーションシステム、携帯電話などで広く用いられている。このようなアプリケーションプログラムを開発するためのツールや参考書は多く出回っており、開発者の数も非常に多い。 A GUI (Graphical User Interface) capable of operating an application on a screen is widely used in personal computers, car navigation systems, mobile phones, and the like. There are many tools and reference books for developing such application programs, and the number of developers is very large.
一方で、音声操作と画面上の操作の両者を用いて操作可能なマルチモーダルアプリケーションプログラムは、まだ普及しているとは言えず、その開発ツールもまだ普及していない。 On the other hand, multimodal application programs that can be operated using both voice operations and on-screen operations are not yet widespread, and their development tools are not yet widespread.
さらに、GUIアプリケーションでは、ボタンなどのGUIコンポーネントを画面に配置して、それらのコンポーネントがユーザによって操作されたときのシステムの動作を記述するというイベントドリブン型のプログラム形式が用いられるが、音声対話の場合、対話フローに基づく逐次的な処理が必要となり、GUIアプリケーションの開発者にとって敷居の高いものになっている。 In addition, GUI applications use an event-driven program format in which GUI components such as buttons are arranged on the screen and the operation of the system is described when these components are operated by the user. In this case, sequential processing based on the dialogue flow is required, which is a threshold for GUI application developers.
プログラミングの出来ないユーザでも、マルチモーダルアプリケーションを作成できるツールについては、特許文献1などが公開されている。
For a tool that allows a user who cannot perform programming to create a multi-modal application,
しかし、特許文献1に公開されている方式についても、複数の入出力モダリティのタイミングについて、ユーザが直接タイミングチャートを作成したり、タイミングチャートの学習のための操作ログを作成したりなど、比較的工数がかかっていた。
However, with respect to the method disclosed in
本発明は、上記の問題を鑑みてなされたものであり、本発明では、GUIアプリケーションと、音声対話シナリオが連携してマルチモーダルアプリケーションを実現する仕組みを提供するとともに、質問項目数、質問項目名、質問項目ごとのガイダンス、質問項目ごとの回答例、誤認識時の訂正方式という情報を与えるだけで、マルチモーダルアプリケーションを実現するGUIアプリケーションのソースコードと、GUIアプリケーションと連動する対話シナリオと、対話シナリオで利用する音声認識文法の雛形を生成する。 The present invention has been made in view of the above problems, and the present invention provides a mechanism for realizing a multi-modal application in cooperation with a GUI application and a voice interaction scenario, as well as the number of question items and the names of question items. Guidance for each question item, answer example for each question item, GUI application source code that realizes multimodal application just by giving information such as correction method at the time of misrecognition, dialogue scenario linked with GUI application, dialogue Generate a speech recognition grammar template to be used in the scenario.
上記の方式によって、音声対話アプリケーションやマルチモーダルアプリケーションの実装方法に詳しくないアプリケーション開発者でも、基本的なマルチモーダルアプリケーションの雛形を簡単に生成することができ、開発効率が向上する。 With the above method, even an application developer who is not familiar with the implementation method of a voice interaction application or a multimodal application can easily generate a basic model of a multimodal application, thereby improving the development efficiency.
図1は、本発明によるマルチモーダルアプリケーションの構成の一実施例を表した図である。マルチモーダルアプリケーションは、OS100上で動作する音声認識エンジン101と、音声合成エンジン102と、1つもしくは複数の対話シナリオ105と、1つもしくは複数の音声認識文法106と、対話シナリオ105に記述された内容に従って、音声認識エンジン101と音声合成エンジン102を利用してユーザとの対話を制御する対話制御部103と、GUIアプリケーション104から構成される。
FIG. 1 is a diagram showing an embodiment of a configuration of a multimodal application according to the present invention. The multimodal application is described in the
OS100には、GUIや音声入出力をサポートする任意の既存のOSを利用することができる。音声認識エンジン101や音声合成エンジン102には、任意の既存のエンジンを利用することができる。対話制御部103には、World Wide Web Consorthium(以後W3Cと略す)が勧告するVoiceXML2.0の仕様に基づいて実装されたVoiceXMLインタプリタを用いることができるが、他の形式の対話シナリオに基づいて対話制御を行うプログラムを利用することもできる。対話シナリオ105は、VoiceXML2.0の仕様に基づいて記述することができるが、他の形式に基づいて記述してもよい。音声認識文法106は、W3C勧告であるSpeech Recognition Grammar Specification(以後SRGSと略す)の仕様に基づいて記述することができるが、他の形式に基づいて記述してもよい。
GUIアプリケーション104は、ボタンやドロップダウンリスト、ラジオボックスなどのGUIコンポーネントをポインティングデバイスなどで選択し、操作を行うことで、ユーザがアプリケーションの動作を制御することが可能な形式のアプリケーションであり、CやC++,Java(登録商標)などの言語で記述することができる。
別々のスレッドもしくはプロセスで動作するGUIアプリケーション104と対話制御部103が連携して、ユーザがGUIでも音声対話でもアプリケーションを制御できるようにするためには、GUIアプリケーション104から対話制御部103の動作を制御する仕組みを設けるか、逆に対話制御部103からGUIアプリケーション104の動作を制御する仕組みを設ける必要がある。一般的に1回のGUI操作でユーザがシステムに対して行える指示よりも、1回の発話でユーザがシステムに対して行える指示の方が、複雑度が高い。すなわち、GUI操作であれば、「ファイル」→「印刷」→「プリンタ選択」→「OK」のように4ステップの操作が必要な場合においても、音声発話であれば「XXXのプリンタに印刷」のように1発話で指示が行える。これは、音声対話の方がより複雑な制御を必要とすることを意味しているため、対話制御部103が、制御の単純なGUIアプリケーション104の動作を制御する、後者の仕組みが適切である。
As the OS 100, any existing OS that supports GUI and voice input / output can be used. Any existing engine can be used as the
The
In order for the
そこで一実施例として、対話制御部103がGUIアプリケーション104の動作を制御する仕組みについて説明する。
対話制御部103は、与えられた対話シナリオ105の記述内容に基づいて、対話の制御を行う。図2は、VoiceXML形式で記述された対話シナリオ105の例である。この対話シナリオに基づき、対話制御部103は、音声合成エンジン102を用いて、ユーザに音声で「新幹線予約システムへようこそ」「出発する駅名を発声して下さい」というガイダンスを出力する。次に対話制御部103は、「departure.abnf」というファイル名で指定された音声認識文法106の記述内容に基づき、音声認識エンジン101を用いてユーザの発声を音声認識する。音声認識結果107が音声認識エンジン101から通知されると、ユーザが適切な駅名の発声をした場合は、目的地を質問する次の対話に進み、ユーザが発声をしなかった場合<noinput>は、「東京駅のように発声して下さい」というガイダンスを出力し、再び音声認識を行う。このように、対話制御部103は、GUIアプリケーション104とは独立して対話の制御を行うことができる。
Therefore, as an embodiment, a mechanism in which the
The
一般的なGUIアプリケーションでは、画面上に配置されたメニューやボタンなどのGUIコンポーネントをポインティングデバイスで選択操作すると、そのGUIコンポーネントに対応付けられた処理が実行される仕組みになっている。しかし、本発明におけるGUIアプリケーション104では、GUIコンポーネントが選択操作された場合に、対話制御部103に対して、そのGUI操作と同等の意味を持つ音声コマンドをユーザが発声した場合の音声認識結果と同等の擬似音声認識結果情報108を送信する。これによって、音声コマンドを発した場合でも、GUI操作を行った場合でも、対話制御部103は同じように音声対話を制御することができる。
In a general GUI application, when a GUI component such as a menu or a button arranged on the screen is selected and operated by a pointing device, a process associated with the GUI component is executed. However, in the
一方、GUI操作を行った場合や、音声コマンドを発声した場合に、GUIアプリケーション104にもその操作の結果が反映される必要がある。このために、対話制御部103は、対話の進行状況に関する情報をGUIアプリケーション104に対して提供する機能を持つ必要がある。この情報提供の仕組みとして、イベントシステムを用いることができる。対話制御部103にイベントリスナー登録を行うAPI(Application Program Interface)を用意し、対話制御部103の動作中に発生する、対話の進行状況に関するイベント109をGUIアプリケーション104に通知すればよい。
On the other hand, when a GUI operation is performed or when a voice command is uttered, the result of the operation needs to be reflected in the
対話の進行状況に関するイベントとしては、対話シナリオ105をVoiceXMLで記述した場合、対話の開始を表すイベント、フォームの実行開始を表すイベント、フォーム内の特定の項目の実行開始を表すイベント、フォーム内で定義されているフィールドにユーザ入力により値が代入されたことを表すイベント、対話シナリオ内で定義されている変数の値が変更されたことを表すイベント、対話の終了を表すイベントなどが考えられる。これらのイベントをGUIアプリケーションが受け取り、その内容に基づいて画面表示を変更するなどの処理を行えばよい。例えば図3は、図2の対話シナリオと連携してマルチモーダルアプリケーションを実現するGUIアプリケーション104の画面の例であり、「出発駅」の選択に対応したリストボックス301の値を、フィールドdepartureにユーザ入力により値が代入されたことを表すイベントが通知されたときに、変更すればよい。ユーザが1回の発声で複数の項目に対して回答するような発声を行った場合は、フォーム内で定義されているフィールドにユーザ入力により値が代入されたことを表すイベントを複数回連続して発行することで、GUIアプリケーションを複数回操作した場合と同等の効果を得ることができる。
As an event related to the progress of the dialog, when the
図2で例示した対話シナリオでは、質問項目を順次ユーザに尋ねる方式の対話を行っている。図3のGUIアプリケーション104では、3つの入力項目がすべて表示されているが、対話の制御を対話制御部103で行うことを考えると、対話制御部103が受け付けることのできない入力は、GUIアプリケーション104においても受け付けるべきではないので、出発駅の入力を要求している状況では、図3のようにリストボックス302と303、及びボタン304と305は入力不可状態にしておくことが望ましい。同様に、音声対話シナリオ105及び、音声認識文法106が複数の入力項目に関する入力を同時に受け付けられるように記述されている場合は、GUIアプリケーション104においても、同時受付している入力項目のGUIコンポーネントだけを入力可能状態にし、他のGUIコンポーネントは入力不可状態にしておくことが望ましい。
In the dialogue scenario illustrated in FIG. 2, a dialogue in which question items are sequentially asked to the user is performed. In the
次に、本発明によるマルチモーダルアプリケーション生成ウィザードの一実施例について図を参照して説明する。
図11は、本発明によるマルチモーダルアプリケーション生成ウィザードのフローの一実施例を示したものである。本フローに従い、具体的に生成すべきソースコード、対話シナリオ、音声認識文法の形式について説明を行う。
Next, an embodiment of a multimodal application generation wizard according to the present invention will be described with reference to the drawings.
FIG. 11 shows an embodiment of the flow of the multimodal application generation wizard according to the present invention. According to this flow, the source code, dialogue scenario, and speech recognition grammar format to be generated will be explained.
マルチモーダルアプリケーション生成ウィザードが実行を開始する(S01)と、アプリケーションを生成するのに必要な情報が記載されたアプリ定義ファイルを読み込む(S02)。アプリ定義ファイルには、少なくとも(1)質問項目の数、(2)各質問項目の名称、 (3)各質問項目に対する典型的な回答例の3種類の情報が含まれている必要がある。 When the multimodal application generation wizard starts executing (S01), an application definition file in which information necessary for generating an application is written is read (S02). The application definition file must include at least three types of information: (1) the number of question items, (2) the name of each question item, and (3) typical answer examples for each question item.
アプリ定義ファイルには、オプションとして(4)直前の入力の訂正を許可するかどうかの情報及び、(5)各質問項目に関するガイダンス情報を含めても良い。 The application definition file may optionally include (4) information on whether or not to allow correction of the previous input, and (5) guidance information on each question item.
図4(a)(b)は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成するマルチモーダルアプリケーションの対話シーケンスの例を表した図である。この例では、それぞれ(1)出発駅名(departure)、(2)到着駅名(destination)、(3)座席のクラス(class)をユーザが入力すべき項目としている。また、両者とも各入力項目を順番に入力することをユーザに求める形式になっている。(a)と(b)で異なるのは、音声認識エンジン101が認識結果を誤ったり、ユーザが入力を誤ったときに、その場で直前の入力を訂正することができるかどうかであり、アプリ定義ファイルに記載された(4)の情報によって、どちらの形式の対話を生成するかを決める。オプションが与えられなかった場合は、いずれかの形式の対話をデフォルトで生成すればよい。
4 (a) and 4 (b) are diagrams showing an example of a dialogue sequence of a multimodal application generated by the multimodal application generation wizard according to the present invention. In this example, (1) departure station name (departure), (2) arrival station name (destination), and (3) seat class (class) are items to be input by the user. Both are in a format that requires the user to input each input item in turn. The difference between (a) and (b) is whether or not the
次に最初の質問項目に対する音声認識文法106を生成する(S03)。最初の質問項目では、訂正発話の可能性がないため、図4の(a)(b)の対話形式ともに同一形式の音声認識文法を生成すればよい。
Next, the
音声認識文法106の生成には、(3)の各質問項目に対する典型的な回答例の情報を利用することができる。発音と表記の組を複数、回答例として与えた場合、図6(a)のような音声認識文法106を生成することができる。この音声認識文法の例は、W3Cの勧告するSRGSで定義されたABNF形式に基づいた表記方法を用いている。「発音 { 質問項目の名称 = "表記"}」という形式で、開発者から与えられた情報を用いている。発音の表記の組をただ1つ与えた場合は、図6(b)のような音声認識文法106を生成することができる。このような音声認識文法106を生成することで、発話例を後から増やす場合に、どのような記述を行えば良いのか、開発者に知らせることができる。
For generation of the
次に、直前の入力の訂正が可能な対話を生成するか否かで、処理を振り分ける(S04)。まず、直前の入力の訂正ができない図4の(a)の対話形式のアプリケーションの生成フローについて説明する。 Next, the process is distributed depending on whether or not a dialog that can correct the previous input is generated (S04). First, an interactive application generation flow shown in FIG. 4A in which the previous input cannot be corrected will be described.
図4の(a)の対話形式の場合、訂正発話を受理する必要がないため、生成する音声認識文法106は、全ての質問項目に対して図6の形式のものを生成すればよい。さらに、最終確認用の音声認識文法106として、「はい」「いいえ」を認識語彙の音声認識文法を出力する(S05)。
In the case of the interactive format shown in FIG. 4A, it is not necessary to accept a corrected utterance, and the generated
次に、対話シナリオ105を生成する(S06)。図5は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成した図4の(a)の対話形式のマルチモーダルアプリケーションを構成する対話シナリオ105の一例であり、VoiceXML形式で記述されている。この記述方式においては、(1)の質問項目の数は、生成するVoiceXMLドキュメントに含まれる<field>要素の数として扱うことができる。また(2)の各質問項目の名称は、各<field>要素のname属性の値及び参照する音声認識文法106の名称として扱うことができる。(5)の各質問項目での音声ガイダンスは、各<field>要素内の<prompt>要素の内容として扱うことができるが、指定がなかった場合は、図5のように「質問項目名称の発声を促すガイダンス」という文字列を出力しておき、後で開発者が簡単に修正できるようにしておけばよい。さらに発声がなかった場合のガイダンス音声に関する記述例や、全ての質問項目が入力された後での確認ガイダンスの例や、確認が肯定的だった場合と、否定的だった場合のそれぞれの処理の例を自動生成することで、開発者の工数を削減することができる。確認ガイダンスの例としては、入力された各質問項目の内容をユーザに聞かせることが有効なので、<value>要素を用いて各入力内容を参照したガイダンス文章の例を自動生成することが望ましいが、開発者は自分の判断によってガイダンスを修正することも可能である。
Next, a
次に、GUIアプリケーション104のソースコードを生成する(S07)。図7は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成したGUIアプリケーション104のソースコードの一例であり、Javaで記述されている。
Next, the source code of the
図7(a)は、質問項目に対応するGUIコンポーネントを生成するコードである。現在の音声認識システムの性能では、GUIでのテキストボックスのような自由入力をサポートすることは困難であるとともに、例え音声認識が正確にできたとしても、その内容を理解して対話を進めることも困難である。従って、各質問項目に対応したGUIコンポーネントとしては、あらかじめ決まった複数の選択肢から選択を行うタイプのもの、すなわちドロップダウンリストや、ラジオボックスなどが適している。どのGUIコンポーネントを利用するかは、開発者に問い合わせてもよいし、選択肢の個数を開発者に問い合わせて、数が多い場合はドロップダウンリストを用い、少ない場合はラジオボックスを用いるなどしてもよい。図7(a)の例では、ドロップダウンリストを生成している。ドロップダウンリストを説明するラベルコンポーネントのタイトルには、(2)の質問項目の名称が利用されている。また、(3)の各質問項目に対する典型的な回答例は読みと表記の情報が利用されている。音声認識文法では、図6(a)のように1つの選択肢に対して複数の読みを用意することがあるが、GUIコンポーネントでは冗長となるので、表記が同じ回答例については、1つだけ選択して用いることが望ましい。GUIコンポーネントの生成コードは、(1)の入力項目数だけ生成する。 FIG. 7A shows a code for generating a GUI component corresponding to the question item. With the performance of current speech recognition systems, it is difficult to support free input such as a text box in the GUI, and even if speech recognition can be done correctly, understand the content and proceed with the dialogue. It is also difficult. Therefore, as the GUI component corresponding to each question item, a type that selects from a plurality of predetermined options, that is, a drop-down list, a radio box, or the like is suitable. You can ask the developer which GUI component to use, or ask the developer for the number of options, use the drop-down list if there are many, use the radio box if there are few, etc. Good. In the example of FIG. 7A, a drop-down list is generated. The name of the question item in (2) is used for the title of the label component explaining the drop-down list. Also, typical answer examples for each question item in (3) use reading and notation information. In the speech recognition grammar, multiple readings may be prepared for one option as shown in FIG. 6 (a). However, since the GUI component is redundant, only one answer is selected for the same answer example. It is desirable to use it. As many GUI component generation codes as (1) are generated.
図7(b)は、これらのGUIコンポーネントの登録と、このGUIコンポーネントが操作されたときの動作を表すソースコードの一例である。一般的には、GUIコンポーネントが操作された場合の処理は各アプリケーションによって異なるため、自動生成は困難であるが、ここでは対話制御部103に対して、擬似音声認識結果を通知するコードのみを生成している。これによってGUI操作を行った場合も、音声で操作した場合と同様に対話を進行させることができる。対話制御部103は、本当の音声認識結果が得られた場合でも、擬似音声認識結果が与えられた場合でも、音声認識結果によって、VoiceXMLの仕様に従って、適切なフィールドに値を代入すればよい。音声認識結果はW3Cが標準化を進めているSISR(Semantics Interpretation for Speech Recognition)に基づいた記述方式で表現できる。例えば名称が「departure」である質問項目に関して、「東京」という入力が、GUIもしくは音声で行われた場合は、入力された内容が属するカテゴリーとその値のペアという形式で、「{ departure : "東京"}」と表現することができる。図7(b)のソースコードでも、GUIで選択された項目に対して、上記の音声認識結果を表現する文字列を生成している。カテゴリー情報とその値のペアという形式を用いることによって、どの質問項目に対する入力であるかが、入力方法を問わず明確になるとともに、音声入力によって複数の質問項目に対して入力が行われた場合でも対応できるという利点がある。
FIG. 7B is an example of source code representing registration of these GUI components and operations when the GUI components are operated. In general, the processing when the GUI component is operated differs depending on each application, so automatic generation is difficult, but here, only the code for notifying the
対話制御部103の処理において、フィールドに値が代入されると、対応するイベントがGUIアプリケーション104のイベントハンドラに通知される。図7(c)は生成するイベントハンドラの一例である。値が代入されたフィールド名と、代入された値が対話制御部103から通知される。フィールド名には開発者が与えた質問項目名称を用いているので、ここでも質問項目名称を用いて、どの質問項目に対する入力があったのかを判断して、処理を振り分けるコードを生成すればよい。各質問項目への入力に対する処理は、通知された入力内容に応じてGUIコンポーネントの選択項目を変更する処理(choice1.select(argValue))と、対話の進行状況に応じてGUIコンポーネントの入力可能/不可能状態を変更するコードを呼び出すコード(setDialogStatus(1))を生成すればよい。
When a value is assigned to a field in the processing of the
図7(d)は、対話の進行状況に応じてGUIコンポーネントの入力可能/不可能状態を変更するコードの実体である。図4の(a)の形式の対話では、現在質問している項目以外は、入力不可能な状態であることが望ましいため、全てのGUIコンポーネントを入力不可能状態にしてから、対話の進行状況に応じて現在の質問項目に対応したGUIコンポーネントを入力可能状態にするコードを生成すればよい。 FIG. 7D shows the substance of the code that changes the input enabled / disabled state of the GUI component in accordance with the progress of the dialogue. In the dialog shown in FIG. 4 (a), it is desirable that all items other than the currently questioned item are in an input-impossible state. In response to this, a code for enabling input of the GUI component corresponding to the current question item may be generated.
次に、直前の入力内容を訂正する発話や、GUI操作を許容するように開発者がウィザードに対して指示した場合のウィザードのフローについて説明する。 Next, the flow of the wizard when the developer instructs the wizard to allow the utterance to correct the input content immediately before and the GUI operation will be described.
図4の(b)の対話形式において、出発駅が入力された後、到着駅の入力が要求されている段階で、ユーザに許容されている操作が次の4つになるようにマルチモーダルアプリケーションを生成することが望ましい。すなわち(A)音声操作で到着駅(現在の質問項目)を選択、(B)音声操作で出発駅(直前の入力項目)を訂正、(C)GUI操作で到着駅(現在の質問項目)を選択、(D)GUI操作で出発駅(直前の入力項目)を訂正である。以下の対話シーケンスにおいても同様である。 In the interactive form of FIG. 4 (b), after the departure station is input, the multimodal application is set so that the following four operations are allowed for the user when the input of the arrival station is requested. It is desirable to generate That is, (A) Select the arrival station (current question item) by voice operation, (B) Correct the departure station (immediate entry item) by voice operation, (C) Specify the arrival station (current question item) by GUI operation Select (D) Departure station (immediate input item) by GUI operation. The same applies to the following dialogue sequence.
まず(A)(B)を実現する音声対話シナリオ105を生成する(S08)。図8は、本発明による対話ウィザードが自動生成する対話シナリオ105の一例である。<field>要素の数や、各要素name属性の名称、<prompt>の内容などを開発者が入力した情報から生成していることは図5の対話シナリオ105の例と同様である。図5と異なるのは、直前の入力内容をユーザに提示し、現在の質問項目に加えて訂正発話も受理する音声認識文法を指定し、現在の質問項目への入力か、訂正発話かで、それに応じた処理を行う部分である。具体的には、<prompt>の内容として開発者が与えた質問項目に加え、直前の入力内容を確認する文章(<value expr=”直前の質問項目名称”/>ですね?>)を自動生成することが望ましい。また参照する音声認識文法106の名称も「現在の質問項目名称_correct.abnf」と設定することで、開発者が生成された対話シナリオを見たときに、訂正が許容されることが分りやすくなる。ユーザの発声が、現在の質問項目に対する入力であるか、直前の入力内容に対する訂正であるかを判断するためには、すでに説明した音声認識結果の表現形式である「{ destination : "大阪"}では、情報が足りない。そこで、訂正発話を表現として「{ destination : { correct : "true" departure : "名古屋"}}」のような形式を用いる。この例では、destinationを入力するステップにおいて、訂正発話が行われ、直前のdepartureの内容が名古屋に訂正されたという意味である。一方、現在の質問項目に対する入力を表す表現形式は、「{ destination : { correct : "false" destination : "東京"}}」のようになる。訂正発話を許容する各<field>要素内で、<if>要素を用いてcorrectの内容を判断し、訂正発声と判断された場合は、直前の入力内容を<asign>要素を用いて、「現在の質問項目名称.直前の質問項目名称」という変数で書き換え、まだ入力が完了していない現在の質問項目のフィールド変数をクリアする記述を自動生成し、訂正発話ではないと判断された場合は、現在の質問項目のフィールド変数の値を「現在の質問項目名称.現在の質問項目名称」という変数の値で書き換える記述を自動生成することが望ましい。
図8の例では、最終確認のステップでは、直前の「class」が訂正できないようになっているが、開発者が最終確認のステップでの訂正発話を許容するかどうか選択できることが望ましい。最終確認のステップでの直前の入力内容に対する訂正発話を許容する場合は、参照する音声認識文法106の名称を「yesno_correct.abnf」など分りやすい名称にし、認識結果が訂正発話であるかどうかを判断する<if>要素も自動生成すればよい。
First, a
In the example of FIG. 8, the last “class” cannot be corrected in the final confirmation step, but it is desirable that the developer can select whether or not to allow correction utterance in the final confirmation step. When correction utterances for the input content immediately before in the final confirmation step are allowed, the name of the
次に直前の入力内容に対する訂正発話を許容する音声認識文法106ついて説明する。直前の入力内容に対する訂正発話としては「大阪ではなくて名古屋」のような言い回しが考えられる。このとき「xxxではなくてyyy」のような言い回しを全てのパターンについて受理可能な音声認識文法106を自動生成することが考えられる。しかしこの場合、直前の入力内容が「大阪」だった場合でも「東京ではなくて名古屋」のような発声を受理してしまうことと、全てのパターンを受理するために音声認識文法106のサイズが大きくなってしまうことから、最適な方法ではない。別の方法として、直前の入力内容から参照する音声認識文法106の名称を動的に決定する方法が考えられる。例えばW3CのVoiceXML2.1Working Draftに記載の音声認識文法指定方法であれば、「<grammar srcexpr="departure + '_correct.abnf'"/>」のように記述することで、「大阪」という直前の入力に対して、「大阪_correct.abnf」という音声認識文法106を次の質問項目のステップで参照することができる。この方法により、適切でない言い回しを排除できるため有利である。また別の方法としては、参照する音声認識文法106の名称は「現在の質問項目名称_correct.abnf」に固定してGUIアプリケーション104がこのファイル名を持つ音声認識文法106を自動生成する方法が考えられる。ここでは、最後の自動生成を行う方式に基づいて説明するため、マルチモーダル生成アプリケーションの次のフローは音声認識文法を自動生成するソースコードの生成となる(S09)。
図9は、GUIアプリケーション104が自動生成する、直前の入力内容を考慮した音声認識文法106の一例である。すでに説明した訂正発話かどうかが判断可能な形式の認識結果が得られるようにSRGS形式で記述されている。直前の入力内容にかかわらず文法の構造は同一であり、直前の入力内容によって変化する部分は、$correctの先頭の単語が直前の入力内容であることと、$correctの末尾にある訂正候補のリストから直前の入力内容が除外されていることである。本発明によるウィザードでは、直前の入力内容の読みと表記を与えることで、上記のような音声認識文法106を生成するコードをGUIアプリケーション104の中に自動生成できる(S09)。
Next, the
FIG. 9 is an example of a
次に、直前の入力内容を訂正可能で、対話シナリオ105と連携可能なGUIアプリケーション104のソースコードの自動生成(S10)について説明する。
図10は、本発明によるウィザードが自動生成するGUIアプリケーション104のソースコードの一例である。図10(a)では、図7(a)の例と同様に、ドロップダウンリストを生成している。ドロップダウンリストを説明するラベルコンポーネントのタイトルには、(2)の質問項目の名称が利用されている。また、(3)の各質問項目に対する典型的な回答例は読みと表記の情報が利用されている。図10(b)は最初の質問項目、(d)はそれ以降の質問項目に対するGUIコンポーネントが操作された場合のイベントハンドラである。変数stateは対話の進行状況を表す変数であり、同じGUIコンポーネントが操作された場合でも、現在の質問項目に対しての入力なのか、次のステップに移った後での訂正入力なのかを区別することができる。図10(b)は、最初の質問項目に対するイベントハンドラであるため、現在最初の質問項目のステップにある場合(state=0)は、訂正する内容がないため、「{ departure : "大阪"}」のような認識結果表現を生成するためのコードを自動生成し、次のステップに移っている場合(state=1)は、「{ destination : { correct : "true" departure : "名古屋"}}のような、次のステップで直前の入力内容に対する訂正発話を行った場合と同様の認識結果表現を生成するためのコードを自動生成すればよい。図10(d)では、現在の質問項目に対する入力を表す認識結果表現も、「{ destination : { correct : "false" destination : "東京"}}のような訂正入力かどうかの判断ができる記述形式で生成するコードを自動生成すればよい。図10(c)の<field>要素に値が代入された場合のイベントハンドラコードは、図7(c)のコードとほぼ同一のものを自動生成すればよいが、異なるのは入力内容によって、次のステップでの音声認識文法106を自動生成するコードを呼び出すコード(makeDic(argValue))が追加されていることである。図10(e)は、上で述べたユーザ操作に関する制限の(c)(d)を実現するためのコードであり、ウィザードは、現在の質問項目と、直前の質問項目以外のGUIコンポーネントを操作できないようにするコードを自動生成すればよい。そのためには、最初の質問項目の場合(step=0)は、最初の質問項目に対するGUIコンポーネントのみを有効にするコードを自動生成し、それ以降の状態では、現在の質問項目と直前の質問項目だけを有効にするコードを自動生成すればよい。
Next, automatic source code generation (S10) of the
FIG. 10 shows an example of source code of the
本発明は、パーソナルコンピュータや、PDA、カーナビゲーションシステムなど、音声対話機能とGUI操作機能を搭載する情報機器向けのプログラム開発に利用することが可能である。 The present invention can be used for developing a program for an information device equipped with a voice interaction function and a GUI operation function, such as a personal computer, a PDA, and a car navigation system.
100・・・OS
101・・・音声認識エンジン
102・・・音声合成エンジン
103・・・対話制御部
104・・・GUIアプリケーション
105・・・対話シナリオ
106・・・音声認識文法
107・・・音声認識結果
108・・・擬似音声認識結果
109・・・対話の進行状況を表すイベント
301・・・現在入力対象となっているドロップダウンリスト
302・・・現在入力対象外のドロップダウンリスト
303・・・現在入力対象外のドロップダウンリスト
304・・・現在入力対象外のボタン
305・・・現在入力対象外のボタン。
100 ... OS
DESCRIPTION OF
Claims (6)
GUIインタフェースを介して前記複数の質問項目への回答が入力操作されたを場合に前記擬似音声認識情報を音声対話制御部に送信する処理を含んだGUIアプリケーションのプログラムのソースコードと、
前記複数の質問項目をユーザに回答させる音声対話シナリオと、
前記複数の質問項目それぞれに対する典型的な回答例を含んだ音声認識文法とを生成することを特徴とする、
マルチモーダルアプリケーション生成ウィザードプログラム。 Receive at least information about the number of question items, each question item name, and a list of typical answers to each question item as input,
A source code of a program of a GUI application including a process of transmitting the pseudo voice recognition information to the voice dialogue control unit when an answer to the plurality of question items is input through the GUI interface;
A voice interaction scenario for allowing a user to answer the plurality of question items;
Generating a speech recognition grammar including a typical answer example for each of the plurality of question items,
Multimodal application generation wizard program.
5. The multi-modal application generation wizard program according to claim 4, wherein the source code includes a code for prohibiting operation of a GUI component corresponding to an input item that cannot be input by a user according to progress of the voice dialogue scenario. A multi-modal application generation wizard program characterized by generating
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005212055A JP2007033478A (en) | 2005-07-22 | 2005-07-22 | Multi-modal dialog system and multi-modal application generation wizard |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005212055A JP2007033478A (en) | 2005-07-22 | 2005-07-22 | Multi-modal dialog system and multi-modal application generation wizard |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007033478A true JP2007033478A (en) | 2007-02-08 |
Family
ID=37792879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005212055A Pending JP2007033478A (en) | 2005-07-22 | 2005-07-22 | Multi-modal dialog system and multi-modal application generation wizard |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007033478A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022678A (en) * | 2009-07-14 | 2011-02-03 | Optimedia Corp | System for functional interior/scenario exterior, and control method thereof |
JP2011108083A (en) * | 2009-11-19 | 2011-06-02 | Fujitsu Advanced Engineering Ltd | Voice scenario generation program and voice scenario generation device |
US8352908B2 (en) | 2010-06-28 | 2013-01-08 | International Business Machines Corporation | Multi-modal conversion tool for form-type applications |
KR20140111538A (en) * | 2013-03-11 | 2014-09-19 | 삼성전자주식회사 | Interactive sever, display apparatus and control method thereof |
WO2019124631A1 (en) * | 2017-12-22 | 2019-06-27 | 삼성전자 주식회사 | Method for executing application and apparatus therefor |
JP7205962B1 (en) * | 2022-10-14 | 2023-01-17 | ユニロボット株式会社 | System for automatic dialogue |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150440A (en) * | 2001-11-13 | 2003-05-23 | Matsushita Electric Ind Co Ltd | Method for synchronizing a plurality of user interfaces, system thereof, and program |
JP2003216293A (en) * | 2002-01-28 | 2003-07-31 | Canon Inc | Information processor, controlling method thereof and program |
-
2005
- 2005-07-22 JP JP2005212055A patent/JP2007033478A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150440A (en) * | 2001-11-13 | 2003-05-23 | Matsushita Electric Ind Co Ltd | Method for synchronizing a plurality of user interfaces, system thereof, and program |
JP2003216293A (en) * | 2002-01-28 | 2003-07-31 | Canon Inc | Information processor, controlling method thereof and program |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011022678A (en) * | 2009-07-14 | 2011-02-03 | Optimedia Corp | System for functional interior/scenario exterior, and control method thereof |
JP2011108083A (en) * | 2009-11-19 | 2011-06-02 | Fujitsu Advanced Engineering Ltd | Voice scenario generation program and voice scenario generation device |
US8352908B2 (en) | 2010-06-28 | 2013-01-08 | International Business Machines Corporation | Multi-modal conversion tool for form-type applications |
KR20140111538A (en) * | 2013-03-11 | 2014-09-19 | 삼성전자주식회사 | Interactive sever, display apparatus and control method thereof |
KR102084739B1 (en) * | 2013-03-11 | 2020-04-14 | 삼성전자주식회사 | Interactive sever, display apparatus and control method thereof |
WO2019124631A1 (en) * | 2017-12-22 | 2019-06-27 | 삼성전자 주식회사 | Method for executing application and apparatus therefor |
KR20190076568A (en) * | 2017-12-22 | 2019-07-02 | 삼성전자주식회사 | Method for executing an application and apparatus thereof |
CN111512282A (en) * | 2017-12-22 | 2020-08-07 | 三星电子株式会社 | Method and device for executing application |
KR102532300B1 (en) | 2017-12-22 | 2023-05-15 | 삼성전자주식회사 | Method for executing an application and apparatus thereof |
CN111512282B (en) * | 2017-12-22 | 2024-02-09 | 三星电子株式会社 | Method and device for executing application |
JP7205962B1 (en) * | 2022-10-14 | 2023-01-17 | ユニロボット株式会社 | System for automatic dialogue |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4728905B2 (en) | Spoken dialogue apparatus and spoken dialogue program | |
JP4509039B2 (en) | Spoken dialogue interface apparatus and method | |
RU2352979C2 (en) | Synchronous comprehension of semantic objects for highly active interface | |
JP4090040B2 (en) | Method and system for creating a two-way multimodal dialogue and related browsing mechanism | |
US8229753B2 (en) | Web server controls for web enabled recognition and/or audible prompting | |
RU2349969C2 (en) | Synchronous understanding of semantic objects realised by means of tags of speech application | |
US6311159B1 (en) | Speech controlled computer user interface | |
KR100923180B1 (en) | Creating a mixed-initiative grammar from directed dialog grammars | |
JP5405672B2 (en) | Foreign language learning apparatus and dialogue system | |
US9015048B2 (en) | Incremental speech recognition for dialog systems | |
EP1304614A2 (en) | Application abstraction with dialog purpose | |
KR20080040699A (en) | Selective confirmation for execution of a voice activated user interface | |
US8209170B2 (en) | Voiced programming system and method | |
JP2008009153A (en) | Voice interactive system | |
KR102429407B1 (en) | User-configured and customized interactive dialog application | |
JP2007033478A (en) | Multi-modal dialog system and multi-modal application generation wizard | |
JP2004021920A (en) | Information processing device, information processing method, program and storage medium | |
US11615788B2 (en) | Method for executing function based on voice and electronic device supporting the same | |
JP2010197858A (en) | Speech interactive system | |
JP4103085B2 (en) | Interlingual dialogue processing method and apparatus, program, and recording medium | |
JP2007193422A (en) | Interactive information processing system, and method for providing help scenario for service scenario | |
Schnelle et al. | Audio Navigation Patterns. | |
JP2002259113A (en) | Voice macro processor, its method, computer program, and recording medium with its program recorded | |
JP4537755B2 (en) | Spoken dialogue system | |
JP2006023444A (en) | Speech dialog system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110104 |