(57)【特許請求の範囲】
【請求項１】
ユーザーと対話する対話インターフェースであって、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部と、
入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部と、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベースと、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部と、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部と、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部と
を備えることを特徴とする対話インターフェース。
【請求項２】
前記ユーザーと対話する対話入出力部と、
前記ポテンシャル場形成部が算出したユーザーポテンシャル場に基づき前記情報ソース取得部を通じて検索を行い、前記質問に対する回答を生成する回答生成部と、
前記回答生成部が生成した回答を、前記対話入出力部を通じて前記ユーザーに向けて出力する回答出力部と
をさらに備えることを特徴とする請求項１に記載の対話インターフェース。
【請求項３】
前記エゴグラムパラメーターは、複数種の自我状態を段階的に示す独立したパラメーターであり、
前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記ポテンシャル場形成部は、前記一定のルールとして、
前記各キーワードの重要度をそのキーワードのサイズとし、少なくとも前記各キーワードのサイズと、前記エゴグラムパラメーターの組合せに基づく定数と、に基づいて各キーワードが有する影響力であるエネルギーを決定し、前記ワード間距離に係る２つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する
ことを特徴とする請求項１又は２に記載の対話インターフェース。
【請求項４】
前記情報ソース取得部が取得した情報ソースに含まれるテキストデータからセンテンスを抽出するセンテンス解析部と、
前記センテンス解析部が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出する省略単語検出部と、
前記省略単語検出部が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する推定単語検出部と
入力されたテキストデータに対して、前記省略単語検出部が検出した省略単語の検出位置に前記推定単語を追加して、テキストデータを再構成するテキスト再構成部と、
をさらに備え、
前記キーワード解析部は、前記入力されたテキストデータを前記テキスト再構成部によって再構成し、再構成されたテキストデータから前記キーワードを抽出し、
前記群体パラメーター設定部は、前記再構成されたテキストデータ内における、各キーワードの出現頻度、センテンス内における位置関係に基づいて、前記群体パラメーターを設定する
ことを特徴とする請求項１又は２に記載の対話インターフェース。
【請求項５】
前記動的クラスタリング部は、前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する機能をさらに備えることを特徴とする請求項１又は２に記載の対話インターフェース。
【請求項６】
前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記動的クラスタリング部による前記変位処理で用いられる前記ルールには、
前記各キーワードの関連性の度合い基づいて、前記所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること、
前記各キーワードの重要度に基づいて、移動量を決定すること、
前記各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること、
が含まれることを特徴とする請求項５に記載の対話インターフェース。
【請求項７】
前記動的クラスタリング部は、前記一定のルールには、
特定の動的オブジェクトの変位が所定の振動をしているものとし、
当該特定の動的オブジェクトと、その周囲で振動する他の複数の動的オブジェクトとが、各摂動を介して相互作用を生じさせているものとし、
前記各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期するとして、
各動的オブジェクトについての前記変位処理を実行することを特徴とする請求項５又は６に記載の対話インターフェース。
【請求項８】
ユーザーと対話する対話インターフェースプログラムであって、コンピュータを、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部、
入力されたテキストデータから、キーワードを抽出するキーワード解析部、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベース、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部
として機能させることを特徴とする対話インターフェースプログラム。
【請求項９】
ユーザーと対話する対話インターフェースを用いた情報処理方法であって、
情報取得部が、情報ソースを取得する情報ソース取得ステップと、
キーワード解析部が、前記情報ソースから得られるテキストデータからキーワードを抽出するキーワード解析ステップと、
群体パラメーター設定部が、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定ステップと、
前記情報ソースから得られるテキストデータについて前記キーワード解析部が抽出したキーワードと、各キーワードについて前記群体パラメーター設定部が設定した群体パラメーターとを関連づけて、ユーザー情報データベースに蓄積するユーザー情報蓄積ステップと、
エゴグラム設定部が、前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定ステップと、
動的クラスタリング部が、各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリングステップと、
ポテンシャル場形成部が、前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成ステップと
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートフォンやパーソナルコンピュータその他の情報処理装置、ロボットなどに備えられ、ユーザーとの対話により情報を入力したり、検索して応答するための対話インターフェースに関する。
【背景技術】
【０００２】
近年では、情報がデータ化され手軽に検索してアクセスすることで、利用が可能であり、その膨大な情報データの中から適切な情報を検索して利用するためのインターフェースとして様々な方式が提案されている。スマートフォンやモバイルＰＣ等の小型・軽量化が進んだ情報処理端末、身近なデジタル家電商品、さらには最新のロボット等あらゆる分野で、利用者との対話に基づいて、適切な情報を入力したり、検索して応答することが望まれている。
【０００３】
従前より、このような対話方式によるコミュニケーションのコア技術として汎用人工知能が注目されている。この汎用人工知能によれば、検索対象となる検索キーワードなどを音声その他の入力デバイスにより入力することにより、その入力されたキーワードに応じた情報を検索し、見つかった情報を自動的に提示する（特許文献１参照。）。
【０００４】
特に、この対話方式によるコミュニケーションでは、形態素解析（自然文章中の単語解析）の技術などを利用して、単語ではなくフリーテキスト（自然文章）をキーワードとして検索することができる検索エンジンも開発されており（特許文献２参照。）、このような検索エンジンによれば、複合名詞や数値範囲を含んだ自然文章を検索することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２８０３４６号公報
【特許文献２】特開平１１−１２０１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、人間による日常的な会話は、極めて大まかであり無造作に交わされるものであることから、上述した汎用人工知能による、自然文章をキーワードとして検索する方式では、ユーザーによって入力された文章若しくは発せられた音声に含まれる文字列を抽出してデータベースやネットワークの検索を行い、マッチした情報を返すだけの知識ベースの知能であることから、正確な検索を行うために適切な自然文章を入力しなければならず、マッチした情報がなければ情報が見つからない旨の回答を画一的に返すのみであり、高度なコミュニケーションが図れないという問題があった。
特に、話し手の感情が大きく影響する日常会話では、同じ意味合いの言葉であっても、ユーザーの性格により、その言葉に対するユーザーの受け止め方が異なり、その言葉がユーザーに与える心的な影響度も変化してしまう。そのため、従来のように、単純に音声を解析して得られるキーワードを組合せて検索するのみでは、話し手である個々のユーザーを面白がらせて、対話を継続させられるような検索結果を提供することは困難であった。
【０００７】
そこで、本発明は、上記のような問題を解決するものであり、話し相手の性格を考慮したうえで、言葉がそれぞれのユーザーに与える影響度を推定し、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションが可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、ユーザーと対話する対話インターフェースであって、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部と、
入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部と、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記群体パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベースと、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部と、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部と、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部と
を備えることを特徴とする。
【０００９】
また、本発明は、ユーザーと対話する対話インターフェースプログラムであって、コンピュータを、
前記ユーザーが利用した情報を情報ソースとして取得する情報ソース取得部、
入力されたテキストデータから、キーワードを抽出するキーワード解析部と、
入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定部、
前記情報ソースに含まれるテキストデータについて前記キーワード解析部が抽出したキーワードを、それぞれのキーワードについて前記パラメーター設定部が設定した群体パラメーターと関連づけて蓄積するユーザー情報データベース、
前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定部、
前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリング部、
前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部
として機能させることを特徴とする。
【００１０】
さらに、本発明は、  ユーザーと対話する対話インターフェースを用いた情報処理方法であって、
情報取得部が、情報ソースを取得する情報ソース取得ステップと、
キーワード解析部が、前記情報ソースから得られるテキストデータからキーワードを抽出するキーワード解析ステップと、
群体パラメーター設定部が、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定する群体パラメーター設定ステップと、
前記情報ソースから得られるテキストデータについて前記キーワード解析部が抽出したキーワードと、各キーワードについて前記群体パラメーター設定部が設定した群体パラメーターとを関連づけて、ユーザー情報データベースに蓄積するユーザー情報蓄積ステップと、
エゴグラム設定部が、前記キーワードのうち、特定の人、物又は事象に関するキーワードを前記群体パラメーターに従って、各キーワードの分布状態をマップとして作成し、前記マップ上における各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定するエゴグラム設定ステップと、
動的クラスタリング部が、各キーワードを、各キーワードに設定された前記群体パラメーターに応じた動的オブジェクトとして仮想空間上にそれぞれ配置する動的クラスタリングステップと、
ポテンシャル場形成部が、前記エゴグラム設定部によって設定された前記エゴグラムパラメーター、及び前記群体パラメーター設定部が設定した群体パラメーターに基づいて、前記動的オブジェクトの大きさ又は位置を補正するとともに、前記マップ上に配置された動的オブジェクト全体の重心位置を前記ユーザーの自我の中心として設定し、前記仮想空間上における前記重心位置から各キーワードまでのワード間距離、及び各キーワードの大きさに基づいて、各キーワードに対する前記ユーザーの反応パターンを示すユーザーポテンシャル場を算出する  ポテンシャル場形成ステップと
を含むことを特徴とする。
【００１１】
これらの発明では、先ず、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、キーワード解析部が抽出したキーワードと、各キーワードについて群体パラメーター設定部が設定した群体パラメーターとを関連づけて蓄積しておく。この群体パラメーターは、記事やＷｅｂページのパラグラフなど所定の文章単位で記事毎に、関連する単語同士の関連性、関連強度を数値化したデータであり、同一記事内に同時に使用されている頻度や、それらの文法的な結びつきを解析することにより、各単語について個別的に設定される。
【００１２】
次に、特定の人、各キーワードに対する前記ユーザーの自我状態を示すエゴグラムパラメーターを設定する。このエゴグラムパラメーターは、人間の性格を５つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される５つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、性格診断などで求めて設定することができる。
【００１３】
これと併せて、各キーワードに設定された群体パラメーターに応じた動的オブジェクトとして、各キーワードを仮想空間上にそれぞれ配置してワールドマップを生成し、このワールドマップ上における各キーワード間の距離をワード間距離として算出する。このワード間距離は、群体パラメーターに含まれる関連する単語同士の関連性、関連強度に基づいて設定されるものであり、後述する一定のルールに則ったシミュレーションによる変位処理によって定める方法の他、例えば、ＷｏｒｄＮｅｔ等の概念辞書（意味辞書）やｗｏｒｄ２ｖｅｃ等の単語をベクトル化して定量化する自然言語処理など、周知の手法で算出してもよい。
【００１４】
次いで、エゴグラムパラメーター及び群体パラメーターに基づいて、ユーザーの性格や話題に対する関心の程度などを加味してワード間距離を補正するとともに、マップ上に配置された動的オブジェクト全体の重心位置をユーザーの自我の中心として設定し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を生成する。
【００１５】
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合に、その入力された文章からキーワードを抽出し、抽出された各キーワードについてユーザー情報データベースを参照し、各キーワードについて、ユーザー自身を中心とするユーザーポテンシャル場を参照して、各キーワードのユーザーからの相対距離を算出する。
【００１６】
この結果、本発明によれば、このユーザーの性格が反映され、自己を中心としたユーザーポテンシャル場上において、ユーザー自身を意味する文言から、各キーワードに対するワード間距離、及び各キーワードの大きさ（出現頻度や重要度等）を用いることにより、各キーワードに対するユーザーの受け止め方や、ユーザーに与える心的な影響度を反応パターンとして推定したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を再現することができる。なお、各キーワードがユーザーに与える心的な影響度は、各キーワードに係る動的オブジェクトが、群体パラメーターに応じた、大きさや質量、重力場を有する物体（天体）と仮定して、これらの仮想的なパラメーターを用いた、引き込み現象や、引力や反発力、重力伝播などの物理現象に擬えた物理法則（クーロン力の法則、万有引力の法則、波動方程式）に当て嵌めることによって、算出してもよい。
【００１７】
上記発明では、前記ユーザーと対話する対話入出力部と、
前記ポテンシャル場形成部が算出したユーザーポテンシャル場に基づき前記情報ソース取得部を通じて検索を行い、前記質問に対する回答を生成する回答生成部と、
前記回答生成部が生成した回答を、前記対話入出力部を通じて前記ユーザーに向けて出力する回答出力部と
をさらに備えることが好ましい。
【００１８】
この場合には、話し手であるユーザーとの対話において、ユーザーの受け止め方や、ユーザーに与える心的な影響度を考慮したうえで、そのユーザーにとって心地よい、興味のある或いは刺激的な情報を選定するとともに、その情報をユーザーの好みに応じて加工することができ、ユーザーが所望する検索結果や回答表現を提供することが可能となる。ここで、ユーザーにとって心地よい情報や回答表現としては、例えば、単に有益な情報であるばかりでなく、ユーザーを面白がらせたり、興味を惹く表現であったり、対話を継続するきっかけとなるような情報や、相づちのような表現も含まれる。
【００１９】
上記発明において前記エゴグラムパラメーターは、複数種の自我状態を段階的に示す独立したパラメーターであり、
前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記ポテンシャル場形成部は、前記一定のルールとして、
前記各キーワードの重要度をそのキーワードのサイズとし、少なくとも前記各キーワードのサイズと、前記エゴグラムパラメーターの組合せに基づく定数とに基づいて各キーワードが有する影響力であるエネルギーを決定し、前記ワード間距離に係る２つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正することが好ましい。
【００２０】
上記発明では、前記情報ソース取得部が取得した情報ソースに含まれるテキストデータからセンテンスを抽出するセンテンス解析部と、
前記センテンス解析部が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出する省略単語検出部と、
前記省略単語検出部が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する推定単語検出部と
入力されたテキストデータに対して、前記省略単語検出部が検出した省略単語の検出位置に前記推定単語を追加して、テキストデータを再構成するテキスト再構成部と、
をさらに備え、
前記キーワード解析部は、前記入力されたテキストデータを前記テキスト再構成部によって再構成し、再構成されたテキストデータから前記キーワードを抽出し、
前記群体パラメーター設定部は、前記再構成されたテキストデータ内における、各キーワードの出現頻度、センテンス内における位置関係に基づいて、前記群体パラメーターを設定することが好ましい。
【００２１】
この場合には、情報ソースやユーザーからの問いかけについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成し、この再構成されたテキストデータからキーワードを抽出する。これにより、省略された主語や目的語などを推定することにより、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【００２２】
上記発明において、前記動的クラスタリング部は、前記各キーワードを、各キーワードに設定された前記群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する機能をさらに備えることが好ましい。
【００２３】
この場合には、人や環境、話者の趣味や気分などいろいろな指標や切り口によって、言葉相互の関係性（距離）に基づいて、自動的にクラスタリングを行うことができるとともに、新しい言葉や話題がワールドマップ上に出現した場合など、その影響が動的にワールドマップ全体に広がることとなり、ユーザーが対話の中で用いている言葉や話題がリアルに反映され、ユーザーやユーザーを取り巻く環境の変化に即座に追従して、常にユーザーにとって心地よい情報を選定し、加工することができる。
【００２４】
上記発明における前記群体パラメーターは、各キーワードの前記重要度は少なくとも出現頻度に基づいて算出され、前記キーワード間の関連性の度合いは少なくとも同じ文節内に出現した頻度に基づいて算出され、
前記動的クラスタリング部による前記変位処理で用いられる前記ルールには、
前記各キーワードの関連性の度合い基づいて、前記所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること、
前記各キーワードの重要度に基づいて、移動量を決定すること、
前記各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること、
が含まれることが好ましい。
【００２５】
この場合には、ユーザーが利用した情報データについて繰り返し一定のルールに則った変位処理を施すシミュレーションを実行することにより、関係性を有する単語は、重要度の高いものを中心として集まり、関係性のないものは離間していき、ユーザーの特性を反映させつつ動的に、より最適なワールドマップを形成することができる。
【００２６】
上記発明における前記動的クラスタリング部は、前記一定のルールにおいて、
特定の動的オブジェクトの変位が所定の振動をしているものとし、
当該特定の動的オブジェクトと、その周囲で振動する他の複数の動的オブジェクトとが、各摂動を介して相互作用を生じさせているものとし、
各動的オブジェクト間ではそれぞれの摂動を介して相互作用が生じさせ、それぞれの動的オブジェクトの前記振動が同期するとして
各動的オブジェクトについての前記変位処理を実行することが好ましい。
【００２７】
この場合には、それぞれが所定の摂動（ずれ）をもってバラバラに変位している動的オブジェクト群が、摂動を消失させる様に周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、関連があるにも関わらず普段使用されない言葉や情報を活性化させることができ、提供する情報の平準化と多様化を図ることができる。
【発明の効果】
【００２８】
以上述べたように、この発明によれば、同じ言葉（単語）の組合せであっても、それらの言葉が登場する話題や分野や、話し手であるユーザーがその言葉にどのような感情を抱いているかによって変化する言葉相互の関係性の強弱を考慮することができ、曖昧な日常会話をより正確に解析することができる。この結果、本発明によれば、このユーザーの性格が反映され、自己を中心としたワールドマップを用いることにより、各言葉に対するユーザーの受け止め方や、各言葉がユーザーに与える心的な影響度を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションが可能となる。
【図面の簡単な説明】
【００２９】
【図１】実施形態で用いられる情報処理端末のハードウェア構成を示すブロック図である。
【図２Ａ】実施形態に係る情報処理端末のＣＰＵ上に仮想的に構築されるＰＮ値算出機能に関するモジュールを示すブロック図である。
【図２Ｂ】実施形態に係る情報処理端末のＣＰＵ上に仮想的に構築されるワード間距離算出機能に関するモジュールを示すブロック図である。
【図２Ｃ】実施形態に係る情報処理端末のＣＰＵ上に仮想的に構築されるエゴグラムポテンシャル場算出機能に関するモジュールを示すブロック図である。
【図３Ａ】実施形態に係るＰＮ値算出機能の動作順序を示すフローチャート図である。
【図３Ｂ】実施形態に係るワード間距離算出機能の動作順序を示すフローチャート図である。
【図３Ｃ】実施形態に係るエゴグラムポテンシャル場算出機能の動作順序を示すフローチャート図である。
【図４Ａ】実施形態に係る文章ＰＮ値算出方法の概要を示す説明図である。
【図４Ｂ】実施形態に係る文章ＰＮ値算出の概要を示す説明図である。
【図４Ｃ】ＰＮ値算出機能における学習処理の動作順序を示すフローチャート図である。
【図４Ｄ】ＰＮ値算出機能における学習処理のデータ処理に関する説明図である。
【図４Ｅ】実施形態に係るＰＮ値算出における木構造によるフィルタリングの概要を示す説明図である。
【図５Ａ】ワード間距離算出機能における助詞係数に関する説明図である。
【図５Ｂ】ワード間距離算出機能における変位処理に関する説明図である。
【図５Ｃ】ワード間距離算出機能におけるクラスタリング及び動的パラメーターのデータ構造に関する説明図である。
【図６】実施形態に係るエゴグラムポテンシャル場の概要を示す説明図である。
【図７】第２実施形態に係る対話インターフェースエンジンのコア機能の概要を示す説明図である。
【図８】第２実施形態に係る対話インターフェースシステムの動作処理を示す説明図である。
【図９】第２実施形態に係る対話インターフェースエンジンの概略構成を示すブロック図である。
【図１０】第２実施形態に係る対話インターフェースシステムの全体構成を示すブロック図である。
【図１１】第２実施形態に係る初期化処理部の構成を示すブロック図である。
【発明を実施するための形態】
【００３０】
［第１実施形態］
以下に添付図面を参照して、本発明に係る対話インターフェースの第１実施形態を詳細に説明する。
【００３１】
（ハードウェアの構成）
図１は、本実施形態で用いられる情報処理端末のハードウェア構成を示すブロック図であり、図２は、本実施形態に係る情報処理端末のＣＰＵ上に仮想的に構築される対話インターフェースに関するモジュールを示すブロック図である。
【００３２】
情報処理端末１は、図１に示すように、演算処理を行うＣＰＵ１１と、データを一時的に記憶するメモリ１２と、通信ネットワーク２を介して外部との通信を行う通信Ｉ/Ｆ１３と、データを格納しておく記憶装置１４とを有している。なお、本実施形態では、これらのＣＰＵ１１、メモリ１２及び通信Ｉ/Ｆ１３、記憶装置１４，出力Ｉ/Ｆ１５と、入力Ｉ/Ｆ１６等は、ＣＰＵバス１０を介して接続されており、相互にデータの受渡しが可能となっている。
【００３３】
ＣＰＵ１１は、各部を制御する際に必要な種々の演算処理を行う装置である。このＣＰＵ１１は、メモリ１２に格納されているアプリケーションプログラム及び設定情報に基づいて、入力Ｉ/Ｆ１６から入力される内容に応じて、本発明に係る対話インターフェースアプリケーションを実行させる。ＣＰＵ１１上で、対話インターフェースアプリケーションが実行されることで、本発明の対話インターフェースが機能モジュールとして仮想的に構築される。
【００３４】
また、通信Ｉ/Ｆ１３は、通信ネットワーク２を介して通信を行うモジュールであり、公知の装置を用いることができる。なお、この通信Ｉ/Ｆ１３に外線若しくは内線用の電話回線を接続することにより、有線で通信を行うことができ、また、携帯電話等を接続することによって無線で通信を行うこともできる。この通信ネットワーク２は、電話回線に限られることなく、ＬＡＮなどでも同様の機能を実現することができる。
【００３５】
記憶装置１４は、データを記録媒体に蓄積するとともに、これら蓄積されたデータを各デバイスの要求に応じて読み出す記憶装置であり、例えば、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）、メモリカード等により構成することができる。
【００３６】
また、ＣＰＵバス１０には出力Ｉ/Ｆ１５と、入力Ｉ/Ｆ１６が接続されており、入力されたユーザー操作信号が入力Ｉ/Ｆ１６からＣＰＵバス１０を通してＣＰＵに入力されるとともに、各部に対する操作に関する情報がＣＰＵバス１０を介して出力Ｉ/Ｆ１５を介して、各出力デバイスから出力・表示される。
【００３７】
（対話インターフェースの構成）
本実施形態に係る対話インターフェースは、スマートフォンやパーソナルコンピュータその他の情報処理装置、ロボットなどに備えられ、ユーザーとの対話により情報を入力したり、検索して応答するためのモジュールである。ここで、モジュールとは、ＣＰＵ等の演算処理装置において、各種プログラムを実行することにより、ＣＰＵ上に仮想的に構築される機能ブロックであり、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組合せなどによって構成される。
【００３８】
本実施形態において対話インターフェースのエンジン部分は、ＣＰＵ１１上で、対話インターフェースアプリケーションが実行されることで、機能モジュールとして仮想的に構築され、具体的には、図２に示すように、ユーザーとの対話を行う対話入出力部６０と、対話に必要な情報を収集したり対話入出力部６０を通じて入出力されるデータに対して予め必要な処理を行う初期化処理部１００と、コア機能を実行するコア機能実行部２０と、ユーザー情報データベース５０とから概略構成される。
【００３９】
対話入出力部６０は、ユーザーと対話するためにデータを入出力するモジュールであり、ハードウェアとしては、出力Ｉ/Ｆ１５，入力Ｉ/Ｆ１６を通じて、情報処理端末１に接続されたディスプレイ５ｂやスピーカー５ａ、各種入力デバイス６ａ〜６ｃ、その他のセンサーや時計、ＧＰＳ機能を通じてデータを入出力する。そして、この対話入出力部６０は、ユーザーからの問いかけを取得する入力部６０ａと、ユーザーに対して情報を提示して回答する回答出力部６０ｂとを備えている。入力部６０ａは、ユーザーが入力したテキスト文章や音声の他、ユーザーの表情を撮影した画像・動画、タッチパネルへのタッチ操作、加速度センサー、時刻、ＧＰＳによる位置情報などの環境に関するデータも入力される。回答出力部６０ｂは、回答生成部１０７が生成した回答を、対話入出力部６０を通じてユーザーに向けて出力するモジュールであり、この出力もテキスト文章や音声の他、映像・動画、ロボットのアクションなど、種々の表現に対応できるように、所定の出力信号に変換する機能も備えている。
【００４０】
ユーザー情報データベース５０は、情報処理端末１に備えられた記憶装置１４や外部に設けられたストレージ装置に格納されるデータベースであり、他のデータベースとリレーションを設定することにより、情報を相互に参照し合えるリレーショナル・データベースである。このユーザー情報データベース５０は、情報ソースから得られるテキストデータについてキーワード解析部１０６が抽出したキーワードと、これらのキーワードについて群体パラメーター設定部３０１が設定した群体パラメーターとを関連づけて蓄積する記憶装置である。また、ユーザー情報データベース５０には、各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターが蓄積されている。
【００４１】
初期化処理部１００は、情報ソース取得部１０１が取得した情報ソースや、ユーザーから入力された入力データについて、コア機能部での処理を行う前に予め処理し、コア機能実行部２０に受渡しすモジュールである。本実施形態において、具体的に初期化処理部１００は、情報ソース取得部１０１と、センテンス解析部１０２と、省略単語検出部１０３と、推定単語検出部１０４と、テキスト再構成部１０５とを備えている。
【００４２】
情報ソース取得部１０１は、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、情報ソースデータベース４０ａやユーザー情報データベース５０に蓄積するモジュールである。すなわち、この情報ソースとしては、ユーザーがアクセスした情報やその履歴についても蓄積されており、情報ソース取得部１０１は、一般的な情報と、ユーザーが利用したプライベートな情報とを区分して情報ソースデータベース４０ａやユーザー情報データベース５０に蓄積され、管理されている。
【００４３】
センテンス解析部１０２は、情報ソース取得部１０１が取得した情報ソースから得られるテキストデータからセンテンスを抽出するモジュールである。例えば、このセンテンス解析部１０２は、文章のテキストデータから、句点から句点、或いはピリオドからピリオドまでなど、一連のセンテンスを切り出し、省略単語検出部１０３に入力する。
【００４４】
省略単語検出部１０３は、  センテンス解析部１０２が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出するモジュールである。具体的には、名詞、形容詞、動詞などの各文に含まれる単語の品詞を抽出し、主語となり得る名詞、特に固有名詞を検査し、見つからない場合は、主語が省略されているとして、その旨のフラグを文章データ中に挿入し、推定単語検出部１０４に入力する。
【００４５】
推定単語検出部１０４は、省略単語検出部１０３が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出するモジュールである。この推定単語は、先行する直前のセンテンスや段落、記事のヘッドラインなどに含まれる固有名詞などを選定する。検出された推定単語は、テキスト再構成部１０５へ入力される。
【００４６】
テキスト再構成部１０５は、入力されたテキストデータに対して、省略単語検出部１０３が検出した省略単語の検出位置に、推定単語検出部１０４が検出した推定単語を追加して、センテンスとして再構成するモジュールである。このテキスト再構成部１０５により再構成された文書データは、原文とともに情報ソースデータベース４０ａに蓄積されるとともに、コア機能実行部２０に入力される。
【００４７】
コア機能実行部２０は、本実施形態では、ワード間距離算出機能３００及びポテンシャル場算出機能４００を有している。ワード間距離算出機能３００は、キーワード解析部１０６と、動的クラスタリング部３０３と、回答生成部１０７と、群体パラメーター設定部３０１とを備えている。
【００４８】
キーワード解析部１０６は、入力されたテキストデータから、キーワードを抽出するモジュールであり、このキーワード解析部１０６で解析された各キーワードは、群体パラメーター設定部３０１に入力される。
【００４９】
また、キーワード解析部１０６、又はテキスト再構成部１０５によって再構成されたテキストデータからキーワードを抽出することもできる。具体的にキーワード解析部１０６は、情報ソースやユーザーからの問いかけについて、省略された単語を追加して再構成されたテキストデータを初期化処理部１００から受け取り、この再構成されたテキストデータから所定のキーワードを抽出する。これにより、省略された主語や目的語などを推定することによって、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【００５０】
群体パラメーター設定部３０１は、各キーワードに対して、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定するモジュールである。本実施形態にかかる群体パラメーターとしては、
単語の出現頻度（暗黙の主語を含む。）
他のワードと同じ文節内に出現した回数
文章の木構造において並列又は直列かの回数
その単語に係る「の」、「が」、「は」の他の助詞の出現頻度
を用いる。
【００５１】
このようにして算出された群体パラメーターは、図５Ｃ（ｂ）に示すようなデータセットとして蓄積される。すなわち、各ワードに関する出現頻度や助詞係数、木構造パターン、関連テキストなどをメインのテーブルデータＤ１として、このテーブルデータＤ１の項目「助詞係数」にはテーブルデータＤ１１をリレーションで関連づけ、項目「木構造」には、テーブルデータＤ１２をリレーションで関連づけた構造を有するリレーショナルデータベースとなっている。これにより、一つの単語に、その単語自身の出現頻度やや関連テキストデータの他、他の単語それぞれとの関係性を示す助詞係数、木構造などが紐付けられており、動的クラスタリングにおける変位処理を行う場合には、図５（ｂ）に示すように、各単語を動的オブジェクトとして順番に取り上げ、その単語と紐付けられたテーブルデータＤ１１，Ｄ１２中にある単語を仮想空間上で探索し、検出されればその他の単語との関係から移動方向や移動量を決定する。このとき複数の単語が検出された場合には、それぞれに対するベクトルを計算し、その合成ベクトルに基づいて変位処理を実行する。
【００５２】
また、本実施形態において群体パラメーター設定部３０１には、ＰＮ値算出機能２００が接続されており、このＰＮ値算出機能２００にはＰＮ値設定部２０１が含まれ、このＰＮ値設定部２０１は、入力された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定するモジュールである。ＰＮ値設定部２０１で設定されたＰＮ値は、ユーザー情報データベース５０に蓄積されるとともに、群体パラメーター設定部３０１に入力される。
【００５３】
そして群体パラメーター設定部３０１は、ＰＮ値設定部２０１が設定したＰＮ値を反映させつつ、群体パラメーターを設定する。群体パラメーター設定部３０１で設定された群体パラメーターは、ユーザー情報データベース５０に蓄積されるとともに、動的クラスタリング部３０３に入力される。
【００５４】
動的クラスタリング部３０３は、各キーワードを、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、前記仮想空間上における各キーワード間の距離をワード間距離として算出するモジュールである。本実施形態においてこの動的クラスタリング部３０３は、群体シミュレーションにより各キーワードの再配置し、再配置されたワールドマップを用いてキーワード間の距離を算出し、後述するエゴグラムパラメーターを補正処理に受けわたしている。具体的に、この群体シミュレーションでは、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、この動的クラスタリング部３０３により算出された各ワード間距離は、話題ワールドマップとして、ユーザー情報データベース５０に蓄積されるとともに、回答生成部１０７に入力される。
【００５５】
この動的クラスタリング部３０３における群体シミュレーションの変位処理で用いられるルールには、
(a)各キーワードの関連性の度合い基づいて、所定範囲内に存在する他の動的オブジェクトに接近する方向に移動させること
(b)各キーワードの重要度に基づいて、移動量を決定すること
(c)各キーワードの関連性がない動的オブジェクト間は、離間する方向に移動させること
が含まれる。
【００５６】
このルールに従って変位処理をさせると、図５Ｂに示すように、Word_iと関連性のあるWord_k、Word_l及びWord_xが存在する場合、Word_iは、上記ルール(a)及び(b)  に従って、Word_k、Word_l及びWord_xに引きつけられる。このとき、Word_iのWord_k、Word_l及びWord_xに対する関連性の度合いと、各Wordの重要度に応じて、Word_iの移動方向及び移動量が決定される。具体的には、各Wordの関連性の度合いと重要度に応じて、そのWordが位置する座標へ向けて引力F1〜F3が作用することになり、これらの引力F1〜F3の合成力により移動方向及び移動量が決定される。反対に、関連性がないWordが周囲に存在する場合には、上記ルール(c)に従って、その関連性のないWordから反発力が作用しているとして、合成力を求める。
【００５７】
このように群体シミュレーションによってキーワードが再配置されたワールドマップに対し、ポテンシャル場算出機能４００において、エゴグラムパラメーターを用いた補正処理を行って、ユーザーポテンシャル場を形成する。
【００５８】
辞書データベース４０ｂは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
【００５９】
一方、ポテンシャル場算出機能４００は、エゴグラム設定部４０１と、ポテンシャル場形成部４０２と、回答生成部１０７とを備えている。
【００６０】
エゴグラム設定部４０１は、  キーワード解析部１０６が抽出したキーワード、或いは情報ソースデータベース４０ａに蓄積されたキーワードのうち、特定の人、物又は事象に関するキーワードを話題キーワードとしてグルーピングし、そのグループ毎に、群体パラメーターに従って、各キーワードの分布状態を三次元の座標で形成されたマップとして作成し、マップ上における各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターを設定するモジュールである。
【００６１】
このエゴグラムパラメーターは、人間の性格を５つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される５つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、アンケートや性格診断などで求めることができる。エゴグラムパラメーターとしては、
CP（批判的親）：厳しい心。自分の価値観を正しいものと信じて譲らず、責任を持って行動し、他人に批判的である。この部分が低いと、ルーズな性格になる。
NP（養育的親）：優しい心。他人を思いやって行動し、保護的で親切である。この部分が低いと、冷淡な性格になる。
A（大人）：合理的な心。現実を重視しており、物事をきちんと計算して行動し、合理的である。この部分が低いと、非合理的な性格になる。
FC（自由な子ども）：自由奔放な心。明るく無邪気でユーモアがあり、わがままで自己中心的である。この部分が低いと、閉鎖的でネクラな性格になる。
AC（順応した子ども）：従順な心。他人に嫌われたくないという気持ちが強く、言いたいことを言わずに我慢してしまい、妥協的である。この部分が低いと、マイペースな性格になる。
といったものが挙げられる。
【００６２】
ポテンシャル場形成部４０２は、エゴグラム設定部４０１によって設定されたエゴグラムパラメーター、及び群体パラメーター設定部３０１が設定した群体パラメーターに基づいて、動的クラスタリング部３０３が算出したワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するモジュールである。本実施形態では、動的クラスタリング部３０３で算出された各単語に関するワード間距離は、ワールドマップデータとしてユーザー情報データベース５０に蓄積されており、ポテンシャル場形成部４０２は、このワールドマップデータを読み出し、ワールドマップ上に配置された各単語（動的オブジェクト）に対して、前記エゴグラムパラメーターを反映させる補正処理を実行して、動的オブジェクトを再配置させる。
【００６３】
この補正処理は、各キーワードの重要度をそのキーワードのサイズとし、少なくとも各キーワードのサイズとエゴグラムパラメーターの組合せに基づく定数と、に基づいて行う。例えば、各キーワードが有する影響力であるエネルギーを決定し、ワード間距離に係る２つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する。
【００６４】
具体的に、補正処理においては、図６（ｃ）に示すように、ワールドマップ上に含まれる各単語の群体パラメーターと、エゴグラムパラメーターとを用いて、補正用の要素を以下のように定義する。
・  各ｗｏｒｄのサイズ半径ｒ  ＝  ｓｉｚｅ／２
・  各ｗｏｒｄが持っているエネルギーＥ＝ｎｒ（Ａ）ｘｎｒ（ｐｎ）ｘｎｒ（ｓｉｚｅ
・  各ｗｏｒｄのエネルギーの及ぶ範囲σ＝ｎｒ（ＮＰ）
・  各ｗｏｒｄのエネルギーの放出の勢いΔｄ＝ｎｒｍ（ＦＣ）
ここで、ｎｒｍはｎｏｒｍａｌｉｚｅ［０．７−１］
・  各ｗｏｒｄのまわりの影響力の濃度（強度分布）の計算  ａｎ＋１＝ａｎΔｄ
・  各ｗｏｒｄの自分への引き寄せ力→初期配置の移動量＝ｎｒ（ｃｐ）
ここで、ｎｒはｎｏｒｍａｌｉｚｅ  ［０，１］
・各ｗｏｒｄ（星）の単位ベクトル  ＰＮの（＋）（−）でベクトルの向きを逆とする
そして、これらの要素に基づいて、単語間相互に作用する引力又は反発力を次の式により求める。
【数１】
0006034459.tif 000002
【００６５】
そして、この式において、一方の単語をユーザー自身を意味する一人称の単語群とすることにより、他方の単語との間の引力又は反発力を求めることができ、その言葉がユーザー自身に与える影響度を推定することができる。
【００６６】
さらに、動的クラスタリング部３０３では、引き込みのルールに従って、ユーザーポテンシャル場を補正する。この引き込みルールは、振動子群が相互作用や周期外力の作用によって振動タイミングを揃える同期現象を応用した補正処理であり、次式で表される。
【数２】
0006034459.tif 000003
なお、θｔは特定の動的オブジェクトの位相であり、θneiighber,tは、時刻ｔでの周辺の他の動的オブジェクトの位相を意味する。また、上式においてＡＣは、エゴグラムパラメーターであり、上式の引き込み係数として用いられている。
【００６７】
そして、この引込のルールでは、
(1)特定の動的オブジェクトが所定の振動（位相θｔ）をしているものとし、
(2)当該特定の動的オブジェクトと、その周囲で振動（位相θneiighber,t）する他の複数の動的オブジェクトとが、各摂動（位相θｔ−θneiighber,t）を介して相互作用を生じさせているものとし、
(3)各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期するとして、
各動的オブジェクトを再配置するための変位処理を実行する。なお、本実施形態では、各単語（自身を意味する一人称の単語群を含む）に係る動的オブジェクトは、その言葉が使用された時間差などをノーマライズした値を位相とし、その言葉を発したときの音量や、その言葉の出現頻度、重要度振動をノーマライズした値を振幅として振動しているものとして演算する。
【００６８】
この引き込みルールにより、それぞれが所定の摂動（ずれ）をもってバラバラに変位している動的オブジェクト群が、摂動を消失させるように周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、普段使用されない言葉や情報を活性化させることができる。引き込まれて活性化された単語はその言葉自身がまた上式により引力又は反発力を有することとなり、その言葉がユーザーに対して与える影響度が変化され、動的にワールドマップを更新されることとなる。
【００６９】
前記回答生成部１０７は、ポテンシャル場形成部４０２が算出したユーザーポテンシャル場に基づき、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成するモジュールである。
【００７０】
（対話インターフェースの動作）
以上の構成を有する対話インターフェースは、以下のように動作する。図３は、対話インターフェースの動作順序を示すフローチャート図である。
【００７１】
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う（Ｓ６０１）。具体的には、情報ソース取得部１０１が、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Ｗｅｂ等の通信ネットワークにおける情報収集としては、Ｗｅｂクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってＷｅｂデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがＷｅｂ検索した際のキーワードや実際にアクセスしたＷｅｂページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
【００７２】
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ６０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【００７３】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ６０３，Ｓ６０４）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
【００７４】
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ６０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【００７５】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞等の付随語の種類に基づいて、群体パラメーターを設定する。例えば、図５Ｂ（ａ）に示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。
【００７６】
ここで、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ｂ（ａ）に示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【００７７】
なお、本実施形態では、ここでいうところの「付随語」としては、単語間の関連性を示すものであれば、日本語の「助詞」に限定されず、各言語の文法に応じて適宜選択することができ、英語であれば語順や前置詞、関係代名詞やその他用法などから求めることもできる。
【００７８】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ６０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ６０６）。
【００７９】
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う（Ｓ６０７）。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく（Ｓ６０７）。
【００８０】
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部３０１が設定した群体パラメーターとを関連づけて、ユーザー情報データベース５０に蓄積するとともに、ステップＳ６０２〜Ｓ６０７によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース５０に蓄積する（Ｓ６０８）。
【００８１】
他方、この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対する群体パラメーター及びエゴグラムの収集も行う（Ｓ３０１）。この群体パラメーターの収集方法としては、例えば、ＳＮＳにおける「いいね！」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。また、エゴグラムの収集は、性格診断などにより収集される。この収集された群体パラメーターは、キーワード毎に「＋」、「−」及び数値（０を含む。）として紐付けられて設定され、ユーザー情報データベース５０に蓄積される。エゴグラムパラメーターも、話題毎にグルーピングしたうえで、ユーザー情報データベース５０に蓄積される。
【００８２】
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には（Ｓ７０１）、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ７０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【００８３】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ７０３）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップＳ７０３で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する（Ｓ７０４）。
【００８４】
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ７０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【００８５】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図５Ｂ（ａ）に示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ｂ（ａ）に示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【００８６】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ６０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ７０６）。
【００８７】
そして、ユーザー情報データベース５０に蓄積されているワールドマップを読み出して参照し、ユーザーポテンシャル場を生成する（Ｓ７０７）。具体的には、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上に配置するとともに、ワールドマップ上に配置された動的オブジェクト全体の重心位置を、ユーザーの自我の中心として設定する。この重心位置は、仮想空間上に存在するすべての動的オブジェクトの座標と、質量（出現頻度や優先度から換算）とから重量を加味した座標位置として求め、この重心位置に、ユーザー自身（「わたし」、「ぼく」などの一人称）を配置する。なお、このユーザー自身を意味する一人称は、単一の単語ではなく、「わたし」、「ぼく」などの一般的な一人称のほか、本人の氏名やニックネームなどの同義語をマージしてグルーピングした単語群とする。
【００８８】
そして、この自我の中心を示す座標原点が設定されたワールドマップ上において、変位処理を行うための群体シミュレーションを実行し、動的クラスタリングを行う。その際、ステップＳ３０１で収集されたエゴグラムパラメーター及び群体パラメーターに基づいて、ステップＳ６０７で生成されたワールドマップにおけるワード間距離を話題毎の補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出する。ユーザー自身（「わたし」、「ぼく」などの一人称を意味する単語群）を重心位置に配置したユーザーポテンシャル場を参照することで、ユーザー自身と各キーワードとの相対的なワード間距離を算出することができる。
【００８９】
詳述すると、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、上式に則った単語間の引力及び反発力を求め、各言葉（キーワード）がユーザー自身に及ぼす影響力を推定することができる。
【００９０】
これにより、各キーワードは動的オブジェクトとして、ユーザーの性格に応じて、且つ、話題毎に関係性に応じて、その大きさや位置、影響力が設定された群体として配置され、ユーザーポテンシャル場が形成される。このとき、関係性の弱い単語同士や、ユーザーの性格上受け入れにくい単語は離間していく。また、ユーザーの性格や話題、単語との相性によっては、ユーザーが嫌いな単語が近づいてくることもあり、ユーザー自身にとってストレスフルな状態がユーザーポテンシャル場に自動的に形成される場合もある。このシミュレーションは、話題毎に行い、このシミュレーションの結果として再配置された、各単語の仮想空間上の座標を、話題毎のユーザーポテンシャル場として生成し、又は保存しておく（Ｓ７０７）。
【００９１】
その後、回答生成部１０７は、ステップＳ７０７で生成したユーザーポテンシャル場上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成する（Ｓ７０８）。
【００９２】
（作用・効果）
本実施形態によれば、ユーザーの性格が反映されたユーザー固有のユーザーポテンシャル場上のワード間距離を用いることにより、話し手の感情が大きく影響する日常会話において、ユーザーが対話の中で用いている言葉や話題に基づく関連性の高い単語をキーワードとして、そのユーザーの性格に合わせて、ときには心地よい或いは有益な情報を選定し、ときにはストレスフルな情報や表現となるように加工することで、個々のユーザーの性格に合わせて興味を惹いたり、対話を継続できるような検索結果や回答表現を提供することが可能となる。
【００９３】
このとき、ユーザーの受け止め方や、ユーザーに与える心的な影響度を、話題毎に考慮するため、話題が順次移っていくような日常会話であっても、自然な形でユーザーの趣味嗜好に合わせたコミュニケーションを取ることができる。
【００９４】
特に、ユーザーが利用した情報データについて、群体シミュレーション、及びエゴグラムパラメーターによる補正処理を実行することにより、ユーザーの性格を反映させたユーザーポテンシャル場を生成できる。詳述すると、本来、ユーザー自身にとっての自己中心的な理想は、図６（ａ）に示すように、自分にとって心地よいものが近くに存在し、心地悪いものが遠くに存在している。ところが、現実は、同図（ｂ）に示すように、自分の意思とは関係なく、気に入っていた物がなくなったり、嫌いな人が接近してきたり、好きな人が遠距離に転勤したり等、外からの影響で周囲の環境が変わってしまい、自己中心的な理想が崩され、ポテンシャル場がゆがめられたストレスフルな状況が形成される。
【００９５】
本実施形態では、このようなリアルなユーザー固有のポテンシャル場を動的に形成することにより、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる。
【００９６】
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【００９７】
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
【００９８】
本実施形態では、情報ソース取得部１０１が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Ｗｅｂ上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
【００９９】
さらに、本実施形態では、群体パラメーター設定部３０１が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
【０１００】
以上述べたように、本実施形態によれば、リアルなユーザー固有のポテンシャル場を動的に形成し、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションを実現できる。
【０１０１】
［第２実施形態］
以下に添付図面を参照して、本発明に係る対話インターフェースの第２実施形態を詳細に説明する。本実施形態では、上述した第１実施形態に係る対話インターフェースと、これと連動する関連対話インターフェースとを組み合わせて対話インターフェースシステムとし、核対話インターフェース間で演算結果や収集データを相互に利用し、解析・学習等を向上させることを要旨とする。
【０１０２】
（対話インターフェースエンジンの概要）
本実施形態に係る対話インターフェースシステムは、人間の思考方法を模倣する仕組みとしての対話インターフェースエンジンを備えている。すなわち、対話インターフェースエンジンは、従来の人工知能の機能に加えて、より人間に近い受け答えをするためのアルゴリズムを有し、入力される各種情報に対して、利用ユーザーの友人のような対応すべく、そのユーザーに関する情報や心理状態をも加味して応答するように、そのユーザー用に特化され、且つ、そのユーザーとの相性を考慮した擬人格によって、多種多様な回答（リアクション）を表現する。
【０１０３】
具体的に対話インターフェースエンジンは、ユーザーからの質問などがあった場合、その質問に係る文章についてユーザーが抱いている感情を計算し、質問の意図を推定する。例えば、ユーザーからの質問が、何についての話題なのか、どのような返答(回答なのか、相づちなのか）を求めているのか、回答の内容（いずれの情報源からの回答なのか、概要なのか、詳細なのか、ピンポイントなのか）、ユーザーの今の気分はどうなのかを推定する。そして、対話インターフェースエンジンは、その推定した質問の意図に従って、ユーザーの欲しがっている情報についてどのような回答をすべきかを決定することができる。例えば、どのような回答をすればユーザーが喜ぶか、検索して見つかった情報が残念なものしかなければ、回答の仕方も残念な表現とするなど、対話インターフェースエンジンがユーザーの好みや気分に合致した情報の提示の仕方を決定する。
【０１０４】
この対話インターフェースエンジンは、特定のユーザーとの対話を積み重ねるいわゆるインタラクションを継続的に行うことによって、対話インターフェースエンジンの擬人格が変化される学習機能を有する。この学習機能は、ユーザー間のインタラクションによるユーザー自身の変化に対応するように、対話インターフェースエンジン間もインタラクションできるようになっており、これにより、対話中の話題に登場する他のユーザー（或いは他の対話インターフェースエンジン）との関係性に応じて回答も変化され、十人十色の対話インターフェースエンジンが出来上がっていくように設計されている。
【０１０５】
（コア機能三要素）
上記対話インターフェースエンジンは、図７に示すように、人間の心理状態を計算するシステムとして、大きく分けて３つの要素からなるコア機能を備えている。具体的に、このコア機能は、文章の感情を推定する「ＰＮ値」算出機能と、言葉と言葉の関係性を示す「ワード間距離」算出機能、ユーザーの性格による各話題に対する反応の違いであるエゴグラムを用いる「ポテンシャル場」算出機能とを含んでいる。
【０１０６】
「ＰＮ値」算出機能は、文章中に上がっている特定の話題に対するポジティブさ、ネガティブさの指標であるＰＮ値を算出する。例えば、同一の話題であっても、ユーザー（若しくはその文章の書き手）の好きな人にとって嬉しいことが起こるとユーザー自身も嬉しいと感じ、ユーザーの嫌いな人に悲しいことが起こるとユーザー自身は嬉しいと感じる、というように、話題に上がっている主体（人、団体、物等）と、事象（事件等）との掛け合わせにより、ユーザーの受け捉え方がポジティブとなるか、ネガティブとなるかが変化することから、「ＰＮ値」算出機能は、この変化の度合いをＰＮ値として算出する。
【０１０７】
「ワード間距離」算出機能は、文章中に上がっている特定の主体（人、団体、物等）同士の繋がりや類似性など、実社会における関係性の程度をワード間距離として算出する。例えば、ユーザー（若しくは文章の書き手）の好きな人の近くにいる人（団体、物等を含む）の近くにいる人（団体、物等を含む）に対してはユーザー自身も好感を抱き、ユーザーの嫌いな人の近くにいる人に対してはユーザー自身も嫌いになることから、「ワード間距離」算出機能は、このような関係性をワード間距離として算出する。
【０１０８】
「ポテンシャル場」算出機能は、ユーザーの性格に基づく反応の仕方の相違を示すポテンシャル場を算出する。例えば、ユーザーは人間であり一番大切なのは自分であるとする価値観を持ち、ユーザーの各話題に対する価値観と、その人の性格とによって、厳しく反応したり、寛大に反応したりすることから、「ポテンシャル場」算出機能は、そのユーザーの性格による各話題に対する反応パターンを、ポテンシャル場として算出する。
【０１０９】
そして、これらのコア機能三要素は、相互に算出結果を利用し合うことが可能であり、三要素が個々に学習して得られたパラメーターと、他の要素から得られたパラメーターとを用いて、さらにユーザーに適した対話インターフェースエンジンとなる。
【０１１０】
例えば「ＰＮ値」算出機能は、ユーザーが発した言葉（質問）や生成した文言（文章）の感情を計算し、学習結果として蓄積し、その学習結果を、シソーラス辞書として「ワード間距離」算出機能に渡すとともに、ユーザーにとっての文章のＰＮ値として、「ポテンシャル場」算出機能に渡す。その一方で、「ＰＮ値」算出機能は、ワード間距離算出機能からワード間距離を受け取るとともに、「ポテンシャル場」算出機能からユーザーの固有名詞に対するＰＮ値を受け取る。
【０１１１】
「ワード間距離」算出機能は、一般的な情報ソースや、ユーザーが発した言葉（質問）や生成した文言（文章）の感情を計算して学習結果として蓄積し、その学習結果をワード間距離として「ＰＮ値」算出機能に渡すとともに、一般的なワード間距離、頻度、助詞係数として、「ポテンシャル場」算出機能に渡す。その一方で、「ワード間距離」算出機能は、「ＰＮ値」算出機能から受け取ったシソーラス辞書、及び「ポテンシャル場」算出機能から受け取ったユーザーにとってのワード間距離を一般的なワード間距離の計算に用いる。
【０１１２】
「ポテンシャル場」算出機能は、ユーザーの性格の違いによるポテンシャル場を計算して学習結果として蓄積し、その学習結果をユーザーの固有名詞ＰＮ値として「ＰＮ値」算出機能に渡すとともに、ユーザーにとってのワード間距離として、「ワード間距離」算出機能に渡す。その一方で、「ポテンシャル場」算出機能は、「ＰＮ値」算出機能から受け取ったユーザーにとっての文章のＰＮ値、及び「ワード間距離」算出機能から受け取った一般的なワード間距離をポテンシャル場の計算に用いる。
【０１１３】
（対話インターフェースエンジンの動作例）
このような構成の対話インターフェースエンジンは、例えば以下のように動作する。
（１）ユーザーが過去に同じ話題に触れていた場合
例えば、ユーザーが過去にも同じ話題について対話した履歴がある場合であって、「今日の試合どうだった？」と、「何の試合か」という文言を省略して対話インターフェースエンジンに対し質問をしたときには、先ず、情報ソースにアクセスしてその日にあった試合のデータを検索し、検出された試合に基づいて話題を推定する。ここでは、本日の試合がテニスのみ３試合あったことから、話題として「テニス」をピックアップしたものとする。
【０１１４】
そして、先ず、ワード間距離算出機能が、テニスという文言から「選手Ｎ、勝つ」という文言を、一般的な関連性、及びユーザーにとって近しいワード間距離を有するキーワードとして「ＰＮ値」算出機能に渡す。このキーワードを受け取った    「ＰＮ値」算出機能は、これらのキーワードについて、固有名詞場又は事象場として、各場に対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定する。ここでは、ユーザーは、「選手Ｎ」に対してはポジティブな感情を抱いていることから、そのＰＮ値は（＋）であり、「勝つ」という文言に対する一般的なポジティブな意味合いから、そのＰＮ値も（＋）である。「ポテンシャル場」算出機能は、この受け取ったキーワードに基づいてユーザー感情表を「ＰＮ値」算出機能に受け渡すとともに、このユーザー感情表に基づく、「選手Ｎ、勝つ」の２つのキーワードに対するユーザーにとってのワード間距離を算出して、ワード間距離算出機能に受け渡す。
【０１１５】
そして、「ＰＮ値」算出機能は、「選手Ｎ、勝つ」という２つのキーワードと、これらキーワードを固有名詞場又は事象場として各場に対するＰＮ値に基づく「ユーザーＰＮ値」を算出し、回答生成部１０７に出力する。ここでは、「選手Ｎ、勝つ」の２つのキーワードがともにポジティブな値（＋）であることから、これらを掛け合わせて得られる全体的なユーザーＰＮ値も（＋）となる。回答生成部１０７では、これら２つのキーワードを用いたポジティブな表現の「選手Ｎ勝ったよ」という回答をユーザーに対して生成する。
【０１１６】
（２）ユーザーが新たな話題に触れた場合
例えば、ユーザーが過去に触れたことのない新しい話題について対話をし始めた場合であって、「囲碁、面白い？」と、対話インターフェースエンジンに対し抽象的な質問をしたときには、先ず、情報ソースにアクセスして「囲碁、面白い」をキーワードとしてデータを検索し、検出された囲碁に関する話題を絞り込む。ここでは、過去に触れた話題ではないので、ユーザー自身のワールドマップからは、なにもピックアップされなかったものとする。
【０１１７】
この場合には、先ず、ワード間距離算出機能が、情報ソースに対して「囲碁」に関する問合せを行い、これに対する検索結果として「囲碁」に関する文章を取得し、その文章に記載された一般的な「囲碁」に関するキーワードを抽出するとともに、それらのワード間距離を算出する。その算出された一般的な囲碁に関連するキーワードを、それらのワード間距離とともに「ＰＮ値」算出機能に渡す。このキーワードを受け取った  「ＰＮ値」算出機能は、これらのキーワードについて、固有名詞場又は事象場として、各場に対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定する。ここでは、ユーザーは、「囲碁」に対してはポジティブな感情を抱いていることから、そのＰＮ値は（＋）であり、「面白い」という文言に対する一般的なポジティブな意味合いから、そのＰＮ値も（＋）である。「ポテンシャル場」算出機能は、この受け取ったキーワードに基づいてユーザー感情表を「ＰＮ値」算出機能に受け渡すとともに、このユーザー感情表に基づく、「囲碁、面白い」の２つのキーワードに対するユーザーにとってのワード間距離（ワールドマップ）を算出して、ワード間距離算出機能に受け渡す。
【０１１８】
そして、「ＰＮ値」算出機能は、「囲碁、面白い」という２つのキーワードと、これらキーワードを固有名詞場又は事象場として各場に対するＰＮ値に基づく「ユーザーＰＮ値」を算出し、回答生成部１０７に出力する。ここでは、「囲碁、面白い」の２つのキーワードがともにポジティブな値（＋）であることから、これらを掛け合わせて得られる全体的なユーザーＰＮ値も（＋）となる。回答生成部１０７では、これら２つのキーワードを用いたポジティブな表現の「選手Ｎ勝ったよ」という回答をユーザーに対して生成する。
【０１１９】
（ハードウェアの構成）
以上説明した対話インターフェースエンジンの具体的な構成について以下に説明する。本実施形態に係るシステムも情報処理端末で実現することができる。この情報処理端末の構成としては、上述した第１実施形態と同様である。すなわち、本実施形態に係る情報処理端末１は、図１に示すように、演算処理を行うＣＰＵ１１と、データを一時的に記憶するメモリ１２と、通信ネットワーク２を介して外部との通信を行う通信Ｉ/Ｆ１３と、データを格納しておく記憶装置１４とを有している。なお、本実施形態では、これらのＣＰＵ１１、メモリ１２及び通信Ｉ/Ｆ１３、記憶装置１４，出力Ｉ/Ｆ１５と、入力Ｉ/Ｆ１６等は、ＣＰＵバス１０を介して接続されており、相互にデータの受渡しが可能となっている。
【０１２０】
（対話インターフェースシステムの処理動作）
そして、対話インターフェースシステムは、上述した対話インターフェースエンジンのコア機能及び初期化処理機能が協働していくつかの処理段階を実行する。図８は、本実施形態に係る対話インターフェースシステムの動作処理を示す説明図である。具体的に、この処理段階としては、情報データ取得ｐｈａｓｅ１と、入力データ分析ｐｈａｓｅ２と、ユーザー意図推定ｐｈａｓｅ３と、回答生成ｐｈａｓｅ４と、表現生成ｐｈａｓｅ５と、表現出力ｐｈａｓｅ６とが含まれ、各処理段階で算出されたパラメーターや辞書、その他のデータはデータベース群との間で各機能間で共有される。
【０１２１】
情報データ取得ｐｈａｓｅ１では、ユーザー自身が入力した文章を取得する処理であり、テキスト入力機能と、ＳＴＴ機能と、ＳＰＲ機能と、３Ｄセンサー機能、手付けReward機能と、現在時刻及び現在位置を取得する時計やＧＰＳ等から情報データを取得する。
【０１２２】
入力データ分析ｐｈａｓｅ２は、ユーザーによって入力された文章や、対話、ユーザーが読んだＷｅｂページなどを入力データとして、それに含まれる文章を解析する処理であり、具体的には、クレンジング機能と、キーワード抽出機能と、単語抽出機能、品詞解析機能と、主語推定機能、フィラー機能、一般的なＰＮ値算出機能が用いられる。
【０１２３】
ユーザー意図推定ｐｈａｓｅ３は、ユーザーの質問の意図を推定する処理であり、具体的には、意図推定機能と、上述した対話インターフェースエンジンのコア機能であるＰＮ値算出機能、ワード間距離算出機能、ポテンシャル場算出機能を備えている。
【０１２４】
回答生成ｐｈａｓｅ４は、対話インターフェースエンジンが抽出した回答に関するパラメーターに基づいて、回答を生成する処理であり、具体的には、回答候補抽出機能と、回答選択機能と、文言生成機能とが用いられる。
【０１２５】
表現生成ｐｈａｓｅ５は、対話インターフェースエンジンにより生成された回答を、ユーザーに対して提示する際の、表現データを生成する処理であり、アバターエゴグラム機能と、アバター感情選択機能と、話題遷移機能と、感情付きＴＴＳ入力機能とが用いられる。
【０１２６】
表現出力ｐｈａｓｅ６は上記表現生成ｐｈａｓｅ５で生成した表現データを出力する処理であり、テキスト出力機能、ＴＴＳ機能、表情機能、リップシンク機能、動作制御機能とが用いられる。
【０１２７】
また、対話インターフェースエンジンは、ブラックボードデータベースと、ユーザー情報と、一般情報とを含むデータベース群を備えている。ブラックボードデータベースは、ユーザー、アバター、やり取り（アクティビティ）を蓄積しておく。  ユーザー情報としては、ユーザー固有の情報として、ユーザー固有のポテンシャル場などが含まれる。一般情報としては、いわゆる情報ソースが含まれ、この情報ソースとしては、Ｗｅｂなどで取得される情報に関する一般的な情報（ＰＮ値やシソーラス辞書）や、ユーザー自身が作成したり、取得したりした個別情報が含まれる。このデータベース群は、具体的には、情報ソースデータベース４０ａ、辞書データベース４０ｂ、ユーザー情報データベース５０で構成され、各情報は相互に関連づけられている。
【０１２８】
（対話インターフェースシステムの構成）
次いで、以上説明した対話インターフェースエンジンを有する対話インターフェースシステムの具体的な構成について説明する。図９は、本実施形態に係る対話インターフェースエンジンの概略構成を示すブロック図であり、図１０及び図１１は、対話インターフェースシステムの全体構成及び初期化処理部の構成を示すブロック図である。図９に示すように、対話インターフェースエンジンには、初期化処理部１００と、コア機能実行部２０とが含まれる。
【０１２９】
初期化処理部１００は、情報ソースを取得し、後段のコア機能実行部２０における処理で必要なデータ加工を実行するモジュールであり、加工された情報データはコア機能実行部２０に出力される。コア機能実行部２０は、上述したコア機能を用いて実行するモジュールであり、ＰＮ値算出機能２００と、ワード間距離算出機能３００と、ポテンシャル場算出機能４００とを有する。初期化処理部１００で加工された情報データは、ＰＮ値算出機能２００及びワード間距離算出機能３００に入力される。ＰＮ値算出機能２００では、ＰＮ値表（環状表）が生成され、データベース群に蓄積されるとともに、ポテンシャル場算出機能４００に受け渡される。ワード間距離算出機能３００では、話題ワールドマップが生成され、データベース群に蓄積されるとともに、ポテンシャル場算出機能４００に受け渡される。ポテンシャル場算出機能４００では、ＰＮ値表（環状表）及び話題ワールドマップに基づいて、ユーザーポテンシャル場が生成され、データベース群に蓄積される。なお、これらのモジュールでは、情報ソースデータベース４０ａ、辞書データベース４０ｂ及びユーザー情報データベース５０を介して連携され、シソーラス辞書やＰＮ値、ワード間距離などの各種パラメーターが共有される。
【０１３０】
このような対話インターフェースを含む対話インターフェースシステムの各モジュールの具体的な構成及び動作について詳述する。
（１）初期化処理部
初期化処理部１００では、主として上述した情報データ取得ｐｈａｓｅ１及び入力データ分析ｐｈａｓｅ２を行う。すなわち、情報データ取得ｐｈａｓｅ１において、記事データ等の各種情報ソースを取得し、入力データ分析ｐｈａｓｅ２においてデータのクレンジングを行う。入力データ分析ｐｈａｓｅ２では、コア機能による処理に対する前処理として、形態素解析により単語や助詞などを抽出するとともに、文節のツリー構造について解析を行い、解析結果をＰＮ値算出機能２００及びワード間距離算出機能３００に入力する。ＰＮ値算出機能２００は、これらのデータを用いてＰＮ値表を生成する。このＰＮ値表は、情報ソースデータベース４０ａ及びユーザー情報データベース５０に格納されるとともに、ポテンシャル場算出機能４００に受けわたされる。一方、ワード間距離算出機能３００は、前処理による解析結果を用いて話題ワールドマップを作成する。このワールドマップは、情報ソースデータベース４０ａ及びユーザー情報データベース５０に格納されるとともに、ポテンシャル場算出機能４００に受け渡される。ポテンシャル場算出機能４００では、ＰＮ値算出機能２００から取得したＰＮ値表と、ワード間距離算出機能３００から取得した話題ワールドマップとに基づいて、ユーザーポテンシャル場を作成する。
【０１３１】
上記入力データ分析ｐｈａｓｅ２における前処理では、記事データのＰＮを計算するために必要な情報を得るために、以下の処理を実行する。
(1)固有名詞の記事単位のマージ
(2)暗黙の主語の推定
(3)単語のシソーラス分類
(4)助詞係数の算出
を行う。
【０１３２】
上記入力データ分析ｐｈａｓｅ２における前処理につき、それぞれの処理について以下に説明する。
(1)固有名詞の記事単位のマージ
取得した記事文章内に登場する固有名詞を、記事毎にマージしてテンポラリ辞書を作成する。例えば、プロ野球の特定のチームに関する記事であれば、記事のヘッドラインには選手名の略称や俗称、ニックネームなどが使用されている場合が多く、本文中ではその選手名の本名が主語として用いられることが多い。このため、記事毎に、その文章内に登場する固有名詞や略称、俗称をマージすることにより、特定の話題に関連する単語を検索できるようになる。
【０１３３】
(2)暗黙の主語の推定
日本語では主語を省略する傾向があり、単に文章中に登場する固有名詞の出現頻度をカウントするだけでは正確なユーザー意図は算出できないため、省略された主語を推定して、基の文章中に追加して再構成し、そのうえで、各固有名詞の出現頻度を家運とすることにより、より正確なユーザー意図を算出することができる。
【０１３４】
この暗黙の主語の推定は、一定のルールに基づいて、省略されている主語を検出する。このルールとしては、例えば、以下のものが挙げられる。
（ａ）推定する主語は固有名詞とする。
（ｂ）暗黙の主語を推定する文章としては、「固有名詞+“は”」、「固有名詞+“が”」、「固有名詞+“も”」、「固有名詞+“,”：のいずれも含まれない文章を選択する。
（ｃ）その文章が存在している段落の最初の文章で主語となっている固有名詞を、推定される”暗黙”の固有名詞とする。
（ｄ）（ｃ）において「推定される”暗黙”の固有名詞」が存在しない場合は、その記事のヘッドラインで最初の固有名詞とする。
（ｅ）推定された暗黙が既に文章に含まれているときは、固有名詞となっている（直)前の文章の主語とする。
【０１３５】
(3)単語のシソーラス分類
一般的な単語については、個別に扱わずに、同義語又は類似語等を、体系化及びグルーピングを行う。シソーラス分類は、単語の上位 / 下位関係、部分 / 全体関係、同義関係、類義関係などによって単語を分類し、体系づけた辞書を備えており、これらの単語間の関係を、木構造又は表形式でデータ構造により保持している。ＰＮ値の設定などは、単語毎には行わず、単語の集合毎に設定する。
【０１３６】
(4)助詞係数の算出
助詞係数は、文書中における単語間の距離や関係性を計算するための重要なパラメーターであり、助詞の種類間における結合の関係を表す係数である。具体的に、初期化処理は、初期化処理部１００により実行される。図１１は、本実施形態に係る初期化処理部の内部構成を示すブロック図である。
【０１３７】
初期化処理部１００は、情報ソース取得部１０１が取得した情報ソースや、ユーザーから入力された入力データについて、コア機能部での処理を行う前に予め処理し、コア機能実行部２０に受け渡すモジュールである。本実施形態において、具体的に初期化処理部１００は、情報ソース取得部１０１と、センテンス解析部１０２と、省略単語検出部１０３と、推定単語検出部１０４と、テキスト再構成部１０５と、キーワード解析部１０６とを備えている。
【０１３８】
情報ソース取得部１０１は、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集し、情報ソースデータベース４０ａやユーザー情報データベース５０に蓄積するモジュールである。すなわち、この情報ソースとしては、ユーザーがアクセスした情報やその履歴についても蓄積されており、情報ソース取得部１０１は、一般的な情報と、ユーザーが利用したプライベートな情報とを区分して情報ソースデータベース４０ａやユーザー情報データベース５０に蓄積され、管理されている。
【０１３９】
センテンス解析部１０２は、情報ソース取得部１０１が取得した情報ソースから得られるテキストデータからセンテンスを抽出するモジュールである。例えば、このセンテンス解析部１０２は、文章のテキストデータから、句点から句点、或いはピリオドからピリオドまでなど、一連のセンテンスを切り出し、省略単語検出部１０３に入力する。
【０１４０】
省略単語検出部１０３は、センテンス解析部１０２が抽出した各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出するモジュールである。具体的には、名詞、形容詞、動詞などの各文に含まれる単語の品詞を抽出し、主語となり得る名詞、特に固有名詞を検査し、見つからない場合は、主語が省略されているとして、その旨のフラグを文章データ中に挿入し、推定単語検出部１０４に入力する。
【０１４１】
推定単語検出部１０４は、省略単語検出部１０３が検出した省略単語が含まれるセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出するモジュールである。この推定単語は、先行する直前のセンテンスや段落、記事のヘッドラインなどに含まれる固有名詞などを選定する。検出された推定単語は、テキスト再構成部１０５へ入力される。
【０１４２】
テキスト再構成部１０５は、入力されたテキストデータに対して、省略単語検出部１０３が検出した省略単語の検出位置に、推定単語検出部１０４が検出した推定単語を追加して、センテンスとして再構成するモジュールである。このテキスト再構成部１０５により再構成された文書データは、原文とともに情報ソースデータベース４０ａに蓄積されるとともに、コア機能実行部２０に入力される。
【０１４３】
キーワード解析部１０６は、本実施形態では、コア機能間で共通して用いられ、入力されたテキストデータから、固有名詞キーワード又は事象キーワードを抽出するモジュールであり、本実施形態では、固有名詞キーワード又は事象キーワードに加えて、日時又は場所に関する環境キーワードを抽出する機能を備えている。この環境キーワードとしては、入力された文章や対話音声のみならず、時計やＧＰＳ、天気、気温、湿度等の気象情報などからも取得することができ、日時又は場所に関する環境キーワードを加味して提供すべき情報を選定し、加工することにより、時と場所によって変動するユーザーの心理に対応した検索結果や回答表現を提供することが可能となる。そして、このキーワード解析部１０６で解析された各キーワードは、ＰＮ値設定部２０１、群体パラメーター設定部３０１又はポテンシャル場形成部４０２に入力される。
【０１４４】
また、キーワード解析部１０６は、テキスト再構成部１０５によって再構成されたテキストデータから固有名詞キーワード又は事象キーワードを抽出する機能を有している。具体的にキーワード解析部１０６は、情報ソースやユーザーからの問いかけについて、省略された単語を追加して再構成されたテキストデータを初期化処理部１００から受け取りし、この再構成されたテキストデータから固有名詞キーワード又は事象キーワードを抽出する。これにより、省略された主語や目的語などを推定することにより、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０１４５】
（２）コア機能実行部
コア機能実行部２０は、主として、上記ユーザー意図推定ｐｈａｓｅ３などを実行するモジュールであり、ＰＮ値算出機能２００、ワード間距離算出機能３００及びポテンシャル場算出機能４００を有している。
【０１４６】
（２−１）ＰＮ値算出機能
ＰＮ値算出機能２００は、文章ＰＮ値算出部２０３と、ＰＮ値設定部２０１とを備えている。
ＰＮ値設定部２０１は、入力された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定するモジュールである。本実施形態では、キーワード解析部１０６から入力されたテキストデータに含まれる文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に含まれる単語の出現頻度に基づいて各単語の優先度を設定するフィルタリング部２０１ａを備え、ＰＮ値設定部２０１は、フィルタリング部２０１ａが設定した優先度に基づいてＰＮ値を設定する。ＰＮ値設定部２０１で設定されたＰＮ値は、ユーザー情報データベース５０に蓄積されるとともに、文章ＰＮ値算出部２０３に入力される。
【０１４７】
本実施形態では、ＰＮ値設定部２０１は、ＰＮ値の学習機能として、テンプレート生成部２０１ｂと、トレーニングデータ作成部２０１ｃと、学習部２０１ｄとを備えている。本実施形態においてこれらの学習機能は、ユーザーがＰＮ値を設定したキーワード以外のキーワードについて、自動的に一般的なＰＮ値を設定する。
【０１４８】
テンプレート生成部２０１ｂは、図４Ｄに示すように、学習処理にあたり、一般的なＰＮ値を学習するためのテンプレートデータＤ１０１を生成するモジュールである。このテンプレートデータＤ１０１は、任意のＰＮ値を、テキストデータ内のキーワードに当てはめて、各話題や記事毎にキーワード群にＰＮ値をまとめて設定するためのデータであり、収集した話題毎の記事から任意の文章（テキストデータ）を抽出してレコードとして格納したテーブルデータである。このとき抽出する文章は、名詞、動詞、形容詞などの品詞のいずれかを含む単文であり、この単文は、そのまま文章中に記載されているものと、複文を分解して単文に連結し直したものが含まれる。
【０１４９】
トレーニングデータ作成部２０１ｃは、学習したＰＮ値を評価するためのトレーニングデータＤ１０２を作成するモジュールである。このトレーニングデータＤ１０２は、テンプレートデータＤ１０１において、固有名詞や、ユーザーが既にＰＮ値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章（テキストデータ）に対する文章ＰＮ値（基準文章ＰＮ値）を設定したテーブルデータである。詳述すると、テンプレートデータＤ１０１には、固有名詞や、ユーザーが既にＰＮ値を設定した動詞、形容動詞などのキーワードＡ〜Ｅを含むセンテンスが複数格納されており、トレーニングデータＤ１０２では、各レコードのテキスト中に含まれている固有名詞Ａ〜Ｅが、「私」や「彼（彼女）」等の代名詞に置き換えられており、一般的な名詞や動詞、形容動詞など固有名詞が代名詞に置き換えられた文章について学習の基準となる基準文章ＰＮ値が設定される。この基準文章ＰＮ値は、単一又は複数のユーザー若しくはユーザー以外の操作者が入力したものであり、専門のオペレーターが入力したり、Ｗｅｂ上のアンケートなどにより収集することができる。
【０１５０】
学習部２０１ｄは、学習用ＰＮ値セットＤ１０４を、遺伝的アルゴリズムによってランダムに生成するなどして選定し、テンプレートデータＤ１０３への当て嵌めを行い、学習用文章ＰＮ値の算出と基準文書ＰＮ値との比較を複数世代にわたり実行し、世代間で上位或いは代表的な値を選定し、それらの値を学習用ＰＮ値セットとして生成し、一般的なＰＮ値としてＰＮ値設定部２０１に設定させるモジュールである。
【０１５１】
詳述すると、学習部２０１ｄは、テンプレートデータＤ１０１に含まれる固有名詞、及びその文章中における品詞を解析し、各固有名詞をその品詞に応じた代名詞に置き換える機能を備えており、固有名詞以外の一般名詞や一般動詞などの単語Ｏ〜Ｕに対してランダムな値のＰＮ値を設定した学習用ＰＮ値セットＤ１０４を当てはめて学習用データＤ１０５を生成する。
【０１５２】
さらに、学習部２０１ｄは、学習用データＤ１０５について、学習文章ＰＮ値を算出するとともに、その学習用ＰＮ値セットＤ１０４の適応度を算出する機能も有している。すなわち、学習部２０１ｄは、図４Ｄに示すように、テンプレートデータＤ１０３内の単語Ｏ〜Ｕに対して学習用ＰＮ値セットＤ１０４のＰＮ値を当てはめて文章ＰＮ値算出部２０３により学習文章ＰＮ値を算出させ、この学習文章ＰＮ値と基準文書ＰＮ値と比較し、その一致度から適応度を算出する。
【０１５３】
この学習文章ＰＮ値と基準文書ＰＮ値との比較に際し、学習部２０１ｄは、学習用ＰＮ値セットＤ１０４内のＰＮ値を変動させつつ、複数世代にわたり実行し、世代間で最良の、学習用ＰＮ値セットを選定する。そのために、学習部２０１ｄは、変動された各世代のＰＮ値のセットに基づく学習文章ＰＮ値と基準文書ＰＮ値との一致度から、各世代における適応度を算出し、世代間の適応度を比較し、その時点における最良又は最悪、平均的或いは代表的なセットを記憶保持しておく。そして、記憶保持された世代数が所定数に達せず、且つ算出される適応度が所定範囲に収束していない場合には、適応度が上位である複数セットの一部を抽出して組み合わせて次世代の学習用ＰＮ値セットを生成する処理を行いつつ、学習用ＰＮ値セットの選定及び適応度の算出等を繰り返させる。
【０１５４】
この学習用ＰＮ値セットの選定及び適応度の算出等を繰り返させる際、学習部２０１ｄは、本実施形態では、遺伝的アルゴリズムによって、学習用ＰＮ値セット内のキーワード及びそのＰＮ値について交叉・突然変異処理を施し、その処理結果が終了条件（本実施形態では、学習部２０１ｄに記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束すること）を満たすまで繰り返す。ここで、交叉処理とは、それぞれのＰＮ値セットで対応するデータ列の２つのデータ要素の値を入れ替える処理であり、突然変異とは、学習用ＰＮ値セットのデータ列のうち、ランダムに選択したデータ要素を、所定の確率をもって変化させる。
【０１５５】
そして、学習部２０１ｄは、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束した場合に、世代間において最上位の学習文章ＰＮ値に係るキーワード及び設定されたＰＮ値のセットを、一般的なＰＮ値としてＰＮ値設定部２０１に設定させる。
【０１５６】
文章ＰＮ値算出部２０３は、対話に含まれる固有名詞キーワード又は事象キーワードを抽出し、抽出された固有名詞キーワード又は事象キーワードについて、ユーザー情報データベースを参照し、対話に含まれる固有名詞キーワード又は事象キーワードについて設定されたＰＮ値に基づいて、対話に関してユーザーが抱いている感情を数値化した文章ＰＮ値を算出するモジュールである。この文章ＰＮ値算出部２０３により算出された文章ＰＮ値は、回答生成部１０７に入力される。
【０１５７】
この文章ＰＮ値の算出では、文章中に含まれるキーワードに設定されたＰＮ値を所定の演算処理により、文書全体で、ユーザーにとってどの程度ポジティブなのかネガティブなのかを判定する。この算出方法は、図４Ａに示すように、各文節ＢＬ１，ＢＬ２内ではそれぞれの単語ＫＷ０１とＫＷ０２、及びＫＷ０３とＫＷ０４のＰＮ値を加算し、文節ＢＬ１，ＢＬ２間ではそれぞれの文節ＢＬ１及びＢＬ２内で加算されたＰＮ値を積算することを基本とする。なお、文節内のＰＮ値が０となった場合には、積算の際には除外する。この各キーワードのＰＮ値は、話題や記事毎に設定されており、固有名詞など特定の人や団体を意味するキーワードについては、ユーザー操作に基づくＰＮ値が設定され、その他のキーワードには学習処理により一般的なＰＮ値が設定されている。
【０１５８】
これにより、例えば図４Ｂ（ａ）に示すように、情報ソースが「チームＡ  危険球で危険水域」というヘッドラインの記事であり、その記事の内容が「また、頑張ります。」という文章であった場合には、ユーザーがチームＡのファンであるか否かで、この記事の文章ＰＮ値が変化する。
【０１５９】
先ず、ユーザーがチームＡのファンであった場合には、「チームＡ」という固有名詞にはポジティブなＰＮ値（＋）が与えられており、また、「頑張る」という単語には一般的な意味合いから、ポジティブなＰＮ値（＋）が与えられている。このとき、記事本文の文章中では主語が省略されているため、主語推定を行う。ここでは、ヘッドラインに「チームＡ」とあることから、この文章の省略された主語は「チームＡ」であるため、暗黙の主語として文章中に追加して文章ＰＮ値の算出を行う。この結果、ユーザーがチームＡのファンである場合には、同図（ｂ）に示すように、暗黙の主語である固有名詞「チームＡ」に対するＰＮ値（＋）と、「頑張る」という一般的なＰＮ値（＋）とが含まれていることから、各文節内を加算した後、これらを積算することによって、文章全体としてもその値はポジティブな「＋０．０１」となる。なお、図中にある「また」の文節にはニュートラルのキーワードのみが含まれるため、この文節のＰＮ値は０となることから積算の際には除外する。そして、各文説の数値は、ユーザーが「チームＡ」に付与したＰＮ値や、ヘッドラインとの掛かり受けなどの文章構造に応じて加減される。
【０１６０】
一方、ユーザーがチームＡのファンでなかった（アンチチームＡであった）場合には、「チームＡ」という固有名詞にはネガティブなＰＮ値（−）が与えられており、また、「頑張る」という単語には一般的な意味合いから、ポジティブなＰＮ値（＋）が与えられている。このときにも、記事本文の文章中では主語が省略されているため、「チームＡ」を暗黙の主語として文章中に追加して、文章ＰＮ値の算出を行う。この結果、同図（ｃ）に示すように、暗黙の主語である固有名詞「チームＡ」に対するＰＮ値（−）と、「頑張る」という一般的なＰＮ値（＋）とが含まれていることから、ニュートラルのみの文節を除外した文節を積算することによって、文章全体としてもその値はネガティブな「−０．０１」となる。
【０１６１】
また、他の例としては、例えば図４Ｂ（ｄ）に示すように、情報ソースが「チームＡ  危険球で危険水域」というヘッドラインの記事であり、その記事の内容に「２戦連続の逆転負け」という文章であった場合にも、ユーザーがチームＡのファンであるか否かで、この記事の文章ＰＮ値が変化する。ただし、ここでは、「逆転」と「負け」というキーワードの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。すなわち、「逆転」の意味合いとしては一般的にはポジティブであるが、前後に連結される他のキーワードの種類によっては、その意味が反転し、強調するような機能が環境キーワードに保持されている。
【０１６２】
そして、上記と同様に、ユーザーがチームＡのファンであった場合には、「チームＡ」という固有名詞にはポジティブなＰＮ値（＋）が与えられている。また、「逆転」及び「負け」という単語には一般的な意味合いから、「逆転」にはポジティブなＰＮ値（＋）、「負け」にはネガティブなＰＮ値（−）が与えられているとともに、これらの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。この結果、ユーザーがチームＡのファンである場合には、同図（ｅ）に示すように、暗黙の主語である固有名詞「チームＡ」に対するＰＮ値（＋）と、「逆転」という一般的なＰＮ値（＋）が「負け」というキーワードによってＰＮ値が反転されることから、これらを積算することによって、文章全体としてもその値はネガティブな「−０．０１」となる。
【０１６３】
一方、ユーザーがチームＡのファンでなかった（アンチチームＡであった）場合には、チームＡ」という固有名詞にはネガティブなＰＮ値（−）が与えられている。また、「逆転」及び「負け」という単語には一般的な意味合いから、「逆転」にはポジティブなＰＮ値（＋）、「負け」にはネガティブなＰＮ値（−）が与えられているとともに、これらの組み合わせでポジティブ・ネガティブが反転する情報が環境キーワードとして保持されている。この結果、ユーザーがチームＡのアンチファンである場合には、同図（ｆ）に示すように、暗黙の主語である固有名詞「チームＡ」に対するＰＮ値（−）と、「逆転」という一般的なＰＮ値（＋）が「負け」というキーワードによってＰＮ値が反転されることから、これらを積算することによって、文章全体としてもその値はポジティブな「＋０．０１」となる。
【０１６４】
なお、ＰＮ値としては、ポジティブでもないネガティブでもないニュートラルな値として「０」も設定が可能となっていることから、本実施形態では、文節単位でＰＮ値が０のときは、積算処理に含めずに無視するか、或いは他の文節に加算することで、文章全体としての文章ＰＮ値が「０」値になるのを回避している。
【０１６５】
辞書データベース４０ｂは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
【０１６６】
（ＰＮ値算出機能の動作）
以上の構成を有するＰＮ値算出機能は、以下のように動作する。図３Ａは、ＰＮ値算出機能の動作順序を示すフローチャート図である。
【０１６７】
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う（Ｓ１０１）。具体的には、情報ソース取得部１０１が、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、サービス提供側で準備されたデータソース、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Ｗｅｂ等の通信ネットワークにおける情報収集としては、Ｗｅｂクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってＷｅｂデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。サービス提供側で準備されたデータソースとしては、例えば、「選手年鑑」や辞書・辞典など、オフラインの情報を独自にデータベース化したデータが挙げられ、さらには、人物や有名建築物の画像などを解析し、同一名の人物や地名を関連情報と紐付けてデータベース化したものも含めてもよい。他方、プライベートなローカルデータの収集としては、ユーザーがＷｅｂ検索した際のキーワードや実際にアクセスしたＷｅｂページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
【０１６８】
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ１０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０１６９】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ１０３〜Ｓ１０５）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。また、省略された単語が追加され再構成されたテキストデータについて、木構造の解析を行い、木構造に基づくフィルタリングを行う。具体的には、図４Ｅに示すように、文章構造が分岐を有する複文などになっている場合に、分岐毎に単語の出現頻度を解析して、単語の優先度を設定し、優先度の低い単語を削除するなどのフィルタリングを行う。
【０１７０】
次いで、情報ソースから得られたテキストデータから、固有名詞キーワード、事象キーワード及び環境キーワードを抽出するとともに、抽出された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定する（Ｓ１０６）。このキーワードの検出や、ＰＮ値の設定に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０１７１】
併せて、本実施形態では、取得された情報ソースから得られたテキストが、一つの話題に関連する一連の文章である場合、その一連の文章を一塊の単位記事として、単位記事毎にキーワード解析部１０６に入力して、当該単位記事に関してユーザーが抱いている感情を数値化した文章ＰＮ値を算出する（Ｓ１０７）。
【０１７２】
その後、各キーワードとともに、各キーワードについてＰＮ値設定部２０１が設定したＰＮ値とを関連づけて、ユーザー情報データベース５０に蓄積するとともに、ステップＳ１０２〜Ｓ１０７によって加工された情報ソースを単位記事毎に、文章ＰＮ値を関連づけて、情報ソースデータベース４０ａに蓄積する（Ｓ１０８）。
【０１７３】
この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対するＰＮ値の収集も行う（Ｓ３０１）。このＰＮ値の収集方法としては、例えば、ＳＮＳにおける「いいね！」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。この収集されたＰＮ値は、キーワード毎に「＋」、「−」及び数値（０を含む。）として紐付けられて設定され、ユーザー情報データベース５０に蓄積される。
【０１７４】
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には（Ｓ２０１）、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ２０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０１７５】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ２０３〜Ｓ２０５）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。また、省略された単語が追加され再構成されたテキストデータについて、木構造の解析を行い、木構造に基づくフィルタリングを行う。具体的には、図４Ｅに示すように、文章構造が分岐Ｒ１，Ｒ２を有する複文などになっている場合（同図（ａ））に、省略された主語Ｗ３０１を追加して再構成されたセンテンスについて、分岐毎に単語の出現頻度を解析して、単語の優先度を設定し、優先度の低い分岐に含まれる単語を無視するなどのフィルタリングを行う。図４Ｅに示した例では、分岐Ｒ１には単語Ｗ１０１及びＷ１０２が含まれ（同図（ｂ））、分岐Ｒ２には、単語Ｗ１０２〜１０３の３つ含まれていることから（同図（ｃ））、分岐Ｒ２の優先度を高くして、低い分岐Ｒ１に含まれる単語Ｗ１０１を無視し、分岐Ｒ２側の単語のみをカウントする。
【０１７６】
次いで、情報ソースから得られたテキストデータから、固有名詞キーワード、事象キーワード及び環境キーワードを抽出するとともに、抽出された各キーワードに対するユーザーのポジティブ又はネガティブの度合いを示すＰＮ値を設定する（Ｓ２０６）。このキーワードの検出や、ＰＮ値の設定に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系づけたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０１７７】
併せて、本実施形態では、取得された情報ソースから得られたテキストが、一つの話題に関連する一連の文章である場合、その一連の文章を一塊の単位記事として、単位記事毎にキーワード解析部１０６に入力して、当該単位記事に関してユーザーが抱いている感情を数値化した文章ＰＮ値を算出する（Ｓ２０７）。その後、回答生成部１０７は、文章ＰＮ値算出部２０３が算出した文章ＰＮ値に基づき、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成する（Ｓ２０８）。
【０１７８】
（ＰＮ値の学習処理）
上述したステップＳ２０６におけるＰＮ値の設定では、ユーザー操作によってＰＮ値を設定したが、本実施形態では、ユーザーがＰＮ値を設定したキーワード以外のキーワードについては、学習機能により自動的に一般的なＰＮ値を設定することができる。図４Ｄは、学習機能の動作を示すフローチャート図であり、図４Ｄは、学習時のデータ処理の概要を示す説明図である。
【０１７９】
図４Ｃ及び図４Ｄに示すように、学習処理にあたり、先ず一般的なＰＮ値を学習するためのテンプレートデータＤ１０１を生成する（Ｓ８０１）。このトレーニングデータＤ１０２は、テンプレートデータＤ１０１において、固有名詞や、ユーザーが既にＰＮ値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章（テキストデータ）に対する文章ＰＮ値（基準文章ＰＮ値）を設定したテーブルデータである。詳述すると、テンプレートデータＤ１０１には、固有名詞や、ユーザーが既にＰＮ値を設定した動詞、形容動詞などのキーワードＡ〜Ｅを含むセンテンスが複数格納されている。
【０１８０】
次いで、学習したＰＮ値を評価するためのトレーニングデータＤ１０２を作成する（Ｓ８０２）。このトレーニングデータＤ１０２は、テンプレートデータＤ１０１において、固有名詞や、ユーザーが既にＰＮ値を設定したキーワードを、一般的な代名詞、動詞に置き換えたうえで、その置きかえられた文章（テキストデータ）に対する文章ＰＮ値（基準文章ＰＮ値）を設定したテーブルデータである。詳述すると、テンプレートデータＤ１０１には、固有名詞や、ユーザーが既にＰＮ値を設定した動詞、形容動詞などのキーワードＡ〜Ｅを含むセンテンスが複数格納されており、トレーニングデータＤ１０２では、各レコードのテキスト中に含まれている固有名詞Ａ〜Ｅが、「私」や「彼（彼女）」等の代名詞に置き換えられており、一般的な名詞や動詞、形容動詞など固有名詞が代名詞に置き換えられた文章について学習の基準となる基準文章ＰＮ値が設定される。この基準文章ＰＮ値は、単一又は複数のユーザー若しくはユーザー以外の操作者が入力したものであり、専門のオペレーターが入力したり、Ｗｅｂ上のアンケートなどにより収集することができる。
【０１８１】
次いで、学習用ＰＮ値セットを選定し、テンプレートデータＤ１０３へのＰＮ値の当て嵌めを行う（Ｓ８０３）。詳述すると、テンプレートデータＤ１０１に含まれる固有名詞、及びその文章中における品詞を解析し、各固有名詞をその品詞に応じた代名詞に置き換えたうえで、固有名詞以外の一般名詞や一般動詞などの単語Ｏ〜Ｕに対してランダムな値のＰＮ値を設定した学習用ＰＮ値セットＤ１０４を当てはめて学習用データＤ１０５を生成する。
【０１８２】
そして、学習用データＤ１０５について、学習文章ＰＮ値を算出する（Ｓ８０４）とともに、その学習用ＰＮ値セットＤ１０４の適応度を算出する（Ｓ８０５）。すなわち、テンプレートデータＤ１０３に学習用ＰＮ値セットＤ１０４のＰＮ値を当てはめて得られる文章ＰＮ値算出部０により学習文章ＰＮ値を算出させ、この学習文章ＰＮ値と基準文書ＰＮ値と比較し、その一致度から適応度を算出する。
【０１８３】
本実施形態では、この学習文章ＰＮ値と基準文書ＰＮ値との比較は、学習用ＰＮ値セットＤ１０４内のＰＮ値を変動させつつ、学習用文章ＰＮ値の算出、及び基準文書ＰＮ値との比較を複数世代にわたり実行し、世代間で最良の、学習用ＰＮ値セットを選定する。そのために、変動された各世代のＰＮ値のセットに基づく学習文章ＰＮ値と基準文書ＰＮ値との一致度から、各世代における適応度を算出し、世代間の適応度を比較し、その時点における最良又は最悪、平均的或いは代表的なセットを記憶保持しておく（Ｓ８０６）。
【０１８４】
次いで、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束するかを判断し（Ｓ８０７）、記憶保持された世代数が所定数に達せず、且つ算出される適応度が所定範囲に収束していない場合には（Ｓ８０７における”Ｎ”）、学習用ＰＮ値セットの選定及び適応度の算出等（Ｓ８０３〜Ｓ８０６）を繰り返させる。このとき、ステップＳ８０３における学習用ＰＮ値セットの選定では、適応度が上位である複数セットの一部を抽出して組み合わせて次世代の学習用ＰＮ値セットを生成する突然変異生成処理を行う。
【０１８５】
そして、ステップＳ８０７において、記憶保持された世代数が所定数に達するか、或いは算出される適応度が所定範囲に収束した場合には（Ｓ８０７における”Ｙ”）、世代間において最上位の学習文章ＰＮ値に係るキーワード及び設定されたＰＮ値のセットを、一般的なＰＮ値としてＰＮ値設定部２０１に設定させる（Ｓ８０８）。
【０１８６】
本機能によれば、ユーザーとの対話に関してユーザーが抱いている感情を数値化した文章ＰＮ値を算出し、その文章ＰＮ値に合致した情報を検索し、選定し、加工して提示することができるため、話し手の感情が大きく影響する日常会話において、話題の中心となっている人物や団体、場所などに対して、話し手がどのような感情を抱いているかによって、ユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０１８７】
特に、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０１８８】
また、本実施形態では、いわゆるワードシソーラス分類を応用することにより、情報の検索や回答の生成に際し、同義関係、類義関係を考慮することができ、単純に音声やテキストを解析して得られるキーワード検索では漏れてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０１８９】
さらに、本実施形態では、情報データから得られるテキストデータに含まれる文章内における、文章構造が分岐を有する複文などになっている場合にも、分岐毎に単語の出現頻度を解析して、単語の優先度を設定しフィルタリングすることで、主たる話題となっているキーワードを適切に抽出することができる。
【０１９０】
以上述べたように、本実施形態によれば、話し手であるユーザーが、特定の話題に対してポジティブな感情を抱いているか、ネガティブな感情を抱いているかを予測することによって、曖昧な日常会話をより正確に解析することができる。この結果、日常生活の中で大まかに無造作に交わされる会話のような自然文章を正確に解析し、さらには、話し相手の意図を推定して回答できる思考方法を模倣したコミュニケーションを図ることができる。
【０１９１】
（２−２）ワード間距離算出機能
ワード間距離算出機能３００は、動的クラスタリング部３０３と、群体パラメーター設定部３０１とを備えている。
【０１９２】
群体パラメーター設定部３０１は、各キーワードに対して、入力されたキーワードの重要度、及びキーワード間の関連性の度合いに関する群体パラメーターを設定するモジュールである。本実施形態にかかる群体パラメーターとしては、
単語の出現頻度（暗黙の主語を含む。）
他のワードと同じ記事（話題）や文章、段落、文節内に出現した回数
文章の木構造において並列又は直列かの回数
その単語に係る「の」、「が」、「は」の他の助詞の出現頻度
出現時刻
を用いる。
【０１９３】
なお、固有名詞はそれぞれマージしたあとのものを使用し、一般的な用語(勝つ、負ける)は、シソーラス辞書に引き当てて同義語をグルーピングしたあとに使用してもよい。この場合、出現頻度のカウントについては、グループ単位でのシソーラス辞書に対する引き当て数とすることができる。また、同義語のグループ内でもニュアンスや強調などを考慮した重み付をして頻度を算出してもよい。例えば、「勝つ」という文言と「連勝」という文言とは、「勝つ」という括りで同義語として扱うことができるため、"勝"が２回というようにカウントすることができ、さらにはその強調するニュアンスを加味した重みをつけて、１＋１×２＝３というように計算してもよい。
【０１９４】
また、さらにこの群体パラメーターには、あるキーワードが出現しない経過時間に関する風化係数が含まれ、各キーワードに付与された風化係数に応じて、そのキーワードの重要度が減衰されるようになっている。この出現しない経過時間は上記(5)に掲げたような、最後の出現時刻からの経過時間に基づいて算出することができる。
【０１９５】
このようにして算出された群体パラメーターは、図５Ｃ（ｂ）に示すようなデータセットとして蓄積される。すなわち、各ワードに関する出現頻度や助詞係数、木構造パターン、関連テキストなどをメインのテーブルデータＤ１として、このテーブルデータＤ１の項目「助詞係数」にはテーブルデータＤ１１をリレーションで関連づけ、項目「木構造」には、テーブルデータＤ１２をリレーションで関連づけた構造を有するリレーショナルデータベースとなっている。これにより、一つの単語に、その単語自身の出現頻度やや関連テキストデータの他、他の単語それぞれとの関係性を示す助詞係数、木構造などが紐付けられており、動的クラスタリングにおける変位処理を行う場合には、図５Ｂに示すように、中心となる各単語を動的オブジェクトとして順番に取り上げ、その単語と紐付けられたテーブルデータＤ１１，Ｄ１２（図５Ｃ）中にある単語を仮想空間上の影響範囲Ｒ内で探索し、検出されればその他の単語との関係から移動方向や移動量を決定する。
【０１９６】
このとき複数の単語が検出された場合には、それぞれに対するベクトル（Ｆ１及びＦ２）を計算し、テーブルデータＤ１１，Ｄ１２内で検出されなかった場合には、その検出されなかった単語をその中心となった単語（動的オブジェクト）の影響範囲Ｒから追い出すように移動方向及び移動量のベクトル（Ｆ４）を決定する。さらに、他の動的オブジェクトが中心となったときに、その他の動的オブジェクトについての変位処理によるベクトル（Ｆ３）も加算される。そして、それらのベクトルＦ１〜Ｆ４の合成ベクトルに基づいて変位処理を実行する。図５Ｂの例では、Ｗｏｒｄ＿ｋ及びＷｏｒｄ＿ｌが影響範囲Ｒ内で関連づけられた単語として検出され、Ｗｏｒｄ＿oが関連のない単語として検出されているとともに、Ｗｏｒｄ＿ｉ自身は、Ｗｏｒｄ＿ｚに対して関連のない単語として検出されている。
【０１９７】
そして、群体パラメーター設定部３０１で設定された群体パラメーターは、ユーザー情報データベース５０に蓄積されるとともに、動的クラスタリング部３０３に入力される。
動的クラスタリング部３０３は、図５Ｃ（ａ）に示すように、人や環境、話者の趣味や気分などいろいろな指標や切り口によって、言葉相互の関係性（距離）をクラスタリングするモジュールである。例えば、同じ野球ファンであっても、そのユーザーがピッチャーのファンである場合と、バッターのファンである場合とでは、そのチーム名や選手名、監督名などの固有名詞相互の関係性や、それぞれの重要度が異なる。
【０１９８】
この動的クラスタリング部３０３によるクラスタリングは、各キーワードを、図５Ｂに示すように、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、これらの動的オブジェクトに対する変位処理により行われる。具体的には、各動的オブジェクトについて、各動的オブジェクトを中心とする影響範囲Ｒに存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行し、前記仮想空間上における各キーワード間の距離をワード間距離として算出する。この動的クラスタリング部３０３により算出された各ワード間距離は、話題ワールドマップとして、ユーザー情報データベース５０に蓄積されるとともに、回答生成部１０７に入力される。
【０１９９】
この動的クラスタリング部３０３による変位処理では、先ず、中心となる動的オブジェクトを自動で設定し、その中心となった動的オブジェクトの影響範囲内にある他の動的オブジェクトについて、所定のルールに従って動的オブジェクトを移動させる。この中心となる動的オブジェクトの選定は、出現頻度やユーザーの切り口（話題や記事等）に応じて行う。そして、ここで用いられるルールには、
(a)各キーワードの関連性の度合い基づいて、所定の影響範囲内に存在する他の動的オブジェクトに接近する方向に移動させること
(b)各キーワードの重要度に基づいて、移動量を決定すること
(c)各キーワードの関連性がない動的オブジェクト間は、影響範囲外へ追い出すようにして、離間する方向に移動させること
が含まれる。
【０２００】
このルールに従って変位処理をさせると、図５Ｂに示すように、例えば、中心となった動的オブジェクトＷｏｒｄ＿ｉと関連づけられた他の動的オブジェクトＷｏｒｄ＿ｋ及びＷｏｒｄ＿ｌに対するベクトル（Ｆ１及びＦ２）を計算し、関連づけられていない動的オブジェクトＷｏｒｄ＿ｏを、影響範囲Ｒから追い出すように移動方向及び移動量のベクトル（Ｆ４）を決定する。さらに、他の動的オブジェクトＷｏｒｄ＿ｚが中心となったときに、その他の動的オブジェクトＷｏｒｄ＿ｚについての変位処理によるベクトル（Ｆ３）も加算される。そして、それらのベクトルＦ１〜Ｆ４の合成ベクトルに基づいて変位処理を実行する。
【０２０１】
なお、上記辞書データベース４０ｂは、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス辞書を格納している。
【０２０２】
（群体パラメーター算出機能の動作）
以上の構成を有する群体パラメーター算出機能は、以下のように動作する。図３Ｂは、群体パラメーター算出機能の動作順序を示すフローチャート図である。
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う（Ｓ４０１）。具体的には、情報ソース取得部１０１が、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Ｗｅｂ等の通信ネットワークにおける情報収集としては、Ｗｅｂクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってＷｅｂデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがＷｅｂ検索した際のキーワードや実際にアクセスしたＷｅｂページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
【０２０３】
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ４０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０２０４】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ４０３，Ｓ４０４）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
【０２０５】
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ４０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０２０６】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図５Ａに示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ａに示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【０２０７】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ４０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ４０６）。
【０２０８】
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う（Ｓ４０７）。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく（Ｓ４０７）。
【０２０９】
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部３０１が設定した群体パラメーターとを関連づけて、ユーザー情報データベース５０に蓄積するとともに、ステップＳ４０２〜Ｓ４０７によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース５０に蓄積する（Ｓ４０８）。
【０２１０】
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には（Ｓ５０１）、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ５０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０２１１】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ５０３）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップＳ５０３で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する（Ｓ５０４）。
【０２１２】
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ５０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０２１３】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図５Ａに示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ａに示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【０２１４】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ４０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ５０６）。
【０２１５】
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う（Ｓ４０７）。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、又は更新しておく（Ｓ５０７）。
【０２１６】
その後、回答生成部１０７は、ステップＳ５０７で生成した話題ワールドマップ上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成する（Ｓ５０８）。
【０２１７】
本機能によれば、話題ワールドマップ上のワード間距離を用いることにより、ユーザーの指標や切り口によって、そのユーザーが対話の中で用いている言葉相互の関係性や、話題に関する指標に基づいて関連性の高い単語をキーワードとして、そのユーザーにとって最適な情報を選定し、加工することができ、個々のユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０２１８】
特に、ユーザーが利用した情報データについて繰り返し一定のルールに則った変位処理を施すシミュレーションを実行することにより、関係性を有する単語は、重要度の高いものを中心として集まり、関係性のないものは離間していき、ユーザーの特性を反映させつつ動的に、より最適なワールドマップを形成することができる。また、本実施形態では、キーワードが使用されない期間に応じた風化係数によって、その使用されなくなったキーワードの重要度を減衰させるため、話題に上がらなくなった情報や死語となった流行語など、風化した単語がいつまでも検索結果に登場してしまうことを回避できる。
【０２１９】
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０２２０】
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」、「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
【０２２１】
本実施形態では、情報ソース取得部１０１が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Ｗｅｂ上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
【０２２２】
また、本実施形態では、いわゆるワードシソーラス分類を応用することにより、情報の検索や回答の生成に際し、同義関係、類義関係を考慮することができ、単純に音声やテキストを解析して得られるキーワード検索では漏れてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０２２３】
さらに、本実施形態では、群体パラメーター設定部３０１が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
【０２２４】
以上述べたように、本実施形態によれば、同じ言葉（単語）の組合せであっても、それらの言葉が登場する話題や分野において、話し手であるユーザーがその言葉についてどのような指標や切り口でクラスタリングしているかを考慮することができ、曖昧な日常会話をより正確に解析することができる。この結果、日常生活の中で大まかに無造作に交わされる会話のような自然文章を正確に解析し、さらには、話し相手の意図を推定して回答できる思考方法を模倣したコミュニケーションを図ることができる。
【０２２５】
（２−３）ポテンシャル場算出機能
ポテンシャル場算出機能４００は、エゴグラム設定部４０１と、ポテンシャル場形成部４０２とを備えている。
【０２２６】
エゴグラム設定部４０１は、  キーワード解析部１０６が抽出したキーワード、或いは情報ソースデータベース４０ａに蓄積されたキーワードのうち、特定の人、物又は事象に関するキーワードを話題キーワードとしてグルーピングし、そのグループ毎に、群体パラメーターに従って、各キーワードの分布状態を三次元の座標で形成されたマップとして作成し、マップ上における各キーワードに対するユーザーの自我状態を示すエゴグラムパラメーターを設定するモジュールである。
【０２２７】
このエゴグラムパラメーターは、人間の性格を５つの独立したパラメーターで表現した係数であり、エゴグラムとは、これらのパラメーターにより表される５つの自我状態が放出する心的エネルギーの高さをグラフにしたものであり、アンケートや性格診断などで求めることができる。エゴグラムパラメーターとしては、
CP（批判的親）：厳しい心。自分の価値観を正しいものと信じて譲らず、責任を持って行動し、他人に批判的である。この部分が低いと、ルーズな性格になる。
NP（養育的親）：優しい心。他人を思いやって行動し、保護的で親切である。この部分が低いと、冷淡な性格になる。
A（大人）：合理的な心。現実を重視しており、物事をきちんと計算して行動し、合理的である。この部分が低いと、非合理的な性格になる。
FC（自由な子ども）：自由奔放な心。明るく無邪気でユーモアがあり、わがままで自己中心的である。この部分が低いと、閉鎖的でネクラな性格になる。
AC（順応した子ども）：従順な心。他人に嫌われたくないという気持ちが強く、言いたいことを言わずに我慢してしまい、妥協的である。この部分が低いと、マイペースな性格になる。
といったものが挙げられる。
【０２２８】
ポテンシャル場形成部４０２は、エゴグラム設定部４０１によって設定されたエゴグラムパラメーター、及び群体パラメーター設定部３０１が設定した群体パラメーターに基づいて、動的クラスタリング部３０３が算出したワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するモジュールである。本実施形態では、動的クラスタリング部３０３で算出された各単語に関するワード間距離は、ワールドマップデータとしてユーザー情報データベース５０に蓄積されており、ポテンシャル場形成部４０２は、このワールドマップデータを読み出し、ワールドマップ上に配置された各単語（動的オブジェクト）に対して、前記エゴグラムパラメーターを反映させる補正処理を実行して、動的オブジェクトを再配置させる。
【０２２９】
この補正処理は、各キーワードの重要度をそのキーワードのサイズとし、少なくとも各キーワードのサイズとエゴグラムパラメーターの組合せに基づく定数と、に基づいて行う。例えば、各キーワードが有する影響力であるエネルギーを決定し、ワード間距離に係る２つのキーワード間の距離を、各キーワードの有する各エネルギーの積に比例し、当該キーワードのサイズに反比例する引力又は斥力が作用しているとして、前記ワード間距離を補正する。
【０２３０】
具体的に、補正処理においては、図６（ｃ）に示すように、ワールドマップ上に含まれる各単語の群体パラメーターと、エゴグラムパラメーターとを用いて、補正用の要素を以下のように定義する。
・  各ｗｏｒｄのサイズ半径ｒ  ＝  ｓｉｚｅ／２
・  各ｗｏｒｄが持っているエネルギーＥ＝ｎｒ（Ａ）ｘｎｒ（ｐｎ）ｘｎｒ（ｓｉｚｅ
・  各ｗｏｒｄのエネルギーの及ぶ範囲σ＝ｎｒ（ＮＰ）
・  各ｗｏｒｄのエネルギーの放出の勢いΔｄ＝ｎｒｍ（ＦＣ）
ここで、ｎｒｍはｎｏｒｍａｌｉｚｅ［０．７−１］である。
・  各ｗｏｒｄのまわりの影響力の濃度（強度分布）の計算  ａｎ＋１＝ａｎΔｄ
・  各ｗｏｒｄの自分への引き寄せ力→初期配置の移動量＝ｎｒ（ｃｐ）
ここで、ｎｒはｎｏｒｍａｌｉｚｅ  ［０，１］
・各ｗｏｒｄ（星）の単位ベクトル  ＰＮの（＋）（−）でベクトルの向きを逆とする。
【０２３１】
そして、これらの要素に基づいて、単語間相互に作用する引力又は反発力を次の式により求める。
【数１】
0006034459.tif 000004
【０２３２】
この式において、一方の単語をユーザー自身を意味する一人称の単語群とすることにより、他方の単語との間の引力又は反発力を求めることができ、その言葉がユーザー自身に与える影響度を推定することができる。
【０２３３】
さらに、動的クラスタリング部３０３では、引き込みのルールに従って、ユーザーポテンシャル場を補正する。この引き込みルールは、振動子群が相互作用や周期外力の作用によって振動タイミングを揃える同期現象を応用した補正処理であり、次式で表される。
【数２】
0006034459.tif 000005
なお、θｔは特定の動的オブジェクトの位相であり、θneiighber,tは、時刻ｔでの周辺の他の動的オブジェクトの位相を意味する。また、上式においてＡＣは、エゴグラムパラメーターであり、上式の引き込み係数として用いられている。
【０２３４】
そして、この引込のルールでは、
(1)特定の動的オブジェクトが所定の振動（位相θｔ）をしているものとし、
(2)当該特定の動的オブジェクトと、その周囲で振動（位相θneiighber,t）する他の複数の動的オブジェクトとが、各摂動（位相θｔ−θneiighber,t）を介して相互作用を生じさせているものとし、
(3)各摂動が消失されて、それぞれの動的オブジェクトの各振動が一定の周期解に漸近し、確動的オブジェクトの変位が同期する
として、各動的オブジェクトを再配置するための変位処理を実行する。なお、本実施形態では、各単語（自身を意味する一人称の単語群を含む）に係る動的オブジェクトは、その言葉が使用された時間差などをノーマライズした値を位相とし、その言葉を発したときの音量や、その言葉の出現頻度、重要度振動をノーマライズした値を振幅として振動しているものとして演算する。
【０２３５】
この引き込みルールにより、それぞれが所定の摂動（ずれ）をもってバラバラに変位している動的オブジェクト群が、摂動を消失させるように周囲の動的オブジェクトを引き込んで同期させることにより、特定の言葉や情報が突出して使用されるのを平準化できる一方で、普段使用されない言葉や情報を活性化させることができる。引き込まれて活性化された単語はその言葉自身がまた上式により引力又は反発力を有することとなり、その言葉がユーザーに対して与える影響度が変化され、動的にワールドマップを更新されることとなる。
【０２３６】
（対話インターフェースの動作）
以上の構成を有する対話インターフェースは、以下のように動作する。図３は、対話インターフェースの動作順序を示すフローチャート図である。
【０２３７】
先ず、ユーザーとの対話に先行し且つ常時周期的に、予め情報ソースの収集を行う（Ｓ６０１）。具体的には、情報ソース取得部１０１が、Ｗｅｂ等の通信ネットワークを通じて取得される一般的な情報の他、端末内に蓄積されている各ユーザーに固有のプライベートなローカルデータなどを情報ソースとして収集する。Ｗｅｂ等の通信ネットワークにおける情報収集としては、Ｗｅｂクローラーと呼ばれる、通信ネットワーク上のリンクを辿ってＷｅｂデータ間を遷移することにより、通信ネットワーク上のありとあらゆる情報データを回収する検索ロボットプログラムを用いる手法が挙げられる。一方、プライベートなローカルデータの収集としては、ユーザーがＷｅｂ検索した際のキーワードや実際にアクセスしたＷｅｂページ、コンテンツの他、ユーザーが作成した文書、送受信した電子メール、ユーザーのスケジュールなどが挙げられる。また、情報ソースとしては、その情報を取得した時点の日付や時刻、場所、気象情報、関連するニュースなどを紐付けして取得するようにしてもよい。
【０２３８】
次いで、収集された情報データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ６０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０２３９】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ６０３，Ｓ６０４）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出して、この推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する。
【０２４０】
次いで、情報ソースから得られたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ６０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０２４１】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞等の付随語の種類に基づいて、群体パラメーターを設定する。例えば、図５Ｂ（ａ）に示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。
【０２４２】
ここで、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ｂ（ａ）に示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【０２４３】
なお、本実施形態では、ここでいうところの「付随語」としては、単語間の関連性を示すものであれば、日本語の「助詞」に限定されず、各言語の文法に応じて適宜選択することができ、英語であれば語順や前置詞、関係代名詞やその他用法などから求めることもできる。
【０２４４】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ６０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ６０６）。
【０２４５】
そして、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上で変位処理をするシミュレーションを実行し、動的クラスタリングを行う（Ｓ６０７）。具体的には、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、一定のルールに則った変位処理を実行する。このシミュレーションを繰り返すことにより、各キーワードは、関係性の強い単語同士はそれぞれ集合して群体を形成し、関係性の弱い単語同士は離間していく。このシミュレーションは、話題毎に行い、このシミュレーションの結果として得られた、各単語の仮想空間上の座標を、話題毎の話題ワールドマップとして生成し、蓄積しておく（Ｓ６０７）。
【０２４６】
その後、各キーワードとともに、各キーワードについて群体パラメーター設定部３０１が設定した群体パラメーターとを関連づけて、ユーザー情報データベース５０に蓄積するとともに、ステップＳ６０２〜Ｓ６０７によって加工された情報ソースを単位記事毎に、話題ワールドマップを関連づけて、ユーザー情報データベース５０に蓄積する（Ｓ６０８）。
【０２４７】
他方、この情報ソースの蓄積に合わせて、予め或いは定期的に、各単語に対する群体パラメーター及びエゴグラムの収集も行う（Ｓ３０１）。この群体パラメーターの収集方法としては、例えば、ＳＮＳにおける「いいね！」ボタンのクリックなど賛同操作、レビュー入力などの評価操作を収集したり、各キーワードに対する心証をアンケート手続によって収集したりするなどが挙げられる。また、エゴグラムの収集は、性格診断などにより収集される。この収集された群体パラメーターは、キーワード毎に「＋」、「−」及び数値（０を含む。）として紐付けられて設定され、ユーザー情報データベース５０に蓄積される。エゴグラムパラメーターも、話題毎にグルーピングしたうえで、ユーザー情報データベース５０に蓄積される。
【０２４８】
そして、ユーザーとの対話においてユーザーからの問いかけなどの入力があった場合には（Ｓ７０１）、ユーザーによる入力データがテキストデータではない場合には、必要に応じてテキストデータに変換し、不要なデータが含まれている場合にはクレンジング処理を施す（Ｓ７０２）。テキスト化処理としては、例えば、取得されたデータが音声であるときに音声認識処理によりテキスト化したり、映像や動画であるときに画像認識処理により写っている人物や場所等を所定の単語に置き換えたりすることが挙げられる。また、クレンジング処理としては、Ｗｅｂページに含まれるタグデータやその他の制御文字、音声に含まれる不要な発生やノイズなどを排除することが挙げられる。
【０２４９】
このようにテキスト化され不要なデータが削除されたテキストデータについて、形態素解析を行うとともに、省略された主語などの推定を行う（Ｓ７０３）。具体的には、情報ソースについて、センテンスを抽出し、各センテンスを構成する単語に関する品詞を解析し、省略された単語を検出し、そのセンテンスの当該情報ソース内における位置関係に基づいて、当該省略単語の品詞に応じた単語を推定単語として検出する。そして、ステップＳ７０３で得られた推定単語を省略単語の検出位置に推定単語を追加して、テキストデータを再構成する（Ｓ７０４）。
【０２５０】
次いで、再構成されたテキストデータから、キーワードを抽出するとともに、助詞係数の算出を行う（Ｓ７０５）。このキーワードの検出に際しては、いわゆるシソーラス辞書を用いて、類義語のマージを行う。具体的には、単語の上位又は下位関係、部分又は全体関係、同義関係、類義関係の少なくとも一つに基づいて単語を分類し、体系付けたシソーラス辞書に基づいて、解析対象となる単語を分類するシソーラス分類を行う。
【０２５１】
また、助詞係数の算出では、ワード間距離を設定する対象となっているキーワードに付随する助詞の種類に基づいて、群体パラメーターを設定する。例えば、図５Ｂ（ａ）に示すように、野球の話題において、解析対象が「チームＡ」という単語であった場合、その単語に続く助詞がいずれとなっているかを解析し、さらにその後に続く単語との関係性の強弱を推定する。ここでは、「の」＞「が、は」＞「と」＞その他、というように助詞係数を設定している場合、図５Ｂ（ａ）に示した例では、単語「チームＡ」と単語「マジック」とは助詞「が」で連結されており、「選手Ｓ」とは助詞「の」で連結されていることから、「チームＡ」と「選手Ｓ」との関係性は、「チームＡ」と「マジック」との関係性よりも強いと設定される。ここで抽出された助詞係数は、群体パラメーター設定部３０１に入力される。
【０２５２】
次いで、省略された単語が追加され再構成されたテキストデータについて、文章内における文節を切り出し、文節間の分岐関係を抽出して、抽出された各分岐に基づく文章の木構造を算出するとともに、群体パラメーター設定部３０１は、ステップＳ６０５で算出した助詞係数と、センテンス解析部１０２が算出した木構造とに基づいて、群体パラメーターを設定する（Ｓ７０６）。
【０２５３】
そして、ユーザー情報データベース５０に蓄積されているワールドマップを読み出して参照し、ユーザーポテンシャル場を生成する（Ｓ７０７）。具体的には、各キーワードを動的オブジェクトとして、群体パラメーターに従って仮想空間上に配置するとともに、ワールドマップ上に配置された動的オブジェクト全体の重心位置を、ユーザーの自我の中心として設定する。この重心位置は、仮想空間上に存在するすべての動的オブジェクトの座標と、質量（出現頻度や優先度から換算）とから重量を加味した座標位置として求め、この重心位置に、ユーザー自身（「わたし」、「ぼく」などの一人称）を配置する。なお、このユーザー自身を意味する一人称は、単一の単語ではなく、「わたし」、「ぼく」などの一般的な一人称のほか、本人の氏名やニックネームなどの同義語をマージしてグルーピングした単語群とする。
【０２５４】
そして、この自我の中心を示す座標原点が設定されたワールドマップ上において、変位処理を行うための群体シミュレーションを実行し、動的クラスタリングを行う。その際、ステップＳ３０１で収集されたエゴグラムパラメーター及び群体パラメーターに基づいて、ステップＳ６０７で生成されたワールドマップにおけるワード間距離を話題毎の補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出する。ユーザー自身（「わたし」、「ぼく」などの一人称を意味する単語群）を重心位置に配置したユーザーポテンシャル場を参照することで、ユーザー自身と各キーワードとの相対的なワード間距離を算出することができる。
【０２５５】
詳述すると、各キーワードに設定された群体パラメーターに応じた挙動を取る動的オブジェクトとして仮想空間上にそれぞれ配置し、各動的オブジェクトについて、各動的オブジェクトを中心とする所定範囲に存在する他の動的オブジェクトに対する位置関係に基づき、上式に則った単語間の引力及び反発力を求め、各言葉（キーワード）がユーザー自身に及ぼす影響力を推定することができる。
【０２５６】
これにより、各キーワードは動的オブジェクトとして、ユーザーの性格に応じて、且つ、話題毎に関係性に応じて、その大きさや位置、影響力が設定された群体として配置され、ユーザーポテンシャル場が形成される。このとき、関係性の弱い単語同士や、ユーザーの性格上受け入れにくい単語は離間していく。また、ユーザーの性格や話題、単語との相性に余よっては、ユーザーが嫌いな単語が近づいてくることもあり、ユーザー自身にとってストレスフルな状態がユーザーポテンシャル場に自動的に形成される場合もある。このシミュレーションは、話題毎に行い、このシミュレーションの結果として再配置された、各単語の仮想空間上の座標を、話題毎のユーザーポテンシャル場として生成し、又は保存しておく（Ｓ７０７）。
【０２５７】
その後、回答生成部１０７は、ステップＳ７０７で生成したユーザーポテンシャル場上におけるワード間の距離を算出し、その算出結果をワード間距離として単語間の関係性の強弱として反映させつつ、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成する（Ｓ７０８）。
【０２５８】
本機能によれば、ユーザーの性格が反映されたユーザー固有のユーザーポテンシャル場上のワード間距離を用いることにより、話し手の感情が大きく影響する日常会話において、ユーザーが対話の中で用いている言葉や話題に基づく関連性の高い単語をキーワードとして、そのユーザーの性格に合わせて、ときには心地よい或いは有益な情報を選定し、ときにはストレスフルな情報や表現となるように加工することで、個々のユーザーの性格に合わせて興味を惹いたり、対話を継続できるような検索結果や回答表現を提供することが可能となる。
【０２５９】
このとき、ユーザーの受け止め方や、ユーザーに与える心的な影響度を、話題毎に考慮するため、話題が順次移っていくような日常会話であっても、自然な形でユーザーの趣味嗜好に合わせたコミュニケーションを取ることができる。
【０２６０】
特に、ユーザーが利用した情報データについて、群体シミュレーション、及びエゴグラムパラメーターによる補正処理を実行することにより、ユーザーの性格を反映させたユーザーポテンシャル場を生成できる。詳述すると、本来、ユーザー自身にとっての自己中心的な理想は、図６（ａ）に示すように、自分にとって心地よいものが近くに存在し、心地悪いものが遠くに存在している。ところが、現実は、同図（ｂ）に示すように、自分の意思とは関係なく、気に入っていた物がなくなったり、嫌いな人が接近してきたり、好きな人が遠距離に転勤したり等、外からの影響で周囲の環境が変わってしまい、自己中心的な理想が崩され、ポテンシャル場がゆがめられたストレスフルな状況が形成される。
【０２６１】
本実施形態では、このようなリアルなユーザー固有のポテンシャル場を動的に形成することにより、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる。
【０２６２】
またこのとき、本実施形態では、情報ソースやユーザーからの問いかけについて、推定単語を省略単語の検出位置に推定単語を検出し、省略された主語や目的語などを推定することから、暗に話題の中心となっている人物や団体、場所をキーワードとして検索すべき情報を選定し、加工することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。
【０２６３】
さらに、本実施形態では、ワード間距離を設定する対象となっているキーワードの助詞係数に基づいて前記群体パラメーターを設定することから、単語間における関連性の強度を、文章中で直接使われている「の」、「は」、「が」「と」などの助詞から求めることができ、日本人の感覚により適合した手法で、群体パラメーターを設定することができる。
【０２６４】
本実施形態では、情報ソース取得部１０１が取得した情報ソースに含まれるテキストデータを、情報ソースのデータ構造に基づいて記事単位で切り出し、切り出された各記事単位に含まれる固有名詞を相互に関連づける記事単位辞書を生成することから、本名とニックネームといったように、本来同一の人物や団体、場所などを示す異なる固有名詞を、同一グループとして扱うことができ、単純に音声やテキストを解析して得られるキーワード検索では別個のものとして扱われてしまう情報を適正に包含することができ、より正確にユーザーが所望する検索結果や回答表現を提供することが可能となる。このとき、Ｗｅｂ上のニュースなどの記事単位でグルーピングを行うため、同じ言葉であっても記事、すなわち話題毎に複数のグループに分類することができ、話題を特定することによりその話題に関連性の強い単語同士を同一の人や団体として扱うことができ、無関係な単語が検索キーワードに含まれるのを回避することができる。
【０２６５】
さらに、本実施形態では、群体パラメーター設定部３０１が、木構造に基づいて群体パラメーターを設定することから、文章構造が分岐を有する複文など文章中で直接使われている文章表現から、単語間における関連性の強度を求めることができ、その文章の作者の意図を反映させた手法で、群体パラメーターを設定することができる。
【０２６６】
（２−４）回答生成機能
本実施形態では、コア機能間で共通して用いられる回答生成部１０７を有している。回答生成部１０７は、上記ｐｈａｓｅ４〜６を実行するモジュールであり、上述したように、文章ＰＮ値算出部２０３や、動的クラスタリング部３０３、ポテンシャル場形成部４０２が算出した文章ＰＮ値や、ワールドマップ、ユーザーポテンシャル場などに基づき、情報ソース取得部１０１を通じて検索を行い、ユーザーに対する回答を生成するモジュールである。この回答生成部１０７で生成された回答は、対話入出力部６０の回答出力部６０ｂを通じて出力される。
【０２６７】
（作用・効果）
以上説明した、本実施形態に係る対話インターフェースシステムによれば、従来の人工知能の機能に加えて、より人間に近い受け答えをするためのアルゴリズムであるコア機能の三要素（「ＰＮ値」算出機能、「ワード間距離」算出機能、「ポテンシャル場」算出機能）により、入力される各種情報に対して、利用ユーザーの友人のような対応すべく、そのユーザーに関する情報や心理状態をも加味して応答するように、そのユーザー用に特化され、且つ、そのユーザーとの相性を考慮した擬人格によって、多種多様な回答（リアクション）を表現することができる。特に、「ＰＮ値」算出機能、及び「ワード間距離」算出機能で生成された文章の感情（ＰＮ値）及び各話題に応じたワード間距離に関する算出データを、「ポテンシャル場」算出機能に集約し、リアルなユーザー固有のポテンシャル場を動的に形成し、このユーザーポテンシャル場を利用することで、話し相手の性格を考慮したうえで、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるような加工して回答できる思考方法を模倣したコミュニケーションを実現できる。
【符号の説明】
【０２６８】
Ｄ１，Ｄ１１，Ｄ１２…テーブルデータ
Ｄ１０１…テンプレートデータ
Ｄ１０２…トレーニングデータ
Ｄ１０３…テンプレートデータ
Ｄ１０４…学習用ＰＮ値セット
Ｄ１０５…学習用データ
１…情報処理端末
２…通信ネットワーク
５ａ，５ｂ…各種出力デバイス
６ａ〜６ｄ…各種入力デバイス
１０…ＣＰＵバス
１１…ＣＰＵ
１２…メモリ
１３…通信Ｉ/Ｆ
１４…記憶装置
１５…出力Ｉ/Ｆ
１６…入力Ｉ/Ｆ
２０…コア機能実行部
４０ａ…情報ソースデータベース
４０ｂ…辞書データベース
５０…ユーザー情報データベース
６０…対話入出力部
６０ａ…入力部
６０ｂ…回答出力部
１００…初期化処理部
１０１…情報ソース取得部
１０２…センテンス解析部
１０３…省略単語検出部
１０４…推定単語検出部
１０５…テキスト再構成部
１０６…キーワード解析部
１０７…回答生成部
２００…ＰＮ値算出機能
２０１…ＰＮ値設定部
２０１ａ…フィルタリング部
２０１ｂ…テンプレート生成部
２０１ｃ…トレーニングデータ作成部
２０１ｄ…学習部
２０３…文章ＰＮ値算出部
３００…ワード間距離算出機能
３０１…群体パラメーター設定部
３０３…動的クラスタリング部
４００…ポテンシャル場算出機能
４０１…エゴグラム設定部
４０２…ポテンシャル場形成部
【要約】      （修正有）【課題】質問に対し、話し相手の性格を考慮したうえで、言葉がそれぞれのユーザーに与える影響度を推定し、ユーザーの興味を惹いたり、対話を継続させられるような情報を選択し、ユーザーを面白がらせるように加工して、回答を出力する。【解決手段】情報ソースを取得する情報ソース取得部１０１と、テキストデータからキーワードを抽出するキーワード解析部１０６と、各キーワード間の関係の強弱を示す群体パラメーターを設定する群体パラメーター設定部３０１と、対話に含まれるキーワードを抽出し、対話に含まれるキーワードについて設定された群体パラメーターに基づいて、ワード間距離を算出する動的クラスタリング部３０３と、エゴグラムパラメーター及び群体パラメーターに基づいて、ワード間距離を補正し、各キーワードに対するユーザーの反応パターンを示すユーザーポテンシャル場を算出するポテンシャル場形成部４０２とを備える。【選択図】図２Ｃ【図１】
0006034459.tif 000006
【図２Ａ】
0006034459.tif 000007
【図２Ｂ】
0006034459.tif 000008
【図２Ｃ】
0006034459.tif 000009
【図３Ａ】
0006034459.tif 000010
【図３Ｂ】
0006034459.tif 000011
【図３Ｃ】
0006034459.tif 000012
【図４Ａ】
0006034459.tif 000013
【図４Ｂ】
0006034459.tif 000014
【図４Ｃ】
0006034459.tif 000015
【図４Ｄ】
0006034459.tif 000016
【図４Ｅ】
0006034459.tif 000017
【図５Ａ】
0006034459.tif 000018
【図５Ｂ】
0006034459.tif 000019
【図５Ｃ】
0006034459.tif 000020
【図６】
0006034459.tif 000021
【図７】
0006034459.tif 000022
【図８】
0006034459.tif 000023
【図９】
0006034459.tif 000024
【図１０】
0006034459.tif 000025
【図１１】
0006034459.tif 000026