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