(57)【特許請求の範囲】
【請求項１】
コンピュータがユーザ端末からのメッセージに対応して、記憶部に記憶した入力と応答との関係を要素として含む集合である知識構造を用いて応答する自動応答方法であって、前記コンピュータが、
ユーザ、入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にｎｕｌｌとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にｎｕｌｌ以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶ステップと、
前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶ステップと、
前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶ステップと、
前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶ステップと、
前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶ステップにおいて記憶した用語の関係について、前記所属関係記憶ステップにおいて記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信するステップと、
を実行する自動応答方法。
【請求項２】
前記知識構造記憶ステップにおいて記憶した前記知識構造の、前記入力及び前記応答及び前記関係のそれぞれについて、当該要素の属性を表すクラスを前記記憶部に記憶する要素クラス記憶ステップを更に含む、請求項１に記載の自動応答方法。
【請求項３】
前記知識構造記憶ステップ、前記用語記憶ステップ、前記用語関係記憶ステップ、前記所属関係記憶ステップおよび前記要素クラス記憶ステップにおいて、前記コンピュータは、前記入力及び前記応答及び前記関係のそれぞれを、以下の数式で示される前記知識構造の各要素として記憶する、請求項２に記載の自動応答方法。
【数１】
0004824043.tif 000025
ここに、ＡＳＮは拡張意味ネットワーク（Ａｕｇｍａｎｔｅｄ  Ｓｅｍａｎｔｉｃ  Ｎｅｔｗｏｒｋ）であり、ＥＡＳＮは拡張意味ネットワークの集合であり、ｅは集合Ｅの要素である二項組要素であり、ｅｓはＥＡＳＮの要素である始点等であり、ｅｄはＥＡＳＮの要素である終点等であり、ｎｕｌｌは空要素であり、さらに、拡張意味ネットワークは次の要素集合を有し、
【数２】
0004824043.tif 000026
【数３】
0004824043.tif 000027
【数４】
0004824043.tif 000028
ここに、ＡＳＮＶＥは拡張意味ネットワークＡＳＮの構成要素であり、Ｅｖは拡張意味ネットワークにおける頂点の集合であり、Ｅｅは拡張意味ネットワークにおける辺の集合である。
【請求項４】
前記入力を特定するための用語又は前記応答を特定するための用語を前記ユーザ端末から受信するステップと、
受信した前記入力を特定するための用語又は前記応答を特定するための用語を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
をさらに含む、請求項１から請求項３のいずれかに記載の知識構造の自動応答方法。
【請求項５】
会話の場、会話履歴、会話の時間的順序を要素として有する集合である談話構造を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
前記会話の場をひとつの要素として前記知識構造に含めて前記記憶部に記憶するステップと、
会話の発生を要素として記憶し、前記会話の発生ごとに前記会話の時間的順序を数字の大小と関連付けて要素として記憶する全順序つき集合を、前記知識構造に含めて前記記憶部に記憶するステップと、
前記会話の発生及び前記会話の発生の時間的順序を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
をさらに含む、請求項１から請求項４のいずれかに記載の自動応答方法。
【請求項６】
入力又は応答の関係が属するクラスである関係クラス、方向、到達先を要素に含む集合であるたどり構造を前記要素として前記知識構造に含めて前記記憶部に記憶するステップと、
前記知識構造に含まれる要素のうちで始点あるいは終点として記憶されている要素を抽出するステップと、
前記抽出された始点として記憶されている要素に対して、それ自身のクラス、前記グラフ構造の始点から終点に向かう方向を示す順方向の関連付けを示すフラグ、終点の組合せを、前記たどり構造の要素として追加するステップと、
前記抽出された終点として記憶されている要素に対して、それ自身のクラス、前記グラフ構造の終点から始点に向かう方向を示す逆方向の関連付けを示すフラグ、始点の組合せを、前記たどり構造の要素として追加するステップと、
をさらに含む、
請求項５に記載の自動応答方法。
【請求項７】
請求項６に記載の自動応答方法であって、
前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記送信するステップの前に、
前記たどり構造から、前記応答の関係が属するクラス及び前記順方向の関連付けを示すフラグの組合せを含む前記知識構造の要素を抽出するステップと、
ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、前記談話構造の前記会話の場、前記会話履歴あるいは前記会話の時間的順序のいずれかの要素が示す関連性が最も高い要素を選択する規則の何れかの規則に基づいて、前記抽出された要素を選択するステップと、
を更に実行して前記応答を特定するための用語を決定する自動応答方法。
【請求項８】
コンピュータに、ユーザ端末からのメッセージに対応して、記憶部に記憶した入力と応答との関係を要素として含む集合である知識構造を用いて応答させるコンピュータ・プログラムであって、前記コンピュータに、
ユーザ、入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にｎｕｌｌとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にｎｕｌｌ以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶ステップと、
前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶ステップと、
前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶ステップと、
前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶ステップと、
前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶ステップにおいて記憶した用語の関係について、前記所属関係記憶ステップにおいて記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信するステップと、
を実行させるためのコンピュータ・プログラム。
【請求項９】
ユーザ端末からのメッセージに対応して、記憶部に記憶した入力と応答との関係を要素として含む集合である知識構造を用いて応答する自動応答装置であって、
ユーザ、入力及び応答の関係を、グラフ構造の始点の要素及び終点の要素が共にｎｕｌｌとなる空要素である場合に当該グラフ構造の頂点の要素として扱い、当該始点の要素及び当該終点の要素が共にｎｕｌｌ以外である場合に当該グラフ構造の辺の要素として扱うグラフ構造で示す一の知識構造を記憶する知識構造記憶手段と、
前記入力を特定するための用語及び前記応答を特定するための用語を前記記憶部に記憶する用語記憶手段と、
前記入力を特定するための用語及び前記応答を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて前記記憶部に記憶する用語関係記憶手段と、
前記関係の一を示す知識構造の要素の終点を前記関係の他の一を示す知識構造の要素とすることにより、前記他の一を示す知識構造の要素が前記一を示す知識構造の要素に所属あるいは従属の関係にあることを示す関係クラスを、前記知識構造に含めて前記記憶部に記憶する所属関係記憶手段と、
前記ユーザ端末から、前記入力を特定するための用語をメッセージとして受信したことに応じて、前記用語関係記憶手段が記憶した用語の関係について、前記所属関係記憶手段が記憶した関係クラスに基づいて、前記一の知識構造をたどることにより前記ユーザ端末のユーザを特定し、特定した当該ユーザに係る知識構造を分割してたどることにより前記入力を特定するための用語を検出するとともに前記応答を特定するための用語を検出し、前記ユーザ端末に当該検出した前記応答を特定するための用語をメッセージとして送信する手段と、
を備える自動応答装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのメッセージに対応して応答するプログラムに関する。特に、ユーザが入力したメッセージからキーワードを抽出して迅速に応答するプログラムに関する。
【背景技術】
【０００２】
従来、利用者が入力したテキスト等に対応して自然言語の対話を行うチャットボットと言われるプログラムが存在する。これらは、ユーザが入力したメッセージからキーワードを抽出し、データベース中のワードにマッチした応答を行うプログラムである。ユーザによって入力された情報を状況特定データと照合して入力された情報に対応する状況特定データを判断し、入力された情報に対応する状況特定データに得点を加算して状況特定データが属する状況データの評価点数を集計し、評価点数の集計状況に応じて入力された情報に対して応答すべき状況データを判断して、応答出力生成手段により応答すべき状況データに関連付けられた出力形式に従って応答データを生成して出力処理するシステムが開示されている（特許文献１参照）。
また、自然言語処理に係る技術分野において、自然言語データに含まれる構成要素のデータ構造又は自然言語処理アルゴリズムの関係を取り扱うためにグラフ理論が用いられ、辺（エッジ）と頂点（ノード）を用いるグラフ構造により自然言語データの構成要素の関係を示す手法が知られている（非特許文献１参照）。
【特許文献１】特開２００６−１７２２８０号公報
【非特許文献１】ウィキペディア・フリー百科事典、「グラフ理論」[online]、平成１９（２００７）年１０月２５日（木）１６時０５分最終更新、［平成１９（２００７）年１２月１８日検索］、インターネット、<URL:  http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E7%90%86%E8%AB%96>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来技術又は従来技術と当業公知の技術の組合せにおいては、ユーザから入力されたメッセージに対応する応答を抽出する為に、状況と動作とが対応付けられたデータベースの項目をひとつずつ当たって検索を行わなければならず、応答のための情報の抽出に時間を要するという課題があった。
【０００４】
本発明は、上記課題を解決するために、システムの活動によってその構成要素を外部から取り込む等の手法を有する、自己創出性を備えた知識構造を提供し、これにより自然言語対話におけるユーザへの応答を迅速にすることを目的とする。
さらに、本発明は、対話エージェントの知識構造に前記自己創出性を備えるために、意味ネットワークを拡張した拡張意味ネットワークという知識構造を提供することを目的とする。拡張意味ネットワークは、辺と頂点からなる公知のグラフ理論に加えて、辺を修飾する辺を表現する特徴を備えることにより、柔軟性と拡張性に優れた、対話エージェントの知識構造を実装することを目的とする。
【課題を解決するための手段】
【０００５】
本発明では、以下のような解決手段を提供する。
【０００６】
（１）  コンピュータ処理可能な言語に含まれる状況と動作との関係を含む集合である知識構造を記憶部に作成する知識構造の構成方法であって、前記関係は始点、終点を要素に含む集合であり、前記状況を特定するための用語及び前記動作を特定するための用語を前記記憶部に記憶するステップと、前記状況及び前記動作及び前記関係のそれぞれにクラスを定義するステップと、前記状況を特定するための用語及び前記動作を特定するための用語のお互いの関係を前記要素として前記知識構造に含めて記憶するステップと、前記クラスと前記関係との所属関係又は従属関係を要素として前記知識構造に記憶するステップと、を含み、ここに前記関係は前記始点及び前記終点を共に空要素とする関係であるか、又は前記始点及び前記終点を共に前記知識構造の要素とする関係であるかのいずれかである、知識構造の構成方法。
【０００７】
本発明に係る知識構造の構成方法は、コンピュータを用いて自動応答を実施するための対話プログラム等に用いられる。
本発明に係る知識構造を作成する記憶部は、コンピュータ資源に含まれ主記憶又は仮想記憶として用いうる半導体メモリ等の電気的記憶手段、磁気ディスク等の磁気的記憶手段、光磁気ディスク等の光学的記憶手段等を適宜含む。
本発明に係る知識構造の構成方法は、状況と動作の両者を要素とする言語の集合である知識構造を用意すること、及び、典型的には状況を始点とし動作を終点とする関係もまた前記知識構造の要素でありうることにおいて従来技術と共通点を有する。すなわち、公知のグラフ構造等を用いて、従来技術に係る始点と終点により関係を記述する手法は、本発明においても同様に用いることができる。ここに、グラフ構造を用いる知識構造の表現手法においては、始点及び終点は「頂点」又は「ノード」等と呼ばれ、始点から終点への関係は「辺」又は「エッジ」等と呼ばれる。
従来技術に係るグラフ理論においては、始点又は終点の集合を用意し、始点及び終点の組合せを用いて辺の集合を用意する。すなわち、辺は始点から終点に向かって定義される。
これに対して、本発明に係る知識構造に属する要素の関連付けは、頂点と辺を特に区別せずに要素を用意し、２の要素の組合せにおいて、始点及び終点が共に空要素である組合せを頂点として扱い、始点及び終端が共に空要素でない組合せを辺として扱う。すなわち、知識構造に属する２の要素を組合せることにより、当該組合せが頂点及び辺として取り扱われる。
拡張意味ネットワークは、このようにして２の要素を組合せることによりグラフ構造の頂点又は辺を表す手法である。
本発明に係る知識構造においては、知識構造に属する２の要素を組合せれば頂点でも辺でもありうる。具体的には、終点は状況でもよく動作でもよく、あるいは状況と動作の関係でもよい。この点において、本発明に係る知識構造に属する要素の関連付けは従来技術にない特徴を有する。すなわち、状況と状況の関連付け、状況と動作の関連付け、動作と動作の関連付け、さらにこれらの関連付けを１の関係とする動作と１の関係の関連付け等を実施することが可能になる。従って、本発明に係る知識構造の構成方法においては、従来の意味ネットワークに加えて、拡張意味ネットワークを提供することにより、知識構造に含まれる要素同士の関連付け及び要素と関係の関連付け等を柔軟に実施することが可能になる。
本発明に係る知識構造をグラフ構造を用いて表現することにおいては、従来技術と同様の始点から終点への関連付けに加えて、関連付けを表す辺を修飾する辺を表現しうる。すなわち、辺の終点は辺でもありうる。このような、従来技術を拡張した拡張意味ネットワークを用いて、本発明に係る知識構造の構成方法は、意味又は記憶の構造を表すための知識構造を構成しうる。
【０００８】
（２）  前記状況及び前記動作及び前記関係のそれぞれにクラスを定義するステップにおいて、クラスを定義するために以下の数式を用いる、（１）に記載の知識構造の構成方法。
【数１】
0004824043.tif 000002
ここに、ＡＳＮは拡張意味ネットワーク（Augmanted  Semantic  Network）であり、ＥＡＳＮは拡張意味ネットワークの集合であり、ｅは集合Ｅの要素である二項組要素であり、ｅｓはＥＡＳＮの要素である始点（３０１）等であり、ｅｄはＥＡＳＮの要素である終点（３０２）等であり、nullは空要素であり、さらに、拡張意味ネットワークは次の要素集合を有し、
【数２】
0004824043.tif 000003
【数３】
0004824043.tif 000004
【数４】
0004824043.tif 000005
ここに、ＡＳＮＶＥは拡張意味ネットワークＡＳＮの構成要素であり、Ｅｖは拡張意味ネットワークにおける頂点の集合であり、Ｅｅは拡張意味ネットワークにおける辺の集合である。
【０００９】
数式１は、二項組を構成するｅｓ、ｅｄは要素集合ＥＡＳＮの要素か、あるいは空要素ｎｕｌｌであることを表す。
数式２は、本発明に係る拡張意味ネットワークが頂点の集合Ｅｖ及び辺の集合Ｅｅを構成要素とすることを表す。
数式３は、頂点の集合Ｅｖは二項組要素ｅｓ、ｅｄが両方とも空要素であるときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。
数式４は、辺の集合Ｅｅは二項組要素ｅｓ、ｅｄが辺の集合Ｅｖに属するときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。
数式３及び数式４は、共通して要素ｅ（ｅｓ，ｅｄ）を用いて表現される。すなわち、本発明に係る拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点ｅｄだけではなく辺ｅ（ｅｓ，ｅｄ）でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、本発明に係る拡張意味ネットワークにおいては、始点ｅｃ（３０４）から始まる辺ｅｉ（３０５）の終点を辺ｅｅ（３０３）としうる。
【００１０】
（３）  前記状況を特定するための用語又は前記動作を特定するための用語を受信するステップと、受信した前記状況を特定するための用語又は前記動作を特定するための用語を選別して記憶するステップと、をさらに含む、（１）又は（２）に記載の知識構造の構成方法。
【００１１】
受信の手段は、ユーザがキーボード等を用いて入力してもよく、適宜通話解析プログラム等を用いて通話をコンピュータ処理可能な文字情報に変換して入力してもよく、詳細は問わない。
選別する手段は、予め定義したキーワード等に基づいて特定の用語を排除する等の公知の手段等でもよく、記憶する手段はコンピュータ可読媒体等でもよく、選別して記憶するための手段は適宜設計しうる。
これにより、本発明に係る知識構造の構成方法は、外部から送信された用語、語句等を受信し、選別して記憶することにより、用語等を本発明に係る知識構造に追加することが可能になる。
【００１２】
（４）  会話の場、会話履歴、会話文脈を要素に有する集合である談話構造を生成するステップと、前記会話の場をひとつの要素として前記知識構造に記憶するステップと、会話の発生を要素とする全順序つき集合を前記知識構造に記憶するステップと、前記会話の発生及び前記会話の発生の順序隣接関係を前記知識構造に記憶するステップと、をさらに含む、（１）から（３）のいずれかに記載の知識構造の構成方法。
【００１３】
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
会話の場は、具体的には、パーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービス、ネットワーク会議システム等のサービスを含む。
全順序付き集合は、具体的には、会話の発生ごとに会話の時間的順序を数字の大小と関連付けて規則的に記憶する手段を要素に有する集合を含む。
これにより、本発明に係る知識構造の構成方法は、会話の発生を検出すると、時間的順序を規則的に記憶する手段を用いてそれぞれの会話の発生を識別して本発明に係る知識構造に追加し、文字コードを用いて表現される会話文脈を知識構造に取り込むことが可能になる。
【００１４】
（５）  関係クラス、方向、到達先を要素に含む集合であるたどり構造を生成するステップと、前記知識構造に含まれる要素のうちで始点及び終点が設定されている要素を抽出するステップと、前記抽出された始点に対してそれ自身のクラス、順方向の関連付けを示すフラグ、終点の組合せをたどり構造に追加するステップと、前記抽出された終点に対してそれ自身のクラス、逆方向の関連付けを示すフラグ、始点の組合せをたどり構造に追加するステップと、をさらに含む、（１）から（４）のいずれかに記載の知識構造の構成方法。
【００１５】
たどり構造を生成するステップは、すでに記憶された知識構造の要素に基づいて、新たな要素を生成するステップである。
関係クラスは、本発明に係る知識構造に含まれる要素である、状況又は動作の関係が属するクラスである。具体的には、このクラスは、当該関係が動作から動作への関係であるのか、１の状況を表すのか等を示しうる。クラスを用いてたどり構造を生成することにより、例えば同じユーザのクラスを定義しうる複数の関係を新たに生成しうる。これにより、過去に相互に関連付けのなかった要素に対して、クラスを通じてユーザが共有する手段を提供しうる。
たどり構造を生成し、順方向又は逆方向の関連付け、及び始点又は終点の組合せをたどり構造に追加することにより、本発明に係る知識構造はすでに記憶された知識構造の要素から新たな要素を生成しうる。
これにより、本発明に係る知識構造は、拡張意味ネットワークにより知識構造を柔軟に構成しうることに加えて、再帰的にたどり構造を生成することで、知識構造の構成方法に拡張性、自己改変性、共有性を備えうる。
【００１６】
（６）  （１）から（５）のいずれかに記載の前記知識構造の構成方法を用い、前記状況を特定するための用語を受信することに応答して、前記たどり構造の集合から、動作関係のクラス及び順方向の関連付けを示すフラグの組合せが存在する知識構造の要素を抽出するステップと、前記抽出された少なくとも１つの要素から、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて要素を選択するステップと、を用いて前記動作を特定するための用語を決定する、自動応答の作成方法。
【００１７】
状況を特定するための用語は、単語、文節、文等の、拡張意味ネットワークにおける頂点又は辺に格納されうる語句であればよい。
あるいは、本発明に係る拡張意味ネットワークは、前記用語の実体をインスタンスとして扱い、インスタンスとして扱うことのクラスを定義して当該クラスを頂点又は辺に格納してもよい。これにより、用語等の実体が巨大なデータであっても、拡張意味ネットワークにおける頂点又は辺は、クラス定義の語句又は記号を表すデータでありうる。従って、本発明に係る自動応答の作成方法は、応答を作成するためのコンピュータ・プログラムのメモリ消費量を抑えて動作を安全に維持しうる。
たどり構造の集合に属する要素は、（５）において前述のように、順方向又は逆方向の関連付けを有する。状況から動作を特定するための用語を決定することにおいては、たどり構造に含まれる順方向の関連付けを用いる。これにより、全ての知識構造に属する要素をひとつひとつ調べて応答を作成する手順は不要であり、順方向の関連付けを示すフラグに基づいて応答を作成すればよく、自動応答の作成は迅速化されうる。
また、動作を特定するための用語の決定は、談話構造と最も関連性の高い要素を選択する規則を含み、所定の規則から適宜選択しうる。これにより、内容が的確な自動応答を作成しうると共に、非論理的応答を含む自動応答を作成することが可能になり、ユーザの立場から見た自動応答の単調さを避けうる。
【００１８】
（７）  （１）から（６）のいずれかの各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【００１９】
これにより、本発明に係る知識構造の構成方法及び自動応答の作成方法を、コンピュータを用いて実施することが可能になる。
【００２０】
（８）  （１）から（６）のいずれかに記載の前記知識構造の構成方法を用いる自動応答の作成装置であって、前記状況を特定するための用語及び前記動作を特定するための用語を記憶する手段と、ユーザが前記状況を特定するための用語を入力することに応答して、前記たどり構造の集合から、動作関係のクラス及び順方向の関連付けを示すフラグの組合せが存在する知識構造の要素を抽出する手段と、前記抽出された少なくとも１つの要素から、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則から選ばれる規則に基づいて前記動作を特定するための用語を選択する手段と、前記選択した用語を前記ユーザに送信する手段と、を備える、自動応答の作成装置。
【００２１】
ユーザによる用語の入力のための手段は、適宜、ネットワーク端末等を用いうるが、これに限らない。
これにより、本発明に係る知識構造の構成方法の一実施形態として、（５）において前述の自動応答の作成方法を実施するための装置を提供しうる。
【００２２】
（９）  （１）から（６）のいずれかに記載の知識構造を記憶するコンピュータ可読媒体。
【００２３】
これにより、本発明に係る知識構造の構成方法において、要素が追加され又は参照される知識構造をコンピュータ可読媒体として利用することができる。コンピュータ可読媒体は計算機から取り外し可能でもよい。これにより、本発明に係る知識構造はコンピュータ可読媒体として取り扱いうる。
【発明の効果】
【００２４】
本発明によれば、自動的な応答を作成するために、状況と動作の関係を表現しうる拡張意味ネットワークの知識構造を用いて、ユーザからのメッセージにコンピュータが応答することにより、迅速にユーザのメッセージに対応する応答を行うことが出来るという効果がある。
また、本発明によれば、知識構造に含まれる頂点だけでなく辺をも修飾する辺を表現しうる拡張意味ネットワークを備えて対話エージェントが動作することにより、柔軟性と拡張性に優れた、対話エージェントの知識構造を実装することが出来るという効果がある。
また、本発明によれば、知識構造の中に談話構造を構成して自然言語に基づく会話を取り扱いうるという効果がある。また、知識構造の中にたどり構造を構成することにより、すでに記憶された知識構造の要素から新たな要素を生成しうるという効果がある。
さらに、本発明によれば、知識構造に含まれる要素にクラスを定義し、クラスを用いて要素の相互の関係を取り扱うことにより、要素の拡張を容易にすると共に、要素の実体であるインスタンスが巨大なデータであっても応答生成等のプログラムのメモリ消費を抑えて動作を安全に維持しうるという効果がある。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態について図を参照しながら説明する。なお、本発明に係る知識構造はコンピュータ機器が有する記憶部に作成される。前記記憶部はコンピュータ資源に含まれ主記憶又は仮想記憶として用いうる半導体メモリ等の電気的記憶手段、磁気ディスク等の磁気的記憶手段、光磁気ディスク等の光学的記憶手段等を適宜含む。
【００２６】
［拡張意味ネットワークの構造］
図１は、本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
【００２７】
まず、意味又は記憶の構造を表すためのモデルに用いられる、公知の意味ネットワークの形式について説明する。
図１（ｂ）は、意味ネットワークを表すグラフ構造を示す図である。辺ｅ（３１２）は、始点ｖｓ（３１０）及び終点ｖｄ（３１１）で定義され、始点から終点に向かう矢印で表される。意味ネットワークは次の数式５から数式７を用いて表される形式を有する。
【数５】
0004824043.tif 000006
【数６】
0004824043.tif 000007
【数７】
0004824043.tif 000008
ここに、ＳＮ：意味ネットワーク（Ｓｅｍａｎｔｉｃ  Ｎｅｔｗｏｒｋ）
ＶＳＮ：意味ネットワークに含まれる頂点（Ｖｅｒｔｅｘ）の集合
ＥＳＮ：意味ネットワークに含まれる辺（Ｅｄｇｅ）の集合
ｖ：頂点の集合Ｖの要素
ｅ：辺の集合Ｅの要素
ｖｓ：始点（３１０）等、ＶＳＮの要素
ｖｄ：終点（３１１）等、ＶＳＮの要素
である。
数式５は、意味ネットワークが頂点の集合ＶＳＮ及び辺の集合ＥＳＮで構成されることを表す。
数式６は、頂点の集合ＶＳＮ要素ｖを有することを表す。
数式７は、辺の集合ＥＳＮは辺の要素ｅを有し、辺の要素ｅは始点ｖｓ及び終点ｖｄで定義され、始点ｖｓ及び終点ｖｄは頂点の集合ＶＳＮに属することを表す。
【００２８】
次いで、本発明に係る拡張意味ネットワークの形式について説明する。
図１（ａ）は、拡張意味ネットワークを表すグラフを示す図である。辺ｅｅ（３０３）は始点ｅｓ（３０１）及び終点ｅｄ（３０２）で定義され、始点から終点に向かう矢印で表される。辺ｅｉ（３０５）は始点ｅｃ（３０４）を有して終点は辺ｅｅ（３０３）である。本発明に係る拡張意味ネットワークは次の形式を有する。
【数８】
0004824043.tif 000009
ここに、ＡＳＮ：拡張意味ネットワーク（Augmanted  Semantic  Network）
ＥＡＳＮ：拡張意味ネットワークの集合
ｅ：集合Ｅの要素である二項組要素
ｅｓ：始点（３０１）等、ＥＡＳＮの要素
ｅｄ：終点（３０２）等、ＥＡＳＮの要素
null：空要素
である。
数式８は、二項組を構成するｅｓ、ｅｄは要素集合ＥＡＳＮの要素か、あるいは空要素ｎｕｌｌであることを表す。さらに、拡張意味ネットワークは、次の要素集合を有する。
【数９】
0004824043.tif 000010
【数１０】
0004824043.tif 000011
【数１１】
0004824043.tif 000012
ここに、ＡＳＮＶＥ：拡張意味ネットワークＡＳＮの構成要素
Ｅｖ：拡張意味ネットワークにおける頂点の集合
Ｅｅ：拡張意味ネットワークにおける辺の集合
である。
数式９は、本発明に係る拡張意味ネットワークが頂点の集合Ｅｖ及び辺の集合Ｅｅを構成要素とすることを表す。
数式１０は、頂点の集合Ｅｖは二項組要素ｅｓ、ｅｄが両方とも空要素であるときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。
数式１１は、辺の集合Ｅｅは二項組要素ｅｓ、ｅｄが辺の集合Ｅｖに属するときの要素ｅ（ｅｓ，ｅｄ）を含むことを表す。
数式１０及び数式１１は、共通して要素ｅ（ｅｓ，ｅｄ）を用いて表現される。すなわち、本発明に係る拡張意味ネットワークにおいては、要素に含まれる辺の終点が終点ｅｄだけではなく辺ｅ（ｅｓ，ｅｄ）でもありうることにおいて、公知の意味ネットワークとの相違点を有する。従って、本発明に係る拡張意味ネットワークにおいては、図１（ａ）に示したように、始点ｅｃ（３０４）から始まる辺ｅｉ（３０５）の終点を辺ｅｅ（３０３）としうる。
【００２９】
本発明に係る拡張意味ネットワーク、及び公知の意味ネットワークにおいて、頂点が概念や事象を格納するために用いられ、頂点を結ぶ辺がそれらの関係の意味付けを格納するために用いられることは共通している。また、頂点や辺の具体的な意味は外部から与えることにおいても共通である。
本発明に係る拡張意味ネットワークにおいては、辺を辺の接続対象にできるという自由度を発生させることができる。
【００３０】
［知識の格納の例］
図２は、本発明及び従来技術の一実施形態に係る拡張意味ネットワークを用いて格納される知識の例を示す図である。
一例として、ユーザから、「車」を意味する英単語「ｃａｒ」、自然言語のひとつの文を構成する他の文言「ｉｓ  ａ」、及び前記「車」の上位概念である「乗り物」を意味する英単語「ｖｅｈｉｃｌｅ」が与えられた場合を示す。
図２（ａ）は、本発明の一実施形態に係る拡張意味ネットワークを用いて格納される知識の例を示す図である。英単語「ｃａｒ」は要素３２１に、文言「ｉｓ  ａ」は要素３２３に、英単語「ｖｅｈｉｃｌｅ」は要素３２２に、それぞれ格納される。要素３２１及び要素３２２は、それぞれ辺３２５の始点及び終点でありうる。要素３２３及び辺３２５は、それぞれ辺３２４の始点及び終点でありうる。
図２（ｂ）は、従来技術に係る意味ネットワークを用いて格納される知識の例を示す図である。英単語「ｃａｒ］は始点３３１に、文言「ｉｓ  ａ」は辺３３３に、英単語「ｖｅｈｉｃｌｅ」は終点３３２に、それぞれ格納される。
【００３１】
本発明に係る拡張意味ネットワークにおいては、従来技術に係る意味ネットワークとは異なり、辺を修飾する文言を要素として扱いうる。すなわち、辺を修飾する要素を、始点又は終点になりうる要素と同様に、他の要素を修飾する又は他の要素から修飾されるオブジェクトとして扱いうる。これにより、従来技術よりも柔軟で拡張性に優れる知識構造を提供しうる。
【００３２】
［自動応答出力作成システムの構成］
図３は、本発明の一実施形態に係る自動応答出力作成システムの構成を示す図である。自動応答出力作成システム２０は、自動応答出力作成装置１０、知識データベース（知識ＤＢ）３０、ユーザ端末６０、ネットワーク３８等を適宜含む。ネットワーク３８はイントラネットでもよく、インターネット等でもよい。ユーザ端末６０は、パーソナルコンピュータ、携帯電話端末等の、ネットワーク接続可能な端末を含む。知識ＤＢ３０は、ユーザから送信された文言に含まれる任意の語句、自動応答作成装置１０が応答のために用いる知識及び語句、作成された応答に含まれる任意の語句、自然言語の分野における生成文法規則及び語句の頻度等の派生的な情報等を、適宜記憶する。
図３にはネットワーク３８を介して相互に接続する複数機器を示したが、これに限らず、自動応答作成装置１０及び知識ＤＢ３０及びユーザインタフェース（図示せず）の機能を１台の機器に備えてもよい。
本発明の一実施形態に係る自動応答出力作成システムを用いることにより、ユーザの入力に対する応答を自動的に生成するシステムを提供しうる。
【００３３】
［知識ＤＢデータ構造］
図４は、本発明の一実施形態に係る、知識データベース（知識ＤＢ）のデータ構造を表す図である。
知識ＤＢデータ構造８０は、識別子８２により個別に識別されるデータの１つについて関連付けられる、始点８４、終点８５、ラベル８６、ポインタ８８等を含む。これらに限らず、知識ＤＢデータ構造８０に含まれ関連付けられる情報は適宜設計しうる。
識別子８２は、記憶されるデータを識別しうる形式であれば数字でも文字でもよく、適宜設計しうる。
始点８４及び終点８５は、知識ＤＢデータ構造８０に記憶されるデータの他のデータとの修飾の関係を示す。１つの識別子を有するデータに対して始点８４及び終点８５の１つずつが定義されてもよく、複数が定義されてもよく、空白でもよい。始点８４及び終点８５がいずれも空白であることは、そのデータが拡張意味ネットワークにおける頂点であることを示すので、拡張意味ネットワークにおいて取り扱いうるデータに含まれる。
ラベル８６は、識別子８２により個別に識別されるデータの１つについて、予め拡張意味ネットワークにおいて予約されるか、又は、ユーザにより定義される領域である。前記予約は、より具体的には、拡張意味ネットワークにおいて取り扱われる要素にクラスを定義し、要素が追記される等の拡張意味ネットワークの動作において生成される要素同士の関係を予め定義するためのものである。
例えば、予約されるクラスの定義には次のものが用いられうる。
（クラス１）ｖｒｏｏｔ：全知識要素の開始点
（クラス２）ｖｕｓｒ：ユーザのクラス
（クラス３）ｖａｃｔ：動作のクラス
（クラス４）ｖｉｎｓ：インスタンス化関係のクラス
ｖｒｏｏｔは、全知識要素の開始点であり、他の任意の要素を定義するための始点でありうる。ｖｕｓｒは、次に説明する動作クラスを目的やユーザに応じて整理するためのクラスである。ｖａｃｔは、本発明の実施形態に係る自動対話応答生成システムが実施する対話応答等の動作を知識要素に含めるためのクラスである。ｖｉｎｓは、本発明の実施形態に係る自動対話応答生成システム等において、メモリ上に配置されたデータの集合等の実体を示すためのクラスである。例えば、基本的な応答動作をとりまとめる頂点ｕｂｒは、クラスｖｕｓｒのインスタンスである枝ｕｉによってｖｒｏｏｔから接続され定義される。基本的な動作であるｋｅｙｗｏｒｄ、ｒｅｌａｔｉｏｎ、ｍｅｓｓａｇｅ等は、それぞれクラスｖａｃｔのインスタンスである枝によって頂点ｕｂｒから接続され定義されうる。頂点ｕｂｒや基本的な動作を表す頂点のラベル８６には、知識ＤＢ３０を人が管理する際に便利な説明文字が含まれうる。
ポインタ８８は、１つの識別子を有するデータであって、上述の始点８４、終点８５、又はラベル８６以外の情報を含むデータを知識ＤＢ３０に記憶し、取り扱うことができるようにするためのものである。例えば、当業に公知の文字列処理関数等は、ポインタ８８に当該関数を関連付けることにより、知識ＤＢ３０に取り込むことが可能になる。
【００３４】
本発明の実施形態に係る自動対話生成システム等は、知識ＤＢデータ構造８０を備えることにより、拡張意味ネットワークにおいて取り扱いうるデータ、及び、拡張意味ネットワークとは特に関連性のない一般的な文字列処理関数等を、いずれも知識ＤＢ３０に取り込み、用いうる。
【００３５】
［知識構造の要素］
図５は、本発明の一実施形態に係る、拡張意味ネットワークの要素が含まれる連結グラフを示す図である。
拡張意味ネットワークの要素は知識構造を構成することに用いられる。それぞれの要素は、前述の全知識要素の開始点であるｖｒｏｏｔとの関係を有する。この関係は、例えば、次式のように定義する連結グラフを用いて表しうる。
【数１２】
0004824043.tif 000013
ここで、Ｅｃｇ（ｅｖ）：要素ｅｖからの連結グラフ
である。
本発明に係る知識構造の要素は、ｖｒｏｏｔを始点とする連結グラフに含まれる。
数式１２の右辺に｛｝を用いて囲まれた４個の集合は、それぞれ、要素ｅｖの集合、始点ｅ’及び終点ｅ’’を有する辺ｅｅ（ｅ，ｅ’’）の集合、辺ｅｅ（ｅ’，ｅ）の終点である要素ｅの集合、辺ｅｅ（ｅ，ｅ’）の始点である要素ｅの集合を表し、これらを連結グラフとして取り扱う。
図５に、これらの連結グラフの例を示す。連結グラフ３４０は、要素ｅ６、ｅ７、ｅ１及び、要素ｅ６から要素ｅ７への辺、要素ｅ７から要素ｅ８への辺を含む。
連結グラフ３５０についても同様である。数式１２の右辺第３項に含まれる終点である要素ｅは、数式１１を用いて前述のように、辺により修飾される辺であってもよい。例えば、連結グラフ３５０に、要素ｅ５を始点とし、要素ｅ９から要素ｅ１０への辺を終点とする辺を含むことができる。
本発明の一実施形態に係る知識構造の構成方法において、拡張意味ネットワークの要素を含む連結グラフを用いることにより、辺を修飾する辺等を知識構造の要素に含めることが可能になる。
【００３６】
ユーザのクラスｖｕｓｒは、知識構造のユーザ関係をインスタンスとする。ユーザ関係は必ずルートｖｒｏｏｔを開始点とする。
ユーザ関係は頂点としての到達点ｕを含む。知識構造は、この到達点ｕにより分割される。すなわち、ｕ１、ｕ２、…、ｕｎ等により表される複数の到達点がある場合に、ｖｒｏｏｔを始点とする知識構造は、それぞれの到達点ｕ１、ｕ２、…、ｕｎから先の関連付けにおいては、到達点ｕの数に分割される。換言すれば、知識構造を分割しうる頂点ｕはユーザである。
【００３７】
動作のクラスｖａｃｔは、知識構造の動作関係をインスタンスとする。動作関係は必ずユーザｕを開始点とする。
動作関係は頂点としての到達点ａを含む。この到達点ａは対話エージェント等の動作を意味する。換言すれば、ユーザｕを開始点とする到達点ａは動作である。
対話エージェントの動作はプログラミング言語により実装されうる。動作はプログラミング言語でコーディングされた関数等のポインタと関連付けられうる。動作は実際のデータに対してはクラスである。そのデータインスタンスがアクセスされたときに対話エージェントとしての動作を実行する。実行する動作の種類としては、発話、システム資源の操作、知識構造の変更等がある。
【００３８】
インスタンス化関係のクラスｖｉｎｓは、知識構造のインスタンス関係をインスタンスとする。インスタンス関係は必ず頂点ｃを開始点とする。
インスタンス関係の到達点は任意の要素ｉであり、頂点ｃが意味するクラスに所属することを意味する。要素ｉを頂点ｃのインスタンスと呼び、頂点ｃを要素ｉのクラスと呼ぶ。インスタンスは複数のクラスに所属してもよい。ほとんど全ての要素は少なくともひとつのクラスのインスタンスである。
【００３９】
［自動応答出力作成装置の構成］
図６は、本発明の一実施形態に係る、自動応答出力作成装置のハードウェア構成を示す図である。以下、自動応答出力作成装置をサーバとして説明するが、パーソナルコンピュータを自動応答出力作成装置として用いる場合においても基本的には同様である。
【００４０】
自動応答出力作成装置１０は、制御部１０８を構成するＣＰＵ１１０（マルチプロセッサ構成ではＣＰＵ１２０等複数のＣＰＵが追加されてもよい）、バスライン１０７、通信Ｉ／Ｆ１４０、メインメモリ１５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１６０、ＵＳＢポート１９０、Ｉ／Ｏコントローラ１７０、並びにキーボード及びマウス１８０等の入力手段や表示装置１２２を備える。Ｉ／Ｏコントローラ１７０には、テープドライブ１７２、ハードディスク１７４、光ディスクドライブ１７６、半導体メモリ１７８、等の記憶部１０９を接続しうる。ＢＩＯＳ１６０は、サーバの起動時にＣＰＵ１１０が実行するブートプログラムや、サーバのハードウェアに依存するプログラム等を格納する。ハードディスク１７４は、サーバとして機能するための各種プログラム及び本発明の機能を実行するプログラムを記憶する。光ディスクドライブ１７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブ等を使用しうる。この場合は各ドライブに対応した光ディスク１７７を使用する。光ディスク１７７から光ディスクドライブ１７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１７０を介してメインメモリ１５０又はハードディスク１７４に提供しうる。また、同様にテープドライブ１７２に対応したテープメディア１７１を主としてバックアップのために使用しうる。
【００４１】
サーバに提供されるプログラムは、ハードディスク１７４、光ディスク１７７、又はメモリカード等の記録媒体に格納されて提供される。このプログラムは、Ｉ／Ｏコントローラ１７０を介して、記録媒体から読み出され、又は通信Ｉ／Ｆ１４０を介してダウンロードされることによって、サーバにインストールされ実行されてもよい。
【００４２】
上述のプログラムは、内部又は外部の記憶媒体に格納されてもよい。ここで、記憶媒体としては、磁気記録媒体、光磁気記録媒体、光学記録媒体、電子媒体を含むが、これらに限定されない。前記磁気記録媒体には、磁気テープ、フロッピー（登録商標）ディスク、ハードディスク１７４、磁気ランダムアクセスメモリ（ＭＲＡＭ）等を含み、光磁気記録媒体には光磁気ディスク（ＭＯ及びＭＤ）等を含み、光学記録媒体には追記型コンパクトディスク（ＣＤ）、追記型デジタル多目的ディスク（ＤＶＤ）、追記型ブルーレイディスク、追記型ホログラフィック・ディスク等を含み、電子媒体には電気書き込み可能読み出し専用メモリ、ランダムアクセスメモリ、フラッシュメモリ、シリコン・ストレージ・ディスク等を含む。また、専用通信回線やインターネット等の通信回線に接続されたサーバシステムに設けたハードディスク１７４又は光ディスクライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してプログラムをサーバに提供してもよい。
【００４３】
ここで、表示装置１２２は、サーバ管理者によるデータの入力を受け付ける画面を表示したり、演算処理結果の画面を表示したりするものであり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。入力手段は、ユーザによる入力の受け付けを行うものであり、キーボード及びマウス１８０等により構成してもよい。通信Ｉ／Ｆ１４０は、サーバを専用ネットワーク又は公共ネットワークを介して端末と接続しうるようにするためのネットワーク・アダプタである。通信Ｉ／Ｆ１４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００４４】
本発明の一実施形態に係る自動応答出力作成装置１０のための知識構造を記憶する手段は、上記のメインメモリ１５０でもよく、ハードディスク１７４又はメモリディスク等の記憶媒体をメインメモリの一部として用いる仮想記憶でよく、メモリとして利用しうるものであれば詳細は問わない。あるいは知識構造を内蔵記憶媒体又はネットワークアクセス可能な記憶媒体等に記憶してもよい。知識構造を記憶するためのハードウェア資源は、コンピュータ処理可能な文字情報を記憶しうる手段であれば何でもよい。
【００４５】
以上の例は、自動応答出力作成装置１０のハードウェア構成について主に説明したが、コンピュータに、プログラムをインストールして、そのコンピュータを自動応答出力作成装置１０として動作させることにより上記で説明した機能を実現しうる。従って、本発明において一実施形態として説明した自動応答出力作成装置１０により実現される機能は、上述の方法を前記コンピュータにより実行することにより、あるいは、上述のプログラムを前記コンピュータに導入して実行することによっても実現可能である。
【００４６】
［知識構造の動作、及び談話構造］
図７は、本発明の一実施形態に係る、知識構造の動作の例を示す図である。
全ての知識構造の動作は、前述の全知識要素の開始点Ｖｒｏｏｔ（３６０）を始点とする拡張意味ネットワークを用いて記述されうる。
また、本発明に係る知識構造の要素である動作は、ユーザを開始点とする。すなわち、図７においては、ユーザｕ１（３６１）はＶｒｏｏｔ（３６０）を始点とする辺との関連付けを有し、動作ａ１（３６２）、ａ２（３６３）…ａｎ（３６４）に対しては始点でありうる。さらに、ユーザｕ１（３６１）と関連付けられうる動作ａ１（３６２）、ａ２（３６３）…ａｎ（３６４）は、それぞれの動作に関連付けられる関数ポインタｆ１（３６５）、ｆ２（３６６）…ｆｎ（３６７）を適宜含む。
具体的には、ユーザが発話の開始等の入力を始めることに応答して、本発明に係る知識構造の構成方法の実施手段は動作を開始しうる。例えば、本発明に係る知識構造の構成方法の実施手段は、ユーザが送信した「こんにちは」という文字情報を受信することを契機として、当該状況との関連付けを有する動作の中から、所定の規則に基づいて動作を選択し、選択された動作に含まれる会話の文脈である「お元気ですか」等の応答を生成してユーザに送信しうる。これにより、ユーザからのメッセージに対して応答を生成する動作を、コンピュータを用いて実施するための手順として作成することができる。
ここで、所定の規則には、ランダムな選択規則、最初又は最後に抽出された要素を選択する規則、最も以前又は最近に抽出された要素を選択する規則、談話構造と最も関連性の高い要素を選択する規則を含む。これにより、内容が的確な自動応答を作成しうると共に、非論理的応答を含む自動応答を作成することが可能になり、ユーザの立場から見た自動応答の単調さを避けうる。
【００４７】
前述の知識構造の動作において、動作ａ１（３６２）、ａ２（３６３）…ａｎ（３６４）に、会話の場、会話履歴、会話文脈を要素に含む集合である談話構造を含めてもよい。
談話構造は、特に、コンピュータ処理可能な文字コードを用いて表現される会話文脈を要素に有する集合を含む。
ユーザｕ１（３６１）は、動作ａ１…ａｎのそれぞれにおいて談話構造として表しうる会話の文脈を発話しうる。
会話の場は、具体的にはパーソナルコンピュータ、携帯電話等のネットワーク端末を介して接続した複数のユーザが相互に文字情報又は音声情報等の交換を実質的にリアルタイムに実施しうる、チャットルームサービス、ネットワーク会議システム等のサービスを含む。会話の場は、ひとつの要素として知識構造に記憶されうる。
それぞれの動作ａ１…ａｎにおいて、会話の発生を要素とする全順序つき集合を知識構造に記憶してもよい。全順序付き集合は、例えば、会話の発生ごとに会話の時間的順序を数字の大小と関連付けて規則的に記憶する手段を要素に有する集合を含む。また、会話の発生及び前記会話の発生の順序隣接関係を知識構造の要素として記憶してもよい。
これにより、本発明に係る知識構造の構成方法は、会話の発生を検出すると、時間的順序を規則的に記憶する手段を用いてそれぞれの会話の発生を識別して本発明に係る知識構造に追加し、文字コードを用いて表現される会話文脈を知識構造に取り込むことが可能になる。
【００４８】
［対話応答の例］
本発明の一実施形態に係る自動応答の作成方法として、キーワード応答を例示する。キーワード応答は、ユーザの発話中に予め定義したキーワードが出現した場合に、そのキーワードに関連付けた応答を実施する機能である。この機能を実現するために、キーワードと応答を関連付けたルールを、以下に示すように知識構造に格納する。
まず、ルールを格納する準備として、ユーザ定義キーワードへの応答を表す要素ｕｋｒを格納する。要素ｕｋｒは知識構造内のキーワード応答ルールにおける開始点である。本発明に係る知識構造においては、要素ｕｋｒを含むキーワード応答ルールの開始点は次式で表される。
【数１３】
0004824043.tif 000014
ここに、ｅｕｒ１：ユーザ関係を表す辺
ｉ１：ｅｕｒ１がユーザ関係であることを表す辺
ｉ２：ｉ１がインスタンス関係であることを表す辺
である。ユーザ関係を示す辺ｅｕｒ１はルートｖｒｏｏｔから頂点ｕｋｒを結ぶ。辺ｅｕｒ１はユーザクラスｖｕｓｒのインスタンスである。辺ｉ１は辺ｅｕｒ１がユーザ関係であることを示し、辺ｉ２は辺ｉ１がインスタンス関係であることを示す。辺ｉ２もインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
次いで、動作キーワード、メッセージ、関係をそれぞれ表す要素ａｋｗ、ａｍｓｇ、ａｒｅｌを格納する。要素ａｋｗは応答ルールのキーワード動作のクラスを、ａｍｓｇは応答メッセージ動作のクラスを、ａｒｅｌはキーワードから応答メッセージ間への対応関係動作のクラスを、それぞれ意味する。本発明に係る知識構造においては、これらの要素は次式で表される。
【数１４】
0004824043.tif 000015
ここに、ｅａｒ１、ｅａｒ２、ｅａｒ３は動作関係を示す辺である。
動作関係を示す辺ｅａｒ１、ｅａｒ２、ｅａｒ３はユーザｕｋｒからそれぞれ頂点ａｋｗ、ａｍｓｇ、ａｒｅｌを結ぶ。辺ｅａｒ１、ｅａｒ２、ｅａｒ３は動作クラスｖａｃｔのインスタンスである。辺ｉ３、ｉ５、ｉ７はそれぞれ辺ｅａｒ１、ｅａｒ２、ｅａｒ３が動作関係であることを示し、辺ｉ４、ｉ６、ｉ８はそれぞれ辺ｉ３、ｉ５、ｉ７がインスタンス関係であることを示す。辺ｉ４、ｉ６、ｉ８もインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
これらのルールを格納する準備の後に、ルールデータを格納する。
一例として、「カレー」というキーワードに対して、「おいしいですね！」という応答を行うルールを示す。キーワードインスタンスを意味する要素をｋ１、応答メッセージインスタンスを意味する要素をｍ１とする場合に、「カレー」というキーワードで「おいしいですね！」という応答を行うルールは、本発明に係る知識構造において、次式で表される。
【数１５】
0004824043.tif 000016
データ要素ｋ１、ｍ１、ｒ１はそれぞれ動作ａｋｗ、ａｍｓｇ、ａｒｅｌのインスタンスである。辺ｉ１０、ｉ１２、ｉ１４はそれぞれ辺ｉ９、ｉ１１、ｉ１３がインスタンス関係であることを示す。辺ｉ１０、ｉ１２、ｉ１４もインスタンス関係を意味するが、これを説明する辺は無限ネストを避けるために省略される。
【００４９】
このように知識構造に格納されたデータを用いることにより、本発明に係る自動応答の生成方法の実施手段は、例えば、次の（Ｒ１）〜（Ｒ９）のような応答を生成して送信する動作を行いうる。
（Ｒ１）ユーザの発話「今日は暑いけどカレーは欠かせない。」を受信する。
（Ｒ２）ルートｖｒｏｏｔからユーザ関係をたどり、ユーザｕｋｒを特定する。
（Ｒ３）動作関係をたどり、キーワード動作クラスａｋｗを特定する。
（Ｒ４）クラスａｋｗのインスタンスデータ要素を順に調べ、その要素に関連付けられる文字列がユーザ発話に出現したかどうかを調べる。
（Ｒ５）要素ｋ１に関連付けられる文字列「カレー」が出現したことを検出する。
（Ｒ６）要素ｋ１から関係動作クラスａｒｅｌのインスタンス辺ｒ１をたどって要素ｍ１に到達し、実行を試みる。
（Ｒ７）要素ｍ１のクラスがａｍｓｇであることを検出する。
（Ｒ８）動作クラスａｍｓｇはそのインスタンスデータ要素に結び付けられた文字列を応答メッセージとして出力する関数のポインタと関連付いている。この関数を起動する。
（Ｒ９）要素ｍ１に結び付けられた文字列「おいしいですね！」を応答として送信する。
動作クラスの関数ポインタは未定義であってもよく、具体的な動作の対象となりうる動作クラスのインスタンスデータを示さずに、他の動作から参照される属性情報等を提供してもよい。要素ｋ１には複数のａｒｅｌインスタンスが接続していてもよい。その接続先に具体的な動作の対象となりうる要素が複数ある場合は、そのうちのひとつをランダムに選
んで実行してもよく、複数の要素から具体的な動作を選択する規則は適宜設計しうる。
【００５０】
本発明に係る知識構造の構成方法を用いて対話構造を構成することにより、要素の関連付けをたどる手順を用いてキーワード応答等の自動対話を生成しうる。すなわち、本発明においては、知識構造に含まれる全ての要素を逐一調べる必要はなく、迅速な応答の生成を実現しうる。
【００５１】
［対話スクリプト追跡及びたどり構造の例］
図８を用いて、本発明の一実施形態に係る対話スクリプト追跡及びたどり構造をグラフ  構造として表す例を示す。
ここでたどり構造とは、本発明に係る拡張意味ネットワークの知識構造を用いて図示しうる、要素間の関係を含む集合である。具体的には、たどり構造は、関係クラス、方向、到達先を要素に含む集合でありうる。
図８は、本発明の一実施形態に係る、知識構造の構成方法におけるスクリプト追跡のためのデータを示す図である。
知識構造内の対話スクリプトにおける開始点である要素ｕｄｓｔ（３９０）、及び、対話チャネルにおいて知識構造内のスクリプトポインタ等にアクセスする際の開始点である要素ｕｃａ（３９２）は、いずれもユーザのクラスｖｕｓｒ（３８１）により全知識要素の開始点ｖｒｏｏｔ（３８０）と関連付けられる。
ここで動作のクラスｖａｃｔ（３８２）に属する動作により、ユーザのクラスｖｕｓｒ（３８１）は選択（ａｓｅｌ）（４１０）、選択メッセージ（ａｓｍ）（４１２）、選択ルール（ａｓｒ）（４１４）と関連付けられる。同様に、対話チャネルのアクセスはコンテキスト（ａｃ）（４２０）、最終選択（ａｌｓ）（４２２）、最終応答（ａｌｒ）（４２４）と関連付けられ、さらに、インスタンスのクラス（３８４）により、対話チャネルのアクセスは対話動作と関連付けられる要素（４３０、４３２、４３４）と関連付けられる。
このように、本発明の一実施形態に係る対話スクリプトは、本発明に係るグラフ構造として表すことができる。すなわち、本発明の一実施形態に係る対話スクリプトは、本発明に係るグラフ構造を用いて追跡しうる。
【００５２】
対話スクリプト追跡機能は、予め定義したスクリプトに従って対話を行う機能である。スクリプトは分岐があってもよい。この機能はポインタを保持し、これによりスクリプトのどの場所まで対話が進んだかを記憶する。
まず、スクリプト追跡を表すユーザの要素であるｕｄｓｔと、スクリプトを動作させるチャネルの番号を表すｕｃａを格納する。要素ｕｄｓｔは知識構造内の対話スクリプトにおける開始点である。要素ｕｃａは、対話チャネルにおいて、知識構造内のスクリプトポインタ等にアクセスする際の開始点である。本発明に係る知識構造においては、要素ｕｄｓｔを含むスクリプトの開始点は次式で表される。
【数１６】
0004824043.tif 000017
各要素の詳細説明はキーワード応答と同様であり省略する。
数式１６は、図８を用いて説明したグラフ構造の、ｖｒｏｏｔ（３８０）、ｖｕｓｒ（３８１）、ｕｄｓｔ（３９０）、及びｕｃａ（３９２）を含む。さらに、数式１６はインスタンスのクラスｖｉｎｓ（３８４）が式中の関連付けに含まれうることも表す。
次いで、スクリプトの動作の集合に次の要素が含まれると仮定する。すなわち要素として、選択（ａｓｅｌ）、選択メッセージ（ａｓｍ）、選択ルール（ａｓｒ）のそれぞれを、ユーザｕｄｓｔに関連付けて格納する。
さらに、スクリプトの動作の集合に次の要素が含まれると仮定する。すなわち要素として、コンテキスト（ａｃ）、最終選択（ａｌｓ）、最終応答（ａｌｒ）のそれぞれの初期値を、ユーザｕｃａに関連付けて格納する。
要素ａｓｅｌはスクリプト内選択肢動作のクラスを、ａｓｍは選択肢メッセージ動作のクラスを、ａｓｒはスクリプト構造の開始点を、ａｃは文脈ポインタ動作のクラスを、ａｌｓは最終選択肢ポインタ動作のクラスを、ａｌｒは最終応答ポインタ動作のクラスを、それぞれ表す。
これらのスクリプトの動作に含まれる要素は、次式で表される。
【数１７】
0004824043.tif 000018
次いで、ポインタのインスタンスを表す要素を格納する。例えば、文脈ポインタ動作のインスタンス（ｐｉｃ）、最終選択肢ポインタ動作のインスタンス（ｐｉｌｓ）、及び最終応答ポインタ動作のインスタンス（ｐｉｌｒ）を用いる。これらのインスタンスと他の要素との関係は次式で表される。
【数１８】
0004824043.tif 000019
数式１７及び数式１８は、図８にグラフ構造として示した要素と要素の関連付けを含む。これにより、スクリプトに含まれるユーザのクラス、動作のクラス、インスタンスのクラス、ポインタのインスタンスを表す要素を、本発明に係る知識構造の構成方法に格納し、スクリプトの動作を追跡しうる。
【００５３】
数式１７は本発明に係る知識構造の要素を表し、また、関係クラス、方向、到達先を要素に含む集合であるたどり構造を含む。例えば、数式１７において、辺要素ｉ２０は終点に辺要素ｉ１９を含み、辺要素ｉ１９は終点に要素ｅａｒ４を含むことから、これらの要素間に、関係クラスが所属であり、方向が逆であり、ｉ２０からの到達先はｉ１９である等のたどり構造を構成しうる。すなわち、たどり構造は、すでに記憶された知識構造の要素に基づいて、新たな要素を生成し、集合であるたどり構造に含めうる。
また、たどり構造は要素に関係クラスを含み、クラスを用いてたどり構造を生成することにより、例えば同じユーザのクラスを定義しうる複数の関係を新たに生成しうる。これにより、過去に相互に関連付けのなかった要素に対して、クラスを通じてユーザが共有する手段を提供しうる。
たどり構造を生成し、順方向又は逆方向の関連付け、及び始点又は終点の組合せをたどり構造に追加することにより、本発明に係る知識構造はすでに記憶された知識構造の要素から新たな要素を生成しうる。
これにより、本発明に係る知識構造は、拡張意味ネットワークにより知識構造を柔軟に構成しうることに加えて、再帰的にたどり構造を生成することで、知識構造の構成方法に拡張性、自己改変性、共有性を備えうる。
また、たどり構造を利用することによって、グラフ更新操作に制約を加えることなく、グラフの到達先を効率的に取得することができる。たどり構造を利用しない場合はグラフの規模に比例した計算時間が必要であるが、たどり構造を利用する場合は一定の計算時間で済む。
【００５４】
＜実施例１＞
一例として、「カレー」というキーワードに対して、カレーのタイプ、レストランのエリアを質問し、レストラン名を提案するスクリプトを示す。
図９に、本発明に係る対話スクリプト追跡における知識構造の要素間の関係の例を示し、図９に含まれる各要素について、まず表を用いて説明する。
表１に、対話スクリプト追跡例データの文字列対応の例を示す。
【表１】
0004824043.tif 000020
まず、本発明に係る知識構造に、選択キーワードインスタンスを意味する要素ｓｒｋ（ｋ＝１、２、…、ｎ、以下同様）、選択肢インスタンスを意味する要素ｓｋ、応答メッセージインスタンスを意味する要素ｍｋ、スクリプト順序関係インスタンスを意味する要素ｒｋ、選択肢メッセージインスタンスを意味する要素ｓｍｋ、を格納する。
表１に示すように、要素ｓｒｋは文字列データと結び付いているとする。ここで、要素ｍ４の「×××」には具体的なレストランの名称等が入る。簡便のため、選択ルールａｓｒのインスタンスｓｒ１、…、ｓｒ８、及び、選択ａｓｅｌのインスタンスｓ１、ｓ２、ｓ３、メッセージａｍｓｇのインスタンスｍ１、…、ｍ９は省略する。
次に辺要素の具体例を、インスタンスに関する辺を省略して、次式で示す。
【数１９】
0004824043.tif 000021
【数２０】
0004824043.tif 000022
【数２１】
0004824043.tif 000023
図９に、数式１９、数式２０、数式２１を用いて示した、レストラン名を提案するスクリプトにおける各辺要素の関係をグラフ構造として示す。
選択ルールａｓｌ（４４０）は選択ルールのインスタンスｓｒ１（４４２）と関連付けられ、選択ｓ１により次の選択ルールのインスタンスｓｒ２（４４６）及びメッセージｍ２（４６０）と関連付けられる。これ以降についても同様であり、本発明に係る知識構造の構成方法に、スクリプトに含まれる選択ルール、選択、メッセージを格納することができる。
【００５５】
＜実施例２＞
前述のように知識構造に格納されたデータを用いて、本発明に係る自動応答の作成方法の実施手段が行いうる動作の例を、次の（Ｋ１）〜（Ｋ１１）に示す。以下、行頭の「Ｕ」はユーザの行動を、「Ａ」は本発明に係る自動応答の作成方法の実施手段の動作を、それぞれ示す。
（Ｋ１）（Ｕ）「今日は暑いけどカレーが食べたい。」と発話する。
（Ｋ２）（Ａ）始点ｖｒｏｏｔからユーザ関係をたどり、ユーザｕｄｓｔを発見し、さらに動作関係をたどり、スクリプト構造の開始点ａｓｒを発見する。また、始点ｖｒｏｏｔからユーザ関係をたどり、ユーザｕｃａを発見し、さらに動作関係をたどり、クラスａｃを経由して文脈ポインタｐｉｃを発見する。要素ｐｉｃと同様に、クラスａｌｓを経由して最終選択肢ポインタｐｉｌｓを、クラスａｌｒを経由して最終応答ポインタｐｉｌｒを発見する。
（Ｋ３）（Ａ）要素ｐｉｃの関係先がｎｕｌｌであることを確認する。要素ａｓｒからａｒｅｌ関係でたどった先の要素に順にアクセスし、その要素に結び付けられた文字列がユーザ発話に出現したかどうかを調べ、要素ｓｒ１に結び付けられた文字列「カレー」が出現したことを検知する。
（Ｋ４）（Ａ）要素ｓｒ１からａｒｅｌ関係でたどった先の要素ｓ１の実行を試みる。要素ｓ１のクラスａｓｅｌは選択肢動作を実行する関数のポインタと関連付いている。要素ｓ１からａｓｍ関係でたどった先の要素ｍ２に結び付けられた文字列「カレーのタイプは？」を応答し、要素ｓ１からａｒｅｌ関係でたどった先の要素ｓｒ２、ｓｒ３にそれぞれ結び付けられた文字列「インド」、「南インド」を選択肢候補として応答する。文脈ポインタｐｉｃの関係先にｓ１を、最終選択肢ポインタｐｉｌｓの関係先にｓｒ１を、最終応答ポインタｐｉｌｒの関係先にｍ２を設定する。
（Ｋ５）（Ｕ）「インド」と発話する。
（Ｋ６）（Ａ）要素ｐｉｃの関係先ｓ１からａｒｅｌ関係でたどった先の要素に結び付けられた文字列を調べ、要素ｓｒ２に結び付けられた文字列「インド」が出現したことを検知する。
（Ｋ７）（Ａ）要素ｓｒ２からａｒｅｌ関係でたどった先の要素ｓ２のクラスも選択肢動作ａｓｅｌであり、要素ｓ２からａｓｍ関係でたどった先の要素ｍ３に結び付けられた文字列「エリアは？」を応答し、要素ｓ２からａｒｅｌ関係でたどった先の要素ｓｒ４、ｓｒ５、ｓｒ６にそれぞれ結び付けられた文字列「六本木」、「銀座」、「お茶の水」を選択肢候補として応答する。文脈ポインタｐｉｃの関係先にｓ２を、最終選択肢ポインタｐｉｌｓの関係先にｓｒ２を、最終応答ポインタｐｉｌｒの関係先にｍ３を設定する。
（Ｋ８）（Ｕ）「六本木」と発話する。
（Ｋ９）（Ａ）要素ｐｉｃの関係先ｓ２からａｒｅｌ関係でたどった先の要素に結び付けられた文字列を調べ、要素ｓｒ４に結び付けられた文字列「インド」が出現したことを検知する。
（Ｋ１０）（Ａ）要素ｓｒ４からａｒｅｌ関係のたどり先で実行可能な要素はｍ４、ｍ５と複数あるため、ランダム選択を行い、ｍ４の実行を試みる。
（Ｋ１１）（Ａ）要素ｍ４のクラスは応答メッセージを行うａｍｓｇであり、ｍ４に結び付けられた文字列「×××がお勧めです。」を応答する。文脈ポインタｐｉｃの関係先は変更せず、最終選択肢ポインタｐｉｌｓの関係先にｓｒ４を、最終応答ポインタｐｉｌｒの関係先にｍ４を設定する。
表２に、上述の本発明に係る自動応答の作成方法の実施手段の動作を含む対話であるダイアログを、プログラムの内部の動作を除く端末装置等に表示されうる文字列として例示する。
【表２】
0004824043.tif 000024
【００５６】
このように、本発明に係る自動応答の作成方法を用いることにより、自然言語を含むユーザからのメッセージに対して、迅速に柔軟な応答を自動的に作成しうる。
また、自動応答により作成されるメッセージも本発明に係る知識構造の要素でありうる。従って、本発明に係る自動応答の作成方法の実施手段は、自動応答の動作を繰り返すことにより、関連付けを有する選択ルール、応答メッセージ等を次々に知識構造に追加し、より多くの関連付けを記憶して知識構造を自ら構築しうる。これにより、本発明に係る知識構造は、自己創出性を備えることが可能である。
【００５７】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００５８】
【図１】本発明及び従来技術の一実施形態に係る、知識構造の基本構造における要素の関係を示す図である。
【図２】本発明及び従来技術の一実施形態に係る意味ネットワークを用いて格納される知識の例を示す図である。
【図３】本発明の一実施形態に係る、自動応答出力作成システムの構成を示す図である。
【図４】本発明の一実施形態に係る、知識ＤＢのデータ構造を表す図である。
【図５】本発明の一実施形態に係る、拡張意味ネットワークの要素が含まれる連結グラフを示す図である。
【図６】本発明の一実施形態に係る、自動応答出力作成装置のハードウェア構成を示す図である。
【図７】本発明の一実施形態に係る、知識構造の動作の例を示す図である。
【図８】本発明の一実施形態に係る、対話スクリプトをグラフ構造として表す図である。
【図９】本発明の一実施形態に係る、対話スクリプト追跡における知識構造の要素間の関係の例を示す図である。
【符号の説明】
【００５９】
１０  自動応答出力作成装置
２０  自動応答出力作成システム
３０  知識ＤＢ
３８  ネットワーク
６０  ユーザ端末
８０  知識ＤＢデータ構造
８２  識別子
８４  始点
８５  終点
８６  ラベル
８８  ポインタ
３０１、３０２、３０４、３２１、３２２、３２３  要素
３０３、３０５、３１２、３２４、３２５、３３３  辺
３１０、３３１  始点
３１１、３３２  終点
３４０、３５０  連結グラフ
３６１  ユーザ
３６２、３６３、３６４  動作
３６５、３６６、３６７  関数ポインタ
３６０、３８０  全知識構造の始点
３８１  ユーザのクラス
３８２  行動のクラス
３８４  インスタンスのクラス
３９０、３９２、ユーザ
４１０  選択
４１２  選択メッセージ
４１４  選択ルール
４２０  コンテキスト
４２２  最終選択
４２４  最終応答
４４０  選択ルール
４４２、４４６、４４７、４５０、４５２、４５４、４５６、４５８  選択ルールのインスタンス
４６０、４６２、４６４、４６６，４６８、４７０、４７２、４７４  メッセージのインスタンス
４４４、４４８、４４９  選択
【図１】
0004824043.tif 000029
【図２】
0004824043.tif 000030
【図３】
0004824043.tif 000031
【図４】
0004824043.tif 000032
【図５】
0004824043.tif 000033
【図６】
0004824043.tif 000034
【図７】
0004824043.tif 000035
【図８】
0004824043.tif 000036
【図９】
0004824043.tif 000037