(57)【要約】広範囲の対話に対応できる話題を効率的に作成することを目的として、様々な情報源から、対話に用いられであろう話題を分析・抽出し、対話パターンのリンクの集合体である話題ネットを自動的に生成する。
2004066164.tif 000002
【特許請求の範囲】
【請求項１】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法であって、
複数のフィールドに記述されたフィールドデータを対応付けて記憶しているデータテーブルから１レコード分のデータを読み出す読み出しステップと、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップと、
前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題クラス間の関連づけに従ってリンクするリンク生成ステップと、
を含む、話題ネットの生成方法。
【請求項２】
前記ノード生成ステップは、話題が重複するノードの生成を中止するステップを含む、請求の範囲１記載の話題ネットの生成方法。
【請求項３】
前記定義ステップは、前記話題ネットに基づいて対話を進行させるのに用いられるメッセージを含む対話情報を生成するための対話情報生成ルールをさらに定義しており、
前記対話情報生成規約は、前記定義ステップで関連づけられた２つの話題クラスに対応するフィールドに記述されるフィールドデータに基づいて、前記対話情報を生成する、
請求の範囲第１項記載の話題ネットの生成方法。
【請求項４】
前記対話情報生成ルールは、生成される対話情報が前記２つの話題クラスのノードのうち、どちらのノードからどちらのノードへの対話の進行に用いられるかを示す方向をさらに含む、請求の範囲第３項記載の話題ネットの生成方法。
【請求項５】
前記対話情報生成ルールは、前記メッセージがどのような性質を有するかを示すメッセージ種別をさらに含む、請求の範囲第３項記載の話題ネットの生成方法。
【請求項６】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成装置であって、
複数のフィールドに記述されたフィールドデータを対応付けて記憶しているデータテーブルから１レコード分のデータを読み出す読み出し手段と、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義手段と、
前記読み出し手段が読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成手段と、
前記ノード生成手段が生成した各ノードを、前記定義ステップで定義された各話題クラス間の関連づけに従ってリンクするリンク生成手段と、
を備える話題ネットの生成装置。
【請求項７】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成プログラムであって、
複数のフィールドに記述されたフィールドデータを対応付けて記憶しているデータテーブルから１レコード分のデータを読み出す読み出しステップと、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップと、
前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題クラス間の関連づけに従ってリンクするリンク生成ステップと、
をコンピュータに実行させる、話題ネットの生成プログラム。
【請求項８】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法であって、
複数のフィールドに記述されたフィールドデータと、前記フィールドが有するツリー構造と、を定義するデータファイルから、１ツリー分のデータを読み出す読み出しステップと、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップと、
前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題間の関連づけに従ってリンクするリンク生成ステップと、
を含む、話題ネットの生成方法。
【請求項９】
前記ノード生成ステップは、話題が重複するノードの生成を中止するステップを含む、請求の範囲第８項記載の話題ネットの生成方法。
【請求項１０】
前記定義ステップは、前記話題ネットに基づいて対話を進行させるのに用いられるメッセージを含む対話情報を生成するための対話情報生成ルールをさらに定義しており、
前記対話情報生成ルールは、前記定義ステップで関連づけられた２つの話題クラスに対応するフィールドに記述されるフィールドデータに基づいて、前記対話情報を生成する、
請求の範囲第８項記載の話題ネットの生成方法。
【請求項１１】
前記対話情報生成ルールは、生成される対話情報が前記２つの話題クラスのノードのうち、どちらのノードからどちらのノードへの対話の進行に用いられるかを示す方向を含んでいる、請求の範囲第１０項記載の話題ネットの生成方法。
【請求項１２】
前記対話情報生成ルールは、前記メッセージがどのような性質を有するかを示すメッセージ種別をさらに含む、請求の範囲第１０項記載の話題ネットの生成方法。
【請求項１３】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成装置であって、
複数のフィールドに記述されたフィールドデータと、前記フィールドが有するツリー構造と、を定義するデータファイルから、１ツリー分のデータを読み出す読み出し手段と、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義手段と、
前記読み出し手段が読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成手段と、
前記ノード生成手段が生成した各ノードを、前記定義手段が定義した各話題間の関連づけに従ってリンクするリンク生成手段と、
を備える話題ネットの生成装置。
【請求項１４】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成プログラムであって、
複数のフィールドに記述されたフィールドデータと、前記フィールドが有するツリー構造と、を定義するデータファイルから、１ツリー分のデータを読み出す読み出しステップと、
前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップと、
前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題間の関連づけに従ってリンクするリンク生成ステップと、
をコンピュータに実行させる、話題ネットの生成プログラム。
【請求項１５】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法であって、
対応付けて記憶されたデータユニットと、開始話題と、終了話題と、を読み出す読み出しステップと、
読み出した開始話題と終了話題とに対応するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記開始話題に対応するノードから前記終了話題に対応するノードに向かうリンクを生成するリンク生成ステップと、
前記話題ネットに基づいて対話を進行させるのに用いられるメッセージと前記メッセージの性質を示すメッセージ種別とを含む対話情報を、前記データユニットに基づいて生成し、前記リンク生成ステップで生成したリンクに関連づける対話情報生成ステップと、を含み、
前記データユニットは、テキストメッセージと、前記テキストメッセージの性質を示すデータ種別と、を含んでいる、
話題ネットの生成方法。
【請求項１６】
前記リンク生成ステップは、前記開始話題に対応するノードと前記終了話題に対応するノードとが同一のノードである場合、リンクの生成を中止し、
前記対話情報生成ステップは、リンクの生成が中止された場合、生成した対話情報を前記ノードに関連づける、
請求の範囲第１５項記載の話題ネットの生成方法。
【請求項１７】
前記データユニットは付加情報をさらに含み、
前記対話情報生成ステップは、同一のリンクまたは同一のノードについて同じデータ種別を含むデータユニットが複数存在する場合、前記付加情報に基づいていずれかのデータユニットを選択し、選択したデータユニットに基づいて対話情報を生成する、
請求の範囲第１６項記載の話題ネットの生成方法。
【請求項１８】
前記データユニットは付加情報をさらに含み、
前記対話情報生成ステップは、前記付加情報に基づいて前記対話情報を生成する、請求の範囲第１５項記載の話題ネットの生成方法。
【請求項１９】
前記ノード生成ステップは、話題が重複するノードの生成を中止するステップを含む、請求の範囲第１５項記載の話題ネットの生成方法。
【請求項２０】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成装置であって、
対応付けて記憶されたデータユニットと、開始話題と、終了話題と、を読み出す読み出し手段と、
読み出した開始話題と終了話題とに対応するノードと、前記ノードに対応する話題と、を生成するノード生成手段と、
前記開始話題に対応するノードから前記終了話題に対応するノードに向かうリンクを生成するリンク生成手段と、
前記話題ネットに基づいて対話を進行させるのに用いられるメッセージと前記メッセージの性質を示すメッセージ種別とを含む対話情報を、前記データユニットに基づいて生成し、前記リンク生成手段が生成したリンクに関連づける対話情報生成手段と、を備え、
前記データユニットは、テキストメッセージと、前記テキストメッセージの性質を示すデータ種別と、を含んでいる、
話題ネットの生成装置。
【請求項２１】
話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットを生成する生成プログラムであって、
テキストメッセージと、前記テキストメッセージの性質を示すデータ種別とを含むデータユニットと、開始話題と、終了話題と、を対応付けて読み出す読み出しステップと、
読み出した開始話題と終了話題とに対応するノードと、前記ノードに対応する話題と、を生成するノード生成ステップと、
前記開始話題に対応するノードから前記終了話題に対応するノードに向かうリンクを生成するリンク生成ステップと、
前記話題ネットに基づいて対話を進行させるのに用いられるメッセージと前記メッセージの性質を示すメッセージ種別とを含む対話情報を、前記データユニットに基づいて生成し、前記リンク生成ステップで生成したリンクに関連づける対話情報生成ステップと、
をコンピュータに実行させる話題ネットの生成プログラム。
【発明の詳細な説明】
【技術分野】  本発明は、ユーザに適した商品やサービスの販売や検索、問い合わせなどを行うための、コンピュータを用いた応答技術に関する。
【背景技術】  従来、商品やサービスの販売や検索、問い合わせなどを、コンピュータを用いて行うための様々な対話システムが提供されている。例えば特願２００１−４００６７５号には、文脈性を保ちつつ、コンピュータのユーザとコンピュータとの間で効果的な情報交換を行うことができる対話システムが記載されている。さらに詳しくは、前記対話システムでは、人間同士が行うような前後関係を考慮した文脈性を持つ対話が行われる。そのため、ユーザと対話システムとのやり取りが一往復で終わってしまうということがない。また、やり取りが複数回繰り返されたとしても、それらが互いに独立しているのではなく互いに関連している。
また、前記対話システムでは、複数の話題がリンクされた話題ネットに基づいて、起こりうる対話パターンを動的に作り出す。これは、対話システムが出力する質問とその質問に対する回答の選択肢との組み合わせにより実行可能な対話シナリオの全てを予め用意しておく方法とは、根本的に異なっている。このような対話システムによる対話が効果的であるためには、話題ネットが対話に登場する十分な数と範囲の話題を含んでおり、かつ話題間の遷移を行うための対話情報を十分に持っている必要がある。
ところで、話題ネットを作成するには、対話に登場するであろう話題をさまざまな情報源から洗い出し、それらの関連を分析し、また各話題について出力するためのメッセージを用意する必要がある。例えば旅行パックの販売を行う対話システムのための話題ネットを作成する場合を考える。この場合、多様な旅行目的や目的地についての話題を、地理情報、交通機関情報、観光地情報、イベント情報などのさまざまな情報源から集め、関連付けていかなければならない。
このようにして話題ネットを作成することは、対話の流れを全て想定して対話シナリオを用意するのに比べれば効率的であるとは言え、これを人手だけで作成するのは困難である。また、あえて人手で作成したとしても、話題ネットがカバーする対話の範囲は不十分になりがちである。
また、話題ネットに具体的な話題が含まれると、話題ネットを用いた対話が非常に効果的になる。ユーザにとっては、自分自身の視点に近い、実感の伴う対話となるからである。個別的な話題の収集源として、旅行記や商品レビューのような個人の視点から書かれた個別的な内容の情報が考えられる。このような情報は現在ではコンピュータ上で扱われることが多い。しかし、それらは通常、単なるテキストデータや画像データであるため、そのままではコンピュータでの処理が難しい。
一方、テーブル形式のデータベース、主にリレーショナルデータベースは多くのシステムで使われている。例えば商品カタログ情報、店舗情報、地理情報、観光案内情報、旅行案内情報、情報交換用掲示板の情報などを含む多くのデータは、テーブル形式で扱われている。さらに近年では、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータが頻繁に利用されるようになってきている。ＸＭＬ形式のデータは、一種のツリー形式のデータであり、ツリーの各ノードが「内容」と「型」を持つ。「型」はＸＭＬにおいてはタグと呼ばれる。ＸＭＬで記述されたデータは、データ自体がデータ内容の記述を含んでおり、その構造にも柔軟性があるため、データを流通させるという目的を中心にＸＭＬの利用が進んでいる。実際に電子商取引、出版、旅行、地図などを含む多くの分野でＸＭＬ形式のデータフォーマットが定義されている。これまでリレーショナルデータベースで扱われてきたデータも、流通のためにＸＭＬ化されるようになってきている。
本発明は、少ない労力で広範囲の対話に対応できる話題ネットを効率的に作成するための技術を提供することを目的とする。
また本発明は、話題ネットを生成するための情報収集源を拡大する方法を提供することを目的とする。
【発明の開示】
前記の課題を解決するために、本願発明の１つの実施態様は、話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法を提供する。この方法は、下記のステップを含む。
・複数のフィールドに記述されたフィールドデータを対応付けて記憶しているデータテーブルから１レコード分のデータを読み出す読み出しステップ、
・前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップ、
・前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップ、
・前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題クラス間の関連づけに従ってリンクするリンク生成ステップ。
例えば、フィールド「地域」、「国」、「都市」に対応するフィールドデータを１レコードとして記憶しているデータテーブルを考える。各フィールドに対応する話題クラスとして、各フィールドと同じ名前の話題クラス「地域」、「国」、「都市」を定義する。各話題クラス間の関連づけとして、「地域」から「国」へ、「国」から「都市」へ、リンクを生成すると定義する。読み出したデータが、例えば地域として「ヨーロッパ」、国として「イタリア」、都市として「ミラノ」であると仮定する。そうすると、「ヨーロッパ」、「イタリア」、「ミラノ」に対応するノードが生成される。各ノードに対応する話題は、「ヨーロッパ」、「イタリア」、「ミラノ」となる。次いで、「ヨーロッパ」から「イタリア」、「イタリア」から「ミラノ」へのリンクを生成する。これを、データテーブルの全データについて繰り返し、話題ネットを生成する。また、複数のデータテーブルから１つの話題ネットを生成することもできる。
また本発明の第２の実施態様は、話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法を提供する。この方法は、下記のステップを含む。
・複数のフィールドに記述されたフィールドデータと、前記フィールドが有するツリー構造と、を定義するデータファイルから、１ツリー分のデータを読み出す読み出しステップ、
・前記複数のフィールドの全部または一部に対応する話題クラスと、各話題クラス間の関連づけと、を定義する定義ステップ、
・前記読み出しステップで読み出したデータのうち対応する話題クラスが存在するフィールドデータに対するノードと、前記ノードに対応する話題と、を生成するノード生成ステップ、
・前記ノード生成ステップで生成した各ノードを、前記定義ステップで定義された各話題間の関連づけに従ってリンクするリンク生成ステップ。
ツリー構造のデータを定義するデータ蓄積手段としては、例えばＸＭＬファイルや、そのファイルを蓄積するデータベースが挙げられる。例えばフィールド「観光地」の下に、フィールド「所在地の都市」及び「種類」があるツリー構造が定義されているとする。各フィールドに対応する話題クラス「観光地」、「所在地の都市」、「種類」は、「所在地の都市」から「観光地」へ、「観光地」から「種類」へ、リンクを生成すると定義される。ここで、読み出したデータが例えば観光地として「ドゥオモ」、所在地の都市として「ミラノ」、種類として「歴史的建造物」であったとする。そうすると、「ドゥオモ」、「ミラノ」、「歴史的建造物」に対応するノードが生成される。各ノードに対応する話題は、「ドゥオモ」、「ミラノ」、「歴史的建造物」になる。次いで、「ミラノ」から「ドゥオモ」、「ドゥオモ」から「歴史的建造物」へのリンクが生成される。これを繰り返すことにより、既存のデータファイルに基づいて話題ネットが自動的に生成される。
前記２つの実施態様において、前記ノード生成ステップは、話題が重複するノードの生成を中止するステップを含むことが好ましい。
また、前記定義ステップは、前記話題ネットに基づいて対話を進行させるのに用いられるメッセージを含む対話情報を生成するための対話情報生成ルールをさらに定義してもよい。前記対話情報生成規約は、前記定義ステップで関連づけられた２つの話題クラスに対応するフィールドに記述されるフィールドデータに基づいて、前記対話情報を生成することができる。
対話情報生成ルールの一例として、「＜国＞では＜都市＞がお勧めです。」が挙げられる。この対話情報生成ルールは、話題クラス「国」及び「都市」に対応するフィールド「国」及び「都市」に記述されるフィールドデータに基づいて、対話情報を生成する。「国」がイタリア、「都市」がミラノであれば、生成されるメッセージは「イタリアではミラノがお勧めです。」になる。このメッセージを含む対話情報は、話題「イタリア」から「ミラノ」へのリンクに関連づけられる。
１レコードに含まれるフィールドの全てに対応する話題クラスが定義されていない場合、対応する話題クラスがないフィールドに記述されたフィールドデータを、対話情報の生成に用いても良い。例えば、前述のデータテーブルが、「地域」、「国」、「都市」に加え、「有名度」を含んでいるとする。また「有名度」に対応する話題クラスは定義されていないとする。この場合でも、例えば有名度７以下の場合と７を超える場合とでは、生成するメッセージが変わるように対話情報生成ルールを定義することができる。
前記対話情報生成ルールは、生成される対話情報が前記２つの話題クラスのノードのうち、どちらのノードからどちらのノードへの対話の進行に用いられるかを示す方向をさらに含んでいてもよい。
例えば、前述の対話情報生成ルール「＜国＞では＜都市＞がお勧めです。」は、話題クラス「国」から「都市」への方向を含む。これにより、話題ネットを使った会話の話題は、「国」からより具体的な「都市」へ進行する。
前記対話情報生成ルールは、前記メッセージがどのような性質を有するかを示すメッセージ種別をさらに含んでいてもよい。
例えば質問メッセージを生成するための対話情報テンプレートであれば、メッセージ種別「質問」を含む。また例えば説明メッセージを生成するための対話情報テンプレートであれば、メッセージ種別「説明」を含む。
前記の方法を実行する話題ネットの生成装置、プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
本発明の第３の実施態様は、話題が対応付けられたノードと各ノードを連結するリンクとを含む話題ネットの生成方法を提供する。この方法は、下記のステップを含む。また、この方法において、データユニットは、テキストメッセージと、前記テキストメッセージの性質を示すデータ種別と、を含んでいる。
・対応付けて記憶されたデータユニットと、開始話題と、終了話題と、を読み出す読み出しステップ、
・読み出した開始話題と終了話題とに対応するノードと、前記ノードに対応する話題と、を生成するノード生成ステップ、
・前記開始話題に対応するノードから前記終了話題に対応するノードに向かうリンクを生成するリンク生成ステップ、
・前記話題ネットに基づいて対話を進行させるのに用いられるメッセージと前記メッセージの性質を示すメッセージ種別とを含む対話情報を、前記データユニットに基づいて生成し、前記リンク生成ステップで生成したリンクに関連づける対話情報生成ステップ。
この方法を用いることにより、例えば個人が作成した旅行記などを元に、話題ネットを生成することができる。
前記第３の実施態様において、前記リンク生成ステップは、前記開始話題に対応するノードと前記終了話題に対応するノードとが同一のノードである場合、リンクの生成を中止してもよい。前記対話情報生成ステップは、リンクの生成が中止された場合、生成した対話情報を前記ノードに関連づけるとよい。
この場合、生成される対話情報は、リンクではなくノード、すなわち話題に関連づけられる。
前記第３の実施態様において、前記データユニットは付加情報をさらに含んでいてもよい。前記対話情報生成ステップは、同一のリンクまたは同一のノードについて同じデータ種別を含むデータユニットが複数存在する場合、前記付加情報に基づいていずれかのデータユニットを選択し、選択したデータユニットに基づいて対話情報を生成することができる。
例えば付加情報がデータユニットの作成日時である場合、最も新しいデータユニットに基づいて対話情報を生成することができる。
前記第３の実施態様において、前記対話情報生成ステップは、前記付加情報に基づいて前記対話情報を生成することができる。
例えば付加情報として、データユニットに含まれるテキストデータの作成日時を用いることが挙げられる。作成日時が古ければ、テキストデータに基づいて作成するメッセージの文頭に、「ちょっと昔の話になりますが」という前置きを追加することができる。
前記第３の実施態様において、前記ノード生成ステップは、話題が重複するノードの生成を中止するステップを含んでいることが好ましい。
前述の方法を実行する話題ネットの生成装置、プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。
【図面の簡単な説明】  図１は、本発明を適用した対話装置の構成を示す説明図である。
図２（ａ）は、話題ネットの一例を示す説明図である。
図２（ｂ）は、同図（ａ）に示す話題ネットにおける対話情報の一例を示す説明図である。
図３（ａ）は、話題ネットの元となるテーブル形式のデータの一例を示す説明図である。
図３（ｂ）は、話題クラスの定義の一例と、話題クラス間の関連づけの定義の一例と、を示す説明図である。
図４（ａ）は、話題クラスと話題クラスとを関連づけるリンクに対話情報テンプレートが定義されていることを示す説明図である。
図４（ｂ）は、同図（ａ）に示す対話情報テンプレートの一例を示す説明図である。
図５は、テーブル形式のデータに基づいて話題ネットを生成する生成処理の流れの一例を示すフローチャートである。
図６及び図７は、図５に示すフローチャートに従い、図２（ａ）の話題ネットを生成する生成処理の説明図である。
図８（ａ）は、別の話題ネットの一例を示す説明図である。
図８（ｂ）は、同図（ｂ）に示す話題ネットにおける対話情報の一例を示す説明図である。
図９は、話題ネットの元となるツリー形式のデータの一例を示す説明図である。
図１０（ａ）は、ツリー構造の定義を示す説明図である。
図１０（ｂ）は、話題クラスの定義の一例と、話題クラス間の関連づけの定義の一例と、話題クラスと話題クラスとを関連づけるリンクに対話情報テンプレートが定義されていることを示す説明図である。
図１１（ａ）、（ｂ）は、前記図１０（ｂ）に示す対話情報テンプレートの一例を示す説明図である。
図１２は、ツリー形式のデータに基づいて話題ネットを生成する生成処理の流れの一例を示すフローチャートである。
図１３は、図１２に示すフローチャートに従い、図８（ａ）の話題ネットを生成する生成処理の説明図である。
図１４（ａ）は、話題ネットの話題に関連づけられた話題データの概念説明図である。
図１４（ｂ）は、対話情報を対話生成スクリプトを用いて生成することを示す説明図である。
図１５（ａ）は、前記図８（ａ）の話題ネットにおける話題データの具体例を示す説明図である。
図１５（ｂ）は、前記図８（ａ）の話題ネットを生成するための対話生成スクリプトの一例を示す説明図である。
図１６は、話題ネットの元となる別のデータ形式の一例を示す説明図である。
図１７は、図１６に示すデータに基づいて生成される、話題ネットの断片を示す説明図である。
図１８は、前記図１６に示すデータに基づいて話題ネットを生成する生成処理の流れの一例を示すフローチャートである。
【発明を実施するための最良の形態】  ＜全体構成＞
図１は、本発明を適用した対話システムの構成を示す。対話システムは、対話装置１０とＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）２０とを含んでいる。対話装置１０及びＧＵＩ２０は、マウスやディスプレイ、タッチパネルなどの入出力手段と接続されるコンピュータ上で動作する。
対話装置１０は、話題ネットを生成する話題ネット管理部１と、話題ネットに基づいて対話を進行させる対話制御部２とを有している。話題ネット管理部１は、話題ネットを生成するためのデータベース３０ａ，ｂ，ｃにアクセス可能である。データベース３０ａ，ｂ，ｃは、対話装置１０が搭載されたコンピュータのハードディスク内に構築されていてもよい。また、データベース３０ａ，ｂ，ｃは、ネットワーク４０を介して対話装置１０がアクセス可能なように構築されていてもよい。データベース３０ａ，ｂ，ｃに蓄積されるデータは、後述するように、テーブル形式、ツリー形式、ＸＭＬ形式など、特に限定されない。複数の形式のデータから１つの話題ネットを生成してもよい。
話題ネット管理部１による話題ネットの生成は、ＧＵＩ２０を操作するユーザと対話装置１０との対話の開始前に一括して行うことができる。また、対話の進行に応じ、話題ネットを少しずつ生成してもよい。対話の進行に応じて話題ネットを生成する場合は、対話の進行に応じて必要となった話題やその周辺の話題を含む話題ネットを生成するとよい。こうすることで、不必要な話題ネットの生成を防ぐことができ、不必要なデータの記憶のためにコンピュータ資源を浪費しなくてすむ。また、話題ネット管理部１は、既に生成した話題ネットの作成日時を記憶し、一定時間経過した古い部分を削除してもよい。こうすることで、常に話題ネットを新しい状態に保つことができる。また、話題ネット管理部１は、話題ネットに含まれる話題の使用頻度や、後述する対話情報の使用頻度を記憶しておいてもよい。これにより、使用頻度の低い話題ネットの一部分を検出し、そのような部分を話題ネットから削除していき、常に話題ネット全体が効果的に使われている状態を保つことができる。
＜話題ネット＞
次に、本発明により生成される話題ネットとその用途とについて、説明する。図２は、話題ネットの概念説明図である。話題ネットは、同図（ａ）に示すように、ノードとノードを連結するリンクとを含んでいる。各ノードには、話題及び話題ＩＤが対話付けられている。話題ＩＤは、話題ネットのノードを特定する識別子である。例えば話題「ローマ」を持つノードは、話題ＩＤ「ＴＰ１１１」で識別される。また各話題やリンクには、対話情報が関連づけられている。対話情報とは、話題ネットを用いて対話を進行させるためのテキストメッセージを含む情報である。話題ネットを用いた対話では、各話題を連結するリンクに沿って話題が変化することにより、対話が進行する。なお、図２の例では、各話題を連結するリンクは方向を持つ。この方向は、リンク先の話題の方がリンク元の話題よりも個別的な話題であることを示す。ただし、話題ネットによっては、リンクの方向は別の意味を持つ場合もある。また、必ずしもリンクが方向を持たなくてもよい場合もある。
図２（ｂ）は、リンクに関連づけられた対話情報の一例を示す。この例では、話題「イタリア」から話題「ローマ」へのリンクに関連づけられた対話情報を示している。対話情報に含まれるテキストメッセージは、具体的には、システムメッセージとユーザメッセージとに分けられる。システムメッセージは、対話装置１０がユーザに対して出力するためのテキストメッセージである。ユーザメッセージは、ユーザが対話装置１０に対して自分の発言として選択できるテキストメッセージである。対話情報には、システムメッセージを示すメッセージフラグ「Ｓ」またはユーザメッセージを示すメッセージフラグ「Ｕ」のいずれかが含まれている。なお、対話情報は、テキストメッセージだけでなく、画像ファイルや音声ファイルを含んでいても良い。
また、この例で示すように、対話情報は、テキストメッセージの性質を示すメッセージ種別を含んでいる。この図では、メッセージ種別として、「説明」、「お勧め説明」、「質問」、「肯定回答」、「否定回答」が例示されている。さらに、リンクに関連づけられた対話情報は、テキストメッセージによりどちらの話題からどちらの話題に移行するかという「方向」を含んでいる。言い換えれば、「方向」は、リンクをどちらの方向に辿る際に使われるテキストメッセージであるかを示す。
対話情報は、例えば次のように使われる。対話装置１０が話題「イタリア」から話題「ローマ」へのリンクに関連づけられたシステムメッセージの１つ、「イタリアでは、ローマに行ってみたいですか？」を出力したとする。これに対し、ユーザが肯定回答「ローマに行ってみたいです。」を選択すると、話題は「イタリア」から「ローマ」に進む。このようにして話題が変化していくことにより、対話が進行する。
＜第１実施形態例＞
次に、前記対話装置１０の話題ネット管理部１が話題ネットを生成する方法について、具体的に説明する。本実施形態例では、テーブル形式のデータを元に話題ネットを生成する方法について説明する。説明を容易にするために、前記図２に示す話題ネットを生成する場合について説明する。なお、以下の方法で生成される話題ネットの各ノードには、話題クラスが対応付けられている。話題クラスは、この図の例では、「地域」、「国」、「都市」である。話題クラスは、話題ネットの生成に先立ち、前もって定義される。話題クラスの定義については詳細を後述する。
図３（ａ）は、図２の話題ネットを生成する元となるテーブル形式のデータの一例を示す。ここでは、２つのテーブルが作成されている。一方のテーブルには、「地域」と「国」とが対応付けられて１レコードに記憶されている。もう一方のテーブルには、「国」と「都市」とが対応付けられて１レコードに記憶されている。
図３（ｂ）は、このようなテーブルに対し、テーブルのフィールドの全部または一部と対応付けられた話題クラスの定義を例示する。また、この図は、話題クラス間の関連づけの定義を例示する。この例では、全てのフィールドに対応する話題クラスが定義されている。この例では、フィールド名「地域」、「国」、「都市」と、話題クラス名「地域」、「国」、「都市」と、は同一である。また話題クラス間の定義は、「地域」から「国」へ、「国」から「都市」へリンクを生成するように定義づけられている。
このような話題クラスの定義及び話題クラス間の関連づけの定義に従い、話題ネットのノードと、ノードの話題と、ノードを連結するリンクとが生成される。例えば、話題クラス「国」及び「都市」に対応するノード、各ノードの話題、及び「国」から「都市」へのリンクが生成される。さらに具体的には、１レコードを形成するフィールドデータ「イタリア」と「ローマ」から、話題「イタリア」及び話題「ローマ」を有するノードがそれぞれ生成される。また話題「イタリア」から話題「ローマ」へのリンクが生成される。ここで、「イタリア」及び「ローマ」は、それぞれ話題クラス「国」及び「都市」に対応している。
図４（ａ）は、話題クラス間を定義する各リンクには、対話情報テンプレートがさらに定義されていることを示す。対話情報テンプレートは、各話題を連結するリンクに関連づける対話情報を生成する。図４（ｂ）は、話題クラス「国」から話題クラス「都市」へのリンクに定義された対話情報テンプレートの一例である。対話情報テンプレートは、テキストメッセージを生成するための「テンプレート」、「メッセージ種別」、「方向」、及び「メッセージフラグ」を含んでいる。
「テンプレート」は、１レコード中のフィールドに記述されるフィールドデータに基づいてテキストメッセージが完成するように定義されている。フィールドデータは、生成される対話情報が関連づけられるリンクにより連結されるノードの話題クラスに対応する。例えば、テンプレート「＜国＞では＜都市＞が有名ですね。」の＜国＞と＜都市＞とにデータが埋め込まれ、テキストメッセージが完成する。例えば＜国＞には、話題クラス「国」に対応するフィールド「国」のデータ、例えば「イタリア」が埋め込まれる。＜都市＞には、話題クラス「都市」に対応するフィールド「都市」のデータ、例えば「ローマ」が埋め込まれる。「メッセージ種別」は、テンプレートにより生成される対話情報のメッセージ種別を規定する。「方向」は、テンプレートにより生成される対話情報の方向を規定する。「システムフラグ」は、テンプレートにより生成されるテキストメッセージのシステムフラグ「Ｓ／Ｕ」を規定する。
図５は、話題ネット管理部１が実行する生成処理の流れの一例を示すフローチャートである。この生成処理は、テーブル形式のデータから話題ネットを生成する。
ステップＳ１：まず、話題ネット管理部１は、テーブル形式のデータの集合から１レコード分のデータを読み出す。
ステップＳ２：ついで話題ネット管理部１は、話題クラスの定義に基づいて、読み出したレコードに含まれるフィールドデータのうち、対応する話題クラスが存在するフィールドデータに対するノードを生成する。またそのノードに対応する話題を生成する。本実施形態例では、話題はフィールドデータと同じである。また、話題ネット管理部１は、既に同じ話題をもつノードが生成されていれば、重複する話題を有するノードを新たに生成しない。
ステップＳ３：話題ネット管理部１は、生成した話題同士を、話題クラス間の定義に従ってリンクする。
ステップＳ４：さらに話題ネット管理部１は、対話情報テンプレートを用い、生成したリンクに関連づけられる対話情報を生成する。
ステップＳ５：話題ネット管理部１は、前記ステップＳ１〜Ｓ４の処理をテーブル形式のデータに含まれる全てのレコードについて行う。
ステップＳ６：話題ネット管理部１は、話題ネットを生成するテーブルが複数ある場合には、全てのテーブルについて前記ステップＳ１〜Ｓ５の処理を行う。
図６及び図７は、話題ネット管理部１が前記図５のフローチャートに基づいて話題ネットを生成する過程を示す説明図である。説明を容易にするためテーブル形式のデータ、話題クラスの定義、話題クラス間の関連づけの定義、対話情報テンプレートの定義は、前記図２〜図４に示したものを用いる。
まず、一方のテーブルから、１つのレコードを読み出す。このレコードには、地域「ヨーロッパ」と国「イタリア」が含まれている（図６（ａ））。ついで、話題クラス「地域」及び「国」に対応するフィールドデータ「ヨーロッパ」と「イタリア」とに対し、それぞれノードと話題とが生成される（同図（ｂ））。
ついで生成されたノードが、「地域」から「国」へのリンクの定義に従ってリンクされる。つまり、話題「ヨーロッパ」から話題「イタリア」へのリンクが生成される（同図（ｃ））。生成されたリンクに対し、「地域」から「国」へのリンク用テンプレートに基づいて、対話情報が生成される（同図（ｄ））。
「ヨーロッパ」、「フランス」を含む次のレコードについても同様の処理が繰り返される。ただし、話題「ヨーロッパ」を有するノードが既に生成されているので、フィールドデータ「ヨーロッパ」に基づく新たなノードと話題とは生成されない。同様にして、地域「アジア」特に「日本」とを含むレコードについても、話題「アジア」及び「日本」が生成され、各話題を結ぶリンクと対話情報とが生成される（同図（ｅ）〜図７（ｈ））。
「地域」と「国」とを対応づけたテーブル形式のデータを全部読み出すと、次に「国」と「都市」とを対応付けたテーブル形式のデータを順次読み出す（図７（ｉ））。例えば、このテーブルで最初のレコード「イタリア」、「ローマ」が読み出される。話題「イタリア」を有するノードは既に生成されているので、フィールドデータ「イタリア」に基づく新たなノードと話題とは生成されない。しかし、フィールドデータ「ローマ」に対するノードとその話題「ローマ」とは、まだ存在していないので新たに生成される（同図（ｊ））。ついで、「国」から「都市」へのリンクの定義に従い、話題「イタリア」と話題「ローマ」とがリンクされる（同図（ｋ））。その後「国」から「都市」へのリンク用テンプレートに基づいて、対話情報が生成される（同図（ｌ））。この処理を全てのレコードについて繰り返し、話題ネットを生成する。
以上述べたように、テーブル形式のデータのフィールドと、話題クラス及び話題クラス間の定義とをしておけば、テーブルのレコードを用意するだけで自動的に話題ネットの話題を生成することができる。また別の目的で作られたテーブル形式のデータが存在する場合には、それに合わせて話題クラス間の定義を行うことにより、自動的に話題ネットを生成することができる。このようにして、既存のデータベースを活用して効率的に膨大な話題を有する話題ネットを生成することができる。
＜第２実施形態例＞
次に、前記対話装置１０の話題ネット管理部１が、ツリー形式のデータを元に話題ネットを生成する方法について説明する。説明を容易にするために、図８に示す話題ネットを生成する場合を考える。図８（ａ）は、別の話題ネットの一例を示す。この話題ネットは、ノードと、各ノードを連結する方向付きリンクとを含む。各ノードには、話題と話題ＩＤと話題クラスとが対応付けられている。また、各リンクには、対話情報が関連づけられている。
図８（ｂ）は、同図（ａ）の話題ネットに含まれる対話情報の一例を示す説明図である。この例では、話題「ミラノ」から話題「ドゥオモ」へのリンクに関連づけられた対話情報と、話題「ドゥオモ」から話題「歴史的建造物」へのリンクに関連づけられた対話情報とを示している。他のリンクにも、同様の対話情報が関連づけられている。
図９は、前記図８に示す話題ネットの元となるツリー形式のデータの一例である。この例では、ＸＭＬファイルでツリー形式のデータを記述している。ＸＭＬファイルでは、どのようなタグやタグで囲まれる属性値が、ツリー内のどのような位置に来るかを定義することができる。この図では、タグ＜観光地＞で挟まれた部分は、テーブル形式のデータで言う１レコードに相当し、ツリー構造を有している。なお、ツリー形式のデータの集合は、ＸＭＬファイルだけでなく、通常のテキストファイル、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルなどでも記述でき、ファイル形式は特に限定されない。
図１０（ａ）は、前記図９のＸＭＬファイルが記述するツリー構造を示す説明図である。ＸＭＬファイルが持つツリー構造は、ＸＭＬファイルのタグ「観光地」、「所在地の都市」、「種類」、「料金」、「有名度」が階層を有することで形成される。図９のＸＭＬファイルの１ツリーでは、タグ「観光地」の下に、タグ「所在地の都市」、「種類」、「料金」、及び「有名度」がそれぞれ位置する。図１０（ｂ）は、話題クラス及びそれらの関連づけの定義を例示している。この図では、話題クラス及びその関連づけの定義は、同図（ａ）のツリー構造に対する定義である。この例では、ＸＭＬファイルに含まれる５種類のタグのうち、３つのタグに対応する話題クラスが定義されている。具体的には、タグ＜観光地＞に対応して話題クラス「観光地」が、タグ＜所在地の都市＞に対応して話題クラス「都市」が、タグ＜種類＞に対応して話題クラス「種類」が、それぞれ定義されている。ＸＭＬファイル中のタグ＜料金＞及び＜有名度＞に対応する話題クラスは定義されていない。３つの話題クラスの関連づけとして、話題クラス「都市」から「観光地」へのリンクと、「観光地」から「種類」へのリンクとが、それぞれ定義されている。話題クラス間を連結するリンクは、ツリー構造と対応するように定義するのが好ましいが、必ずしも対応しなくてもよい。
このような話題クラスの定義及び話題クラス間の関連づけの定義に従い、話題ネットのノードと、ノードの話題と、ノードを連結するリンクとが生成される。例えば、話題クラス「都市」及び「観光地」に対応するノード、各ノードの話題、及び「都市」から「観光地」へのリンクが生成される。さらに具体的には、１ツリーを形成するフィールドデータ「ドゥオモ」と「ミラノ」から、話題「ドゥオモ」及び話題「ミラノ」を有するノードがそれぞれ生成される。また話題「ミラノ」から話題「ドゥオモ」へのリンクが生成される。ここで、「ドゥオモ」及び「ミラノ」は、それぞれ話題クラス「観光地」及び「都市」に対応している。
図１０（ｂ）は、話題クラス及び話題クラス間の定義に加え、対話情報テンプレートの定義をさらに示している。この図では、話題クラス「都市」から「観光地」へのリンクには、対話情報テンプレート１が定義されている。また、話題クラス「観光地」から「種類」へのリンクには、対話情報テンプレート２が定義されている。図１１（ａ）及び（ｂ）は、対話情報テンプレート１及び２の一例をそれぞれ示す。前記テーブル形式のデータにおける対話情報テンプレートと同様に、対話情報テンプレートはテンプレート、メッセージ種別、方向及びメッセージフラグを含んでいる。
図１２は、話題ネット管理部１がツリー形式のデータから話題ネットを生成する生成処理の流れの一例を示すフローチャートである。
ステップＳ１１：まず、話題ネット管理部１は、ＸＭＬファイルなどツリー形式のデータ集合から、１ツリー分のデータを読み出す（Ｓ１１）。
ステップＳ１２：ついで、話題ネット管理部１は、ツリーを形成する各ノード、例えばＸＭＬファイルの各タグのうち、対応する話題クラスが存在するものについて、話題ネットのノード及びその話題を生成する。ノードの話題とは、ツリーのノードの属性値、例えばＸＭＬファイルのタグの属性値である。ツリーのノードの属性値と同じ話題を有するノードが既に生成されていれば、新たにノードと話題とを生成する必要はない。
ステップＳ１３：話題ネット管理部１は、生成された話題を、前記話題クラス間の関連づけの定義に従ってリンクする。
ステップＳ１４：さらに、話題ネット管理部１は、各リンクに定義されている対話情報テンプレートを用い、生成したリンクに関連づけられた対話情報を生成する。
ステップＳ１５：次いで、話題ネット管理部１は、データ集合、例えばＸＭＬファイルのうち読み出していないデータがあるかどうかを判断し、全てのデータについて前記ステップＳ１１〜Ｓ１４の処理を繰り返す。
ステップＳ１６：話題ネット管理部１は、前記ステップＳ１１〜Ｓ１５の処理を、話題ネットの元となる全てのツリー形式のデータ集合について実行する。例えば複数のＸＭＬファイルに基づいて１つの話題ネットを生成したり、ＸＭＬファイルとＨＴＭＬファイルとに基づいて１つの話題ネットを生成することができる。
図１３は、話題ネット管理部１が前記図１２のフローチャートに基づいて話題ネットを生成する過程を示す説明図である。説明を容易にするために、ツリー形式のデータ、話題クラスの定義、話題クラス間の関連づけの定義、対話情報テンプレートの定義は、前記図９〜１１のようになっているとする。
まず、ＸＭＬファイルから、１ツリー分のデータを読み出す（図１３（ａ））。例えば、観光地「ドゥオモ」、所在地の都市「ミラノ」、種類「歴史的建造物」、料金「なし」、及び有名度「１０」を読み出す。ついで、ツリーを構成するタグのうち、対応する話題クラスが存在するタグの属性値について、ノードとその話題とを生成する（同図（ｂ））。話題クラスに対応するタグの属性値そのものが、タグに対応するノードの話題となる。例えば、「観光地」という話題クラスに対応するタグ＜観光地＞について生成されたノードの話題は、「ドゥオモ」となる。また、話題クラス「都市」に対応するタグ＜所在地の都市＞について生成されたノードの話題は、「ミラノ」となる。
ついで、生成した各話題を前記話題クラス間の関連づけの定義に従ってリンクする（同図（ｃ））。これにより、話題「ミラノ」から話題「ドゥオモ」へのリンクと、話題「ドゥオモ」から話題「歴史的建造物」へのリンクとが、それぞれ生成される。生成したリンクについて、対話情報テンプレートに従って対話情報を生成する（同図（ｄ））。これを、ＸＭＬファイルに含まれる全てのツリー形式のデータについて繰り返す。また、複数のツリー形式のデータファイルに基づいて１つの話題ネットを生成する場合には、各ファイルについてこの処理を繰り返す。これにより、ツリー形式のデータに基づいて話題ネットを生成することができる。
以上述べたように、ツリー形式のデータの集合に合わせて話題クラス及び話題クラス間の定義をしておくことにより、膨大な話題を含む話題ネットをツリー形式のデータから自動的に生成することができる。
＜第３実施形態例＞
対話情報の生成方法は、対話情報テンプレートによる生成に限られない。本実施形態例では、話題ネット管理部１は、対話生成スクリプトに基づいて対話情報を生成する。説明を容易にするために、前記図８に示す話題ネットの対話情報の生成を例に取る。
まず、図１４（ａ）に示すように、話題ネットを構成するノードに、話題ＩＤ、話題、話題クラスだけでなく属性情報を対応付ける。そして、図１４（ｂ）に示すように、各リンクに対話生成スクリプトを定義する。この対話生成スクリプトは、話題、話題クラス、及び属性情報に基づいて対話情報を生成する。属性情報は、テーブル形式のデータ集合やツリー形式のデータ集合から抽出することができる。
図１５（ａ）は、属性情報の具体例を示す説明図である。ノードＴＰ１０１や、ノードＴＰ１１２は、それぞれ属性情報として、「種類」、「料金」及び「有名度」を有している。この例では、図９に示すＸＭＬファイルのツリーを構成するタグとその属性値のうち、対応する話題クラスが存在しないタグとその属性値とを、ツリー構造の頂点のタグに対応するノードの属性情報に用いている。つまり、タグ＜種類＞、＜料金＞、及び＜有名度＞とその属性値が、ツリー構造の頂点のタグ＜観光地＞に対応する各ノードの属性情報となっている。
図１５（ｂ）は、対話生成スクリプトの具体例を示す説明図である。この例は、前記図１５（ａ）に示すデータに基づいて対話情報を生成する対話生成スクリプトを示す。この対話生成スクリプトは、話題クラス「都市」から「観光地」へのリンクに対して定義されている。またこの対話スクリプトは、話題クラス「観光地」及び「都市」、属性情報「有名度」の値に基づいて、テキストメッセージを生成する。
対話生成スクリプトを用いると、対話情報テンプレートに比して対話情報を柔軟に生成することができる。対話生成スクリプトを用いた対話情報の生成は、前記テーブル形式のデータから話題ネットを生成する場合にも、ツリー形式のデータから話題ネットを生成する場合にも適用することができる。また、両者の形式のデータの組み合わせから話題ネットを生成する場合にも適用することができる。
＜第４実施形態例＞
話題ネット管理部１は、テーブル形式のデータやツリー形式のデータ以外のデータの集合に基づいて、話題ネットを生成することができる。話題ネットを用いて効果的な対話を行うためには、個人の体験に基づいた具体的な話題を話題ネットに持たせることが好ましい。そのような話題を提供するデータとしては、例えば商品を検索するための話題ネットを生成するのであれば、商品のレビュー記事や掲示板への感想の書き込みが挙げられる。また、旅行場所を決めるための話題ネットを生成するのであれば、旅行記が挙げられる。さらに、レストランを検索する話題ネットを生成するのであれば、レストランの紹介記事が挙げられる。そこで、このようなデータに基づいて話題ネットを生成する方法について説明する。以下では、説明を簡単にするために、旅行記を用いて話題ネットを生成する場合を例に説明を行う。
図１６は、話題ネットの元となるデータ集合の別の例を示す説明図である。このデータ集合では、「データユニット」と、「開始話題」と、「終了話題」とが対応付けて記憶されている。データユニットは、個人が作成した旅行記を、会話中の一回分のメッセージとして適当な長さに分割して生成されたテキストメッセージを含む。既に書かれた旅行記を区切ってデータユニットを生成するのではなく、データユニットを作成しながら書かれた旅行記のデータユニットを利用しても良い。また、この例ではデータユニットはテキストデータであるが、画像データや音声データであってもよい。
開始話題とは、データユニットのテキストメッセージが出力されるきっかけとなる話題である。終了話題は、データユニットのテキストメッセージの内容によって行き着く先の話題である。図１６に示すように、開始話題と終了話題とは、どちらか一方が複数であってもよい。開始話題が複数であれば、複数の話題から同一のテキストメッセージが出力され、同一の話題に対話が移行することを意味する。逆に終了話題が複数であれば、同一の話題から同一のテキストメッセージが出力され、その結果複数の話題のいずれかに対話が移行することを意味する。
データユニットには、テキストメッセージの分類を示すメッセージ種別が含まれている。メッセージ種別は、対話情報に含まれるメッセージ種別のいずれかから選択して設定される。またデータユニットには、その他の付加情報が含まれていても良い。例えば、テキストメッセージの作成日時や、テキストメッセージの作成者を含んでいてもよい。
図１７は、図１６に示したデータの集合に基づいて話題ネットの断片を生成する方法を示す説明図である。まず、開始話題とデータユニットと終了話題とのセットを一つ読み出す。開始話題または終了話題のいずれかが複数の場合には、複数の開始話題または終了話題をまとめて読み出す。ついで、読み出した開始話題及び終了話題に対応するノードと、前記ノードの話題とを生成する。生成しようとする新たなノードと同じ話題を持つノードが既にある場合には、新たに同じ話題のノードを生成しない。話題は、読み出した開始話題または終了話題そのものである。また、開始話題から終了話題へノードを連結するリンクを生成する。さらに、生成したリンクに関連づける対話情報を、データユニットに基づいて生成する。ここで対話情報のメッセージ種別は、データユニットのメッセージ種別となる。また、対話情報のテキストメッセージは、データユニットに含まれるテキストメッセージとなる。開始話題と終了話題とが同じ場合は、データユニットに基づいて生成した対話情報はその話題を持つノードに関連づけられる。開始話題または終了話題が複数ある場合には、その開始話題から発生するリンクあるいはその終了話題へ結びつくリンクが複数存在することになる。そのような複数のリンクには同一のデータユニットから生成された対話情報が関連づけられる。このようにして話題ネットの断片を生成し、各断片がつなぎ合わされることにより、一つの話題ネットが生成される。
データユニットに付加情報を持たせておくことにより、生成する対話情報をデータユニットの中に含まれるテキストメッセージそのものではなく、変更することが可能になる。例えば、データユニットがテキストメッセージの作成日時を含んでいる場合を考える。この場合、対話情報のメッセージを生成する段階で作成日時を確認する。そして、一定の時間以上経過した古い情報であれば、「ちょっと昔の話になりますが、」という前置きとテキストメッセージとをつないだ対話情報のメッセージを作成することができる。また、同じ話題やリンクについて同じメッセージ種別を含むデータユニットが複数ある場合、付加情報に基づいていずれかのデータユニットを選択することができる。これにより、選択したデータユニットに基づいて対話情報を生成することもできる。例えば、データユニットに作成日時を含ませれば、最新のデータユニットに基づいて対話情報を生成することができる。また例えば、データユニットの中のテキストメッセージの作成者を付加情報として持たせておけば、人気のある作成者のテキストメッセージを優先的に対話情報の生成の元にすることができる。
図１８は、話題管理部１がテキストデータに基づいて話題ネットを生成する生成処理の流れの一例を示すフローチャートである。
ステップＳ２１：まず、話題ネット管理部１は、開始話題、データユニット、終了話題の１セットを読み出す。
ステップＳ２２：ついで、話題ネット管理部１は、開始話題と終了話題とを話題とするノードを生成する。既にその話題のノードが生成されていれば、新たな同一の話題を持つノードは生成しない。
ステップＳ２３：話題ネット管理部１は、開始話題に対応するノードから終了話題に対応するノードに向かうリンクを生成する。
ステップＳ２４：さらに話題ネット管理部１は、データユニットに含まれるテキストメッセージやメッセージ種別などに基づいて、対話情報を生成する。
ステップＳ２５：話題ネット管理部１は、前記ステップＳ２１〜Ｓ２４の処理を、全てのセットについて繰り返す。
以上の処理により、テーブル形式やツリー形式を持たないデータ、例えば個人が作成した旅行記や商品レビューなどのデータを元に話題ネットを生成し、個別具体的な話題を含む話題ネットを生成することができる。
【産業上の利用可能性】  本発明を用いれば、広範囲の話題を含む話題ネットを効率的に作成することができる。また本発明は、広い範囲の情報源に基づいて話題ネットを生成することができる。本発明を用いて生成された話題ネットを人との対話を行う対話システムに適用すれば、豊富な話題と自然な脈絡を有する対話を実行することができる。
【図１】
2004066164.tif 000003
【図２】
2004066164.tif 000004
【図３】
2004066164.tif 000005
【図４】
2004066164.tif 000006
【図５】
2004066164.tif 000007
【図６】
2004066164.tif 000008
【図７】
2004066164.tif 000009
【図８】
2004066164.tif 000010
【図９】
2004066164.tif 000011
【図１０】
2004066164.tif 000012
【図１１】
2004066164.tif 000013
【図１２】
2004066164.tif 000014
【図１３】
2004066164.tif 000015
【図１４】
2004066164.tif 000016
【図１５】
2004066164.tif 000017
【図１６】
2004066164.tif 000018
【図１７】
2004066164.tif 000019
【図１８】
2004066164.tif 000020
【国際調査報告】
2004066164.tif 000021
2004066164.tif 000022