(57)【特許請求の範囲】
【請求項１】
それぞれが異なる１つの話題にのみ対応した元シナリオを複数備え、これら複数の元シナリオを連結して複数の話題に対応可能な音声対話シナリオを作成する音声対話シナリオ作成方法であって、
上記元シナリオに備えられているリソースから各元シナリオを連結することに必要な情報、どの元シナリオに話題を遷移するかを決める情報、話題が遷移した状態で各元シナリオに適した音声認識を行わせるための情報を抽出し、これらの情報からどの元シナリオに遷移しても各元シナリオが適正に音声応答を実行できる環境に整合させるための整合情報を生成し、
上記整合情報は、連結された元シナリオ内で扱う各元シナリオの名称と、元シナリオのファイル名、ファイルの位置、最初に実行する元シナリオの情報を記述した連結情報と、  各元シナリオの中の音声認識リソースから目的達成のために必要な入力項目に入力される単語と、各元シナリオの名称と、元シナリオを想起させる関連語句とを抽出し、これらを話題の遷移を引き起こす遷移用語句として適正に音声認識し、理解結果を出力するための遷移用リソースと、
遷移用語句が認識された場合に、その認識用語句と対応する元シナリオへ遷移するかを確認し、遷移することを表示し、連結されている別の元シナリオに制御を移す動作を実行するための遷移用対話シナリオとを含み、この整合情報を保有することにより複数の話題に対応可能な音声対話シナリオを作成することを特徴とする音声対話シナリオ作成方法。
【請求項２】
それぞれが異なる１つの話題にのみ対応した元シナリオを複数備え、これら複数の元シナリオを連結して複数の話題に対応可能な音声対話シナリオを作成する音声対話シナリオ作成装置であって、
上記元シナリオに備えられているリソースから各元シナリオを連結するために必要な情報、どの元シナリオに話題を遷移するかを決める情報、話題が遷移した状態で各元シナリオに適した音声認識を行わせるための情報を抽出する情報抽出手段と、
この情報抽出手段が抽出した情報からどの元シナリオを実行中であっても他の元シナリオの扱う話題に関する利用者の発声を処理し、整合させるための整合情報を作成する整合情報作成手段と、を備え、
上記整合情報作成手段は、
連結された元シナリオ内で扱う各元シナリオの名称と、元シナリオのファイル名、ファイルの位置、最初に実行する元シナリオの情報を記述した連結情報とを作成する連結情報作成手段と、
各元シナリオの中の音声認識リソースから目的達成のために必要な入力項目に入力される単語と、各元シナリオの名称と、元シナリオを想起させる関連語句とを抽出し、これらを話題の遷移を引き起こす遷移用語句として適正に音声認識し、理解結果を出力するための遷移用リソースを作成する遷移用リソース作成手段と、
遷移用語句が認識された場合に、その認識用語句と対応する元シナリオへ遷移するかを確認し、遷移することを表示し、連結されている別の元シナリオに制御を移す動作を実行するための遷移用シナリオを作成する遷移用シナリオ作成手段と、
によって構成されることを特徴とする音声対話シナリオ作成装置。
【請求項３】
請求項２に記載の音声対話シナリオ作成装置において、
上記整合情報生成手段は、上記連結情報作成手段と、遷移用リソース作成手段と、遷移用シナリオ作成手段に加えて、
上記連結された元シナリオで実行可能な対話内容を表示し、音声対話手順を案内するためのナビゲート用シナリオ作成手段を備えることを特徴とする音声対話シナリオ作成装。
【請求項４】
請求項２又は３に記載の音声対話シナリオ作成装置において、
上記遷移用リソース作成手段は、
各元シナリオに備えられているリソースの中のキーワード辞書から所定のクラスに属するキーワードを抽出し、抽出したキーワードにこのキーワードの属性を示す情報を付加した遷移用キーワード集を作成する遷移用キーワード辞書作成手段と、
各元シナリオに記述されている各キーワードがどの元シナリオに属するかを示す表として作用するシナリオ名キーワード対応データベースを作成するシナリオ名キーワード対応データベース作成手段と、
各元シナリオに記述されている発話理解規則のリストから、シナリオキーワードクラスリストに含まれるクラスの、その規則中に含む発話理解規則を抽出し、抽出した各規則のクラス名をシナリオ内のキーワードに属性を表わす情報を付加した名称に、また振り分け先スロット名を遷移先シナリオ関連語にそれぞれ書き替え、シナリオ内キーワードに属性を表わす情報が付加されたキーワード又は遷移先シナリオ関連語に属するキーワードが音声認識した単語列中に出現すれば、そのキーワードを遷移先シナリオ関連語スロットに振り分けよ、とする内容の発話理解規則と、シナリオ指定クラスに属するキーワードが音声認識した単語列中に出現した場合は、そのキーワードを遷移先シナリオスロットに振り分けよ、とした内容の発話理解規則を作成する遷移用発話理解規則作成手段と、
各元シナリオが利用する言語モデルを生成した元シナリオ例文リストの中から、シナリオキーワードクラスリスト中にあるクラスを含む例文を抽出し、抽出した各例文中のクラス名をシナリオ内のキーワードの検索に供する情報を付加したクラス名に置換し、更に追加例文リスト中の各例文からシナリオ関連キーワードリストに含まれるキーワードを抽出し、そのキーワードのクラスをシナリオ関連語クラスに置換したものと、また追加例文リスト中の各例文を形態素解析手段で単語ごとに分かち書きし、その読み仮名を振ったものとから遷移用言語モデルと遷移用認識辞書とを作成する遷移用認識言語モデル・辞書作成手段と、
によって構成したことを特徴とする音声対話シナリオ作成装置。
【請求項５】
コンピユータが解読可能なプログラム言語によって記述され、コンピユータに少なくとも請求項２乃至４の何れかに記載した音声対話シナリオ作成装置として機能させる音声対話シナリオ作成プログラム。
【請求項６】
コンピュータが読み取り可能な記録媒体によって構成され、この記録媒体に請求項５記載の音声対話シナリオ作成プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の話題を扱うことができる音声対話シナリオを作成する音声対話シナリオ作成方法と装置及びこの装置をコンピュータで実現する音声対話シナリオ作成プログラム、このプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
音声認識、合成音声の技術を組み合わせて、利用者と音声を用いて対話を介して、ある作業に関する命令を入力するなどの目的を達成する音声対話装置について、近年では、非特許文献１のように、対話のある時点でシステムが利用者に入力するよう要求している項目とは異なる項目への単語の発生を許容したり、いい淀みなどを許容したりすることが出来るなど、人間にとって非常に自然な音声対話が可能な音声対話システムが提案されている。
また、特許文献１のように画面上に擬人化して表現されたアニメーションエージェントキャラクタを表示させ、ユーザはそのエージェントに対して話しかけるように発声された音声を認識し、応答をあらかじめ録音された音声や合成音で再生したり画面上にテキストで表示するなどして言葉として出力したり、応答のニュアンスをエージェントの仕草としてアニメーションで表示させたりすることで通知しながら対話を進める装置も提案されている。
【０００３】
更に近年では、テキストファイルによるスクリプト言語による記述と、そのスクリプト言語が記述されたファイルをスクリプト言語の実行処理系が読み込むことで音声対話システムを構成することが一般的となっている。
スクリプト言語によるテキストファイルには、ユーザへ応答を返す場合の再生文章や、利用者からの音声入力やその他の入力があった場合の次の応答を選択するための分岐規則や、音声認識装置や音声合成装置、その他の入力装置に対する最小限の指示が記述される。この様なスクリプト言語によるテキストファイルを音声対話シナリオと呼ぶ。
【０００４】
音声対話シナリオを読み込んだ実行処理系は、音声対話シナリオの記述に従って、音声認識、音声合成、その他入出力装置を駆動し音声対話を実行する。各装置の詳細な制御内容は、スクリプト言語の命令記述と対応させて、あらかじめ実行処理系の内部に組み込まれている。音声対話シナリオとその実行処理系の組み合わせにより、システムの可搬性や構築コスト・システム作成者に必要な知識・経験の低減が図られた。
一方、対話システムの役割として一問一答形式の簡便なものを仮定し、一入力毎に複数の対話システムの中から適切なものを一つ選択し、そのシステムの出力を応答する、といった方法も提案されている（特許文献２、特許文献３）。
【特許文献１】特開２００４−２９５８３７号公報
【特許文献２】特開２００４−２４０１５０号公報
【特許文献３】特開２００４−２４０２２５号公報
【非特許文献１】平沢純一、山本俊一郎、堀貴明、大附克年、“ＣＴＩ向け自由発話対応音声対話システムRexDialog”、社団法人  情報処理学会  研究報告、2003-SPL-47(8),pp35-40.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、音声対話シナリオとその実行処理系の組み合わせにより構築コストの低減が図られたとしても、依然、構築コストが高い場合がある。その一つに、複数の話題を取り扱い、その全話題で扱う語句を音声対話の実行中、音声入力可能な時点で常に受理可能とすることを必要とする場合がある。
例えば、市役所窓口総合音声対話システムであれば、転入・転居案内、社会保険案内、粗大ごみ受付などといったように、複数の話題を扱い、その全ての話題の語句について常に音声対話の途中で音声入力可能とし、入力があった場合は適切に応対しようとする対話システムを作るときには、その音声対話システムの記述量が膨大になるという問題があった。これは常に全ての話題について扱おうとすると、ユーザの入力発話から次の応答内容を決定する処理の中で、それぞれの話題がもつ話題の目的達成のために必要な入力項目（これをスロットと呼ぶ）全てについて、直前の発話による入力によって変化があったかを検査しなくてはならないためである。すなわち、複数の話題を扱い、それぞれの話題が入力対象とする語句を常に受理可能とするには、各話題で扱うスロット数の総和乗の分岐規則を最低でも記述する必要があった。これは、話題の数を少しでも増やすと爆発的に記述量が増大することを示す。
【０００６】
また上記した特許文献２、特許文献３のように、対話システムの役割として一問一答形式の簡便なものを仮定し、一入力毎に複数の対話システムから適切なものを一つ選択しそのシステムの出力を応答する、といった方法を採った場合、
この方法は、記述量が膨大になることを避けることが出来るが、一つ一つの話題の目的達成のための対話のやり取りとして数度にわたるやり取りを行わなければならない対話システムには適用できないという問題があった。
【課題を解決するための手段】
【０００７】
本発明では、それぞれが異なる１つの話題にのみ対応した元シナリオを複数備え、これら複数の元シナリオを連結して複数の話題に対応可能な音声対話シナリオを作成する音声対話シナリオ作成装置を提案するものであり、その特徴とする構成は、元シナリオに備えられているリソースから各元シナリオを連結することに必要な情報、どの元シナリオに話題を遷移するかを決める情報、話題が遷移した状態でも全ての各元シナリオで扱う話題に関する単語を音声認識するための情報を抽出する情報抽出手段と、この情報抽出手段が抽出した情報からどの元シナリオに遷移してもどの元シナリオを実行中であっても他の元シナリオの扱う話題に関する利用者の発声を処理し、音声応答を実行できる環境に整合させるための整合情報を生成する整合情報作成手段とを備えることを特徴とする。
【０００８】
本発明では更に上記音声対話シナリオ作成装置において、整合情報作成手段は、連結された元シナリオ内で扱う各元シナリオの名称と、元シナリオのファイル名、ファイルの位置、最初に実行する元シナリオの情報を記述した連結情報を作成する連結情報作成手段と、各元シナリオの中の音声認識リソースから目的達成のために必要な入力項目に入力される単語と、各元シナリオの名称と、元シナリオを想起させる関連語句とを抽出し、これらを話題の遷移を引き起こす遷移用語句として適正に音声認識し、理解結果を出力するための遷移用リソースを作成する遷移用リソース作成手段と、遷移用語句が認識された場合に、その認識用語句と対応する元シナリオへ遷移するかを確認し、遷移することを表示し、連結されている別の元シナリオに制御を移す動作を実行するための遷移用対話シナリオを作成する話題遷移用対話シナリオ作成手段とによって構成される。
【０００９】
本発明の音声対話シナリオ作成装置に用いる整合情報生成手段は、連結情報作成手段と、遷移用リソース作成手段と、遷移用シナリオ作成手段に加えて、連結された元シナリオで実行可能な対話内容を表示し、音声対話手順を案内するためのナビゲート用シナリオ作成手段を備えることを特徴とする。
本発明の音声対話シナリオ作成装置に用いる遷移用リソース作成手段は、各元シナリオに備えられているリソースの中のキーワード辞書から所定のクラスに属するキーワードを抽出し、抽出したキーワードにこのキーワードの属性を示す情報を付加した遷移用キーワード集を作成する遷移用キーワード辞書作成手段と、各元シナリオに記述されている各キーワードがどの元シナリオに属するかを示す表として作用するシナリオ名キーワード対応データベースを作成するシナリオ名キーワード対応データベース作成手段と、各元シナリオに記述されている発話理解リストから、シナリオキーワードクラスリストに含まれるクラスの、その規則中に含む発話理解規則を抽出し、抽出した各規則のクラス名をシナリオ内のキーワードに属性を表わす情報を付加した名称に、また振り分け先スロット名を遷移先シナリオ関連語にそれぞれ書き替え、シナリオ内キーワードに属性を表わす情報が付加されたキーワード又は遷移先シナリオ関連語に属するキーワードが音声認識した単語列中に出現すれば、そのキーワードを遷移先シナリオ関連語スロットに振り分けよ、とする内容の発話理解規則と、シナリオ指定クラスに属するキーワードが音声認識した単語列中に出現した場合は、そのキーワードを遷移先シナリオスロットに振り分けよ、とした内容の発話理解規則を作成する遷移用発話理解規則作成手段と、各元シナリオが利用する言語モデルを生成した元シナリオ例文リストの中から、シナリオキーワードクラスリスト中にあるクラスを含む例文を抽出し、抽出した各例文中のクラス名をシナリオ内のキーワードの属性を表わす情報を付加したクラス名に置換し、更に追加例文リスト中の各例文からシナリオ関連キーワードリストに含まれる単語を抽出し、その単語をシナリオ関連語クラスに置換し、置換後の追加例文リスト中の各例文を形態素解析手段で単語ごとに分かち書きし、その読み仮名を振って遷移用言語モデルと遷移用認識辞書とを作成する遷移用認識言語モデル・辞書作成手段とによって構成したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の話題に対応する音声対話シナリオを非常に小さい作業量で作成することが可能である。また、利用者に対して、別の話題へ遷移するための特別なコマンドを覚えなければならないなどの制約を排除し、システム上で扱えるほとんどのキーワードを受理して必要であれば遷移用の対話へ自動的に移行するコンテンツを作成することができるので、非常に利便性の高い音声対話システムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１１】
本発明による音声対話シナリオ作成方法及び音声対話作成装置はハードウェアによって構成することもできるが、より簡素に実施するにはコンピュータに本発明で提案する音声対話シナリオ作成プログラムをインストールし、コンピュータに音声対話シナリオ作成装置として機能させる形態が最良の実施形態である。
コンピュータに本発明による音声対話シナリオ作成装置として機能させるにはコンピュータにインストールした音声対話シナリオ作成プログラムによりコンピュータ内に元シナリオに備えられているリソースから各元シナリオを連結することに必要な情報、どの元シナリオに話題を連結するかを決める情報、話題が遷移した状態で各元シナリオに適した音声認識を行わせるための情報を抽出する情報抽出手段と、この情報抽出手段が抽出した情報からどの元シナリオに遷移しても各元シナリオが適正に音声応答を実行できる環境に整合させるための整合情報を生成する整合情報生成手段とを構築し、この整合情報生成手段により整合情報を生成し、この整合情報をリソースとして保持することにより、それぞれが異なる１つの話題にのみ対応した複数の元シナリオを、複数の話題に対応可能な音声対話シナリオとして機能させることができる。
【実施例１】
【００１２】
図１を用いて本発明による音声対話シナリオ作成装置の概要を説明する。図中１００はそれぞれ異なる１つの話題にのみ対応した元シナリオ１００Ａ、１００Ｂ、…１００Ｎで構成される元シナリオ群を示す。各元シナリオ１００Ａ、１００Ｂ、…１００Ｎは元シナリオの名称とか、各元シナリオ１００Ａ、１００Ｂ、…１００Ｎのそれぞれで用いられる音声認識・発話理解リソースなどを格納したリソース１０１Ａ、１０１Ｂ、…１０１Ｎを備える。
２００は情報抽出手段を示す。この情報抽出手段２００は各元シナリオ１００Ａ、１００Ｂ、…１００Ｎのそれぞれのリソース１０１Ａ、１０１Ｂ、…１０１Ｎから、これら元シナリオ１００Ａ、１００Ｂ、…１００Ｎを連結するに必要な情報を抽出する。各元シナリオ１００Ａ、１００Ｂ、…１００Ｎを連結するに必要な情報とは例えば各元シナリオ１０１Ａ、１０１Ｂ、…１０１Ｎの名称とか、各元シナリオのファイル名、ファイルの位置、最初に実行する元シナリオを指定する情報、等とすることができる。
【００１３】
情報抽出手段２００が抽出した情報は整合情報生成手段３００に引き渡され、この整合情報生成手段３００で整合情報４００を生成し、この整合情報４００を整合情報記憶部５００に記憶させる。
音声対話シナリオ実行手段６００は、元シナリオ群１００に格納した元シナリオ１００Ａ、１００Ｂ、…１００Ｎの各リソース１０１Ａ、１０１Ｂ、…１０１Ｎと整合情報記憶部５００に格納した整合情報４００とを用いて複数の話題に対応する音声対話システムとして機能する。
【００１４】
図２以下を用いて各部の詳細を順に説明する。各元シナリオ１００Ａ、１００Ｂ、…１００Ｎはシナリオファイル名１０１Ａ―１、１０１Ｂ―１…とキーワード辞書１０１Ａ―２、１０１Ｂ―２…と、発話理解規則リスト１０１Ａ―３、１０１Ｂ―３…と、元シナリオ例文リスト１０１Ａ―４、１０１Ｂ―４…とを備える。
ここで、キーワード辞書１０１Ａ―２、１０１Ｂ−２…とは各元シナリオ１０１Ａ、１０１Ｂ…の中で用いる目的達成のために必要な入力項目（以下スロットと称す）に入力されるキーワードの辞書を示す。また発話理解規制リスト１０１Ａ−３、１０１Ｂ−３…とは音声認識された単語列の中からスロットに入れるべきキーワードを抽出してスロットに振り分けるための発話理解規則を集めたもの、元シナリオ例文リスト１０１Ａ−４、１０１Ｂ―４…とは各元シナリオ実行時に音声認識する際に利用するクラス言語モデルと単語辞書を作成する場合に学習に用いた発話文の例文である。
【００１５】
図１に示した情報抽出手段２００はこれらの元シナリオ１００Ａ、１００Ｂ、…から、連絡時に準備する情報としてシナリオファイル名１０２と、シナリオキーワードクラスリスト１０３と、シナリオ関連キーワードリスト１０４と、追加例文リスト１０５と、各シナリオの内容説明文１０６とを抽出する。これと共に、これらの情報は図３に示す整合情報生成手段３００へ入力される。
整合情報生成手段３００は図３に示す実施例では遷移用リソース作成手段３０１と、ナビゲート用シナリオ作成手段３０２と、遷移用シナリオ作成手段３０３と、連結情報作成手段３０４とによって構成した場合を示す。
【００１６】
遷移用リソース作成手段３０１は整合情報４００の一部を構成する遷移用リソース４０１を生成する。遷移用リソース４０１の内容としては遷移用キーワード辞書４０１−１と、遷移用発話理解規則４０１−２と、遷移用言語モデル４０１−３と、遷移用認識辞書４０１−４とで構成される。更に遷移用リソース作成手段３０１はシナリオ名キーワード対応ＤＢ（データベース）４０１−５をも生成する。
ナビゲート用シナリオ生成手段３０３は遷移用シナリオ４０４を生成し、連結情報作成手段３０４は連結情報４０５を生成する。
【００１７】
以下では各部の動作を説明する。ここで、ファイル名は必要であればそのファイルを保持しているコンピュータのネットワーク上のアドレス、そのコンピュータ内の記憶装置内における位置なども含むものであってもよい。ファイル名に関しては以後同様である。
個々の発話理解規則リスト１０１Ａ−３、１０１Ｂ−３…には、スロットへ入力するキーワードとして取り出すべき単語の属性（以下クラスと称す）を表わす記号と、そのクラスの位置にあったキーワードをどのスロットへ振り分ければよいかという指示が対で示されている。スロットへの振り分けをより高精度に行なうためにクラスの記号が出現する前後単語列の情報を付加してもよい。例えば「“横浜駅”から“品川駅”まで」という発話の中から、“横浜駅”を「発駅スロット」、“品川駅”までを「着駅スロット」に振り分けるための規則は以下のようになる。
【００１８】
発話理解規則例：「＜駅名＞：発駅スロット  から  ＜駅名＞：着駅スロット  まで」
この発話理解規則例では、「＜駅名＞」は、駅名クラスに属する単語が出現することを示し、「：発駅スロット」、「：着駅スロット」はそれぞれ、直前のクラス記号に含まれる単語が、それぞれのスロットに振り分けられることを示す。
また、キーワードは、そのキーワードの表記と、クラス言語モデル内のクラスと、そのキーワードの意味素性の３つの情報からなる。
また、元シナリオ１００Ａ、１００Ｂ…中には、各シナリオのエージェントの個性を表現するために、音声応答を行う際に音声合成を使う場合の音色や話速に関するパラメータや、エージェントを画面に表示する場合の画像や動画データを指定するための記述なども含まれる。
【００１９】
シナリオを連結するには上記のほかに、連結しようとしている個々の元シナリオの呼び方（例えば、「ごみ分別案内」等）であるシナリオ名称と、その元シナリオ１００Ａ、１００Ｂ…のキーワード辞書１０１Ａ−２、１０１Ｂ−２…中のキーワードで、そのシナリオを特徴づけるキーワード（例えば、シナリオ名称が「ごみ分別案内」ならば、各ゴミの名前、ゴミ分別種別などの単語）をシナリオキーワードと呼び、そのシナリオの各シナリオキーワードが属するクラスをリストしたシナリオキーワードクラスリスト１０３とする。
【００２０】
上記のシナリオキーワードには含まれないが、シナリオの扱う話題や、話題の名称に強く関連する単語（例えば「ゴミの捨て方」など）をシナリオ関連キーワードと呼び、そのシナリオ関連キーワードをリストしたものであるシナリオ関連キーワードリスト１０４と、
シナリオ関連語リスト内に登録されているシナリオ関連語が出現する発話文の例文と、シナリオ名が出現する発話文の例文を集めた追加例文リスト１０４と、そのシナリオファイルにおいて扱う話題やその概要などの説明文１０６とを各元シナリオ１００Ａ、１００Ｂ…１００N毎に準備する。
【００２１】
また、連結された元シナリオにおいて、連結前の各元シナリオや本実施例において作成されるナビゲート用シナリオ４０３のいずれの部分シナリオから対話を開始すればよいのかをシナリオ名称で示した開始シナリオ名４０６（図２参照）と、この連結したシナリオの総称としてナビゲート用シナリオ４０３につけるシナリオ名称（例えば、「○○市総合案内」等）であるナビゲートシナリオ名４０７（図２参照）を準備する。
連結された対話シナリオの作成では、連結された元シナリオ１００Ａ、１００Ｂ…１００Ｎでは各部分シナリオを構成することになる各元シナリオのシナリオファイル名と、そのシナリオに付与されたシナリオ名称と、開始シナリオ名を連結情報作成手段３０４が読み込み、ナビゲート用シナリオ作成手段３０２が出力するナビゲート用シナリオ４０３のファイル名と、そのシナリオに付与されたシナリオ名称と、遷移用シナリオの実行が開始されるときに、最初に実行されるべき部分シナリオのシナリオ名称またはシナリオファイル名をリストにした連結情報４０５を出力する。
【００２２】
次に図４に遷移用リソース作成手段３０１の構成の一例を示す。遷移用リソース作成手段３０１は、情報抽出手段２００が抽出したキーワード辞書、発話理解規則リスト、元シナリオ例文リスト、追加例文リストと、ナビゲートシナリオ名を入力とし、これらを用いて遷移用リソース作成手段３０１内に配置された遷移用シナリオキーワード辞書作成手段３１０が、遷移用キーワード辞書４０１−１を出力し、シナリオ名キーワード対応ＤＢ作成手段３２０がシナリオ名キーワード対応ＤＢ４０１−５を出力し、遷移用発話理解規則作成手段３３０が、遷移用発話理解規則４０１−２を出力し、遷移用認識言語モデル・辞書作成手段３４０が、遷移用言語モデル４０１−３と、遷移用単語辞書４０１−４をそれぞれ出力する。
【００２３】
遷移用キーワード辞書作成手段３１０は、遷移用キーワード辞書作成方法を用いて、遷移用キーワード辞書４０１−１を生成する。図５にその流れを示す。
遷移用キーワード辞書作成方法では、シナリオ内キーワード抽出ステップＳ５−１、シナリオ内キーワードクラス再付与ステップＳ５−２、シナリオ関連語クラス再付与ステップＳ５−３、シナリオ名称キーワード生成ステップＳ５−４という手順を連結対象となる全ての元シナリオについて繰り返し、それらの手順で得られたキーワードのリストをファイル等に書き出すステップ（Ｓ５−５）とを備える。
【００２４】
シナリオ内キーワード抽出ステップＳ５−１では、各元シナリオのキーワード辞書１０１Ａ−２、１０１Ｂ−２…から、シナリオキーワードクラスリストに示されたクラスに属するキーワードを抜き出してくる。
次にシナリオ内キーワードクラス再付与ステップＳ５−２において、シナリオ内キーワード抽出ステップＳ５−１により抜き出された全キーワードのクラス名を、「シナリオ内キーワード−ｄ」に置き換える。なお、ｄは、シナリオ内キーワードの属性を表わす情報であり、そのとき処理している元シナリオのシナリオ名称である。シナリオ名称が「ごみ分別案内」ならばクラス名は「シナリオ内キーワード-ごみ分別案内」と置き換えられる。
【００２５】
次にシナリオ関連語クラス再付与ステップＳ５−３ではシナリオ関連キーワードリスト内の各キーワードを読み込み、その全てのキーワードクラスを、「シナリオ関連語−ｄ」に置き換える。ｄは、シナリオ内キーワードクラス再付与ステップＳ５−２と同様に現在処理しているシナリオ名称である。
更に、シナリオ名称キーワード生成ステップＳ５−４では、表記、意味素性をシナリオ名称とし、クラスを「シナリオ指定」クラスとしてキーワードを生成する。
上記を、各元シナリオについて実行し、さらにナビゲートシナリオ名についても遷移用キーワード辞書作成方法と同様にシナリオ名称キーワードを生成した後、シナリオ内キーワードクラス再付与、シナリオ関連語クラス再付与、シナリオ名称キーワード生成でそれぞれ書き換え、生成したキーワード全てを遷移用キーワードとしてファイル等に書き出す。
【００２６】
シナリオ名キーワード対応ＤＢ（データベース）作成手段３２０は、シナリオ名キーワード対応ＤＢ作成方法を用いて、あるキーワードがどの元シナリオに属するかを示す表として作用するシナリオ名キーワード対応ＤＢ−４０１を作成する。図６に、シナリオ名キーワード対応ＤＢ作成方法の流れを示す。
シナリオ名キーワード対応ＤＢ作成方法では、遷移用キーワード辞書作成手段３１０が作成した遷移用キーワード辞書４０１−１を読み込む。そして、シナリオ名-表記取得ステップＳ６−１において、「シナリオ内キーワード−ｄ」クラスと「シナリオ関連語−ｄ」クラスに属するキーワードを取得する。ｄは連結しようとしている各元シナリオの名称である。そして、取得した各キーワード毎に、その表記と、クラス名の中からシナリオ名称部分を取得する。
【００２７】
取り出したそれぞれの１つのキーワードの表記とシナリオ名称の対応関係を１つのレコードとして、ＤＢ登録処理ステップＳ６−２によってＤＢへ登録する。なお、登録するデータベースはＳＱＬ言語などを介してアクセスする一般的なリレーショナルデータベースシステムでも良いし、１行に表記と対応するシナリオ名称がカンマ（,）などのデリミタ文字を挟んだものが列挙されているようなテキストファイルなどの形式でも良い。
遷移用発話理解規則作成手段３３０は、遷移用発話理解規則作成方法を用いて、遷移用発話理解規則４０１−２を生成する。図７に、遷移用発話理解規則作成方法の流れを示す。
【００２８】
遷移用発話理解規則作成方法は、理解規則抽出ステップＳ７−１、理解規則書き換えステップＳ７−２、規則生成１ステップＳ７−２、規則生成２ステップＳ７−４の４つの手段が連結しようとする各元シナリオについて繰り返され、ファイル等に生成した規則を書き出す。
理解規則抽出ステップＳ７−２では、各元シナリオ１００Ａ、１００Ｂの発話理解規則リスト１０１Ａ−３、１０１Ｂ−３…（図２参照）から、シナリオキーワードクラスリスト１０３に含まれるクラスをその規則中に含む発話理解規則を抽出する。
【００２９】
理解規則書き換えステップＳ７−２では、理解規則抽出ステップＳ７−１で抽出した各規則のクラス名を「シナリオ内キーワード−ｄ」に（ｄは現在処理中の元シナリオ名称）、振り分け先スロット名を「遷移先シナリオ関連語」スロットにそれぞれ書き換える。
規則生成１ステップＳ７−３では、「シナリオ内キーワード−ｄ」または「シナリオ関連語−ｄ」に属するキーワードが音声認識した単語列中に出現すれば、そのキーワードを「遷移先シナリオ関連語」スロットに振り分けよ、とした内容の発話理解規則を生成する。
【００３０】
規則生成ステップＳ７−４では、「シナリオ指定」クラスに属するキーワードが音声認識した単語列中に出現すれば、そのキーワードを「遷移先シナリオ」スロットに振り分けよ、とした内容の発話理解規則を生成する。
上記を、各元シナリオについて実行し、さらにナビゲートシナリオ名称について規則生成２ステップＳ７−４を実行した後、理解規則書き換えステップＳ７−２、規則生成１ステップＳ７−３、規則生成２ステップＳ７−４でそれぞれ書き換え、生成した発話理解規則をファイル等へ書き出し、遷移用発話理解規則４０１−２とする。
【００３１】
遷移用認識言語モデル・辞書作成手段３４０は、遷移用認識言語モデル・辞書作成方法を用いて、遷移用言語モデル４０１−３と遷移用認識辞書４０１−４を作成する。図８に、遷移用認識言語モデル・辞書作成方法の流れを示す。
遷移用認識言語モデル・辞書作成方法は、連結しようとする各元シナリオについて、例文抽出ステップＳ８−１と、例文クラス変換ステップＳ８−２と、キーワード・クラス置換ステップＳ８−３と、形態素解析ステップＳ８−４を行い、言語モデルの計算・辞書の作成ステップＳ８−５と、それらの書き出しという処理ステップＳ８−６とからなる。
【００３２】
例文抽出ステップＳ８−１では、各元シナリオが利用する言語モデルを生成した元シナリオ例文リスト（形態素解析され、キーワードが入る位置はクラス名で置き換えられている）の中から、シナリオキーワードクラスリスト中にあるクラスを含む例文を抽出する。
例文クラスステップＳ８−２では、今度は追加例文リスト１０５（図２）を読み込み、追加例文リスト１０５中の各例文に、シナリオ関連キーワードリスト１０４に含まれる単語があれば、その単語の部分を「シナリオ関連語−ｄ」クラスに置き換える。
キーワード−クラス変換ステップＳ８−３では、今度は追加例文リスト１０５（図２）を読み込み、追加例文リスト１０５中の各例文に、シナリオ関連キーワードリスト１０４に含まれる単語があれば、その単語の部分を「シナリオ関連語−ｄ」クラスに置き換える。
【００３３】
形態素解析ステップＳ８−４では、キーワード−クラス置換ステップＳ８−３でキーワードのクラスへの置換後の追加例文リスト中の各例文を、形態素解析器を使って、単語ごとに分かち書きし、その読み仮名を振る。
言語モデルの計算・辞書の生成ステップＳ８−５では、上記例文クラス変換ステップＳ８−２と、形態素解析ステップＳ８−４で作成した形態素解析済み例文と、クラス内単語辞書の情報として遷移用キーワード辞書とを言語モデル・辞書作成方法を利用して、言語モデルと辞書を作成する。これには、特開２００４−６９８５８号公報及び特開２００４−５３７４５号公報で示される方法を利用することが出来る。
【００３４】
計算した言語モデル、生成した辞書は、それぞれファイル等に保存され、遷移用言語モデル４０１−３及び遷移用認識辞書４０１−４とされる。
ナビゲート用シナリオ作成手段３０２（図２参照）は、ナビゲートシナリオ名と各元シナリオに付与したシナリオ名称と、連結された対話シナリオにおいて全体的な役割を務める対話シナリオであるナビゲート用シナリオ４０３を生成する。
ナビゲート用シナリオ４０３は、このシステムがいったいどんな話題の対話が出来るかという説明を行なうよう記述された対話シナリオである。ナビゲート用シナリオの生成にあたっては、連結される各元シナリオ名称が特定されなくても記述できるフローについてはあらかじめ記述したものをテンプレートとして保存しておき、ナビゲートシナリオ作成手段３０２が実行されて、連結される元シナリオ名称が定まったところでそのテンプレート内に完成に必要な情報を追記・生成することで完全なシナリオファイルとするといった手段で実現可能である。
【００３５】
また、遷移用シナリオ生成手段３０３は、各元シナリオ名称とナビゲートシナリオ名を読み込み、遷移用シナリオを生成する。例えば、ユーザが連結されている各元シナリオのいずれかを指示した場合、つまり「遷移先シナリオ」スロットにシナリオ指定クラスに属するキーワードが入力された場合、そのシナリオ名称の示す各元シナリオが連結されているかをシナリオ名称の列挙により応答してユーザの発言を促す。また、遷移先の候補となるシナリオが複数あった場合、つまり「遷移先シナリオ関連語」スロットに入力されたキーワードの表記からシナリオ名キーワード対応ＤＢ４０２を検索した結果、対応するシナリオ名称が複数得られた場合には、そのいずれに遷移すればよいかを確認するなどの対話を行なうように記述されている対話シナリオである。
【００３６】
以上により、連結された対話シナリオが作成できる。
対話シナリオ実行手段６００（図１参照）では、連結情報を読み込み最初に実行すべき元シナリオのシナリオファイル（元シナリオの１つか、ナビゲートシナリオ）を読み込んでから実行する。
最初に実行するシナリオが元シナリオの１つであれば、同時に遷移用シナリオと遷移用リソースを読み込み、元シナリオの音声認識・発話理解と平行してユーザの同じ発声に遷移用リソースによる音声認識・発話理解も実行する。遷移用リソースからの発話理解結果が得られ、さらに元シナリオソースからの認識結果が得られない場合または元シナリオソースからの認識結果が得られてもその尤度が遷移用リソースの結果に比して極端に小さい状態となった場合は、遷移用シナリオによる応答動作が実行される。遷移用シナリオによる対話の結果により、他の元シナリオまたはナビゲート用シナリオの実行が遷移用シナリオから要求されると、対話シナリオ実行手段６００ではそのシナリオを読み込み実行する。ナビゲート用シナリオが実行されるときには、音声認識・発話理解の処理は遷移用リソースに対してのみ行われる。ナビゲート用シナリオはまたその対話結果に応じて、元シナリオの１つの実行や、対話の終了を対話シナリオ実行手段６００に対して要求し、要求を受けた対話シナリオ実行手段６００では元シナリオの実行やシステムの終了処理を行なう。
【００３７】
本実施例において、対話システムの連結のために入力として新たに人手等で作成しなければいけない情報は、名称、キーワードの列挙を行なうだけでよく、その作成コストはその対話システムで扱おうとする全話題のスロットに関して待ち受けるための規則を各コスト（＞２のスロット数乗）に比してはるかに少ない。
遷移用リソースは、上記で説明した生成過程から、連結しようとする元シナリオが扱うキーワードや、その元シナリオを連想させるキーワードを認識・理解可能である。
また、遷移用リソースからの発話理解結果が得られるとその結果に応じて、遷移用シナリオやナビゲート用シナリオにより、別の話題を扱う対話シナリオへの遷移が可能となっている。
【００３８】
以上説明した音声対話シナリオ作成装置はハードウェアによって実現することも可能であるが、現実的には本発明による音声対話シナリオ作成プログラムをコンピュータにインストールし、コンピュータに音声対話シナリオ作成装置として機能させる実施形態が最も実現性が高い。本発明による音声対話シナリオ作成プログラムはコンピュータが解読可能なプログラム言語によって記述され、コンピュータが読みよ取り可能な例えばＣＤ−ＲＯＭ、磁気ディスクのような記録媒体に記録される。コンピュータにはこれらの記録媒体から或いは通信回線を通じてインストールされ、コンピュータに備えられたＣＰＵに解読されて音声対話シナリオ作成動作を実行する。
【産業上の利用可能性】
【００３９】
本発明による音声対話シナリオ作成方法及び装置は音声対話システムを構築するためのプログラム作成現場で活用される。
【図面の簡単な説明】
【００４０】
【図１】本発明による音声対話シナリオ作成方法及び装置の概要を説明するためのブロック図。
【図２】本発明による音声対話シナリオ作成装置の一実施例を説明するためのブロック図。
【図３】図２の続きを説明するためのブロック図。
【図４】本発明の実施例に用いた遷移用リソース作成手段の詳細を説明するためのブロック図。
【図５】図４に示した遷移用リソース作成手段の動作を説明するためのフローチャート。
【図６】本発明の実施例に用いたシナリオ名キーワード対応データベース作成手段の動作を説明するためのフローチャート。
【図７】本発明の実施例に用いた遷移用発話理解規則作成手段の動作を説明するためのフローチャート。
【図８】本発明による実施例に用いた遷移用認識言語モデル・認識辞書作成手段の動作を説明するためのフローチャート。
【符号の説明】
【００４１】
１００  元シナリオ群          ４０１−１  遷移用キーワード辞書
１００Ａ〜１００Ｎ  元シナリオ            ４０１−２  遷移用発話理解規則
１０１Ａ〜１０１Ｎ  リソース              ４０１−３  遷移用言語モデル
１０１Ａ−１  シナリオファイル名    ４０１−４  遷移用認識辞書
１０１Ａ−２  キーワード辞書        ４０１−５  シナリオキーワード対応ＤＢ
１０１Ａ−３  発話理解規則リスト        ４０３  ナビゲート用シナリオ
１０１Ａ−４  元シナリオ例文リスト      ４０４  遷移用シナリオ
１０２  シナリオファイル名        ４０５  連結情報
１０３  シナリオキーワードリスト
１０４  シナリオ関連キーワードリスト
１０５  追加例文リスト              
１０６  各シナリオの内容                
２００  情報抽出手段
３００  整合情報作成手段
３０１  遷移用リソース作成手段
３０２  対話シナリオ
３０３  遷移用シナリオ作成手段
３０４  連結情報作成手段
【図１】
0004634889.tif 000002
【図２】
0004634889.tif 000003
【図３】
0004634889.tif 000004
【図４】
0004634889.tif 000005
【図５】
0004634889.tif 000006
【図６】
0004634889.tif 000007
【図７】
0004634889.tif 000008
【図８】
0004634889.tif 000009