(57)【要約】【課題】迅速かつ柔軟な自動応答の生成装置及び方法を提供すること。【解決手段】自然言語ユーザインタフェース生成装置は、ユーザ端末からの会話文の入力に対応した会話文の出力における会話の状況、会話の動作及びそれらの関係を示すコンピュータ上での処理動作をノードとエッジで表現する知識構造の記憶手段と、知識構造を解釈し、複数の対話ルールと対話制御手法の組を予め関連付けて実行する応答手段とを備え、応答手段は、対話制御手法を実施するために、ノードに属する要素のうち少なくとも二つの要素の間の関係において、処理動作の流れを示す関係及び処理動作に必要な関係を対話ルールとして記憶する対話構造記憶手段と、記憶した要素に対して知識構造における関連付けの有無を判別する判別手段と、判別手段による判別の結果に応じて、対話構造記憶手段に記憶された二つの要素の間の関係を変更する変更手段と、を備える。【選択図】図２
2011065582.tif 000002
【特許請求の範囲】
【請求項１】
自然言語ユーザインタフェースを生成する装置であって、
ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作及びそれらの関係を示すコンピュータ上での処理動作をノードとエッジで表現する知識構造の記憶手段と、
前記知識構造を解釈し、複数の対話ルールと対話制御手法の組を予め関連付けて実行する応答手段とを備え、
前記応答手段は、前記対話制御手法を実施するために、
前記ノードに属する要素のうち少なくとも二つの前記要素の間の関係において、前記処理動作の流れを示す関係及び前記処理動作に必要な関係を前記対話ルールとして記憶する対話構造記憶手段と、
前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別手段と、
前記判別手段による判別の結果に応じて、前記対話構造記憶手段に記憶された前記二つの要素の間の関係を変更する変更手段と、を備える装置。
【請求項２】
前記知識構造の記憶手段は、
前記状況、前記動作及び前記関係に関するクラスの前記要素として、処理のクラス、データのクラス、変数のクラス、属性のクラスを含み、
前記知識構造は会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を含み、
前記変数のクラスは前記会話の場を始点とする関連付けを有し、
前記属性のクラスは修飾対象と同一の始点との関連付け及び終点としての修飾対象との関連付けを有し、
前記処理のクラスは前記知識構造に属する要素を始点及び終点とする関連付けを有し、
前記データのクラスは静的データとの関連付けを有する、
請求項１に記載の自然言語ユーザインタフェースを生成する装置。
【請求項３】
前記応答手段は、有限状態ベースの対話制御手法、フレームベースの対話制御手法又はエージェントベースの対話制御手法のいずれかを前記対話制御手法として実施し、
前記有限状態ベースの対話制御手法は、前記対話制御手法をクラスを用いて記述されるスクリプトである対話スクリプトとして記述し、
前記フレームベースの対話制御手法は、前記対話制御手法を意味フレームとして記述し、
前記エージェントベースの対話制御手法は、前記対話制御手法をエージェント動作として記述する、
請求項１に記載の自然言語ユーザインタフェースを生成する装置。
【請求項４】
ユーザ端末からの会話文のデータ入力を受け付ける会話文入力受付手段をさらに備え、
前記応答手段はそれぞれの判別手段において、前記受け付けられた会話文の内容に応じて、前記関連付けの有無の判別を行う、請求項１に記載の自然言語ユーザインタフェースを生成する装置。
【請求項５】
自然言語ユーザインタフェースを生成する方法であって、コンピュータに、
ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作及びそれらの関係を示す前記コンピュータ上での処理動作をノードとエッジで表現する、知識構造の記憶ステップと、
前記知識構造を解釈し、複数の対話ルールと対話制御手法の組を予め関連付けて実行する応答ステップと、を含むコンピュータ・プログラムを実行させ、
前記応答ステップは、前記対話制御手法を実施するために、
前記ノードに属する要素のうち少なくとも二つの前記要素の間の関係において、前記処理動作の流れを示す関係及び前記処理動作に必要な関係を前記対話ルールとして記憶する対話構造記憶ステップと、
前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、
前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップにおいて記憶された前記二つの要素の間の関係を変更する変更ステップと、を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語ユーザインタフェースを漸進的に開発する装置及び方法に関する。より具体的には、自然言語によるユーザのメッセージに対応して自動的に応答するプログラム等において、ユーザインタフェースを漸進的に開発する装置及び方法に関する。
【背景技術】
【０００２】
従来、自然言語対話を用いて、自然言語によるユーザのメッセージに対応して自動的に応答するコンピュータ・プログラムとして、対話エージェント、おしゃべりボット、人工無脳、自動対話、自然言語ユーザインタフェース、音声対話等が知られている。一例としては、利用者が入力したテキスト等に対応して自然言語の対話を行うチャットボットと言われるプログラムが存在する。これらは、ユーザが入力したメッセージからキーワードを抽出し、データベース中のワードにマッチした応答を行うプログラムである。ユーザによって入力された情報を状況特定データと照合して入力された情報に対応する状況特定データを判断し、入力された情報に対応する状況特定データに得点を加算して状況特定データが属する状況データの評価点数を集計する。そして、評価点数の集計状況に応じて入力された情報に対して応答すべき状況データを判断して、応答出力生成手段により応答すべき状況データに関連付けられた出力形式に従って応答データを生成して出力処理するシステムが開示されている（特許文献１参照）。
【０００３】
また、従来の対話エージェント技術では、複雑な対話スクリプトについては、応答動作を個別にプログラムし、単純な対話スクリプトについては、人間の発話を機械の制御データに変換する等、データを準備するだけでよい枠組みが考えられてきた（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１７２２８０号公報
【特許文献２】特開２００３−１１６１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の自然言語対話ユーザインタフェース技術においては、十分に話題を絞り込み、それに応じた適切な対話制御手法と対話ルール記述方法を設計する必要があった。この必要性が満たされない場合、例えば、話題に適合しない対話制御手法を設計すると、対話ルール群の規模が膨大になる、自然言語解析処理の能力不足により確認のための対話ばかりになってしまう等、メンテナンスや実行に支障が出る場合があった。この必要性を満たすために、話題ごとに異なる対話制御手法を備える自然言語対話システム等を用意することも可能であるが、このようなシステムにおいては、複数の制御手法を含むシステムを構成するためのコストが必要であることは明らかであり、さらにシステムを更新するためには、蓄積された対話ルールを再構築又は変換するコストが必要となるという課題があった。
【０００６】
換言すれば、従来技術又はその組み合わせにおいては、自然言語対話ユーザインタフェースを長期間運用すると、個別の対話ルール等の自然言語解析処理の能力向上を図ったとしても、システム全体としてのメンテナンス及び実行コストのために、全体性能の向上のメリットを十分には享受できなかった。従って、対話の柔軟性や対話のスムーズさを実現することに関して、さらなる改良が必要であった。
【０００７】
本発明は、上記課題を解決するために、システムの活動によってその構成要素を外部から取り込む等の手法を有する、自己創出性を備えた知識構造を用いて、対話ルールの構築コスト及び変換コストを削減し、自然言語対話におけるユーザへの応答を迅速にすることを目的とする。
【０００８】
さらに、本発明は、既存の対話ルールデータに従来の解釈が可能なまま新たな意味関係を定義することのできる知識構造を実装し、対話の柔軟性や対話のスムーズさを向上することを目的とする。
【課題を解決するための手段】
【０００９】
発明者は、知識構造に含まれる頂点だけでなく辺をも修飾する辺を表現しうる拡張意味ネットワークを備え、柔軟性と拡張性に優れた知識構造を用いる対話エージェントの開発に成功し、またこの対話エージェントのためのスクリプト作成を支援する方法及びプログラムの開発にも成功した結果、２００８年０１月１８日付け出願の特願２００８−００９４５８、発明の名称「自然言語対話エージェントの知識構造構成方法、知識構造を用いた自動応答の作成方法及び自動応答作成装置」及び２００８年０３月１８日付け出願の特願２００８−０６８７８６、発明の名称「自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム」を出願するに至った。さらに、発明者は、自動的な応答を作成するために、状況と動作の関係を表現しうる拡張意味ネットワークの知識構造を用いて、ユーザからのメッセージにコンピュータが迅速に応答できる自然言語対話システムの開発に成功し、このシステムのための対話制御手法の開発を進展させ、本発明の方法及び装置を開発するに至った。
【００１０】
本発明では、以下のような解決手段を提供する。
【００１１】
（１）  自然言語ユーザインタフェースを生成する装置であって、ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおいて会話の状況、会話の動作及びそれらの関係を示すコンピュータ上での処理動作をノードとエッジで表現する知識構造の記憶手段と、前記知識構造を解釈し、複数の対話ルールと対話制御手法の組を予め関連付けて実行する応答手段とを備え、前記応答手段は、前記対話制御手法を実施するために、前記ノードに属する要素のうち少なくとも二つの前記要素の間の関係において、前記処理動作の流れを示す関係及び前記処理動作に必要な関係を前記対話ルールとして記憶する対話構造記憶手段と、前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別手段と、前記判別手段による判別の結果に応じて、前記対話構造記憶手段に記憶された前記二つの要素の間の関係を変更する変更手段と、を備える装置。
【００１２】
本発明に係る自然言語ユーザインタフェースを生成する装置は、例えば、コンピュータを用いて自然言語ユーザインタフェースを生成するプログラム等を実施することにより、具現化することが可能である。自然言語ユーザインタフェースは、例えば対話スクリプト等の形態で提供することができる。
【００１３】
本発明に係る自然言語ユーザインタフェースを生成する装置は、知識構造の記憶手段として、詳細を後述する拡張意味ネットワークを用いることができる。
【００１４】
本発明に係る自然言語ユーザインタフェースを生成する装置は、詳細を後述する対話スクリプト記述言語を用いることにより、対話ルールの構築・変換コストを削減することができる。
【００１５】
本発明に係る自然言語ユーザインタフェースを生成する装置は、さらに、拡張意味ネット知識構造のエッジ修飾機能を利用して、既存対話ルールデータに対する従来の解釈を可能としたまま、新たな意味関係を定義することができる。具体的には、新たな意味解釈を含む、対話ルールデータに対する解釈は、次のような対話制御手法を用いて、得ることができる。
［Ａ］有限状態（ｆｉｎｉｔｅ  ｓｔａｔｅ）ベースの対話制御手法
［Ｂ］フレーム（ｆｒａｍｅ）ベースの対話制御手法
［Ｃ］エージェント（ａｇｅｎｔ）ベースの対話制御手法
【００１６】
これらの対話制御手法は、個々に対話ルールと関連付けられ、入力された対話データに対して、共通の知識構造を用いて同時に実行することが可能である。すなわち、本発明に係る自然言語ユーザインタフェースを生成する装置においては、単一の知識構造中に、同一の対話ルールデータに対して、異なる種類の新たな対話制御エンジンが解釈可能な関係情報を、矛盾なく表現することができる。
【００１７】
本発明に係る自然言語ユーザインタフェースを生成する装置は、所定の対話ルール及び所定の対話制御手法を予め関連付けて含む応答手段とし、上述の［Ａ］、［Ｂ］又は［Ｃ］のいずれかの対話処理手法を含む応答手段を、少なくとも二つ用いて、自然言語による対話を行うことができる。従って、単一の対話制御手法を用いる場合と比較して、本発明においては、自然言語対話におけるユーザへの応答をより迅速かつ柔軟にすることができる。
【００１８】
このようにすることで、本発明においては、異なる複数の対話制御手法に対して単一の知識構造が対応できるので、それらを同時に利用するシステムを構築・運用するコストを軽減することが可能になる。例えば、最新の自然言語処理解析技術を用いた対話制御手法を、本発明に係る自然言語ユーザインタフェースを生成する装置に導入する場合でも、導入される新手法と従来技術による対話制御手法とを共存できるので、新規手法を容易に導入することが可能になる。
【００１９】
本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造を作成する記憶部は、コンピュータ資源に含まれ、主記憶又は仮想記憶として用いうる半導体メモリ等の電気的記憶手段、磁気ディスク等の磁気的記憶手段、光磁気ディスク等の光学的記憶手段等を適宜含む。
【００２０】
本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造の構成方法は、状況と動作の両者を要素とする言語の集合である知識構造を用意すること、及び典型的には状況を始点とし動作を終点とする関係もまた前記知識構造の要素でありうることにおいて、従来技術と共通点を有する。すなわち、公知のグラフ構造等を用いて、従来技術に係る始点と終点とにより関係を記述する手法は、本発明においても同様に用いることができる。ここに、グラフ構造を用いる知識構造の表現手法においては、始点及び終点は「頂点」又は「ノード」等と呼ばれ、始点から終点への関係は「辺」又は「エッジ」等と呼ばれる。
【００２１】
従来技術に係るグラフ理論においては、始点又は終点の集合を用意し、始点及び終点の組み合わせを用いて辺の集合を用意する。すなわち、辺は始点から終点に向かって定義される。これに対して、本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造に属する要素の関連付けは、頂点と辺を特に区別せずに要素を用意し、二つの要素の組み合わせにおいて、始点及び終点が共に空要素である組み合わせを頂点として扱い、始点及び終端が共に空要素でない組み合わせを辺として扱う。すなわち、知識構造に属する二つの要素を組み合わせることにより、当該組み合わせが頂点及び辺として取り扱われる。
【００２２】
拡張意味ネットワークは、このようにして二つの要素を組み合わせることによりグラフ構造の頂点又は辺を表す手法である。
【００２３】
本発明に係る自然言語ユーザインタフェースを生成する装置が用いる知識構造においては、知識構造に属する二つの要素を組み合わせれば頂点でも辺でもありうる。具体的には、終点は状況でもよく動作でもよく、あるいは状況と動作の関係でもよい。この点において、本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造に属する要素の関連付けは、従来技術にない特徴を有する。すなわち、状況と状況の関連付け、状況と動作の関連付け、動作と動作の関連付け、さらにこれらの関連付けを一つの関係とする動作と一つの関係との関連付け等を実施することが可能になる。従って、本発明に係る自然言語ユーザインタフェースを生成する装置においては、従来の意味ネットワークに加えて、拡張意味ネットワークを提供することにより、知識構造に含まれる要素同士の関連付け及び要素と関係の関連付け等を柔軟に実施することが可能になる。
【００２４】
本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造をグラフ構造を用いて表現することにおいては、従来技術と同様の始点から終点への関連付けに加えて、関連付けを表す辺を修飾する辺を表現しうる。すなわち、辺の終点は辺でもありうる。このような、従来技術を拡張した拡張意味ネットワークを用いて、本発明に係る自然言語ユーザインタフェースを生成する装置の知識構造の構成方法は、意味又は記憶の構造を表すための知識構造を構成しうる。
【００２５】
（２）  前記知識構造の記憶手段は、前記状況、前記動作及び前記関係に関するクラスの前記要素として、処理のクラス、データのクラス、変数のクラス、属性のクラスを含み、前記知識構造は会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を含み、前記変数のクラスは前記会話の場を始点とする関連付けを有し、前記属性のクラスは修飾対象と同一の始点との関連付け及び終点としての修飾対象との関連付けを有し、前記処理のクラスは前記知識構造に属する要素を始点及び終点とする関連付けを有し、前記データのクラスは静的データとの関連付けを有する、（１）に記載の自然言語ユーザインタフェースを生成する装置。
【００２６】
処理のクラス、データのクラス、変数のクラス、及び属性のクラスはいずれも、グラフ構造における頂点として扱われる。処理のクラスは、具体的な処理を実施するための処理頂点を含む。処理のクラスに属する処理頂点の実体、すなわち処理のインスタンスは、コンピュータ処理可能な文字情報に対する処理を適宜含む。
【００２７】
データのクラスは、静的にデータを格納するためのデータ頂点を含む。データのインスタンスは、コンピュータ処理可能な文字コードの集まり等を適宜含む。
【００２８】
変数のクラスは、動的データの参照先を示す変数頂点を含む。変数のインスタンスは、自然言語ユーザインタフェースとしての対話スクリプトの実行の諸段階における変数を適宜含む。
【００２９】
属性のクラスは、対話スクリプト要素に意味を与える属性頂点を適宜含む。属性のインスタンスは、対話スクリプト要素に含まれる文字情報等の上位概念等を適宜含む。具体的には、本発明に係る自然言語ユーザインタフェースとしての対話スクリプトの作成方法は、例えば、同一の用語「時計」に対する属性のインスタンスとして、「時間を計測するための道具」又は「装飾目的の贅沢品」等を適宜関連付けてもよく、それぞれの属性のインスタンスに基づいて、対話スクリプトにおける前記用語「時計」の意味を変化させうる。
【００３０】
また、処理の流れの関係、及び処理に必要な関係はいずれも、グラフ構造における辺として扱われる。
処理の流れの関係は、始点と終点とを関連付けるフロー辺を含む。フロー辺は終点を修飾するために用いられる。
処理に必要な関係は、処理に必要な情報を示す属性辺を含む。属性辺は、フロー辺に意味を与えるために用いられる。すなわち、属性辺はフロー辺を修飾するために用いられる。より具体的には、フロー辺を用いて示される関係に対して、属性辺を用いて前記関係の全体が特定の情報源からの伝聞であること、すなわち話者と情報源との関係を用いて前記関係を修飾してもよい。
本発明に係る自然言語ユーザインタフェースとしての対話スクリプトの作成方法は、グラフ構造における頂点及び辺を用い、これらの関係を修飾するステップを用いることにより、間接話法等の複雑な対話スクリプトの作成が可能である。
【００３１】
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
会話の場は、具体的には、パーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービスやネットワーク会議システム等のサービスを含む。
【００３２】
（３）  前記応答手段は、有限状態ベースの対話制御手法、フレームベースの対話制御手法又はエージェントベースの対話制御手法のいずれかを前記対話制御手法として実施し、前記有限状態ベースの対話制御手法は、前記対話制御手法をクラスを用いて記述されるスクリプトである対話スクリプトとして記述し、前記フレームベースの対話制御手法は、前記対話制御手法を意味フレームとして記述し、前記エージェントベースの対話制御手法は、前記対話制御手法をエージェント動作として記述する、（１）に記載の自然言語ユーザインタフェースを生成する装置。
【００３３】
前述のように、応答手段に含まれる対話制御手法としては、有限状態ベースの対話制御手法、フレームベースの対話制御手法、及びエージェントベースの対話制御手法が挙げられる。
【００３４】
有限状態ベースの対話制御手法は、対話制御手法を、クラスを用いて記述されるスクリプトである対話スクリプトとして、記述することができる。例えば、有限状態ベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、予め所定の処理頂点、辺修飾属性及びフロー辺を用意し、ユーザからの入力に応じて所定の動作を実施することができる。
【００３５】
フレームベースの対話制御手法は、対話制御手法を意味フレームとして記述することができる。例えば、フレームベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、意味フレームの構成要素等を辿ることを表すエッジ、及び意味フレームのスロット等を表すノードを用いて、拡張意味ネットワークの形式で格納される知識構造にアクセスすることができる。
【００３６】
エージェントベースの対話制御手法は、対話制御手法をエージェント動作として記述することができる。例えば、エージェントベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、話題を絞り込む属性概念等を辿ることを表すエッジ、及び分類概念等を表すノードを用いて、拡張意味ネットワークの形式で格納される知識構造にアクセスすることができる。
【００３７】
このようにすることで、本発明においては、複数の応答手段を用いて自然言語対話タスクを実行することで、自然言語対話におけるユーザへの応答をより迅速かつ柔軟にすることができる。さらに、本発明においては、異なる複数の対話制御手法に対して単一の知識構造が対応できるので、それらを同時に利用するシステムを構築・運用するコストを軽減することが可能になる。
【００３８】
（４）  ユーザ端末からの会話文のデータ入力を受け付ける会話文入力受付手段をさらに備え、前記応答手段はそれぞれの判別手段において、前記受け付けられた会話文の内容に応じて、前記関連付けの有無の判別を行う、（１）に記載の自然言語ユーザインタフェースを生成する装置。
【００３９】
会話文のデータ入力を受け付ける会話文入力受付手段は、ユーザ端末から受信した会話文を入力として受け付ける。この会話文は、文字コードの集まり、画像としての文字情報、デジタル化された音声等を適宜含む。文字コードの集まりは、ユーザ端末が備えるキーボード等を用いてユーザが入力して送信する文字コードを含む。画像としての文字情報から文字コードへの変換、又はデジタル化された音声から文字コードへの変換は、文字認識又は音声認識として適宜設計しうる。文字コードに変換された会話文に含まれる単語を抽出することにおいては、当技術分野の周知技術である形態素解析等を用いることができる。
【００４０】
本発明に係る自然言語ユーザインタフェースを生成する装置は、会話文入力受付手段を備えることにより、後続の対話スクリプト作成に用いる文字コードとして、会話文を受け付けることができる。
【００４１】
ユーザによる用語の入力のための手段は、適宜、ネットワーク端末等を用いうるが、これに限らず、携帯電話やネットワーク接続可能なデジタルカメラ等でもよい。
【００４２】
本発明に係る自然言語ユーザインタフェースを生成する装置が会話文入力受付手段を備えることにより、前述の判別手段は、記憶した要素に加えて、受け付けられた会話文の内容に対して知識構造における関連付けの有無を判別することが可能である。すなわち、判別手段は、当該会話文の内容に含まれる単語を、知識構造記憶手段が記憶しうるクラスに属する要素として扱い、当該要素に対して知識構造における関連付けの有無を判別することが可能である。
【００４３】
このようにすることで、本発明に係る自然言語ユーザインタフェースを生成する装置は、新たに会話文として受け付けたデータ入力を、知識構造における関連付けの有無の判別に用いることができる。すなわち、本発明に係る自然言語ユーザインタフェースを生成する装置は、知識構造に記憶した処理のクラスに属する応答手段を用いて、受信した会話文を処理できる。
【００４４】
処理のクラスに属する応答手段は、例えば、特定のキーワードにヒットすること、任意のキーワードにヒットすること、選択肢に分岐すること、及びユーザが送信した文字情報を変数に保存すること等を適宜含むことができる。処理のクラスに属する応答手段を用いて受信した用語を処理することは、受信した用語を始点とし、この始点と関連付けうる終点として処理頂点を決定することを含む。具体的には、状況を特定するための用語を処理するための文字列処理関数等を実行することを含む。
【００４５】
処理の結果の成功又は失敗を判別することは、決定した処理頂点において受信した状況を特定するための用語が処理できないことを失敗と判別することを含む。これに限らず、文字列処理関数等を予め用意し、それぞれの文字列処理関数ごとに処理しうる文字情報を限定してもよい。具体的には、標準語を用いて応答する文字列処理関数及び方言を用いて応答する文字列処理関数等を予め用意する場合に、ユーザが方言を用いる発言を送信することに応答して、標準語の文字列処理関数を処理頂点として用語を処理することを失敗と判定してもよく、方言の文字列処理関数を処理頂点として用語を処理することを成功と判定してもよい。
【００４６】
本発明に係る自然言語ユーザインタフェースを生成する装置は、受信した用語を処理するための応答手段を選択することにより、文字列処理のための機能を分類した応答手段等を用意し、効率的に対話スクリプトを作成することができる。さらに、処理結果を判別することにより、当該用語に対する処理の成功又は失敗を判別しうる。
【００４７】
本発明に係る自然言語ユーザインタフェースを生成する装置は、応答手段を決定することにおいては、ランダムな選択規則、最初又は最後に用いられた応答手段を選択する規則、最も以前又は最近に用いられた応答手段を選択する規則、談話構造と最も関連性の高い応答手段を選択する規則から選ばれる規則に基づいて選択するステップを用い、動作を特定するための用語を決定しうる。
【００４８】
状況を特定するための用語は、単語、文節、文等の、拡張意味ネットワークにおける頂点又は辺に格納されうる語句であればよい。
【００４９】
あるいは、本発明に係る自然言語ユーザインタフェースを生成する装置が用いることのできる拡張意味ネットワークは、用語の実体をインスタンスとして扱い、インスタンスとして扱う用語のクラスを定義して当該クラスを頂点又は辺に格納してもよい。これにより、用語等の実体が巨大なデータであっても、拡張意味ネットワークにおける頂点又は辺は、クラス定義の語句又は記号を表すデータでありうる。従って、本発明に係る自然言語ユーザインタフェースを生成する装置が生成可能な自動応答の作成方法は、応答を作成するためのコンピュータ・プログラムのメモリ消費量を抑えて動作を安全に維持しうる。
【００５０】
また、動作を特定するための用語の決定は、談話構造と最も関連性の高い要素を選択する規則を含み、所定の規則から適宜選択しうる。これにより、本発明に係る自然言語ユーザインタフェースを生成する装置は、内容が的確な対話応答を作成できると共に、非論理的応答を含む自動応答も作成することが可能になり、ユーザの立場から見た対話応答の単調さを避けることが可能である。
【００５１】
（５）  自然言語ユーザインタフェースを生成する方法であって、コンピュータに、ユーザ端末からの会話文の入力に対応した会話文を出力する対話エージェントシステムにおける会話の状況、会話の動作及びそれらの関係を示す前記コンピュータ上での処理動作をノードとエッジで表現する、知識構造の記憶ステップと、前記知識構造を解釈し、複数の対話ルールと対話制御手法の組を予め関連付けて実行する応答ステップと、を含むコンピュータ・プログラムを実行させ、前記応答ステップは、前記対話制御手法を実施するために、前記ノードに属する要素のうち少なくとも二つの前記要素の間の関係において、前記処理動作の流れを示す関係及び前記処理動作に必要な関係を前記対話ルールとして記憶する対話構造記憶ステップと、前記記憶した要素に対して前記知識構造における関連付けの有無を判別する判別ステップと、前記判別ステップによる判別の結果に応じて、前記対話構造記憶ステップにおいて記憶された前記二つの要素の間の関係を変更する変更ステップと、を含む方法。
【００５２】
このようにすることで、当該方法を実施することにより、（１）と同様の効果が期待できる。本発明に係る自然言語ユーザインタフェースを生成する方法は、例えば、コンピュータを用いて実行する自然言語ユーザインタフェース生成プログラムとして提供することができる。
【発明の効果】
【００５３】
本発明によれば、システムの活動によってその構成要素を外部から取り込む等の手法を有する、自己創出性を備えた知識構造を用いて、対話ルールの構築コスト及び変換コストを削減し、自然言語対話におけるユーザへの応答を迅速にすることが可能な自然言語ユーザインタフェースを生成する装置及び方法を提供することができる。
また、本発明によれば、既存の対話ルールデータに従来解釈が可能なまま新たな意味関係を定義することのできる知識構造を実装し、対話の柔軟性や対話のスムーズさを向上することが可能になる。
【図面の簡単な説明】
【００５４】
【図１】本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
【図２】本発明の一実施形態に係る自然言語ユーザインタフェース生成システムの構成を示す図である。
【図３】本発明の好適な実施形態の一例に係る、知識構造のデータ構造を表す図である。
【図４】本発明の一実施形態に係る、自然言語ユーザインタフェース生成システムによる対話スクリプト作成と知識構造との関係を示す図である。
【図５】本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置が生成する、対話エージェントの動作を説明するためのフロー図である。
【図６】本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置が生成する、応答処理の動作を説明するためのフロー図である。
【図７】本発明の一実施形態に係る、応答処理において、メッセージの処理のために実行される有限状態ベースの対話制御手法による応答モジュールの動作を説明するためのフロー図である。
【図８】本発明の一実施形態に係る、有限状態ベースの対話制御手法における対話応答のための知識構造の例を示す図である。
【図９】本発明の一実施形態に係る、有限状態ベースの対話制御手法による自然言語ユーザインタフェースの生成を例示する図である。
【図１０】本発明の一実施形態に係る、有限状態ベースの対話制御手法による自然言語ユーザインタフェースの生成を例示する図である。
【図１１】本発明の一実施形態に係る、有限状態ベースの対話制御手法による自然言語ユーザインタフェースの生成を例示する図である。
【図１２】本発明の一実施形態に係る、自然言語ユーザインタフェース生成のための共通概念を例示する図である。
【図１３】本発明の一実施形態に係る、有限状態ベースの対話制御手法による対話ルールの例を示す図である。
【図１４】本発明の一実施形態に係る、フレームベースの対話制御手法による自然言語ユーザインタフェース５３０を生成する例を示す図である。
【図１５】本発明の一実施形態に係る、フレームベースの対話制御手法における対話応答のための知識構造の例を示す図である。
【図１６】本発明の一実施形態に係る、エージェントベースの対話制御手法による自然言語ユーザインタフェースの生成を例示する図である。
【図１７】本発明の一実施形態に係る、エージェントベースの対話制御手法における対話応答のための知識構造の例を示す図である。
【図１８】本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置の応答モジュールに含まれる対話ルールの全体像を例示する図である。
【発明を実施するための形態】
【００５５】
以下、本発明の実施形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００５６】
本実施形態は、コンピュータ及びその周辺装置に適用される。本実施形態における各部は、コンピュータ及びその周辺装置が備える、ハードウェア及び該ハードウェアを制御するソフトウェアによって構成される。
【００５７】
上記ハードウェアには、制御部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の他、記憶部、通信装置、表示装置及び入力装置が含まれる。記憶部としては、例えば、メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ等）、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及び光ディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ、ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ等）ドライブが挙げられる。通信装置としては、例えば、各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイ、プラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００５８】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布されることも可能である。
【００５９】
［拡張意味ネットワークの構造］
図１は、本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
【００６０】
まず、意味又は記憶の構造を表すためのモデルに用いられる、公知の意味ネットワークの形式について説明する。
【００６１】
図１（ｂ）は、意味ネットワークを表すグラフ構造を示す図である。辺ｅ（９３）は、始点ｖｓ（９１）及び終点ｖｄ（９２）で定義され、始点から終点に向かう矢印で表される。意味ネットワークは次の数式１から数式３を用いて表される形式を有する。
【数１】
2011065582.tif 000003
【数２】
2011065582.tif 000004
【数３】
2011065582.tif 000005
式中、ＳＮ：意味ネットワーク（Ｓｅｍａｎｔｉｃ  Ｎｅｔｗｏｒｋ）
ＶＳＮ：意味ネットワークに含まれる頂点（Ｖｅｒｔｅｘ）の集合
ＥＳＮ：意味ネットワークに含まれる辺（Ｅｄｇｅ）の集合
ｖ：頂点の集合Ｖの要素
ｅ：辺の集合Ｅの要素
ｖｓ：始点
ｖｄ：終点
である。
【００６２】
数式１は、意味ネットワークが頂点の集合ＶＳＮ及び辺の集合ＥＳＮで構成されることを表す。数式２は、頂点の集合ＶＳＮ要素ｖを有することを表す。数式３は、辺の集合ＥＳＮは辺の要素ｅを有し、辺の要素ｅは始点ｖｓ及び終点ｖｄで定義され、始点ｖｓ及び終点ｖｄは頂点の集合ＶＳＮに属することを表す。
【００６３】
次いで、本発明に係る自然言語ユーザインタフェースを生成する装置が用いることのできる拡張意味ネットワークの形式について説明する。
【００６４】
図１（ａ）は、拡張意味ネットワークを表すグラフを示す図である。辺ｅｅ（８３）は始点ｅｓ（８１）及び終点ｅｄ（８２）で定義され、始点から終点に向かう矢印で表される。辺ｅｉ（８５）は始点ｅｃ（８４）を有して終点は辺ｅｅ（８３）である。拡張意味ネットワークは次の形式を有する。
【数４】
2011065582.tif 000006
式中、ＡＳＮ：拡張意味ネットワーク（Augmented  Semantic  Network）
ＥＡＳＮ：拡張意味ネットワークの集合
ｅ：集合Ｅの要素である拡張組要素
ｅｓ：始点
ｅｄ：終点
null：空要素
である。
【００６５】
数式４は、二項の組を構成するｅｓ、ｅｄが要素集合ＥＡＳＮの要素か、あるいは空要素ｎｕｌｌであることを表す。さらに、拡張意味ネットワークは、次の要素集合を有する。
【数５】
2011065582.tif 000007
【数６】
2011065582.tif 000008
【数７】
2011065582.tif 000009
式中、ＡＳＮＶＥ：拡張意味ネットワークＡＳＮの構成要素
Ｅｖ：拡張意味ネットワークにおける頂点の集合
Ｅｅ：拡張意味ネットワークにおける辺の集合
である。
【００６６】
数式５は、拡張意味ネットワークが頂点の集合Ｅｖ及び辺の集合Ｅｅを構成要素とすることを表す。数式６は、頂点の集合Ｅｖは拡張組要素ｅｓ、ｅｄが両方とも空要素であるときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。数式７は、辺の集合Ｅｅは拡張組要素ｅｓ、ｅｄが辺の集合Ｅｖに属するときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。
【００６７】
数式６及び数式７は、共通して要素ｅ（ｅｓ，ｅｄ）を用いて表現される。すなわち、拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点ｅｄだけではなく辺ｅ（ｅｓ，ｅｄ）でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、拡張意味ネットワークにおいては、図１（ａ）に示したように、始点ｅｃ（８４）から始まる辺ｅｉ（８５）の終点を辺ｅｅ（８３）としうる。
【００６８】
上記拡張意味ネットワーク及び公知の意味ネットワークにおいては、頂点が概念や事象を格納するために用いられ、頂点を結ぶ辺がそれらの関係の意味付けを格納するために用いられることは共通している。また、頂点や辺の具体的な意味は外部から与えることにおいても共通である。
【００６９】
上記拡張意味ネットワークにおいては、辺を辺の接続対象にできるという自由度を発生させることができる。これにより、本発明に係る自然言語ユーザインタフェース生成装置１０が用いることのできる対話スクリプトの作成は、知識構造に属する複数の要素を用いて、従来よりも要素間の関連付けの拡張性を広範に確保し、要素間の関連付けを用いて従来よりも柔軟な応答を生成する対話スクリプトを作成しうる。
【００７０】
［頂点及び辺のクラス］
表１に、具体的な頂点及び辺のクラスを例示する。これらに限らず、本発明に係る自然言語ユーザインタフェース生成方法に用いることが可能な、グラフ構造における頂点及び辺を定義できる。表１に示す頂点及び辺はいずれも頂点のクラス、辺のクラスとして取り扱い、それぞれの実体を個別に定義することが可能である。
【００７１】
処理のクラスは、具体的な処理を実施するための処理頂点を含む。処理のクラスに属する処理頂点の実体、すなわち処理のインスタンスは、コンピュータ処理可能な文字情報に対する処理を適宜含む。
データのクラスは、静的にデータを格納するためのデータ頂点を含む。データのインスタンスは、コンピュータ処理可能な文字コードの集まり等を適宜含む。
変数のクラスは、動的データの参照先を示す変数頂点を含む。変数のインスタンスは、対話スクリプトの実行の各段階における変数を適宜含む。
属性のクラスは、対話スクリプト要素に意味を与える属性頂点を適宜含む。属性のインスタンスは、対話スクリプト要素に含まれる文字情報等の上位概念等を適宜含む。具体的には、本発明に係る自然言語ユーザインタフェース生成方法は、同一の用語「時計」に対する属性のインスタンスとして、「時間を計測するための道具」又は「装飾目的の贅沢品」等を適宜関連付けてもよく、それぞれの属性のインスタンスに基づいて、対話スクリプトにおける前記用語「時計」の意味を変化させる。
また、処理の流れの関係、及び処理に必要な関係は、いずれも、グラフ構造における辺として扱われる。
【００７２】
処理の流れの関係は、始点と終点とを関連付けるフロー辺を含む。フロー辺は終点を修飾するために用いられる。
処理に必要な関係は、処理に必要な情報を示す属性辺を含む。属性辺は、フロー辺に意味を与えるために用いられる。すなわち、属性辺はフロー辺を修飾するために用いられる。より具体的には、フロー辺を用いて示される関係に対して、属性辺を用いて関係の全体が特定の情報源からの伝聞であること、すなわち話者と情報源との関係を用いて関係を修飾してもよい。
【００７３】
本発明に係る自然言語ユーザインタフェース生成方法は、グラフ構造における頂点及び辺を用い、これらの関係を修飾するステップを用いることにより、間接話法等の複雑な対話スクリプトの作成が可能である。
【表１】
2011065582.tif 000010
【００７４】
［自然言語ユーザインタフェース生成システム２０の構成］
図２は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成システム２０の構成を示す図である。自然言語ユーザインタフェース生成システム２０は、自然言語ユーザインタフェース生成装置１０、対話エージェント装置５０、ユーザ端末６０及びネットワーク３８等を含む。ネットワーク３８はイントラネットでもよく、インターネット等でもよい。ユーザ端末６０は、パーソナルコンピュータ、携帯電話端末等のネットワーク接続可能な端末を含む。
【００７５】
対話エージェント装置５０は、本発明に係る自然言語ユーザインタフェース生成装置１０により作成されるスクリプトを実行し、ユーザに対する自動対話を実行するために用いられる。
【００７６】
自然言語ユーザインタフェース生成装置１０は、応答手段１１０及び知識構造記憶手段１６０を備える。
【００７７】
知識構造記憶手段１６０は、本発明に係る自然言語ユーザインタフェース生成方法のための知識構造を記憶するために用いられる、知識構造の記憶手段である。具体的には、知識構造記憶手段１６０は、対話エージェント装置５０における会話の状況、会話の動作及びそれらの関係を示す、コンピュータ処理可能な情報と情報に対する処理動作とを、ノード（頂点）とエッジ（辺）で表現して記憶するために用いられる。加えて、知識構造記憶手段１６０は、ユーザから送信された文言に含まれる任意の語句、自然言語ユーザインタフェース生成装置１０が対話スクリプトの生成のために用いる知識及び語句、作成された応答に含まれる任意の語句、及び自然言語の分野における生成文法規則及び語句の頻度等の派生的な情報を、適宜記憶してもよい。
【００７８】
応答手段１１０は、複数の対話ルールと対話制御手法の組を予め関連付けて実行するために用いられる。応答手段１１０は、対話構造記憶手段１１１、判別手段１１２及び変更手段１１３を備える。本実施形態において、応答手段１１０は、詳細を後述する、次のような対話制御手法を実装するために用いられる。
［Ａ］有限状態（ｆｉｎｉｔｅ  ｓｔａｔｅ）ベースの対話制御手法
［Ｂ］フレーム（ｆｒａｍｅ）ベースの対話制御手法
［Ｃ］エージェント（ａｇｅｎｔ）ベースの対話制御手法
【００７９】
対話構造記憶手段１１１は、自然言語による対話構造を記憶するために用いられる。詳細には、対話構造記憶手段１１１は、少なくとも二つの要素の間の関係において、処理動作の流れを示す関係及び処理動作に必要な関係を、対話ルールとして記憶するために用いられる。
【００８０】
判別手段１１２は、記憶した要素に対して知識構造記憶手段１６０における関連付けの有無を判別するために用いられる。
【００８１】
変更手段１１３は、判別手段による判別の結果に応じて、対話構造記憶手段１１１に記憶された二つの要素の間の関係を変更するために用いられる。
【００８２】
すなわち、本実施形態の自然言語ユーザインタフェース生成装置１０において、対話構造記憶手段１１１、判別手段１１２及び変更手段１１３が連携して動作することにより、自然対話に対する特定の対話ルールに従って、知識構造に格納される二つの要素間の関係を変更することが可能になる。
【００８３】
図２に示す応答手段１１０が複数の対話制御手法を実装する場合には、それらの複数の対話制御手法は、いずれも、共通の知識構造記憶手段１６０に記憶される、自然言語ユーザインタフェース生成方法のための知識構造にアクセスすることができる。
【００８４】
このようにすることで、本発明に係る自然言語ユーザインタフェース生成装置１０は、応答手段１１０を用いて知識構造記憶手段１６０にアクセスし、自然言語による対話応答のための自然言語ユーザインタフェースを生成することができる。
【００８５】
図２にはネットワーク３８を介して相互に接続する複数機器を示したが、これに限らず、自然言語ユーザインタフェース生成装置１０、対話エージェント装置５０及びユーザインタフェース（図示せず）の機能を１台の機器に備えてもよい。
【００８６】
本発明の一実施形態に係る、自然言語ユーザインタフェース生成システム２０を用いることにより、ユーザの入力に応答する自然言語ユーザインタフェースを生成するシステムを提供することができる。
【００８７】
［知識構造のデータ構造］
図３は、本発明の一実施形態に係る、知識構造のデータ構造を表す図である。すなわち、図３に示す知識構造データ構造２６０は、図２に示した知識構造記憶手段１６０が本発明に係る知識構造を記憶するために用いられる。
【００８８】
図３に示す知識構造データ構造２６０は、識別子２６１により個別に識別されるデータの一つについて関連付けられる、始点２６２、終点２６４、ラベル２６６、ポインタ２６８等を含む。これらに限らず、知識構造データ構造２６０に含まれ関連付けられる情報は適宜設計してもよい。また、識別子２６１は、記憶されるデータを識別しうる形式であれば数字でも文字でもよく、適宜設計してもよい。
【００８９】
始点２６２及び終点２６４は、知識構造データ構造２６０に記憶されるデータの他のデータとの修飾の関係を示す。一つの識別子を有するデータに対して始点２６２及び終点２６４の一つずつが定義されてもよく、複数が提起されてもよく、空白でもよい。始点２６２及び終点２６４がいずれも空白であることは、そのデータが拡張意味ネットワークにおける頂点であることを示すので、拡張意味ネットワークにおいて取り扱いうるデータに含まれる。
【００９０】
ラベル２６６は、識別子２６１により個別に識別されるデータの一つについて、予め拡張意味ネットワークにおいて予約されるか、又はユーザにより定義される領域である。予約は、より具体的には、拡張意味ネットワークにおいて取り扱われる要素にクラスを定義し、要素が追記される等の拡張意味ネットワークの動作において生成される要素同士の関係を予め定義するためのものである。
【００９１】
例えば、予約されるクラスの定義には次のものが用いられうる。
（クラス１）ｖｒｏｏｔ：全知識要素の開始点
（クラス２）ｖｕｓｒ：ユーザのクラス
（クラス３）ｖａｃｔ：動作のクラス
（クラス４）ｖｉｎｓ：インスタンス化関係のクラス
【００９２】
ｖｒｏｏｔは、全知識要素の開始点であり、他の任意の要素を定義するための始点でありうる。ｖｕｓｒは、次に説明する動作クラスを目的やユーザに応じて整理するためのクラスである。ｖａｃｔは、本発明の実施形態に係る自動対話応答生成システムが実施する対話応答等の動作を知識要素に含めるためのクラスである。ｖｉｎｓは、本発明の実施形態に係る自動対話応答生成システム等において、メモリ上に配置されたデータの集合等の実体を示すためのクラスである。例えば、基本的な応答動作をとりまとめる頂点ｕｂｒは、クラスｖｕｓｒのインスタンスである枝ｕ＿ｉによってｖｒｏｏｔから接続され定義される。基本的な動作であるｋｅｙｗｏｒｄ、ｒｅｌａｔｉｏｎ、ｍｅｓｓａｇｅ等は、それぞれクラスｖａｒｔのインスタンスである枝によって頂点ｕｂｒから接続され定義される。頂点ｕｂｒや基本的な動作を表す頂点のラベル２６６には、ユーザ端末から送信された文字列等の知識ＤＢを人が管理する際に認識しやすい説明文字が含まれる。
【００９３】
ポインタ２６８は、一つの識別子を有するデータであって、上述の始点２６２、終点２６４、又はラベル２６６以外の情報を含むデータを知識構造記憶手段１６０に記憶し、取り扱うことができるようにするためのものである。例えば、当業に公知の文字列処理関数等は、ポインタ２６８に当該関数を関連付けることにより、知識構造記憶手段１６０に取り込むことが可能になる。
【００９４】
本発明に係る自然言語ユーザインタフェース生成装置１０は、知識構造データ構造２６０を備える知識構造記憶手段１６０を用いて、自然言語による対話応答において取り扱いうるデータ、及び自然言語ユーザインタフェースの生成とは特に関連性のない一般的な文字列処理関数等を、いずれも知識構造記憶手段１６０に取り込んで使用することができる。
【００９５】
［自然言語ユーザインタフェース生成システム２０と知識構造との関係］
図４は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成システム２０による対話スクリプト作成と知識構造との関係を示す図である。具体的には、図４に示す対話スクリプト作成支援システム２００は、図２に示した自然言語ユーザインタフェース生成装置１０を用いて実行可能な多様なコンピュータ・プログラムと、知識構造２３０とからなる。このコンピュータ・プログラムは、例えば、自然言語ユーザインタフェース生成装置１０に含まれるコンピュータ装置等が適宜備えるメモリデバイス等（図示せず）に格納される。
【００９６】
また、当該コンピュータ・プログラムは、システムの基本入出力等の動作に係るカーネル２０２、サーバを介してクライアントとクライアントが会話をする枠組みの名称であるインターネット・リレー・チャット（Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ、ＩＲＣと略称）のためのセッション管理２０４、ＩＲＣにおけるチャネル管理２０６、２０８を含む。
【００９７】
チャネル管理２０６、２０８は、一人のユーザに一つのチャネル管理を割り当ててもよく、一人のユーザに複数のチャネル管理を割り当ててもよい。ユーザとチャネル管理との対応関係は特に問わない。チャネル管理２０６、２０８は、これらに限らず、任意の数のチャネル管理を設けてもよい。それぞれのチャネル管理により制御されうる応答等の数は適宜設計しうる。
【００９８】
また、当該コンピュータ・プログラムは、チャネル管理２０６により制御されうる基本応答２１０、発言制御応答２１２、ヘルプ応答２１４、時間応答２１６等を適宜含み、また、チャネル管理２０８により制御されうる基本応答２１８、発言制御応答２２０、時間応答２２２等を適宜含む。これらは個別に機能を有する応答モジュールであり、それぞれの応答モジュールの機能は適宜設計しうる。
【００９９】
基本応答２１０、２１８は対話応答におけるユーザからの入力に対する基本的な応答を生成することを含み、具体的には、対話の開始又は終了の時点における典型的な応答の生成等を含む。発言制御応答２１２、２２０は対話応答においてユーザに長文の回答をタイミングよく提示する等の、制約を有する応答の生成を含む。ヘルプ応答２１４は、ユーザからの操作説明要求等に応じて適宜ヘルプ情報等の応答を生成することを含む。時間応答２１６、２２２は、対話の経過時間又はシステムの稼働時刻等に基づく応答の生成を含み、具体的には、終了時にユーザに対して「３０分使用しました」等の経過時間を送信するために用意すること、又は年始にユーザに対して「本年もよろしくお願いします」等の時候の挨拶等を送信するために用意すること等を含む。
【０１００】
さらに、当該コンピュータ・プログラムは、基本応答２１０、２１８、発言制御応答２１２、２２０等を用いて知識構造２３０にアクセスしうる。知識構造２３０は、図３に示したように、識別子２６１により識別されるデータを含む。
【０１０１】
本発明の一実施形態に係る対話スクリプト作成支援システム２００は、チャネル管理を介して知識構造２３０にアクセスすることにより、すでに知識構造２３０に記憶されたデータを用いて対話応答のためのデータを生成し、生成した対話応答を知識構造２３０に記憶することが可能である。
【０１０２】
［対話エージェントの動作］
図５は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置１０が生成する、対話エージェントの動作を説明するためのフロー図である。具体的には、対話エージェントは、図２に示した対話エージェント装置５０において動作することができるが、これに限らず、対話エージェントは、本発明に係る自然言語ユーザインタフェース生成システム２０のいずれかのコンピュータ資源において動作してもよい。
【０１０３】
対話エージェントは、システムを初期化するステップ（Ｓ１００）において、システムの内部変数等を初期化する。
【０１０４】
次いで、対話エージェントは、メッセージ入力をチェックするステップ（Ｓ１０２）において、ユーザからのメッセージ入力の有無を調べ、検出できたことを判定するステップ（Ｓ１０４）においてメッセージを検出できた場合はステップ（Ｓ１０８）に分岐し、検出できない場合はステップ（Ｓ１０６）に分岐する。
【０１０５】
自発的な処理を実行するステップ（Ｓ１０６）においては、対話エージェントは、記憶媒体の空き容量計算等の、ユーザからのメッセージ入力等とは直接に関係のない処理や、ユーザが対話によるタスク実行に行き詰まったときに次に行うべき項目をガイドする等の処理を実行し、ステップ（Ｓ１０２）に戻る。
【０１０６】
応答処理を実行するステップ（Ｓ１０８）においては、対話エージェントは、ユーザからのメッセージ入力への応答処理を実行する。
【０１０７】
終了指示が出たことを判定するステップ（Ｓ１１０）においては、対話エージェントは、ユーザからの終了指示の有無を判定する。具体的には、ユーザは対話応答サービス等の使用を終了することをコマンドの送信等により通知してもよい。あるいは、ユーザが「／終了」等のメッセージを対話応答サービス等に送信することにより、冒頭の「／」を対話エージェントが識別し、以後の文字情報を動作のための制御命令と解釈し、終了指示として扱ってもよい。終了指示のための情報の送受信は適宜設計しうる。終了指示が出た場合は終了し、終了指示が出ていない場合はステップ（Ｓ１０２）に戻る。
対話エージェントは、上述のように動作することにより、ユーザからの終了指示が出るまでの期間に繰り返してステップ（Ｓ１０８）を用い、応答処理を実行することができる。
【０１０８】
［応答処理の動作］
図６は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置１０が生成する、応答処理の動作を説明するためのフロー図である。この応答処理は、図５の前述の対話エージェントの動作において、ステップ（Ｓ１０８）の一つとして実行される。
【０１０９】
応答処理は、ステップ（Ｓ１２０）において、ユーザから送信されたメッセージをｍとする時に、当該メッセージｍが発言されたチャネルに対応するチャネル管理構造を取得する。このチャネル管理構造をｃとする。具体的には、チャネル管理構造ｃは、図４を用いて前述の、チャネル管理２０６、２０８等においてチャネルを相互に区別するための情報、基本応答等の応答モジュールの情報等を適宜含む。
【０１１０】
次いで応答処理は、ステップ（Ｓ１２２）において、チャネル管理構造ｃを取得できたかどうかを判定する。取得できた場合はステップ（Ｓ１２４）に進み、できない場合は動作を終了する。
【０１１１】
次いで応答処理は、ステップ（Ｓ１２４）において、チャネル管理構造ｃに設定された応答モジュールの集合をＲとし、ステップ（Ｓ１２６）において集合Ｒが空集合であるかどうかを判定する。空集合である場合は動作を終了し、空集合でない場合はステップ（Ｓ１２８）に進む。具体的には、応答モジュールの集合Ｒは、図４の基本応答２１０、発言制御応答２１２等を適宜含む。
【０１１２】
次いで応答処理は、ステップ（Ｓ１２８）において、応答モジュールの集合Ｒから応答モジュールを一つ取り出しｒとする。さらに、ステップ（Ｓ１３０）において、応答モジュールｒを用いてメッセージｍの処理を試みる。ステップ（Ｓ１３２）において、この処理が成功したかどうかを判定し、成功した場合は応答処理を終了し、成功しない場合はステップ（Ｓ１２６）に戻る。
【０１１３】
本発明に係る応答処理は、上述のように動作することにより、メッセージｍの受信を契機として応答モジュールを用いて対話応答を生成することができる。
【０１１４】
［応答モジュールの動作］
図７は、本発明の一実施形態に係る、応答処理において、メッセージの処理のために実行される有限状態ベースの対話制御手法による応答モジュールの動作を説明するためのフロー図である。応答モジュールは、図６の応答処理の動作に含まれるステップ（Ｓ１３０）において実行される。
応答モジュールは、ステップ（Ｓ１４０）において、メッセージｍが発言されたチャネルに対応するチャネル管理構造ｃを取得する。
次いで、応答モジュールは、ステップ（Ｓ１４２）において、現在の位置をチャネル管理構造ｃから取得する。位置は、具体的には、図３を用いて前述の、知識構造に含まれる識別子２６１を用いてもよく、それぞれのチャネル管理構造が独自に番号付け等を実施してもよく、適宜設計しうる。この位置をｃｔｘとする。
【０１１５】
次いで、応答モジュールは、ステップ（Ｓ１４４）において、位置ｃｔｘが空要素（ｎｕｌｌ）であるかどうかを判定し、空要素である場合はステップ（Ｓ１４６）に進み、空要素でない場合はステップ（Ｓ１４８）に進む。具体的には位置が空要素であることは、当該対話ルールがまだ実行を開始していないこと、又は新規に対話ルールの文脈が生成されること等を意味する。
ステップ（Ｓ１４６）において、応答モジュールは位置ｃｔｘに対話ルールの文脈を設定する。具体的には、知識構造における有限状態ベースの対話制御手法の対話ルールの始点でありうる要素を位置ｃｔｘに関連付ける。
【０１１６】
次いで、応答モジュールは、ステップ（Ｓ１４８）において、位置ｃｔｘを始点とし、この始点から出るフロー辺の先に、メッセージｍにヒットする語をラベルとする頂点からのびるフロー辺の先の処理頂点を集合Ｒとする。具体的には、始点として用語「レストラン」が設定され、ユーザがメッセージとして「２人で金曜日の晩に食事したい」という文言を送信した場合に、この文言に含まれる「２人」「金曜日」等の用語をラベルとする頂点からのびるフロー辺の先の処理頂点として、具体的なレストランの名称等を応答すること、又は金曜日に訪問しやすい繁華街等の名称を応答すること、又は２人以上の予約に対する優待サービスの情報を応答すること等からなる処理頂点の集合を関連付ける。
【０１１７】
次いで、応答モジュールは、ステップ（Ｓ１５０）において、処理頂点の集合が空集合であるかどうかを判定し、空集合である場合は応答モジュールを終了し、空集合でない場合はステップ（Ｓ１５２）に進む。
次いで、応答モジュールは、ステップ（Ｓ１５２）において、処理頂点の集合から処理頂点を一つ取り出しｒとする。処理頂点の集合Ｒから処理頂点ｒを一つ取り出すための規則は、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて選択されうる。
【０１１８】
次いで、応答モジュールは、ステップ（Ｓ１５４）において、処理頂点ｒに関連付けられる関数を実行する。この関連付けは、ポインタを介する関数の呼び出し等でもよい。具体的には、この処理頂点は、スクリプトの進捗状況を記憶することでもよく、ユーザへの応答を出力することでもよく、適宜設計しうる。ステップ（Ｓ１５４）の後は、応答モジュールの実行は終了する。
本発明に係る応答モジュールは、上述のように動作することにより、処理頂点ｒを用いて対話応答を生成するための関数を実行しうる。
【０１１９】
［複数の応答手段］
本実施形態において、本発明に係る自然言語ユーザインタフェース生成装置１０は、所定の対話ルールと所定の対話制御方法とを組み合わせ、所定の対話制御手法を複数用いて、共通の知識構造にアクセスし、自然言語による対話応答のためのユーザインタフェースを生成することができる。具体的には、自然言語ユーザインタフェース生成装置１０は、応答手段１１０に複数の所定の対話制御手法を実装し、応答手段１１０は共通の知識構造記憶手段１６０にアクセスして、自然言語による対話応答のためのユーザインタフェースを生成することができる。このように動作する応答手段１１０に実装できる対話制御手法としては、以下が挙げられる。
［Ａ］有限状態（ｆｉｎｉｔｅ  ｓｔａｔｅ）ベースの対話制御手法
［Ｂ］フレーム（ｆｒａｍｅ）ベースの対話制御手法
［Ｃ］エージェント（ａｇｅｎｔ）ベースの対話制御手法
【０１２０】
本発明に係る自然言語ユーザインタフェース生成装置１０は、例えば、図５に示したステップ（Ｓ１０８）又はステップ（Ｓ１０６）の動作において、前述の［Ａ］［Ｂ］又は［Ｃ］の対話制御手法のいずれか又は複数を組み合わせて用いることができる。別の実施形態において、前述の対話制御手法を選択することは、詳細フロー図である図６に含まれるステップ（Ｓ１２８）において、応答モジュールを一つ取り出すこととして行うことができる。すなわち、本発明に係る自然言語ユーザインタフェース生成装置１０は、所定の対話ルールと所定の対話制御方法とを組み合わせた応答モジュールを、複数用いて、共通の知識構造にアクセスし、自然言語による対話応答のためのユーザインタフェースを生成することができる。
【０１２１】
有限状態ベースの対話制御手法は、対話制御手法を、クラスを用いて記述されるスクリプトである対話スクリプトとして、記述することができる。例えば、有限状態ベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、予め所定の処理頂点、辺修飾属性及びフロー辺を用意し、ユーザからの入力に応じて所定の動作を実施することができる。
【０１２２】
フレームベースの対話制御手法は、対話制御手法を意味フレームとして記述することができる。例えば、フレームベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、意味フレームの構成要素等を辿ることを表すエッジ、及び意味フレームのスロット等を表すノードを用いて、拡張意味ネットワークの形式で格納される知識構造にアクセスすることができる。
【０１２３】
エージェントベースの対話制御手法は、対話制御手法をエージェント動作として記述することができる。例えば、エージェントベースの対話制御手法においては、本発明に係る自然言語ユーザインタフェースを生成する装置は、話題を絞り込む属性概念等を辿ることを表すエッジ、及び分類概念等を表すノードを用いて、拡張意味ネットワークの形式で格納される知識構造にアクセスすることができる。
【０１２４】
このようにすることで、本発明に係る自然言語ユーザインタフェース生成装置１０においては、複数の対話処理ユニットを用いて応答モジュールを動作させ、自然言語対話におけるユーザへの応答をより迅速かつ柔軟にすることができる。さらに、本発明に係る自然言語ユーザインタフェース生成装置１０においては、異なる複数の対話制御手法に対して単一の知識構造記憶手段１６０が対応できるので、知識構造の運用及び維持等に関連するシステム構築及び運用コストを軽減することが可能になる。
【０１２５】
以下、本発明に係る自然言語ユーザインタフェース生成装置１０の応答モジュールの動作に関し、前述の［Ａ］有限状態ベースの対話制御手法、［Ｂ］フレームベースの対話制御手法、及び［Ｃ］エージェントベースの対話制御手法のそれぞれを説明する。
【０１２６】
最初に、有限状態ベースの対話制御手法における応答処理及び応答モジュールの例、及びこの対話制御手法を用いる応答の生成例を示す。次いで、この生成例と比較して、フレームベースの対話制御手法及びエージェントベースの対話制御手法における応答の生成例を示す。
【０１２７】
［有限状態ベースの対話制御手法］
［処理のクラス］
表２に、応答モジュールとして選択しうる基本処理頂点を例示する。これらに限らず、予め用意する処理頂点は適宜設計しうる。
【表２】
2011065582.tif 000011
【０１２８】
本実施形態において、ユーザからの入力を反復出力し、選択肢に分岐する処理頂点「ＣＦＭ」は以下のように動作しうる。
（ＣＦＭ−１）処理中のＣＦＭインスタンスから引数属性辺ｖをたどり、確認内容格納先ｃを得る。
（ＣＦＭ−２）処理中のＣＦＭインスタンスから引数属性辺ｓｍをたどり、処理頂点ａの取得を試みる。
（ＣＦＭ−３）処理頂点ａが見つかった場合、実行する。
（ＣＦＭ−４）処理中のＣＦＭインスタンスから引数属性辺ｆｍｔをたどり、データ頂点ｄの取得を試みる。
（ＣＦＭ−５）データ頂点ｄが見つかった場合、その文字列でｃの内容を整形してユーザに応答する。
（ＣＦＭ−６）システムが管理する現在のコンテキストを、処理中のＣＦＭインスタンスに変更する。
【０１２９】
本実施形態において、スクリプトの進捗状況を変数に保存する処理頂点「ＳＶＣ」は以下のように動作しうる。
（ＳＶＣ−１）処理中のＳＶＣインスタンスから引数属性辺ｖをたどり、コンテキスト格納先ｃを得る。
（ＳＶＣ−２）対話スクリプト内の進捗位置である現在のコンテキストをシステムから取得し、ｃに格納する。
（ＳＶＣ−３）コンテキストが設定されていた場合、成功及び即時実行属性の付いたフロー辺が処理中のＳＶＣインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
（ＳＶＣ−４）コンテキストが設定されていなかった場合、失敗及び即時実行属性の付いたフロー辺が処理中のＳＶＣインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
【０１３０】
本実施形態において、ユーザの最終発言を変数に保存する処理頂点「ＳＶＴ」は以下のように動作しうる。
（ＳＶＴ−１）処理中のＳＶＴインスタンスから引数属性辺ｖをたどり、ユーザ発言格納先ｔを得る。
（ＳＶＴ−２）ユーザが最後に発言した文字列の先頭トークンをシステムから取得し、ｔに格納する。
（ＳＶＴ−３）即時実行属性の付いたフロー辺が処理中のＳＶＣインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
【０１３１】
本実施形態において、何もしない処理頂点「ＮＯＰ」は以下のように動作しうる。
（ＮＯＰ−１）処理中のＮＯＰインスタンスから引数属性辺ｓｍをたどり、処理頂点ａの取得を試みる。
（ＮＯＰ−２）処理頂点ａが見つかった場合、実行する。通常は回答頂点が処理頂点として構成されるので、応答メッセージを出力する処理を行うことになる。
（ＮＯＰ−３）システムが管理する現在のコンテキストを、処理中のＮＯＰインスタンスに変更する。
（ＮＯＰ−４）即時実行属性の付いたフロー辺が処理中のＳＶＣインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
【０１３２】
本実施形態において、スクリプトを終了する処理頂点「ＱＵＩ」は以下のように動作しうる。
（ＱＵＩ−１）処理中のＱＵＩインスタンスから引数属性辺ｓｍをたどり、処理頂点ａの取得を試みる。
（ＱＵＩ−２）処理頂点ａが見つかった場合、実行する。通常は回答頂点が処理頂点として構成されるので、応答メッセージを出力する処理を行うことになる。
（ＱＵＩ−３）処理中のＳＶＣインスタンスから引数属性辺ｖをたどり、コンテキスト参照先ｃの取得を試みる。
（ＱＵＩ−４）コンテキスト参照先ｃが見つかった場合、システムが管理する現在のコンテキストを、ｃに変更する。
（ＱＵＩ−５）コンテキスト参照先ｃが見つからなかった場合、システムが管理する現在のコンテキストをリセットする。
【０１３３】
表３に、基本処理頂点以外の、固有処理頂点を例示する。
【表３】
2011065582.tif 000012
【０１３４】
一実施形態において、固有処理頂点ＣＳＭＳは以下のように動作しうる。
（ＣＳＭＳ−１）処理中のＣＳＭＳインスタンスから引数属性辺ｖをたどり、コンテキスト参照先ｃを得る。
（ＣＳＭＳ−２）処理中のＣＳＭＳインスタンスから引数属性辺ｖ２をたどり、処理対象選択メッセージ頂点格納先ｍを得る。
（ＣＳＭＳ−３）処理中のＣＳＭＳインスタンスから引数属性辺ｖ３をたどり、選択メッセージ検索語参照先ｓを得る。
（ＣＳＭＳ−４）コンテキストｃから選択メッセージ辺で到達可能な処理頂点の集合をＳＭとする。
（ＣＳＭＳ−５）集合ＳＭから文字列データに検索語ｓを含む処理頂点ｓｍを検索する。
（ＣＳＭＳ−６）処理頂点ｓｍが見つかった場合、ｓｍをｍに格納し、成功及び即時実行属性の付いたフロー辺が処理中のＣＳＭＳインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
（ＣＳＭＳ−７）処理頂点ｓｍが見つからなかった場合、失敗及び即時実行属性の付いたフロー辺が処理中のＣＳＭＳインスタンスから接続されていれば、その辺をたどった先の処理頂点を実行する。
【０１３５】
一実施形態において、固有処理頂点ＣＳＭＤは以下のように動作しうる。
（ＣＳＭＤ−１）処理中のＣＳＭＤインスタンスから引数属性辺ｖをたどり、処理対象選択メッセージ頂点参照先ｍを得る。
（ＣＳＭＤ−２）処理中のＣＳＭＤインスタンスから引数属性辺ｖ２をたどり、コンテキスト参照先ｃを得る。
（ＣＳＭＤ−３）コンテキストｃから選択メッセージ辺で到達可能な処理頂点の集合をＳＭとする。
（ＣＳＭＤ−４）集合ＳＭの要素数が２以上である場合、処理対象選択メッセージ頂点ｍを削除する。
（ＣＳＭＤ−５）削除した場合、処理中のＣＳＭＳインスタンスから成功属性の付いた選択メッセージ辺が接続されていれば、そのたどり先の処理頂点を実行する。
（ＣＳＭＤ−６）削除しなかった場合、処理中のＣＳＭＳインスタンスから失敗属性の付いた選択メッセージ辺が接続されていれば、そのたどり先の処理頂点を実行する。
（ＣＳＭＤ−７）システムが管理する現在のコンテキストを、ｃに変更する。
【０１３６】
一実施形態において、固有処理頂点ＣＳＭＰは以下のように動作しうる。
（ＣＳＭＰ−１）処理中のＣＳＭＰインスタンスから引数属性辺ｖをたどり、処理対象選択メッセージ頂点参照先ｍを得る。
（ＣＳＭＰ−２）処理中のＣＳＭＰインスタンスから引数属性辺ｖ２をたどり、新しい選択メッセージ文字列の参照先ｎを得る。
（ＣＳＭＰ−３）処理中のＣＳＭＰインスタンスから引数属性辺ｖ３をたどり、コンテキスト参照先ｃを得る。
（ＣＳＭＰ−４）処理中のＣＳＭＰインスタンスから引数属性辺ｓｍをたどり、処理頂点ａの取得を試みる。
（ＣＳＭＰ−５）処理頂点ａが見つかった場合、実行する。
（ＣＳＭＰ−６）処理対象選択メッセージ頂点ｍの文字列データを新しい選択メッセージ文字列ｎで置き換える。
（ＣＳＭＰ−７）システムが管理する現在のコンテキストを、ｃに変更する。
【０１３７】
［データのインスタンス］
データ頂点はそのインスタンスのラベル文字列に静的データを格納する。変数頂点は変数ごとにそれぞれ頂点を定義する。この頂点のインスタンス辺の終点に動的データを設定する。
【０１３８】
表４に文字列データを、表５に変数頂点を例示する。これらに限らず、静的データは適宜設計しうる。
【表４】
2011065582.tif 000013
【表５】
2011065582.tif 000014
【０１３９】
［辺修飾属性のクラス］
辺修飾属性インスタンスはフロー辺を修飾し、その意味を修飾する。
【０１４０】
表６に、基本的な属性頂点を例示する。これらのインスタンスは辺であり、その終点に修飾対象を設定する。通常修飾対象は辺であり、その場合、これらインスタンス辺の始点は修飾対象辺の始点と同じに設定する。
【０１４１】
属性頂点は、それぞれを小円内の１文字に略記して図示してもよい。例えば、処理フローを即座に移動する属性頂点ＩＭＭを小円内の１文字「ｉ」で、処理が成功した場合にフローを移動する属性頂点ＳＵＣを小円内の１文字「ｓ」で図示してもよい。
【表６】
2011065582.tif 000015
【０１４２】
［フロー辺のインスタンス］
フロー辺のインスタンスは処理を進めることを示す。このインスタンスは属性修飾を受けることができる。このインスタンスの始点と終点は処理頂点のインスタンスである。
【０１４３】
［属性辺のクラス］
属性辺のインスタンスは処理頂点の処理実行に必要な情報を提供する。表７に、基本的な属性辺を例示する。これらのインスタンスは属性付与対象の頂点や辺を始点に、属性値を終点に設定する。
【表７】
2011065582.tif 000016
【０１４４】
［対話応答の例］
図８は、本発明の一実施形態に係る、有限状態ベースの対話制御手法における対話応答のための知識構造の例を示す図である。図８に示す対話応答のための知識構造は、アプリオリオントロジーノード３００、ユーザノード３４０、動作ノード３５０〜３７０、データノード３８０を含む。
【０１４５】
アプリオリオントロジーノード３００は、図３を用いて示した知識ＤＢデータ構造における、予約されるクラスの定義に対応する。すなわち、本発明に係る拡張意味ネットワークに含まれるクラスの定義を含み、グラフ構造においては始点でありうる頂点である。アプリオリオントロジーノード３００は、全知識要素の開始点を表すクラスｒｏｏｔ３０１、ユーザ関係のクラスを表すｕｓｅｒ３１０、動作関係のクラスを表すａｃｔｉｏｎ３２０、及びインスタンス関係のクラスを表すｉｎｓｔａｎｃｅ３３０を含む。
【０１４６】
ユーザノード３４０は、本発明に係る自然言語ユーザインタフェース生成装置１０又は自然言語ユーザインタフェース生成サービス等を用いるユーザによる対話スクリプトのための、基本的なルールを表す。図８に示す、有限状態ベースの対話制御手法における対話応答においては、ユーザノード３４０は、有限状態ベースの対話制御手法のノード（ｆｉｎｉｔｅ  ｓｔａｔｅ）として表される。また、ユーザノード３４０は、ｒｏｏｔ３０１を始点とする辺３０２の終点でありうる。
【０１４７】
例えば、ユーザの発話により、本発明に係る自然言語ユーザインタフェース生成方法により作成された応答ルールを知識構造に格納した自動応答システムが動作を開始することは、ｒｏｏｔ３０１を始点とする関連付けである辺３０２の終点として、ユーザノード３４０を発話がなされたチャンネルに結び付けられた応答モジュールが参照することを意味する。ここで、通常一つのチャンネルに結び付けられた応答モジュールは複数あり、辺３０２の始点としてのｒｏｏｔ３０１及び終点としてのユーザノード３４０の関係は、それらの中に「ｆｉｎｉｔｅ  ｓｔａｔｅ」という応答モジュールがあった場合に参照されることになる。
【０１４８】
次いで、動作のクラスａｃｔｉｏｎ３２０に属する動作関係辺である、ユーザノード３４０を始点とする辺３４２、３４４、３４６を用いることにより、終点である動作ノード３５０、３６０、３７０に動作クラスを生成することができる。具体的には、ユーザからの発話等が予め用意したキーワードと一致するかどうかを調べるための動作クラスｋｅｙｗｏｒｄを格納する動作ノード（３５０）、ユーザからの発話又は予め用意した応答等のメッセージを送信するための動作のクラスｍｅｓｓａｇｅを格納する動作ノード（３７０）、キーワードとメッセージとの関連の有無を判定するための動作のクラスｒｅｌａｔｉｏｎを格納する動作ノード（３６０）等を生成しうる。
【０１４９】
さらに、インスタンス関係のクラスｉｎｓｔａｎｃｅ３３０に属するインスタンス関係を用いて、動作ノード３５０、３６０、３７０を始点とする辺を生成することにより、データノード３８０に属する文字情報３５２、３７２に対話応答のための文字情報が格納されうる。例えば、処理のインスタンスｋｅｙｗｏｒｄを格納する動作ノード（３５０）を始点とする辺の終点に、文字情報３５２として「カレー」を格納しうる。ここで、データノード３８０に属する文字情報３５２及び３７２の間に、文字情報３５２を始点とし、文字情報３７２を終点とする関連付けが行われ、当該関連付けを動作のクラスｒｅｌａｔｉｏｎを格納する動作ノード（３６０）が辺３６２を用いて修飾することが定義される場合に、本発明に係る自然言語ユーザインタフェース生成方法の実施装置等は、文字情報３５２との関連付けを有する文字情報３７２として「食べたいですね」等の応答を生成しうる。
【０１５０】
このようにして、知識構造に含まれるノード及びノードに属する処理頂点等の間に、予め関連付けを行うことにより、本発明に係る自然言語ユーザインタフェース生成方法の実施装置等は、ユーザによる発話又は文字情報の送信等を契機として、対話応答を生成しうる。
【０１５１】
本発明に係る自然言語ユーザインタフェース生成方法の実施装置等が生成する対話応答は、予め定義したクラスに属する動作又はデータ等のインスタンスを適宜選択することにより、従来技術のように全ての用語を逐一検索することなく、対話応答を迅速に生成しうる。
【０１５２】
ユーザのクラス３１０による動作の開始は、上述のような対話のための発話に限らず、知識構造にクラス又はインスタンスを追加するものであってもよい。すなわち、ユーザノード３４０に「ｅｄｉｔ  ｒｅｐｌｙ」等の応答を編集する動作頂点を用意してユーザが呼び出し、キーワードのヒットの判定方法等を適宜編集してもよい。これにより、本発明に係る自然言語ユーザインタフェース生成方法においては、対話スクリプトは自身を変更することが可能である。
【０１５３】
［自然言語ユーザインタフェースを生成する例］
図９、図１０及び図１１は、本発明の一実施形態に係る、有限状態ベースの対話制御手法による自然言語ユーザインタフェースの生成を例示する図である。図９、図１０及び図１１は、いずれも拡張意味ネットワークに基づく同一のグラフと、グラフの特定の部分を参照して説明するための符号を含む。図９、図１０及び図１１に含まれる円形は、上述の拡張意味ネットワークにおける頂点を表し、矢印は修飾辺を表す。１文字「ｉ」、「ｓ」又は「ｆ」を含む小円は、それぞれ「即時」、「成功」、「失敗」を表す属性頂点である。修飾辺の近傍における文字列「ｓｍ」、「ｖ（又はｖ２等の数字の添え字を伴う）」又は「ｆｍｔ」は、それぞれ、出力メッセージを伴う属性辺、処理の引数となる変数を伴う属性辺、又は所定の書式を伴う属性辺である。
【０１５４】
図９に示す自然言語ユーザインタフェース生成例４００は、表２における基本処理頂点、表３における固有処理頂点、表４における静的データ、表５における変数頂点、表６における属性頂点、表７における属性辺を適宜含む。
【０１５５】
また、図９に示す自然言語ユーザインタフェース生成例４００は、図８の対話応答のための知識構造における、データノード３８０でありうる。換言すれば、ユーザからの入力をキーワードとして受信することに応答して作成される対話応答は、図８に示した対話応答のための知識構造を用いて、データノード３８０として出力されうる。
【０１５６】
図９を用い、自然言語ユーザインタフェース生成例４００に含まれる、ユーザからの入力を受信することに応答して作成される対話応答の、初期の段階を例示する。
【０１５７】
処理頂点４１０は、表２における、文脈が初期位置にあるときにキーワードを格納しうる処理頂点ＫＷであり、文字列データｋｗを含む。具体的には、当該キーワードはユーザから受信した入力としての文字列等である。例えば、文字列データｋｗは「選択メッセージを変更」等の文字列である。
【０１５８】
本発明に係る対話応答のための知識構造は、処理頂点ＫＷと関連付けを有する処理頂点ＳＶＣ（４１１）を用意する。処理頂点ＳＶＣ（４１１）は、文字列データｋｗの受信に応答して開始した時点で既に行われている対話応答の進捗状況を適宜記憶する。
【０１５９】
次いで、本発明に係る対話応答のための知識構造は、処理頂点４１１と関連付けを有する変数頂点＜ＣＴＸ＞（４１２）、処理頂点ＱＵＩ１（４１３）、処理頂点ＮＯＰ１（４１４）を用意する。
【０１６０】
変数頂点＜ＣＴＸ＞（４１２）は、処理頂点ＳＶＣ（４１１）における進捗状況の記憶のために用意される変数である。
【０１６１】
処理頂点ＱＵＩ１（４１３）及び処理頂点ＮＯＰ１（４１４）は、処理頂点ＳＶＣ（４１１）に応答して即時実行されうる。図中には、即時実行を文字「ｉ」を含む小円で示す。
【０１６２】
処理頂点ＳＶＣ（４１１）の動作において、対話の進捗状況（コンテキスト）が未定義であった場合には処理頂点ＱＵＩ１（４１３）が選択され、定義されていた場合には処理頂点ＮＯＰ１（４１４）が選択される。図中には、失敗を文字「ｆ」を含む小円で、成功を文字「ｓ」を含む小円で示す。
【０１６３】
処理頂点ＱＵＩ１（４１３）は、対話スクリプト追跡コンテキストから離脱する動作を実施し、静的データｍ１（４１５）を関連させる。処理頂点ＱＵＩ１（４１３）から静的データｍ１（４１５）への辺は、表７に示した辺ＳＭに属するインスタンスｓｍであり、具体的には抽出された文字列を応答メッセージとして示す動作を行う。例えば、静的データｍ１（４１５）は「選択肢に移動してください。」等のエラーメッセージである。
【０１６４】
処理頂点ＮＯＰ１（４１４）は、後続の処理頂点等への関連付けのために用意される。さらに、処理頂点ＮＯＰ１（４１４）は静的データｍ２（４１６）に関連付けられ、辺のインスタンスｓｍにより、静的データｍ２（４１６）が応答メッセージとしてユーザに示される。例えば、静的データｍ２（４１６）は「選択メッセージを指定してください。」等のメッセージである。
【０１６５】
次いで、本発明に係る対話応答のための知識構造は、処理頂点４１７に属するキーワードのインスタンスｗｌｄ１に、ユーザからの入力を格納する。ｗｌｄ１は、表２における任意のキーワードを格納する処理頂点クラスＷＬＤのインスタンスである。さらに、本発明に係る対話応答のための知識構造は、処理頂点ＳＶＴ１（４１８）においてユーザからの入力を変数頂点＜ＭＳＧ＞（４２４）に格納し、この変数頂点＜ＭＳＧ＞（４２４）に格納されたユーザからの入力が、本対話スクリプトが開始されたコンテキストから選択メッセージを検索できたか否かを、処理頂点ＣＳＭＳ（４２３）において判定する。処理頂点ＣＳＭＳ（４２３）は、変数頂点＜ＭＳＧ＞（４２４）から検索語を取得し、変数頂点＜ＣＴＸ＞（４２５）に保存された本スクリプト開始時のコンテキストから検索語を含む選択メッセージを検索し、変数頂点＜ＬＲＰ＞（４２６）に検索された選択メッセージの処理頂点を保存する。具体的には、この検索された選択メッセージの処理頂点は変更対象である対話スクリプトで選択肢到達時にメッセージを応答する等の処理であり、後続の処理頂点ＣＦＭ１（４２７）により参照される。
【０１６６】
図９に示す自然言語ユーザインタフェース生成例４００においては、ユーザの発言を変数に保存する処理頂点ＳＶＴ１（４１８）を含む処理頂点の関連付けには、処理頂点ＮＯＰ２（４１９）を介して前述の処理頂点ＮＯＰ１（４１４）に戻る関連付け、及び処理頂点ＮＯＰ３（４２１）を介して前述の処理頂点ＮＯＰ１（４１４）に戻る関連付けを含む。
【０１６７】
前者の、処理頂点ＮＯＰ２（４１９）を介して前述の処理頂点ＮＯＰ１（４１４）に戻る関連付けは、例えば、検索語を含む選択メッセージが＜ＣＴＸ＞に接続されていないことに応答し、この入力を処理頂点ＣＳＭＳ（４２３）において即時に失敗「ｆ」と判定して処理頂点ＮＯＰ２（４１９）と関連付け、静的データｍ３（４２０）として「選択メッセージが見つかりませんでした」等のメッセージをユーザに送信し、静的データｍ２（４１６）を再度ユーザに示す動作等を含む。
【０１６８】
後者の、処理頂点ＮＯＰ３（４２１）を介して前述の処理頂点ＮＯＰ１（４１４）に戻る関連付けは、例えば、以下の段階を含む。ユーザの入力がコンテキスト＜ＣＴＸ＞のいずれかの選択メッセージに含まれる場合に、この入力を処理頂点ＣＳＭＳ（４２３）において、即時に成功「ｓ」と判定し、かつコンテキスト＜ＣＴＸ＞から最初に検索された選択メッセージの処理頂点を、変数頂点＜ＬＲＰ＞（４２６）に保存する。後続の処理頂点ＣＦＭ１（４２７）は、静的データｍ４（４２８）を用いてユーザに処理対象の選択メッセージを確認するメッセージを示し、確認を行ったこと（はい）を意味する選択肢を動作頂点ｓｒｙ１（４３０）に関連付け、かつ選択メッセージ検索をやり直すキーワード（いいえ）を動作頂点ｓｒｎ１（４２９）に関連付ける。動作頂点ｓｒｎ１（４２９）は、処理頂点ＣＦＭ１（４２７）の選択候補のキーワードの一つであり、ユーザがこれを選ぶことによって動作頂点ｓｒｎ１（４２９）に対話スクリプト実行処理のコンテキストが移動する。動作頂点ｓｒｎ１（４２９）は処理頂点ＮＯＰ３（４２１）への関連付けを有し、静的データｍ６（４２２）として「選択メッセージを指定しなおします」等のメッセージがユーザに送信され、静的データｍ２（４１６）を再度ユーザに示す処理頂点ＮＯＰ１（４１６）の動作等を行う。
【０１６９】
これらのように、本発明に係る自然言語ユーザインタフェース生成例４００には、ユーザの入力に応答して、処理頂点ＣＳＭＳ（４２３）等の成功又は失敗の判定に基づいて条件分岐し、処理段階を遡及する関連付けを含んでもよい。
【０１７０】
次いで、図１０を用い、自然言語ユーザインタフェース生成例４０１に含まれる、ユーザからの入力を受信することに応答して作成される対話応答の、別の部分を例示する。拡張意味ネットワークに基づくグラフは、図９と同一である。
【０１７１】
ユーザからの発言を保存する処理頂点ＳＶＴ２（４５０）は、変数頂点＜ＭＳＧ＞（４５１）にユーザの発言を保存し、即時に後続の処理頂点ＣＦＭ４（４５２）を実行する。例えば、変数頂点＜ＭＳＧ＞（４５１）には、新しい選択メッセージである「どこの場所にしましょうか？」が保存される。
【０１７２】
選択肢に分岐する処理頂点ＣＦＭ４（４５２）は、変数頂点＜ＭＳＧ＞（４５１）、本対話スクリプトを中断する選択肢（やめる）である（ｓｒａ）（４５４）、「これでよいですか？」等のユーザへの確認を促すメッセージ応答に結び付けられた処理頂点ｍ１２（４５５）、応答等におけるユーザ入力文字列の成形に係る処理頂点ｓｔｒ（４５６）、確認を行ったこと（はい）を意味する選択肢である処理頂点ｓｒｙ４（４５７）、入力をやり直すこと（いいえ）を意味する選択肢である処理頂点ｓｒｎ３（４５８）等への関連付けを有する。具体的には、選択肢に分岐する処理頂点ＣＦＭ４（４５２）は、変数頂点＜ＭＳＧ＞（４５１）をｓｔｒ（４５６）で整形してｍ１２（４５５）のメッセージと共に応答してユーザに確認を求め、ユーザの回答が「はい」であった場合にはｓｒｙ４（４５７）に分岐し、「いいえ」であった場合はｓｒｎ３（４５８）へ分岐しメッセージ入力をやり直し、「やめる」であった場合は（ｓｒａ）（４５４）へ分岐しこの選択メッセージ変更のための対話スクリプトを中断する。
【０１７３】
処理頂点ｓｒｙ４（４５７）は、後続の処理頂点ＣＳＭＰ（４５９）を実行するよう動作する。
【０１７４】
処理頂点ＣＳＭＰ（４５９）は静的データｍ１４（４６０）との関連付けを有する。具体的には、処理頂点ＣＳＭＰ（４５９）は、静的データｍ１４（４６０）に結び付けられた「変更しました」等のメッセージを出力し、ユーザに送信する。
【０１７５】
また、処理頂点ＣＳＭＰ（４５９）は、変更対象の既存の選択メッセージ処理頂点を保存するための変数頂点＜ＬＲＰ＞（４６１）との関連付けを有する。例えば、当該選択メッセージ頂点は、カレー店の場所をユーザに確認する対話スクリプトの選択メッセージ「場所はどこですか？」等でもよい。
【０１７６】
また、処理頂点ＣＳＭＰ（４５９）は、メッセージを出力する変数頂点＜ＭＳＧ＞（４６２）との関連付けを有し、＜ＬＲＰ＞（４６１）に指し示された選択メッセージ処理頂点に結び付ける文字列を＜ＭＳＧ＞（４６２）で指し示されたものに変更する。
【０１７７】
さらに、処理頂点ＣＳＭＰ（４５９）は、スクリプトの進捗状況を保存する変数頂点＜ＣＴＸ＞（４６３）との関連付けを有し、選択メッセージ変更の対話処理を開始した時点のコンテキスト状態に復帰し本対話スクリプトを終了する。
【０１７８】
次いで、図１１及び表８に、自動対話の実行例であるダイアログが経過する処理頂点と、自動対話スクリプトの内部の動作を除く端末装置等に表示されうる文字列との対応の一例を示す。拡張意味ネットワークに基づくグラフは、図９及び図１０と同一であり、重複する箇所は説明を省略する。
【０１７９】
表８は、文脈の初期位置においてユーザによる入力を格納する処理頂点ｋｗ（４１０）に応答し、時間の経過と共に自動対話及びユーザの入力からなる対話が進行することを表す。
【０１８０】
選択メッセージの削除を行うかどうか確認する処理頂点ＣＦＭ２（４７０）は、確認に対する回答の選択肢をメッセージと共に応答する動作を実行する。具体的には、「削除しますか？」というメッセージと共に、「はい」、「いいえ」、及び／又は「やめる」の選択肢がユーザに応答される。
【０１８１】
表８に示した処理頂点が順次動作することにより、ユーザの端末装置等には、ユーザの入力及び自動対話の出力が表示される。
【０１８２】
これらにより、本発明に係る自動対話をユーザは利用して、所望の出力を得られる。
【表８】
2011065582.tif 000017
【０１８３】
一実施形態において、前述の表８に示した一連の対話により、カレーに関する対話スクリプトが変更され、次回ユーザが「カレー食べたい」と発言した際に、本発明に係る自然言語ユーザインタフェース生成プログラム等による自動対話は、「どこの場所にしましょうか？（六本木／その他）」と応答しうる。このように、本発明に係る自然言語ユーザインタフェース生成プログラム等は、それ自身が対話スクリプト編集機能又は対話スクリプト編集機能の一部でありうる。
【０１８４】
本発明に係る自然言語ユーザインタフェースは、本発明に係る対話応答の知識構造に含まれ拡張意味ネットワークに属する頂点及び辺を組み合わせ、柔軟かつ幅広い拡張性をもって構成することができる。上述の例に限らず、本発明に係る自然言語ユーザインタフェース生成方法及びその実施装置等を用いることにより、複雑な対話スクリプトの作成を効率的に支援することが可能になる。
【０１８５】
［自然言語ユーザインタフェース生成のための共通概念の例］
図１２は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成のための共通概念を例示する図である。
【０１８６】
図１２に例示する共通概念５００は、ノード５０１〜５１１を含み、それぞれのノードには、「カレー」「地域」「種類」「場所Ａ」「場所Ｂ」「場所Ｃ」「インド全般」「南インド専門」「レストランＡ」「レストランＢ」「レストランＣ」等のノードデータが割り当てられる。図１２に例示する共通概念５００においては、ノードとノードとの間のエッジは、特定のノードの間に設定することが可能であるが、ユーザ入力に対する応答等は未定義である。
【０１８７】
以下、本発明に係る、これらのノード及びエッジを用いてユーザインタフェースを生成する方法の実施形態を示す。
【０１８８】
［有限状態ベースの対話制御手法による応答の生成例］
図１３は、本発明の一実施形態に係る、有限状態ベースの対話制御手法による対話ルールの例を示す図である。
【０１８９】
図１３に例示する自然言語ユーザインタフェース５２０は、図８に示した、有限状態ベースの対話制御手法における対話応答のための知識構造における、データノード３８０に対する動作ノード（３５０〜３７０）の動作を、ノード間のエッジとして表している。すなわち、自然言語ユーザインタフェース５２０は、共通概念５００に含まれるノード５０１〜５１１に対する応答が、表２乃至表７に示した頂点及び辺を用いて生成できることを表す。
【０１９０】
なお、図１３において、「ＲＥＬ」という辺のクラスはノード間の過渡的関係（フロー辺）を示し、「ＳＥＬ」というエッジのクラスは動作の選択を示す。例えば、共通概念５００におけるノード５０１に対応する、「ＫＷ”カレー”」というノードが、特定のキーワードである「カレー」にヒットするときに、自然言語ユーザインタフェース５２０は、動作の選択を示す「ＳＥＬ」ノードのいずれかに動作を移動させ、移動先のノードに関係づけられるＭＳＧノードに従って、例えば「場所はどこですか」又は「種類は何ですか」というメッセージを、ユーザに示すことができる。
【０１９１】
［フレームベースの対話制御手法による応答の生成例］
図１４は、本発明の一実施形態に係る、フレームベースの対話制御手法による自然言語ユーザインタフェース５３０を生成する例を示す図である。
【０１９２】
図１４において、「ＦＲＭ」という辺のクラスは意味フレームの構成要素を辿ることを示し、「ＣＮＤ」という辺のクラスは意味フレームのスロットの候補を辿ることを示し、「ＲＥＰ」という辺のクラスは応答する際のメッセージを辿ることを示し、「ＳＬＴ」というノードは意味フレームのスロットを示す。例えば、共通概念５００におけるノード５０１に対応する、「ＫＷ”カレー”」というノードが、特定のキーワードである「カレー」にヒットするときに、自然言語ユーザインタフェース５３０は、ユーザの発言を自然言語解析技術を用いて分析し、スロットである地域あるいは種類に関すると推測される語句をそれぞれ取り出す。もし取り出した語句が各スロットの候補語句とマッチする場合は、そのスロットの値をその語句で確定する。これらの処理の後に未確定のスロットが残っている場合は、さらに適切な応答を続け、ユーザ発言を促し、その発言からのスロット値確定をさらに試みる。これらの応答には、未確定のスロットに関する情報が不足していることをユーザに伝えるものや、未確定スロットの候補をリストして選択を依頼するもの等が含まれる。全てのスロットが確定された場合、REL辺による制約を満たすMSGを選択し、ユーザに回答を行う。
【０１９３】
図１５は、本発明の一実施形態に係る、フレームベースの対話制御手法における対話応答のための知識構造の例を示す図である。すなわち、図１５に示す対話応答のための知識構造は、図８に示した有限状態ベースの対話制御手法による対話応答のための知識構造と同様に、アプリオリオントロジーノード３００、ユーザノード３４０、動作ノード３５０〜３７０、データノード３８０を含む。有限状態ベースの対話制御手法との差異は、ユーザノード３４０として意味フレーム（ｆｒａｍｅ）を含み、動作ノード（３５０〜３７０）として、意味フレームの構成要素を辿る「ＦＲＭ」辺、意味フレームのスロットを示す「ＳＬＴ」ノード等を含むことである。
【０１９４】
［エージェントベースの対話制御手法における応答の生成例］
図１６は、本発明の一実施形態に係る、エージェントベースの対話制御手法による自然言語ユーザインタフェース５４０の生成を例示する図である。
【０１９５】
図１６において、「ＴＯＰ」、「ＣＯＮ」、「ＧＥＯ」、「ＣＵＩ」、及び「ＲＳＴ」というノードのクラスは、それぞれ、特定の話題、特定の分類概念、特定の地名、特定の料理名、特定の飲食店名にヒットすることを表す。また、図１６において、「ＯＢＪ」、「ＦＬＴ」、「ＣＮＤ」、及び「ＲＥＳ」という辺のクラスは、それぞれ、データの目的を辿ること、話題を絞り込む属性概念を辿ること、属性概念の選択候補を辿ること、及び属性概念による絞込み結果を辿ることを表す。例えば、共通概念５００におけるノード５０１に対応する、「ＴＯＰ”カレー”」というノードが、特定のキーワードである「カレー」にヒットするときに、自然言語ユーザインタフェース５４０は、飲食店の推薦を行うエージェントを起動する。このエージェントは自然言語ユーザインタフェース５４０における対話ルールから、カレー店を特定する場合には地域と種類に関する絞込みが可能であるという知識を入手し、エージェントが持つ独自の対話機能を用いて地域と種類に関する詳細情報の取得を試みる。不自然でない範囲でそのような対話を行ったあと、地域と種類に関する情報が得られた場合はその情報を用いて、そうでない場合はランダムに候補を選んでユーザに飲食店を推薦する。
【０１９６】
図１７は、本発明の一実施形態に係る、エージェントベースの対話制御手法における対話応答のための知識構造の例を示す図である。すなわち、図１７に示す対話応答のための知識構造は、図８に示した有限状態ベースの対話制御手法による対話応答のための知識構造と同様に、アプリオリオントロジーノード３００、ユーザノード３４０、動作ノード３５０〜３７０、及びデータノード３８０を含む。有限状態ベースの対話制御手法との差異は、ユーザノード３４０としてエージェント（ａｇｅｎｔ）を含み、動作ノード（３５０〜３７０）として、特定の話題を示す「ＴＯＰ」ノード、話題を絞り込む属性概念を辿る「ＦＴＬ」辺、特定の分類概念を示す「ＣＯＮ」ノード等を含むことである。
【０１９７】
図１８は、本発明の一実施形態に係る、自然言語ユーザインタフェース生成装置１０の応答モジュールに含まれる対話ルールの全体像を例示する図である。
【０１９８】
図１８に示す対話ルール５５０は、図１３に示した有限状態ベースの対話制御手法による対話ルール、図１４に示したフレームベースの対話制御手法における対話ルール、及び図１６に示したエージェントベースの対話制御手法による対話ルールが、いずれもユーザノード５６１に含まれ、共通の動作ノード５６２及びデータノード５６３を用いて同時に動作可能であることを表している。すなわち、本発明に係る自然言語ユーザインタフェースを生成する装置及び方法においては、単一の知識構造中に、同一の対話ルールデータに対して、異なる種類の新たな対話制御手法が解釈可能な関係情報を、矛盾なく表現することができる。
【０１９９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【符号の説明】
【０２００】
１０  自然言語ユーザインタフェース生成装置
２０  自然言語ユーザインタフェース生成システム
３８  ネットワーク
５０  対話エージェント装置
６０  ユーザ端末
８３、８５  辺
８２、８４  始点
８１、８５  終点
１１０  応答手段
１１１  対話構造記憶手段
１１２  判別手段
１１３  変更手段
１６０  知識構造記憶手段
２００  対話スクリプト作成支援システム
２３０  知識構造
２６０  知識ＤＢデータ構造
３００  アプリオリオントロジーノード
３４０  ユーザノード
３５０、３６０、３７０  動作ノード
３８０  データノード
【図１】
2011065582.tif 000018
【図２】
2011065582.tif 000019
【図３】
2011065582.tif 000020
【図４】
2011065582.tif 000021
【図５】
2011065582.tif 000022
【図６】
2011065582.tif 000023
【図７】
2011065582.tif 000024
【図８】
2011065582.tif 000025
【図９】
2011065582.tif 000026
【図１０】
2011065582.tif 000027
【図１１】
2011065582.tif 000028
【図１２】
2011065582.tif 000029
【図１３】
2011065582.tif 000030
【図１４】
2011065582.tif 000031
【図１５】
2011065582.tif 000032
【図１６】
2011065582.tif 000033
【図１７】
2011065582.tif 000034
【図１８】
2011065582.tif 000035