(57)【要約】【課題】音声対話装置で用いる各種コンテンツの作成方法を簡素化する。【解決手段】開発すべきアプリケーションに適合した対話の順序及び画像の表示順序を定めたシナリオテンプレートと、開発すべきアプリケーションで定められる入力項目名を表わす複数のスロット名及びこれらのスロット名に付したスロットIDと、予めスロットIDが埋め込まれ、このスロットIDの埋め込み位置に従ってスロット名を代入することにより対話相手に対し入力を促し、適正な入力を誘導する複数の対話文のテンプレートとを用意し、対話文のテンプレートに埋め込まれたスロットIDに従ってスロット名を代入し、スロット名が埋め込まれた対話文のそれぞれをシナリオテンプレートに代入し、シナリオファイル及びプロンプト音声ファイルを生成する。【選択図】図１
2006236037.tif 000002
【特許請求の範囲】
【請求項１】
開発すべきアプリケーションに適合した対話の順序及び画像の表示順序を定めたシナリオを作成するためのシナリオテンプレートと、
開発すべきアプリケーションで定められる入力項目名を表わす複数のスロット名及びこれらのスロット名に付したスロットIDと、
予めスロットIDが埋め込まれ、このスロットIDの埋め込み位置に従って上記スロット名を代入することにより対話相手に対し入力を促し、適正な入力を誘導する複数の対話文を作成するためのプロンプトテンプレートと、
を用意し、プロンプトテンプレートに埋め込まれた上記スロットIDに従って上記スロット名を代入し、スロット名が埋め込まれた対話文のそれぞれを上記シナリオテンプレートに代入し、シナリオファイル及びプロンプト音声ファイルを生成することを特徴とする音声対話コンテンツ作成方法。
【請求項２】
請求項１記載の音声対話コンテンツ作成方法において、上記シナリオファイル及びプロンプト音声ファイルの作成に加えて開発すべきアプリケーションに用いられる単語のリストと、対話の結果を表わす文例データの格納位置情報及び対話途中の状況を表わす文例データの格納位置情報とを用いて結果表示ドキュメントリスト及び途中結果ファイルドキュメントファイルとを作成することを特徴とする音声対話コンテンツ作成方法。
【請求項３】
開発すべきアプリケーションに適合した対話の順序及び画像の表示順序を定めたシナリオの雛形を格納したシナリオテンプレートと、
開発すべきアプリケーションで定められる入力項目を表わす複数のスロット名及びこれらのスロット名に付したスロットIDを格納したスロット名リスト格納部と、
予めスロットIDが埋め込まれ、このスロットIDの埋め込み位置に従って上記スロット名を代入することにより対話相手に対し入力を促し、適正な入力を誘導する複数の対話文の雛形を格納したプロンプトテンプレートと、
上記プロンプトテンプレートに格納した対話文の雛形に埋め込まれた上記スロットIDに従って上記スロット名を代入し、プロンプト文リストを生成するプロンプトテキスト作成手段と、
スロット名が埋め込まれた対話文のそれぞれを上記シナリオテンプレートに代入し、シナリオファイルを生成するシナリオ生成手段と、
スロット名が埋め込まれた対話文のそれぞれを上記プロンプト文リストに代入し、プロンプト音声ファイルを生成するプロンプト音声生成手段と、
を備えることを特徴とする音声対話コンテンツ作成装置。
【請求項４】
請求項３記載の対話コンテンツ作成装置において、途中結果ドキュメント設置位置情報格納部と、単語情報リスト格納部と、これら途中結果ドキュメント設置位置情報格納部に格納された途中結果ドキュメント設置位置情報と単語リスト格納部に格納された単語リストとから対話の結果を表わす画面を表示するための結果表示ドキュメントリストを生成する結果表示ドキュメントリスト生成手段と、
スロット名リスト格納部に格納したスロット名リストと、単語情報リストとから対話途中の状況を表わすための途中結果ドキュメントファイルを作成する途中結果ドキュメントファイル生成手段と、
を備えることを特徴とする音声対話コンテンツ作成装置。
【請求項５】
コンピュータが解読可能なプログラム言語によって記述され、コンピュータに請求項３又は４の何れかに記載の音声対話コンテンツ作成装置として機能させる音声対話コンテンツ作成プログラム。
【請求項６】
コンピュータが読み取り可能な記録媒体によって構成され、この記録媒体に請求項５記載の音声対話コンテンツ作成プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の音声を認識し、その内容を理解した上で必要な処理を行い音声や画面にその結果を表示することで応答を返す音声対話システム用プログラムの開発に用いる音声対話コンテンツ作成方法、装置、プログラム、このプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
画面上に擬人化して表現されたアニメーションエージェントキャラクタを表示させ、ユーザーがそのエージェントに対して話しかけるように発声した音声を認識し、応答をあらかじめ録音された音声や合成音で再生したり画面上にテキストで表示するなどして言葉として出力したり、応答のニュアンスをエージェントの仕草としてアニメーションで表示させたりすることで通知しながら対話を進める装置が提案されている（特許文献１）。
音声対話システムの作成においては、音声認識、音声合成、音声再生、音声理解、対話理解、対話制御といった多岐にわたる部位の動作に関して詳細な記述を行う必要がある。
【０００３】
通常この動作の詳細な記述作業（プログラミング）においては、作ろうとしている音声対話システムの設計情報の他に、各部位で用いる音声認識、音声合成等の技術要素の技術的特性を把握している必要があるなど専門的な知識を有している必要があった。また、音声を認識しながら音声を再生するといった各部位間を連携させるなどの処理を記述する必要があった。これらの要求から音声対話システムの設計及び記述は非常に複雑な作業となっていた。
この複雑さのために、従来から音声対話システムプログラム（以後音声対話シナリオ）記述においては（特許文献２）の中で示されているように、音声対話シナリオの中でよく利用される個所を部品化しておき、それらを対話の順序（対話フロー）に合わせて順番につなぎ合わせることで音声対話シナリオを設計及び記述を簡略化していた。
【０００４】
また、音声認識を行うためには、その対話システムに対して利用者が発する音声を受理し認識結果として出力するための文法や言語モデル、辞書などを作成する必要がある。この過程においては（特許文献３及び特許文献４）により、クラス統計言語モデルと呼ばれる被覆率の高い言語モデルと辞書を少数のコーパス（電子化された音声・言語データ）から作成し、音声認識を実行する技術が提案されている。
また近年では音声出力、音声入力といった音声モーダル（音声対話形式）のみならず、音声入力に対する応答内容を画面に描画し、また、その描画された画面の上にあるリンク等の項目のうちマウス等で選択された項目について音声により応答するといったマルチモーダル（多機能）なシステムが提案されている。このようなシステムでは、システムが検索結果などを返すために必要な項目に対してそれぞれの項目が「入力済み」・「未入力」等どのような状態にあるかといった、音声対話の途中の状態や対話の結果を画面上で表現することでより利用者にとってわかりやすい対話システムを提供することができる。このために画像やハイパーテキスト等のドキュメントファイルなども準備する。このとき、既に入力されている項目に関しての情報を受け取ることで、未入力の項目（スロット）についての候補を表示したりする上記のドキュメントを動的に生成する装置を作成しておくことで、ドキュメント作成のコストを下げる方法なども提案されている。
【特許文献１】特開２００４−２９５８３７号公報
【特許文献２】特開２００４−３１０６２８号公報
【特許文献３】特開２００４−６９８５８号公報
【特許文献４】特開２００４−０５３７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
音声対話シナリオの開発について（特許文献２）にあるように部分的な音声対話シナリオの接続という手法をとることで開発の負担を低減できる。しかし、音声対話シナリオのフロー設計においては、非常に高い専門性が必要とされ音声対話シナリオを短期間に多数を量産することは困難であった。なぜなら、一般的に音声対話において結果出力に必要な入力項目をどのような順で入力させるか、そしてその手順通りにユーザを誘導するにはシステムからの応答としてどのような言語表現（プロンプト）を用いるかに関しては慎重な設計が必要だからである。
【０００６】
また、音声認識を行った後に発話理解（発話の中から、対話の目的を達成するためにユーザから聞き出すことが必要な項目（スロット）に代入すべきキーワードを抽出する処理）を行う必要があるが、クラス言語モデルを作成する段階においてそのキーワードとなる単語を辞書に登録する際には、その言語の（１）表記、（２）読みと、その単語をクラス言語モデルにおけるどのクラス記号に割り当てるのかという（３）情報（クラス情報）に加えて、発話理解処理の中で意味を表わす（４）代入先スロットを付与する必要がある。すなわち、４種類の情報を登録する必要があり煩雑であった。
【０００７】
また、対話の最中、または対話の結果から情報を提供する段階にあたって動的に画面を表示するためのドキュメントを生成する装置を準備する場合、通常、対話処理装置以外の別の装置（例えばWebサーバ上のCGIプログラム）を作成する必要がある。音声対話シナリオ以外のプログラムを作成することは単なるドキュメントを作成することに比べると経験の浅い音声対話シナリオ作成者には困難である。しかしながら、動的にドキュメントを生成するのではなく、静的にすべての入力状態に応じたドキュメントを準備することは非常に手間のかかる作業であった。
【０００８】
上記のとおり、マルチモーダルな音声対話シナリオの問題点として以下の問題があり、これらの作業コストや難易度を下げることが課題であった。
（１）音声対話シナリオのフロー（筋書）自体を決定することも専門的知識が必要で作成が困難
（２）対話の最中の状態に応じた応答（プロンプト）内容を作文することが困難
（３）キーワードとなる単語を登録する際の作業に手間がかかる
（４）画面に結果表示するためのドキュメントやプログラムの作成が困難
【課題を解決するための手段】
【０００９】
本発明は上記問題を鑑みなされたものである。
上記（１）に関しては、部分的な音声対話シナリオを部品化して開発者が検索やオンラインショッピングといったアプリケーションや交通、小売、証券といったドメイン（話題）に合わせてフローを検討しながら各部品間を接続するのではなく、例えば、２つの項目に関して入力を求め、その２つの情報から導かれる結果を返すアプリケーション（「場所」「業種」から店舗を表示する、「発駅」「着駅」からその間の経路の乗り換え案内情報を表示する等）の全体のフローをテンプレートとして準備しておくことで、フロー設計を不要とさせる。このとき、作成しようとしているアプリケーションのドメインに合わせて応答内容となるテキスト（画面中にエージェントの噴出し内やテロップとして表示）や応答音声を準備させる。
【００１０】
上記ドメインにあわせた応答を準備させる際の問題である上記（２）に関しては、上記で準備したシナリオのフロー内の各場面での状況（あるスロットは入力済みであり、他方のスロットはいまだ入力済みでない等）に応じて、スロット名称を示す部分を空欄にした応答テキストとの雛形（テンプレート）を準備しておく。そして、スロットの名称を指示することで、その名称を雛形中の空欄に埋め込み、プロンプト文を動的に生成し、シナリオテンプレートの中にプロンプト文を埋め込み、必要であれば音声合成器や、人間がそのテキストを読み上げた音を録音装置で録音することで音声ファイルを作成する手段を設ける。
【００１１】
上記（３）の問題に関して、そのキーワードを入力すべきスロットの名前をそのままクラスとして読み替えるスロット・クラス読み替え手段を設ける。
上記（４）の問題に関しては、作成しようとしている音声対話アプリケーションにおけるスロットに入るキーワードの全ての組合せ（あるスロットにはキーワードが入っていない組み合わせも含む）について列挙したリストを自動的に作成する手段を設ける。そして、スロットにキーワードが入っていない組み合わせについては、既にスロットに入っている値と、まだ値が入っていないスロットに入るキーワードのリストを画面に表示することで利用者に提示するドキュメントのファイルを自動的に作成する手段を設ける。作成したドキュメントのファイル名は対応するキーワードの組み合わせと関連付けられてリストに追加する。
【００１２】
さらに対話シナリオが実行される環境、つまり、音声対話装置においては、対話シナリオが実行され、ユーザからの入力がある毎にスロットに入力されているキーワード情報を受け取り、このキーワードとドキュメントの対応をリストを参照して入力されているキーワードの組み合わせに関連付けられているドキュメントのパス、ファイル名を取り出して、そのファイルを読み込み表示する結果表示実行手段及び画面表示手段を設ける。
【発明の効果】
【００１３】
本発明により以下の効果がえられる。
１．音声対話シナリオの専門的知識が要求される音声対話シナリオのフロー開発を開発ア
プリの開発者自身が行わずにすむため、適切なフローを持つ音声対話アプリケーショ
ンの非専門家でも容易に音声対話コンテンツの開発を行うことができる。
２．上記と同じく、音声対話シナリオの専門的知識が要求されたシステム応答プロンプト内容の作文において、
開発アプリ毎にはじめから作文する必要が無くなりテンプレートによって自動生成さ
れるため、適切な対話を行う非専門家による音声対話コンテンツの開発が容易になる。
３．途中結果ドキュメントファイルの生成を自動的に行うために、マルチモーダル音声対
話コンテンツの開発作業量を低減することができる。
４．クラス言語モデルの作成に必要な、クラス情報の付与をキーワードに対して行う必要
がなくなるため、音声対話コンテンツの開発作業量を低減することができる。
５．スロット名のリストと、単語情報のリストの準備だけで、マルチモーダル音声対話コ
ンテンツの実行に必要な要素全てについて、その全体または雛形が半自動作成可能と
なるため、開発作業量が従来に比してはるかに削減される。
【発明を実施するための最良の形態】
【００１４】
本発明による音声対話コンテンツ作成装置は全てをハードウェアによって構成することができるが、それより更に簡易に実現するには本発明で提案する音声対話コンテンツ作成プログラムをコンピュータにインストールし、コンピュータに備えられているCPU（中央演算処理装置）によりプログラムを解読させ、コンピュータを音声対話コンテンツ作成装置として機能させる実施形態が最良の形態である。
コンピュータに本発明による音声対話コンテンツ作成装置として機能させる場合、コンピュータには、開発すべきアプリケーションに適合した対話の順序及び画像の表示順序を定めたシナリオの雛形を格納したシナリオテンプレートと、開発すべきアプリケーションで定められる入力項目を表わす複数のスロット名及びこれらのスロット名に付したスロットIDを格納したスロット名リスト格納部と、予めスロットIDが埋め込まれ、このスロットIDの埋め込み位置に従って上記スロット名を代入することにより対話相手に対し入力を促し、適正な入力を誘導する複数の対話文の雛形を格納したプロンプトテンプレートと、プロンプトテンプレートに格納した対話文の雛形に埋め込まれた上記スロットIDに従って上記スロット名を代入し、プロンプト文リストを生成するプロンプトテキスト作成手段と、スロット名が埋め込まれた対話文のそれぞれを上記シナリオテンプレートに代入し、シナリオファイルを生成するシナリオ生成手段と、スロット名が埋め込まれた対話文のそれぞれを上記プロンプト文リストに代入し、プロンプト音声ファイルを生成するプロンプト音声生成手段とが構築され音声対話コンテンツ作成装置として機能する。
【００１５】
この発明では更に、この音声対話コンテンツ作成装置として機能するコンピュータに、途中結果ドキュメント設置位置情報格納部と、単語情報リスト格納と、これら途中結果ドキュメント設置位置情報格納部に格納された途中結果ドキュメント設置位置情報と単語リスト格納部に格納された単語リストとから対話の結果を表わす画面を表示するための結果表示ドキュメントリストを生成する結果表示ドキュメントリスト生成手段と、スロット名リスト格納部に格納したスロット名リストと、単語情報リストとから対話途中の状況を表わすための途中結果ドキュメントファイルを作成する途中結果ドキュメントファイル生成手段とを構築し音声対話コンテンツ作成装置として機能させる。
【実施例】
【００１６】
図１に本発明による音声対話コンテンツ作成装置の実施例を示す。図中１００は本発明による音声対話コンテンツ作成装置を示す。この音声対話コンテンツ作成装置１００に対し、予め用意した入力情報１０を入力し、入力情報１０に基づいて音声対話コンテンツ２０が生成される。
入力情報１０はここではスロット名リスト１１、途中結果ドキュメント設置位置情報１２、単語情報リスト１３、追加例文コーパスファイル１４等とした場合を示す。また、生成される音声対話コンテンツ２０としてはシナリオファイル２１と、プロンプト音声ファイル２２、結果表示ドキュメントリスト２３、途中結果ドキュメントファイル２４、キーワードリスト２５、クラス言語モデル２６、認識辞書２７等とした場合を示す。
【００１７】
音声対話コンテンツ作成装置１００は筋書きが各種用意されたシナリオテンプレートの雛形を多数格納したシナリオテンプレート群１０１と、対話文の雛形を多数格納したプロンプトテンプレート群１０２、シナリオ生成手段１０３、プロンプトテキスト生成手段１０４、プロンプト音声生成手段１０５、結果表示ドキュメントリスト生成手段１０６、途中結果ドキュメントファイル生成手段１０７、スロット・クラス読み替え手段１０８、クラス言語モデルおよび認識辞書生成手段１０９、例文コーパス１１０等で構成される。
本実施例を用いて、音声対話アプリケーションを開発する場合、まず、開発するシナリオテンプレート群１０１の中からアプリケーション（以下、開発アプリと呼ぶ）の種類に応じて音声対話シナリオの雛形であるシナリオテンプレート（図２：シナリオテンプレートについては後段で説明する）を選択する。以下、本実施例ではプロ野球の成績情報を「リーグ」と「成績」という二つの項目を音声により入力させ、入力内容に応じた画面を表示するアプリケーションを作成する例を説明する。リーグには“パリーグ”“セリーグ”、成績には“順位”“打率”というキーワードが入力できるようにするものとする。この場合、シナリオテンプレートとしてはスロット（対話により入力する項目の埋め込み位置）を２つもち、この２つのスロットを入力させるというフローが記述されたシナリオテンプレートを選択する。
【００１８】
選択したシナリオテンプレートが扱うスロットに対して、それぞれの名前を決め、スロット名リスト１１（図１）を用意する。ここで決めた名前は対話の中で開発アプリが利用者に入力を求める際に応答時の言語表現として用いられる。スロット名リスト１１の例を図４に挙げる。１１Ａはスロット名、１１ＢはスロットIDを示す。各スロット名１１Ａは、スロットを識別するために付与されたID記号であるスロットID１１Ｂと対にして記述される。
次に、プロンプトテキスト生成手段１０４にスロット名リスト１１を入力し、対話の各場面でのシステム応答文となるプロンプトテキストを列挙したプロンプト文リスト１０４Ａ（図１）を作成する。プロンプト文リストを生成するためにプロンプトテキスト生成手段１０４は、この入力とシナリオテンプレート群１０１と対応したプロンプトテンプレート群１０２を用いる。
【００１９】
プロンプトテンプレート群１０２に格納されているプロンプト文リストの例を図５に示す。プロンプトテンプレート群１０２内には対話中の各場面でシステムが応答する際の応答文の雛形がテキストとして列挙されている。列挙されている１文１文をプロンプトテンプレートテキストと呼ぶ。
各テンプレートテキストでスロット名称が再生されるべき部分は、空欄とされ、＜条件１＞、＜条件２＞で示されるスロットIDが付与されている。
また、各プロンプトテンプレートテキストはシナリオテンプレート群１０１中に挿入すべき個所との対応を示すためにプロンプトIDと対応付けられている。
【００２０】
プロンプトテキスト生成手段１０４の処理手順を図６に示す。図６に示すステップSP61ではスロット名リストの読み込みを実行し、ステップSP62ではプロンプトテンプレートの読み込みを実行し、ステップSP63ではプロンプトテンプレートテキスト中の空欄部分にスロットIDに従ってスロットの名称を挿入し、プロンプト文とする動作をプロンプトテンプレートのテキスト分を繰り返し実行する。ステップSP64ではプロンプトリストファイルとして出力する動作を実行する。ここまでの処理により、図７に例示されるプロンプト分リスト１０４Ａが生成される。
【００２１】
次に、プロンプト文リスト１０４Ａをシナリオ生成手段１０３に入力し、シナリオファイル２１を出力する。シナリオ生成手段１０３の処理手順を図８に示す。シナリオ生成処理中のステップSP83では、シナリオテンプレート１０１Ａの中を走査してプロンプトIDを対応付ける空欄を発見したならば、その対応するプロンプトIDと対応するプロンプト文をプロンプトリスト１０４Ａより取り出し空欄部分に挿入することを繰り返す。図２に示したシナリオテンプレート１０１Ａと、図７のプロンプト文リスト１０４Ａの例によると、図３の例で示すようなシナリオファイル２１が生成される。
【００２２】
ここで、図２にその一部を示すシナリオテンプレート１０１Ａについて説明する。シナリオテンプレート１０１Ａは最終的に本手法で生成されるシナリオファイル２１の雛形になるファイルである。
このシナリオテンプレート１０１Ａにはある特定のアプリケーション向けに対話を実行し完了するまでに必要なシステム側の制御内容のほとんど全てをあらかじめシナリオファイルを記述するプログラム言語で記述されていることが特徴である。完全なシナリオファイルと異なる点は、応答として言語表現を用いる個所、例えば文字を表示したり（エージェントキャラクトの動作と同期させて音声再生する際に同時にフクダシを画面に描画して音声再生内容の文章をそのフキダシ内部に表示する場合）、音声合成したりする際の、表示・合成内容となるテキストを指示する個所が空欄になっており各空欄はプロンプトIDが対応付けされている点である。
【００２３】
また、そのプロンプトIDは上述のプロンプトテキスト生成手段１０４が用いるプロンプトテンプレート１０２Ａ内の各プロンプトIDと対応付けて記述されている。図２では、３行目L3に示すエージェントキャラクタによるアニメーションによる“RestPose”という動作の再生と同時にフキダシの内容を表示するが、そこが空欄となっていてprompt001というIDで対応付けられていることを示す（<!--prompt001--><!--/prompt001-->という箇所）。
更に、開発アプリにおける応答プロンプト音声の再生に、システム実行時の処理能力などの問題点から対話中におけるリアルタイム音声合成処理による音声再生ではなくあらかじめ録音されたファイルを使うように選択した場合、そのプロンプト音声ファイルを作るために図９に示すプロンプト音声生成処理手順を利用する。
【００２４】
図９−Aでは、ステップSP91とSP92を実行し、音声合成技術を用いて自動的に音声ファイルを生成する場合である。対話中にリアルタイムに合成音声を作製する場合に比べて合成するための処理時間の制約がなくなるために、より高品質な合成音声の作成が可能である。また、図９−ＢではステップSP93とSP94を実行し、プロンプト文リスト１０４Ａを予め一文一文人間が読み上げた音声を収録する。この場合、画面にプロンプト文リスト１０４Ａの各プロンプトテキスト表示させる機能と、音声をマイクなどで収音し波形をファイルとして記録する機能をもつ装備を準備すればよい。なお、プロンプトテキストを画面に表示する際に、対話状況の端的な説明文も表示すると音声を発声する人間がどのような韻律でそのテキストを発声すればよいのかを示すことができる。この説明文もプロンプトテンプレート１０２A中でプロンプトIDと対応付けて記述しておけばよい。
【００２５】
次に、単語情報リスト１３を用意する（図１０）単語情報リスト１３とは、開発アプリ内の各スロットの入力値となる単語（キーワード）のリストであり、その単語の表記と音声認識で用いるための読みと、入力先となるスロットのIDを組にしてリストにしたものである。
作成した単語情報リスト１３は、まず結果表示ドキュメントリスト生成手段１０６に入力され、図１１にステップSP111〜SP116で示される結果表示ドキュメントリスト生成処理手順により処理されて結果表示ドキュメントリストのテンプレートを生成し、このテンプレートが結果表示ドキュメントリストテンプレート１０６Ａ（図１２）となる。結果表示ドキュメントリストテンプレート１０６Ａとは、各スロットに入ったキーワードの組み合わせに応じて、開発アプリがどのドキュメントを画面に表示するかを示したリストである。結果表示ドキュメントリスト生成手段１０６はこのキーワードと途中結果ドキュメント設定位置情報との組み合わせのリストを自動的に作成してファイルにする。画面表示には途中結果ドキュメント設置位置情報１２で指定されるWebブラウザ等を利用することで、開発アプリを実行するパーソナルコンピュータ上に接続された記憶装置やネットワークに接続されたサーバ内のドキュメントを読み込んで表示することができる。
【００２６】
全てのスロットにキーワードが入力された場合の画面としてはネットワーク上のサーバなどに散在しているドキュメントなどを表示する。そのため、結果表示ドキュメントリストテンプレート１０６Ａに対して、そのドキュメントを保持しているサーバのアドレスと記憶装置内でのファイルのある位置（パス情報）、ファイル名を例えばURLなどの型式で結果表示ドキュメントリスト生成手段１０６で記述する。記述をするには、あらかじめ全てのスロットにキーワードが入力された場合のキーワードの組み合わせと、表示するドキュメントのＵＲＬの対応表をコンテンツ作成者があらかじめ作成し、結果表示ドキュメントリスト生成手段１０６への入力とする。結果表示ドキュメントリスト生成手段１０６は、そのリストを元にステップSP114の直後にＵＲＬを記述することが出来る。
【００２７】
一方、一部のスロットに値が入っていない対話途中の状態において、どのスロットのキーワードがまだ未入力でどのスロットにどのキーワードが入力されているかを示すために画面に表示する内容については途中結果ドキュメントファイル生成手段１０７で途中結果ドキュメントファイルを生成する。そのファイルを開発アプリの記憶装置内の保存位置とファイル名を記述する（図１１中ステップSP114からSP115）。途中結果ドキュメント保存位置については途中結果ドキュメントファイルを保存するサーバのネットワーク上のアドレスやパス情報を記した途中結果ドキュメント設置位置情報１２として用意する。結果表示ドキュメントリスト生成手段１０６が各キーワードの組み合わせと一緒にその途中結果ドキュメント設置位置情報１２と次段落に述べる途中結果ドキュメントファイル生成手段１０７が生成する各途中結果ドキュメントファイルの規則的なファイル名を組み合わせた完全なパス情報を生成して追記しても良い。さらに、途中結果のみならず最終的な結果についても表示すべきドキュメントのURL等が機械的に生成可能な場合は、生成し自動的に付与しても良い。
【００２８】
図１３に途中結果ドキュメントファイル生成手段１０７の処理手順を示す。途中結果ドキュメントファイル生成手段１０７は、ステップSP131でスロット名リスト１１からスロットIDとスロット名の対応を読み込み、ステップSP133で各スロットに入るキーワードの組み合わせのうち一つ以上のスロットにキーワードがない組み合わせを生成し、ステップSP134で各組み合わせにおいて図１４で例示するように、現在の各スロットの状態について入力済みキーワードと入力候補となるキーワードのリストを示すドキュメントファイル（途中結果ドキュメントファイル）を生成する。生成したファイルは、ステップSP135で一定の規則にしたがってファイル名を付与して保存される。規則としては、各スロットに入るキーワードについて単語情報リスト中に現れる順に番号を付与し、各スロットの入力キーワードの番号の組で示すなどの方法がある。例えば図１２の結果表示ドキュメントリストテンプレート例の１行目Ｌ１では、“C-1-.html”というファイル名が付与されている。これは、条件１スロットでは１番のキーワード入力状態にあり条件２スロットについてはキーワードが入力されていない状態である場合に表示する途中結果ドキュメントファイルであることを示すファイル名である。
【００２９】
つまりハイフンに続く数字が有ればその番号で示されるキーワードが入っており、数字が無ければ対応するスロットには値が無いことを示す。図１２の８行目L8の“C--2.html”は条件２スロットに２番目のキーワードが入力されており、条件１スロットは未入力の状態での画面表示内容であることを示す。途中結果ドキュメントファイルのファイル形式は図１２の本実施例ではHTML形式で記述しているが、画面表示手段が表示可能なファイル形式（例えば画像ファイル形式）であればよい。さらに、HTML形式の場合、CSS（カスケーディングスタイルシート）のファイルをリンクしておき、途中結果ドキュメントが表示される際の背景画像や文字の書体、大きさ、色などを予めCSSファイルとして準備することで容易に変更できるようにしてあっても良い。
【００３０】
次に、スロット・クラス読み替え手段１０８に単語情報リスト１３を入力してキーワードリスト２５を作成し、さらにクラス言語モデル及び認識辞書生成手段１０９によりクラス言語モデル２６と認識辞書２７を生成する。
クラス言語モデル生成手法においては、その作成過程において、例文コーパスを形態素解析して単語列に分解した上で、その単語列中でクラス化すべき単語があれば、その単語をクラスに置き換えるという処理を行う。そのとき、どの単語がどのクラスに属するかを示す対応表が必要である。本実施例では各キーワードの単語クラスとして入力先スロットIDをクラス情報として用いる。図１５にスロット・クラス読み替え手段が生成したキーワードリスト２５を、また、図１６にステップSP161〜SP163で示されるスロット・クラス読み替え処理手順の一例を例示する。
【００３１】
例文コーパスは各開発アプリが対象とする話題（ドメイン）に依存しないような一般的な表現からなる発話例文を集めたものである。しかしながら、開発アプリにおける音声認識率を向上させるためにはドメインに依存した表現を用いた発話例を言語モデル作成時に準備することが望ましい。本実施例では、クラス言語モデル作成段階で開発者が集めたドメインに依存した発話例文集である追加例文コーパス１４を取り込み、各例文を形態素解析後、キーワードリスト２５を用いてキーワード部分をクラス名に置き換える。
クラス言語モデルおよび認識辞書生成手段１０９は、あらかじめ準備されている例文コーパスと上記追加例文コーパス１４とを用いて、クラス言語モデル２６と認識辞書２７を生成する。この手段の詳細については従来の技術で述べた特許文献３、４に詳しく説明されている。この手段が利用する例文コーパスは開発者が選択するシナリオテンプレート名に合わせて用意される。この例文コーパスの各例文はあらかじめ形態素解析された上、クラス部分がスロットIDと同じ名前のクラスとして置き換えられている。
【００３２】
図１７に対話シナリオ実行装置の実施例を示す。図中２００は対話シナリオ実行装置を示す。対話シナリオ実行装置２００はマイク２０１と、スピーカ２０２と、音声認識手段２０３と、発話理解手段２０４、対話シナリオ実行手段２０５、音声再生手段２０６、結果表示実行手段２０８、画面表示手段２０９とを備えて構成される。
対話シナリオ実行手段２０５は音声対話コンテンツ作成装置１００で生成したシナリオファイル２１の内容を解釈し実行する。つまり、対話シナリオ実行手段２０５はシナリオファイル２１の内容に応じて各部位に指示を出力する。音声を再生すべき時点では音声再生手段２０６に対してプロンプト音声２２を再生するように指示し、エージェントアニメーションの動作を一緒に応答テキストをフキダシ等に表示するように指示する。さらに、音声認識手段２０３に対してクラス言語モデル２６と認識辞書２７を用いて音声認識するように指示する。
【００３３】
発話理解手段２０４に対しては、認識単語列を音声認識手段２０３から受け取り、その中からキーワードを取り出して各キーワードがどのスロットに入力されるべきかをキーワードリスト２５中のクラス名をスロットIDとして読み替えて照らし合わせ、該当するスロットへの入力値として出力するように指示する。
そして、スロットの入力状態を結果表示実行手段２０８に送信し、結果表示実行手段２０８は画面にその入力状態に応じた画面内容として表示すべきファイルの情報を結果表示ドキュメントリスト２３から取り出して、画面表示手段２０９に表示するように指示する。
【００３４】
画面表示手段２０９によって、途中結果ドキュメントファイルであれば途中結果ドキュメント設置位置が示す記憶領域に保存してある途中結果ドキュメントファイルを読み込み表示し、全てのスロットに値があれば、ネットワーク３００などを経由して外部のサーバ等から結果ドキュメントを読み込み結果となる情報を表示する。
以上説明した音声対話コンテンツ作成装置１００及び対話シナリオ実行装置２００はプログラム言語によって記述された音声対話コンテンツ作成プログラム及び音声対話プログラムをコンピュータにインストールし、コンピュータに備えられたCPU（中央演算処理装置）に解読させ、実行させることにより実現される。
【００３５】
音声対話コンテンツ作成プログラム及び音声対話プログラムはそれぞれコンピュータが読み取り可能な記録媒体に記録され、この記録媒体又は通信回線を通じてコンピュータにインストールされる。
【産業上の利用可能性】
【００３６】
この発明による音声対話コンテンツ作成方法、装置、プログラムはそれぞれ音声対話コンテンツ作成現場で活用される。
【図面の簡単な説明】
【００３７】
【図１】本発明の音声対話コンテンツ作成装置の実施例を説明するためのブロック図。
【図２】本発明で用いるシナリオテンプレートの一部を例示した図。
【図３】本発明による音声対話コンテンツ作成装置で生成されるシナリオファイルの一例を示す図。
【図４】本発明で用いるスロット名リストの一例を示す図。
【図５】本発明で用いるプロンプトテンプレート群の一例を示す図。
【図６】本発明で用いるプロンプトテキスト生成手順の一例を説明するためのフローチャート。
【図７】図６に示したプロンプトテキスト生成手順で生成されるプロンプト文リストを説明するための図。
【図８】本発明で用いるシナリオ生成処理手順を説明するためのフローチャート。
【図９】本発明で用いるプロンプト音声生成処理手順を説明するためのフローチャート。
【図１０】本発明で用いる単語情報リストを説明するための図。
【図１１】本発明で用いる結果表示ドキュメントリスト生成処理手順を説明するためのフローチャート。
【図１２】本発明で用いる結果表示ドキュメントリストテンプレートを説明するための図。
【図１３】本発明で用いる途中結果ドキュメントファイル生成処理手順を説明するためのフローチャート。
【図１４】本発明で用いる途中結果ドキュメントファイルと、その表示結果を説明するための図。
【図１５】本発明で用いるキーワードリストの一例を説明するための図。
【図１６】本発明で用いるスロット・クラス読み替え処理手順を説明するためのフローチャート。
【図１７】本発明の音声対話コンテンツ作成装置で生成した各コンテンツを利用して音声対話を実行する対話シナリオ実行装置の一例を説明するためのブロック図。
【符号の説明】
【００３８】
１０    入力情報                            １００    音声対話コンテンツ作成装置
１１    スロット名リスト                    １０１    シナリオテンプレート群
１２    途中結果ドキュメント設置位置情報    １０２    プロンプトテンプレート群
１３    単語情報リスト                      １０３    シナリオ生成手段
１４    追加例文コーパスファイル            １０４    プロンプトテキスト生成手段
２０    音声対話コンテンツ                  １０４Ａ    プロンプト文リスト
２１    シナリオファイル                    １０５    プロンプト音声生成手段
２２    プロンプト音声ファイル              １０６    結果表示ドキュメントリスト
２３    結果表示ドキュメントリスト                    生成手段
２４    途中結果ドキュメントファイル        １０７    途中結果ドキュメント
２５    キーワードリスト                              ファイル生成手段
２６    クラス言語モデル                    １０８    スロット・クラス
２７    認識辞書                                      読み替え手段
１０９    クラス言語モデルおよび
認識辞書生成手段
１１０    例文コーパス
【図１】
2006236037.tif 000003
【図２】
2006236037.tif 000004
【図３】
2006236037.tif 000005
【図４】
2006236037.tif 000006
【図５】
2006236037.tif 000007
【図６】
2006236037.tif 000008
【図７】
2006236037.tif 000009
【図８】
2006236037.tif 000010
【図９】
2006236037.tif 000011
【図１０】
2006236037.tif 000012
【図１１】
2006236037.tif 000013
【図１２】
2006236037.tif 000014
【図１３】
2006236037.tif 000015
【図１４】
2006236037.tif 000016
【図１５】
2006236037.tif 000017
【図１６】
2006236037.tif 000018
【図１７】
2006236037.tif 000019