首页 / 专利库 / 人工智能 / 多模态界面 / Multi-modal dialog system and multi-modal application generation wizard

Multi-modal dialog system and multi-modal application generation wizard

阅读:809发布:2020-09-07

专利汇可以提供Multi-modal dialog system and multi-modal application generation wizard专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To easily generate a prototype of basic multi-modal application and to improve development efficiency even for an application development engineer who is not familiar with a mounting method of voice dialog application and the multi-modal application. SOLUTION: To automatically generate source codes of graphic user interface (GUI) application, a dialog scenario, voice recognition syntax for composing the multi-modal application by selecting the number of question items, a name regarding each question item, guidance information, an answer example and a correction method. COPYRIGHT: (C)2007,JPO&INPIT,下面是Multi-modal dialog system and multi-modal application generation wizard专利的具体信息内容。

  • 少なくともGUIアプリケーションと、音声対話シナリオに基づいて音声対話を制御する音声対話制御部と音声認識部から構成され、前記GUIアプリケーションは、ユーザの操作内容を音声対話制御部に対して、音声認識部が音声認識結果として出力するのと同じフォーマットの擬似音声認識結果情報として通知し、音声対話制御部は前記音声認識部から音声認識結果が得られた場合及び、前記GUIアプリケーションから擬似音声認識結果情報が得られた場合に、対話の進行状況に関する情報を前記GUIアプリケーションに通知することを特徴とするマルチモーダル対話システム。
  • 請求項1において、前記音声認識結果と前記擬似音声認識結果情報が共有するフォーマットが、少なくともカテゴリー名と値の対に関する情報を含むことを特徴とするマルチモーダル対話システム。
  • 請求項1において、前記音声認識部から音声認識結果が得られた場合及び、前記GUIアプリケーションから擬似音声認識結果情報が得られた場合に前記GUIアプリケーションに通知する対話の進行状況に関する情報が、前記GUIアプリケーションの操作シーケンスの形式を採ることを特徴とする、マルチモーダル対話システム。
  • 少なくとも、質問項目数に関する情報と、各質問項目名称と、各質問項目に対する典型的な回答例のリストを入力として受け取り、
    GUIインタフェースを介して前記複数の質問項目への回答が入力操作されたを場合に前記擬似音声認識情報を音声対話制御部に送信する処理を含んだGUIアプリケーションのプログラムのソースコードと、
    前記複数の質問項目をユーザに回答させる音声対話シナリオと、
    前記複数の質問項目それぞれに対する典型的な回答例を含んだ音声認識文法とを生成することを特徴とする、
    マルチモーダルアプリケーション生成ウィザードプログラム。
  • 請求項4のマルチモーダルアプリケーション生成ウィザードプログラムにおいて、直前の音声認識結果の訂正発話および現在の入力項目に対する発話を受理した場合に、訂正発話と入力発話を区別可能な音声認識文法を動的に生成するコードを前記ソースコードに含めて生成することを特徴とするマルチモーダルアプリケーション生成ウィザードプログラム。
  • 請求項4のマルチモーダルアプリケーション生成ウィザードプログラムにおいて、前記音声対話シナリオの進行に応じて、ユーザの入力が音声によって不可能な入力項目に相当するGUIコンポーネントの操作を禁止するコードを含めて前記ソースコードを生成することを特徴とするマルチモーダルアプリケーション生成ウィザードプログラム。
  • 说明书全文

    本発明は、音声操作と画面上の操作の両者を用いて操作可能なマルチモーダルアプリケーションプログラムを自動的に生成する技術に関するものである。

    画面上でのアプリケーション操作が可能なGUI(Graphical User Interface)は、パーソナルコンピュータや、カーナビゲーションシステム、携帯電話などで広く用いられている。 このようなアプリケーションプログラムを開発するためのツールや参考書は多く出回っており、開発者の数も非常に多い。

    一方で、音声操作と画面上の操作の両者を用いて操作可能なマルチモーダルアプリケーションプログラムは、まだ普及しているとは言えず、その開発ツールもまだ普及していない。

    さらに、GUIアプリケーションでは、ボタンなどのGUIコンポーネントを画面に配置して、それらのコンポーネントがユーザによって操作されたときのシステムの動作を記述するというイベントドリブン型のプログラム形式が用いられるが、音声対話の場合、対話フローに基づく逐次的な処理が必要となり、GUIアプリケーションの開発者にとって敷居の高いものになっている。

    プログラミングの出来ないユーザでも、マルチモーダルアプリケーションを作成できるツールについては、特許文献1などが公開されている。

    特開平9−251368号公報

    しかし、特許文献1に公開されている方式についても、複数の入出モダリティのタイミングについて、ユーザが直接タイミングチャートを作成したり、タイミングチャートの学習のための操作ログを作成したりなど、比較的工数がかかっていた。

    本発明は、上記の問題を鑑みてなされたものであり、本発明では、GUIアプリケーションと、音声対話シナリオが連携してマルチモーダルアプリケーションを実現する仕組みを提供するとともに、質問項目数、質問項目名、質問項目ごとのガイダンス、質問項目ごとの回答例、誤認識時の訂正方式という情報を与えるだけで、マルチモーダルアプリケーションを実現するGUIアプリケーションのソースコードと、GUIアプリケーションと連動する対話シナリオと、対話シナリオで利用する音声認識文法の雛形を生成する。

    上記の方式によって、音声対話アプリケーションやマルチモーダルアプリケーションの実装方法に詳しくないアプリケーション開発者でも、基本的なマルチモーダルアプリケーションの雛形を簡単に生成することができ、開発効率が向上する。

    図1は、本発明によるマルチモーダルアプリケーションの構成の一実施例を表した図である。 マルチモーダルアプリケーションは、OS100上で動作する音声認識エンジン101と、音声合成エンジン102と、1つもしくは複数の対話シナリオ105と、1つもしくは複数の音声認識文法106と、対話シナリオ105に記述された内容に従って、音声認識エンジン101と音声合成エンジン102を利用してユーザとの対話を制御する対話制御部103と、GUIアプリケーション104から構成される。

    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の動作を制御する、後者の仕組みが適切である。

    そこで一実施例として、対話制御部103がGUIアプリケーション104の動作を制御する仕組みについて説明する。
    対話制御部103は、与えられた対話シナリオ105の記述内容に基づいて、対話の制御を行う。 図2は、VoiceXML形式で記述された対話シナリオ105の例である。 この対話シナリオに基づき、対話制御部103は、音声合成エンジン102を用いて、ユーザに音声で「新幹線予約システムへようこそ」「出発する駅名を発声して下さい」というガイダンスを出力する。 次に対話制御部103は、「departure.abnf」というファイル名で指定された音声認識文法106の記述内容に基づき、音声認識エンジン101を用いてユーザの発声を音声認識する。 音声認識結果107が音声認識エンジン101から通知されると、ユーザが適切な駅名の発声をした場合は、目的地を質問する次の対話に進み、ユーザが発声をしなかった場合<noinput>は、「東京駅のように発声して下さい」というガイダンスを出力し、再び音声認識を行う。 このように、対話制御部103は、GUIアプリケーション104とは独立して対話の制御を行うことができる。

    一般的なGUIアプリケーションでは、画面上に配置されたメニューやボタンなどのGUIコンポーネントをポインティングデバイスで選択操作すると、そのGUIコンポーネントに対応付けられた処理が実行される仕組みになっている。 しかし、本発明におけるGUIアプリケーション104では、GUIコンポーネントが選択操作された場合に、対話制御部103に対して、そのGUI操作と同等の意味を持つ音声コマンドをユーザが発声した場合の音声認識結果と同等の擬似音声認識結果情報108を送信する。 これによって、音声コマンドを発した場合でも、GUI操作を行った場合でも、対話制御部103は同じように音声対話を制御することができる。

    一方、GUI操作を行った場合や、音声コマンドを発声した場合に、GUIアプリケーション104にもその操作の結果が反映される必要がある。 このために、対話制御部103は、対話の進行状況に関する情報をGUIアプリケーション104に対して提供する機能を持つ必要がある。 この情報提供の仕組みとして、イベントシステムを用いることができる。 対話制御部103にイベントリスナー登録を行うAPI(Application Program Interface)を用意し、対話制御部103の動作中に発生する、対話の進行状況に関するイベント109をGUIアプリケーション104に通知すればよい。

    対話の進行状況に関するイベントとしては、対話シナリオ105をVoiceXMLで記述した場合、対話の開始を表すイベント、フォームの実行開始を表すイベント、フォーム内の特定の項目の実行開始を表すイベント、フォーム内で定義されているフィールドにユーザ入力により値が代入されたことを表すイベント、対話シナリオ内で定義されている変数の値が変更されたことを表すイベント、対話の終了を表すイベントなどが考えられる。 これらのイベントをGUIアプリケーションが受け取り、その内容に基づいて画面表示を変更するなどの処理を行えばよい。 例えば図3は、図2の対話シナリオと連携してマルチモーダルアプリケーションを実現するGUIアプリケーション104の画面の例であり、「出発駅」の選択に対応したリストボックス301の値を、フィールドdepartureにユーザ入力により値が代入されたことを表すイベントが通知されたときに、変更すればよい。 ユーザが1回の発声で複数の項目に対して回答するような発声を行った場合は、フォーム内で定義されているフィールドにユーザ入力により値が代入されたことを表すイベントを複数回連続して発行することで、GUIアプリケーションを複数回操作した場合と同等の効果を得ることができる。

    図2で例示した対話シナリオでは、質問項目を順次ユーザに尋ねる方式の対話を行っている。 図3のGUIアプリケーション104では、3つの入力項目がすべて表示されているが、対話の制御を対話制御部103で行うことを考えると、対話制御部103が受け付けることのできない入力は、GUIアプリケーション104においても受け付けるべきではないので、出発駅の入力を要求している状況では、図3のようにリストボックス302と303、及びボタン304と305は入力不可状態にしておくことが望ましい。 同様に、音声対話シナリオ105及び、音声認識文法106が複数の入力項目に関する入力を同時に受け付けられるように記述されている場合は、GUIアプリケーション104においても、同時受付している入力項目のGUIコンポーネントだけを入力可能状態にし、他のGUIコンポーネントは入力不可状態にしておくことが望ましい。

    次に、本発明によるマルチモーダルアプリケーション生成ウィザードの一実施例について図を参照して説明する。
    図11は、本発明によるマルチモーダルアプリケーション生成ウィザードのフローの一実施例を示したものである。 本フローに従い、具体的に生成すべきソースコード、対話シナリオ、音声認識文法の形式について説明を行う。

    マルチモーダルアプリケーション生成ウィザードが実行を開始する(S01)と、アプリケーションを生成するのに必要な情報が記載されたアプリ定義ファイルを読み込む(S02)。 アプリ定義ファイルには、少なくとも(1)質問項目の数、(2)各質問項目の名称、 (3)各質問項目に対する典型的な回答例の3種類の情報が含まれている必要がある。

    アプリ定義ファイルには、オプションとして(4)直前の入力の訂正を許可するかどうかの情報及び、(5)各質問項目に関するガイダンス情報を含めても良い。

    図4(a)(b)は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成するマルチモーダルアプリケーションの対話シーケンスの例を表した図である。 この例では、それぞれ(1)出発駅名(departure)、(2)到着駅名(destination)、(3)座席のクラス(class)をユーザが入力すべき項目としている。 また、両者とも各入力項目を順番に入力することをユーザに求める形式になっている。 (a)と(b)で異なるのは、音声認識エンジン101が認識結果を誤ったり、ユーザが入力を誤ったときに、その場で直前の入力を訂正することができるかどうかであり、アプリ定義ファイルに記載された(4)の情報によって、どちらの形式の対話を生成するかを決める。 オプションが与えられなかった場合は、いずれかの形式の対話をデフォルトで生成すればよい。

    次に最初の質問項目に対する音声認識文法106を生成する(S03)。 最初の質問項目では、訂正発話の可能性がないため、図4の(a)(b)の対話形式ともに同一形式の音声認識文法を生成すればよい。

    音声認識文法106の生成には、(3)の各質問項目に対する典型的な回答例の情報を利用することができる。 発音と表記の組を複数、回答例として与えた場合、図6(a)のような音声認識文法106を生成することができる。 この音声認識文法の例は、W3Cの勧告するSRGSで定義されたABNF形式に基づいた表記方法を用いている。 「発音 { 質問項目の名称 = "表記"}」という形式で、開発者から与えられた情報を用いている。 発音の表記の組をただ1つ与えた場合は、図6(b)のような音声認識文法106を生成することができる。 このような音声認識文法106を生成することで、発話例を後から増やす場合に、どのような記述を行えば良いのか、開発者に知らせることができる。

    次に、直前の入力の訂正が可能な対話を生成するか否かで、処理を振り分ける(S04)。 まず、直前の入力の訂正ができない図4の(a)の対話形式のアプリケーションの生成フローについて説明する。

    図4の(a)の対話形式の場合、訂正発話を受理する必要がないため、生成する音声認識文法106は、全ての質問項目に対して図6の形式のものを生成すればよい。 さらに、最終確認用の音声認識文法106として、「はい」「いいえ」を認識語彙の音声認識文法を出力する(S05)。

    次に、対話シナリオ105を生成する(S06)。 図5は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成した図4の(a)の対話形式のマルチモーダルアプリケーションを構成する対話シナリオ105の一例であり、VoiceXML形式で記述されている。 この記述方式においては、(1)の質問項目の数は、生成するVoiceXMLドキュメントに含まれる<field>要素の数として扱うことができる。 また(2)の各質問項目の名称は、各<field>要素のname属性の値及び参照する音声認識文法106の名称として扱うことができる。 (5)の各質問項目での音声ガイダンスは、各<field>要素内の<prompt>要素の内容として扱うことができるが、指定がなかった場合は、図5のように「質問項目名称の発声を促すガイダンス」という文字列を出力しておき、後で開発者が簡単に修正できるようにしておけばよい。 さらに発声がなかった場合のガイダンス音声に関する記述例や、全ての質問項目が入力された後での確認ガイダンスの例や、確認が肯定的だった場合と、否定的だった場合のそれぞれの処理の例を自動生成することで、開発者の工数を削減することができる。 確認ガイダンスの例としては、入力された各質問項目の内容をユーザに聞かせることが有効なので、<value>要素を用いて各入力内容を参照したガイダンス文章の例を自動生成することが望ましいが、開発者は自分の判断によってガイダンスを修正することも可能である。

    次に、GUIアプリケーション104のソースコードを生成する(S07)。 図7は、本発明によるマルチモーダルアプリケーション生成ウィザードが生成したGUIアプリケーション104のソースコードの一例であり、Javaで記述されている。

    図7(a)は、質問項目に対応するGUIコンポーネントを生成するコードである。 現在の音声認識システムの性能では、GUIでのテキストボックスのような自由入力をサポートすることは困難であるとともに、例え音声認識が正確にできたとしても、その内容を理解して対話を進めることも困難である。 従って、各質問項目に対応したGUIコンポーネントとしては、あらかじめ決まった複数の選択肢から選択を行うタイプのもの、すなわちドロップダウンリストや、ラジオボックスなどが適している。 どのGUIコンポーネントを利用するかは、開発者に問い合わせてもよいし、選択肢の個数を開発者に問い合わせて、数が多い場合はドロップダウンリストを用い、少ない場合はラジオボックスを用いるなどしてもよい。 図7(a)の例では、ドロップダウンリストを生成している。 ドロップダウンリストを説明するラベルコンポーネントのタイトルには、(2)の質問項目の名称が利用されている。 また、(3)の各質問項目に対する典型的な回答例は読みと表記の情報が利用されている。 音声認識文法では、図6(a)のように1つの選択肢に対して複数の読みを用意することがあるが、GUIコンポーネントでは冗長となるので、表記が同じ回答例については、1つだけ選択して用いることが望ましい。 GUIコンポーネントの生成コードは、(1)の入力項目数だけ生成する。

    図7(b)は、これらのGUIコンポーネントの登録と、このGUIコンポーネントが操作されたときの動作を表すソースコードの一例である。 一般的には、GUIコンポーネントが操作された場合の処理は各アプリケーションによって異なるため、自動生成は困難であるが、ここでは対話制御部103に対して、擬似音声認識結果を通知するコードのみを生成している。 これによってGUI操作を行った場合も、音声で操作した場合と同様に対話を進行させることができる。 対話制御部103は、本当の音声認識結果が得られた場合でも、擬似音声認識結果が与えられた場合でも、音声認識結果によって、VoiceXMLの仕様に従って、適切なフィールドに値を代入すればよい。 音声認識結果はW3Cが標準化を進めているSISR(Semantics Interpretation for Speech Recognition)に基づいた記述方式で表現できる。 例えば名称が「departure」である質問項目に関して、「東京」という入力が、GUIもしくは音声で行われた場合は、入力された内容が属するカテゴリーとその値のペアという形式で、「{ departure : "東京"}」と表現することができる。 図7(b)のソースコードでも、GUIで選択された項目に対して、上記の音声認識結果を表現する文字列を生成している。 カテゴリー情報とその値のペアという形式を用いることによって、どの質問項目に対する入力であるかが、入力方法を問わず明確になるとともに、音声入力によって複数の質問項目に対して入力が行われた場合でも対応できるという利点がある。

    対話制御部103の処理において、フィールドに値が代入されると、対応するイベントがGUIアプリケーション104のイベントハンドラに通知される。 図7(c)は生成するイベントハンドラの一例である。 値が代入されたフィールド名と、代入された値が対話制御部103から通知される。 フィールド名には開発者が与えた質問項目名称を用いているので、ここでも質問項目名称を用いて、どの質問項目に対する入力があったのかを判断して、処理を振り分けるコードを生成すればよい。 各質問項目への入力に対する処理は、通知された入力内容に応じてGUIコンポーネントの選択項目を変更する処理(choice1.select(argValue))と、対話の進行状況に応じてGUIコンポーネントの入力可能/不可能状態を変更するコードを呼び出すコード(setDialogStatus(1))を生成すればよい。

    図7(d)は、対話の進行状況に応じてGUIコンポーネントの入力可能/不可能状態を変更するコードの実体である。 図4の(a)の形式の対話では、現在質問している項目以外は、入力不可能な状態であることが望ましいため、全てのGUIコンポーネントを入力不可能状態にしてから、対話の進行状況に応じて現在の質問項目に対応したGUIコンポーネントを入力可能状態にするコードを生成すればよい。

    次に、直前の入力内容を訂正する発話や、GUI操作を許容するように開発者がウィザードに対して指示した場合のウィザードのフローについて説明する。

    図4の(b)の対話形式において、出発駅が入力された後、到着駅の入力が要求されている段階で、ユーザに許容されている操作が次の4つになるようにマルチモーダルアプリケーションを生成することが望ましい。 すなわち(A)音声操作で到着駅(現在の質問項目)を選択、(B)音声操作で出発駅(直前の入力項目)を訂正、(C)GUI操作で到着駅(現在の質問項目)を選択、(D)GUI操作で出発駅(直前の入力項目)を訂正である。 以下の対話シーケンスにおいても同様である。

    まず(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>要素も自動生成すればよい。

    次に直前の入力内容に対する訂正発話を許容する音声認識文法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)。

    次に、直前の入力内容を訂正可能で、対話シナリオ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コンポーネントのみを有効にするコードを自動生成し、それ以降の状態では、現在の質問項目と直前の質問項目だけを有効にするコードを自動生成すればよい。

    本発明は、パーソナルコンピュータや、PDA、カーナビゲーションシステムなど、音声対話機能とGUI操作機能を搭載する情報機器向けのプログラム開発に利用することが可能である。

    マルチモーダルアプリケーションの構成の一実施例を表す図。

    対話シナリオの記述例の一実施例を表す図。

    GUIアプリケーションの画面の位置実施例を表す図。

    自動生成されるマルチモーダルアプリケーションの対話シーケンスの一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションの対話シナリオの一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションの音声認識文法の一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションのGUIアプリケーションソースコードの一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションの対話シナリオの一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションのGUIアプリケーションが自動生成する音声認識文法の一実施例を表す図。

    自動生成されるマルチモーダルアプリケーションのGUIアプリケーションソースコードの一実施例を表す図。

    マルチモーダルアプリケーションの自動生成フローの一実施例。

    符号の説明

    100・・・OS
    101・・・音声認識エンジン102・・・音声合成エンジン103・・・対話制御部104・・・GUIアプリケーション105・・・対話シナリオ106・・・音声認識文法107・・・音声認識結果108・・・擬似音声認識結果109・・・対話の進行状況を表すイベント301・・・現在入力対象となっているドロップダウンリスト302・・・現在入力対象外のドロップダウンリスト303・・・現在入力対象外のドロップダウンリスト304・・・現在入力対象外のボタン305・・・現在入力対象外のボタン。

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈