(57)【要約】【課題】テキストの内容の意図を表現する単語を対象にして、２つのテキスト間の類似度を求められるとともに、テキストベクトルを蓄積するデータベースの更新を低コストに行うことのできる電子機器装置を提供する。【解決手段】入力されたテキストを形態素解析によって単語に分割し、これらの単語の中から、単語の出現頻度と共起関係に基づいてキーワードを抽出する手法（KeyGraph）を用いてキーワードまたはキーワード候補の単語を絞り込み、これらの単語の重みを求め、求めた各単語の重みに基づいてテキストベクトルを生成する。生成されたテキストベクトルと、テキストベクトルＤＢ４に蓄積されている別のテキストのテキストベクトルとの内積をとって２つのテキスト間の類似度を計算する。【選択図】    図２
2005122515.tif 000002
【特許請求の範囲】
【請求項１】
テキストを入力するテキスト入力部と、
前記テキスト入力部より入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求め、求めた単語とその重みに基づいて前記テキストのベクトルを生成するテキストベクトル生成部と、
前記テキストベクトル生成部により生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算する類似度計算部と
を具備することを特徴とする電子機器装置。
【請求項２】
前記テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、前記キーワードまたは前記キーワード候補である単語の重みを求めることを特徴とする請求項１に記載の電子機器装置。
【請求項３】
前記テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めることを特徴とする請求項１に記載の電子機器装置。
【請求項４】
前記テキストベクトル生成部により生成されたテキストのベクトルを蓄積するデータベースをさらに有し、
前記類似度計算部は、前記テキストベクトル生成部により生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するものであることを特徴とする請求項１に記載の電子機器装置。
【請求項５】
テキストを入力するステップと、
前記入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求めるステップと、
前記求めた単語とその重みに基づいて前記テキストのベクトルを生成するステップと、
前記生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するステップと
を有することを特徴とするテキスト間の類似度計算方法。
【請求項６】
少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、キーワードまたはキーワード候補である単語の重みを求めることを特徴とする請求項５に記載のテキスト間の類似度計算方法。
【請求項７】
少なくとも、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めることを特徴とする請求項５に記載のテキスト間の類似度計算方法。
【請求項８】
生成されたテキストのベクトルをデータベースに蓄積するステップをさらに有し、生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算することを特徴とする請求項５に記載のテキスト間の類似度計算方法。
【請求項９】
コンピュータを、
テキストを入力するテキスト入力部と、
前記テキスト入力部より入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求め、求めた単語とその重みに基づいて前記テキストのベクトルを生成するテキストベクトル生成部と、
前記テキストベクトル生成部により生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算する類似度計算部
として機能させることを特徴とするプログラム。
【請求項１０】
前記テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、前記キーワードまたは前記キーワード候補である単語の重みを求めることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めることを特徴とする請求項９に記載のプログラム。
【請求項１２】
前記テキストベクトル生成部により生成されたテキストのベクトルをデータベースに蓄積する手段をさらに有し、
前記類似度計算部は、前記テキストベクトル生成部により生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するものであることを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索などで利用されるテキスト間の類似度計算に関する技術に係り、特にこの類似度計算を行うシステムを組み込んで構成された電子機器装置と、そのテキスト間の類似度計算方法、ならびにプログラムに関する。
【背景技術】
【０００２】
従来から、テキスト間の類似度計算を行う手法は、例えば、多数のテキストのカテゴリ分類や、ウェブページなどの各種文献の検索などに利用されている。テキスト間の類似度を計算する方法としては、テキスト中の単語をベクトルで表現し、そのベクトルの内積をとる方法が存在する（たとえば特許文献１を参照）。また、ベクトルの要素としては、単語の出現頻度と共に単語のＴＦＩＤＦ値（単語の出現頻度ＴＦ(Term Frequency)と文書頻度の逆数ＩＤＦ(Inverse Document Frequency)との積をとった値）が用いられることが多い。
【特許文献１】特開２００２−０７３６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、単語の出現頻度だけを用いてベクトルを表現する手法では、テキストの重要な単語が必ずしも抽出されるとは限らないという第一の問題があった。
【０００４】
また、単語のＴＦＩＤＦ値を用いてベクトルを表現する方法は、出現頻度を用いた方法より高い精度で重要単語を抽出できるものの、ＴＦＩＤＦ値は、ある特定のテキスト集合における相対量であるため、類似度計算に使用するテキストベクトルのデータベースを更新するときに、そのデータベースに既に蓄積されている全テキストのベクトルを再計算する必要がある。このため、データベースの更新にコストがかかり、更新が頻繁に行われるようなシステムには不向きである、という第二の問題があった。
【０００５】
さらに、ＴＦＩＤＦ値は、多数のテキストの中から類似性の高いテキストを相対的に評価する指標であるため、２つのテキスト間の類似度を求めることには利用できず、２つのテキスト間の類似度を求めたい場合には単語の出現頻度に基づく類似度計算を採用せざるをない、という第三の問題があった。
【０００６】
本発明は、このような事情を鑑み、テキストの内容の意図を表現する単語を対象にして、２つのテキスト間の類似度を求められるとともに、テキストベクトルを蓄積するデータベースの更新を低コストに行うことのできる電子機器装置、テキスト間の類似度計算方法およびプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の電子機器装置は、テキストを入力するテキスト入力部と、前記テキスト入力部より入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求め、求めた単語とその重みに基づいて前記テキストのベクトルを生成するテキストベクトル生成部と、前記テキストベクトル生成部により生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算する類似度計算部とを具備することを特徴とするものである。
【０００８】
この発明によれば、テキストの内容の意図を表現するキーワードやキーワード候補である単語を対象にして２つのテキスト間の類似度を算出することによって、単語の出現頻度を用いた類似度計算方法に比べ精度の向上を図れる。
【０００９】
また、本発明の電子機器装置において、テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、キーワードまたはキーワード候補である単語の重みを求めるとする。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。
【００１０】
さらに、テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めるものとしてもよい。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。詳細には、キーワード候補である単語とその重みを求める場合に共起度の和が"０"の単語がベクトルの要素から除かれるのを防止して、ベクトル生成の精度を向上させることができる。
【００１１】
また、本発明の電子機器装置は、テキストベクトル生成部により生成されたテキストのベクトルを蓄積するデータベースをさらに有し、類似度計算部は、テキストベクトル生成部により生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するものとしてもよい。これにより、入力されたテキストとデータベースのテキストたとえばユーザの嗜好を反映した単語群の記述されているテキストとの類似度を計算することができ、入力テキストがユーザの嗜好に合ったテキストであるかどうかを判定することができる。また、テキストベクトルを蓄積するデータベースの更新はデータを追加するだけで済むので、データベースの更新コストがＴＦＩＤＦ法に比べてかからない。
【００１２】
本発明の別の観点に基づくテキスト間の類似度計算方法は、テキストを入力するステップと、前記入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求めるステップと、求めた単語とその重みに基づいて前記テキストのベクトルを生成するステップと、前記生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するステップとを有するものである。
【００１３】
この発明によれば、テキストの内容の意図を表現するキーワードやキーワード候補である単語を対象にして２つのテキスト間の類似度を算出することによって、単語の出現頻度を用いた類似度計算方法に比べ精度の向上を図れる。
【００１４】
また、本発明のテキスト間の類似度計算方法は、少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、キーワードまたはキーワード候補である単語の重みを求めることを特徴とする。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。
【００１５】
さらに、本発明のテキスト間の類似度計算方法は、少なくとも、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めるようにしてもよい。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。詳細には、キーワード候補である単語とその重みを求める場合に共起度の和が"０"の単語がベクトルの要素から除かれるのを防止して、ベクトル生成の精度を向上させることができる。
【００１６】
また、本発明のテキスト間の類似度計算方法は、生成されたテキストのベクトルをデータベースに蓄積するステップをさらに有し、生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するものであってもよい。これにより、入力されたテキストとデータベースのテキストたとえばユーザの嗜好を反映した単語群の記述されているテキストとの類似度を計算することができ、入力テキストがユーザの嗜好に合ったテキストであるかどうかを判定することができる。また、テキストベクトルを蓄積するデータベースの更新はデータを追加するだけで済むので、データベースの更新コストがＴＦＩＤＦ法に比べてかからない。
【００１７】
さらに、本発明の別の観点に基づくプログラムは、テキストを入力するテキスト入力部と、前記テキスト入力部より入力されたテキストに含まれる単語の出現頻度と共起関係に基づいてキーワードまたはキーワード候補である単語とその重みを求め、求めた単語とその重みに基づいて前記テキストのベクトルを生成するテキストベクトル生成部と、前記テキストベクトル生成部により生成された２つのテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算する類似度計算部としてコンピュータを機能させることを特徴とするものである。
【００１８】
この発明によれば、テキストの内容の意図を表現するキーワードやキーワード候補である単語を対象にして２つのテキスト間の類似度を算出することによって、単語の出現頻度を用いた類似度計算方法に比べ精度の向上を図れる。
【００１９】
また、このプログラムにおいて、テキストベクトル生成部は、少なくとも、他の単語との共起関係の強さを示す共起度の和の値に基づいて、キーワードまたはキーワード候補である単語の重みを求めるものとする。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。
【００２０】
あるいは、テキストベクトル生成部は、他の単語との共起関係の強さを示す共起度の和に１以上の所定値を加えた値に基づいて、キーワードまたはキーワード候補である単語の重みを求めるものとする。これにより、キーワードまたはキーワード候補である単語の重みとして適当な値を得ることができる。詳細には、キーワード候補である単語とその重みを求める場合に共起度の和が"０"の単語がベクトルの要素から除かれるのを防止して、ベクトル生成の精度を向上させることができる。
【００２１】
また、本発明のプログラムは、テキストベクトル生成部により生成されたテキストのベクトルをデータベースに蓄積する手段をさらに有し、前記類似度計算部は、前記テキストベクトル生成部により生成された第１のテキストのベクトルと前記データベースに蓄積されている第２のテキストのベクトルに基づいてこれら２つのテキスト間の類似度を計算するものとする。これにより、入力されたテキストとデータベースのテキストたとえばユーザの嗜好を反映した単語群の記述されているテキストとの類似度を計算することができ、入力テキストがユーザの嗜好に合ったテキストであるかどうかを判定することができる。また、テキストベクトルを蓄積するデータベースの更新はデータを追加するだけで済むので、データベースの更新コストがＴＦＩＤＦ法に比べてかからない。
【発明の効果】
【００２２】
本発明によれば、テキストの内容の意図を表現する単語を対象にして、２つのテキスト間の類似度を求められるとともに、テキストベクトルを蓄積するデータベースの更新を低コストに行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面に基づき説明する。
【００２４】
図１は、本発明の一実施形態にかかるテキスト間の類似度計算システム１の構成を示すブロック図である。
【００２５】
同図に示すように、このテキスト間の類似度計算システム１は、入力されたテキスト２のベクトル化をKeyGraphの理論を用いて行うテキストベクトル生成エンジン３と、テキストベクトル生成エンジン３により生成されたテキストベクトルと、テキストベクトルデータベース（以下、「テキストベクトルＤＢ」と呼ぶ。）４に蓄積されている別のテキストのテキストベクトルとの類似度を計算して、入力テキストに対して類似度の高い順にテキストベクトルＤＢ内のテキストを並べたリスト５を出力する類似度計算エンジン６とを備えて構成されている。
【００２６】
ここで、テキストベクトル生成エンジン３は、KeyGraph（電子情報通信学会論文誌D-I Vol.J81-D-I No.2 pp.391-400 1999年2月）の理論を用いてテキストのベクトル化を次のように行う。KeyGraphとは、ある文書中に出現する単語の出現頻度と共起関係から関連グラフを作成し、この関連グラフにより文書の主張点を把握し、キーワードを抽出する手法である。
【００２７】
図２は、かかるKeyGraphの応用によるテキストのベクトル化の流れを示すフローチャートである。
【００２８】
まず、入力するテキスト２の読み込みが行われ（ステップ２０１）、入力テキスト２に対する形態素解析が行われることで入力テキスト２は単語に分割される（ステップ２０２）。分割された単語はKeyGraphによる解析によって入力文書の主張を表すキーワードにあたる単語に絞り込まれ、絞り込まれた単語の共起度の和をその単語の重みとして求める（ステップ２０３）。そして、その単語の重みに基づいてテキストベクトルの生成が行われる（ステップ２０４）。
【００２９】
なお、形態素解析は、入力テキスト２が、単語間に空白を入れる（分かち書きする）習慣のない日本語などの言語の場合に行われ、英語などの単語間に空白を入れる言語の場合は行われる必要がない。
【００３０】
次に、ステップ２０３のKeyGraphによる解析の詳細について説明する。
【００３１】
図３は関連グラフの例を示す図である。同図において、すべての丸印はキーワード候補を意味し、その中の二重丸は文書のキーワードである単語であることを意味する。単語間を接続する線は単語の共起を、線に付けられた値は共起度を示している。KeyGraphによる解析では、まず、入力テキスト中で出現頻度が高い単語（キーワード候補）の集合Ｘを抽出し、単語集合Ｘ中で共起度の高い単語対を線（図３の実線）で結ぶ。次に、出現頻度は高くないが単語集合Ｘとのつながりが強い（共起度が高い）単語（キーワード候補）の集合Ｙを抽出する。さらに、単語集合Ｘと単語集合Ｙ間で共起度が高い単語対を線（図３の破線）で結ぶ。以上により最終的な関連グラフが完成し、この関連グラフからキーワードである単語を特定する。KeyGraphでは、関連グラフにおいて、破線でつながりをもつ他の全ての単語との共起度の和で、上位より所定の数の単語（図３の二重丸）をキーワードとして抽出する。
【００３２】
さらに、KeyGraphによる解析によってキーワードとして抽出された単語の中から、キーワードとしてふさわしくない単語を削除する。たとえば、キーワードとしてふさわしくない単語を集めた不要語リスト（stop word list）を予め用意しておき、KeyGraphによる解析によってキーワードとして抽出された単語の中から不要語リストの単語と同じものを除去する方法などがある。
【００３３】
他には、形態素解析の結果から特定の品詞の単語を除去してからKeyGraphの解析を行う方法、形態素解析の結果から特定の品詞たとえば固有名詞、未知語（辞書の未登録語）、カタカナ語などの単語を抽出してKeyGraphの解析を行う方法、形態素解析の結果から特定の規則で品詞を連結たとえば連続する固有名詞と接尾語を単語として抽出してKeyGraphの解析を行う方法などを採用することが可能である。
【００３４】
図３の関連グラフから、KeyGraphによる解析によって４つの単語ｙ，ｃ，ｆ，ｈがキーワードとして抽出されたものとする。図４はこれら個々の単語ｙ，ｃ，ｆ，ｈにつながる全ての共起度の和を示した一覧である。ここでは、破線でつながる共起度の和の上位４つを、キーワード抽出条件としている。このようにしてKeyGraphによる解析によって抽出された単語の共起度の和（重み）に基づいて、テキストベクトルの生成が行われる。
【００３５】
次に、テキストベクトルを生成する別の方法を説明する。
【００３６】
上記は、KeyGraphによる解析によってキーワードとして抽出された単語によりテキストベクトルを生成するものとしたが、キーワード候補として抽出された全ての単語（たとえば図３に示す全ての単語）の重みに基づいてテキストベクトルを生成してもよい。なお、図４は、キーワードとして抽出された単語を全ての共起度の和で表現しているが、キーワードとして抽出された単語によりテキストベクトルを生成する場合、KeyGraph解析のキーワード抽出で求める、破線でつながる共起度の和で、表現してもよい。
【００３７】
この場合、図３の関連グラフにおいて孤立したつまり共起する単語を持たない単語ｋについての扱いが問題となる。すなわち、関連グラフ上で孤立した単語の共起度の和は"０"であるためベクトルの要素とならないことなる。そこで、このような関連グラフ上で孤立した単語をベクトルの要素に含めるために、個々の単語についてKeyGraphによる解析で算出された共起度の和（重み）の値に１以上の所定値を加えるようにしている。
【００３８】
図５は、単語の共起度の和（重み）の値に所定値を加える方法を示したものである。ここで、ａ，ｂ，ｃ，ｄは単語、ｃ（ａ，ｂ），ｃ（ｂ，ｃ），ｃ（ｃ，ａ）はそれぞれの単語間の共起度、Ｗａ，Ｗｂ，Ｗｃ，Ｗｄはそれぞれの単語の重みを示している。この例では、共起度の和に所定の値として"１"を加えている。なお、加える値は"１"以外であってもよい。図６は図３に示した関連グラフ上の全ての単語の重みに所定値"１"を加えた場合の結果を示している。
【００３９】
このようにしてキーワード候補として抽出された全ての単語の重みに基づいてテキストベクトルの生成が行われる。もちろん、この際、ある一定以上の重みが付いた単語のみを対象にベクトルを生成するようにしてもよい。
【００４０】
以上説明したKeyGraphによる解析によって絞り込まれた単語の重みからテキストベクトルを生成するか、キーワード候補として抽出された全ての単語の重みに基づいてテキストベクトルを生成するかは、類似判定の目的に依存する。たとえば、テキストのカテゴリといった大分類のレベルで類似度を計算する場合には、KeyGraphによって絞り込まれた単語の重みからテキストベクトルを生成する方法が好ましい。また、KeyGraphによって絞り込まれた単語の中から、さらに上位Ｎ個の単語に絞り込んでテキストベクトルを生成することも有効である。一方、詳細な類似判定を目的とする場合には、ベクトルの生成に用いる単語の数は多いほうが良く、したがって、キーワード候補として抽出された全ての単語の重みに基づいてテキストベクトルを生成する方法を採用することが好ましい。
【００４１】
また、単語の重みを生成する他の方法としては以下が挙げられる。
たとえば、品詞の種類、共起度の和の値の順位、他の単語との接続の種類などに応じて決められた係数を、単語の共起度の和の値に乗じて得た値を、単語の重みとする。より具体的な例を挙げると、図４に示した単語の共起度の和の値に対して、最上位の単語ｙの共起度の和の値に"３"を、２位以下の単語ｃ，ｆ，ｈの共起度の和の値に"２"をそれぞれ乗じた値を、各々の単語の最終的な重みとする。もしくは、図３の破線の値に"２"を乗じて共起度の和を求め、その値を各々の単語の最終的な重みとする。
【００４２】
さらに別の方法として、KeyGraphの計算過程で求まる単語の出現頻度の値と、その単語の共起度の和に所定値を加えた値との積を単語の重みとする、などがある。さらに、文書頻度の逆数ＩＤＦ(Inverse Document Frequency)などの要素を単語の重みの生成に付加することも可能である。
【００４３】
また、このようにして生成されたテキストベクトルを用いて２つのテキスト間の類似度を計算する前に、ベクトルの要素の和が１になるように正規化を行うようにしてもよい。
【００４４】
次に、類似度計算エンジン６の処理について説明する。
【００４５】
以上のようにしてテキストベクトル生成エンジン３により生成された入力テキスト２のベクトルは類似度計算エンジン６に与えられる。類似度計算エンジン６は、テキストベクトル生成エンジン３により生成されたテキストベクトルと、テキストベクトルＤＢ４に蓄積されている別のテキストのテキストベクトルとの類似度を計算し、入力テキスト２に対して類似度の高い順にテキストベクトルＤＢ４のテキストを並べたリスト５を出力する。
【００４６】
次に、２つのテキスト間の類似度を計算する方法について説明する。
【００４７】
類似度の計算にはベクトルの内積をとる方法がある。類似度の計算例として、テキストベクトル生成エンジン３により生成された入力テキストであるテキストＸと、テキストベクトルＤＢ４内のテキストＹと類似度を求める場合を説明する。図７はテキストベクトルＤＢ４内のテキストＹの単語の重みデータの例である。図８は図７のテキストＹの単語の重みデータと入力テキストＸの単語の重みデータ（図６）とを一つにまとめたものである。
【００４８】
類似度の計算式を以下に示す。
【００４９】
【数１】
2005122515.tif 000003
【００５０】
この計算式(1)に図８に示した単語の重みデータを代入すると、
【００５１】
【数２】
2005122515.tif 000004
となる。すなわち、入力テキストＸとテキストＹとの類似度cosθとして０．１８７６が算出される。
【００５２】
また、KeyGraphで求めたテキストのベクトルから、ＳＶＭ（Support Vector Machine)の理論を適応して、テキスト間の類似度計算を行うことも可能である。
【００５３】
以上説明した本実施形態のテキスト間の類似度計算システム１は次のような効果を奏し得るものである。
【００５４】
テキストの内容の意図を表現するキーワードやキーワード候補である単語を対象にして、２つのテキスト間の類似度を算出することができ、単純に単語の出現頻度を用いた類似度計算方法に比べ精度の向上も図れる。
【００５５】
また、従来のＴＦＩＤＦ法により得られる、単語のベクトルを表現したＴＦＩＤＦ値は、ある特定のテキスト集合における相対量であるため、類似度計算に使用するテキストベクトルのデータベース（本実施形態の図１のテキストベクトルＤＢ４に相当するもの）を更新する場合に、そのデータベースに含まれている全テキストのベクトルを再計算する必要がある。これに対し、本実施形態に係るKeyGraphを利用した方法では、テキスト単位で重要単語の抽出を行うこととなるため、テキストベクトルＤＢ４の既存のテキストベクトルを変更する必要がない。このため、テキストベクトルＤＢ４の更新に費やされるコストを大幅に低減でき、高速化を図れる。
【００５６】
次に、本実施形態のテキスト間の類似度計算システム１の具体的な実装例を説明する。
【００５７】
本実施形態のテキスト間の類似度計算システム１は、たとえば、ＰＣ（Personal Computer）、ＰＤＡ(Personal Digital(Data) Assistants)、携帯電話、テレビジョンセット、デジタルカメラ、デジタルビデオカメラなどの様々な電子機器装置に組み込んで利用することが可能である。
【００５８】
図９は、本実施形態のテキスト間の類似度計算システム１を実装した電子機器装置１００のハードウェア構成を示す図である。同図に示すように、この電子機器装置１００は、処理演算部としてのＣＰＵ（Central Processing Unit）２１、メインメモリ２２、プログラム／データ記憶部２３、インターネットなどのネットワーク２４との接続を処理するネットワークインタフェース部２５、ユーザに情報を視覚的に提供する表示デバイス２６、ＶＲＡＭ(Video Random Access Memory)２７を用いて表示デバイス２６の画面への描画処理を行うグラフィックコントローラ２８、ユーザに聴覚的に情報を提供するスピーカ２９、ユーザの操作入力部３０からの入力を処理するユーザインタフェースコントローラ３１、そして以上の各部の間で信号を伝達するためのバス３２を備える。
【００５９】
ＣＰＵ２１は、たとえばプログラム／データ記憶部２３に記憶されたプログラムやデータ、ユーザによる操作入力部３０からの入力などに基づき、メインメモリ２２をワークエリアとして用いて各種の演算処理や制御を実行する。
【００６０】
メインメモリ２２は、たとえば、ＲＡＭ（Random Access Memory）などの、ランダムに読み取りと書き込みが可能な高速なメモリからなる。
【００６１】
プログラム／データ記憶部２３は、読み取り専用あるいは読み書き可能な不揮発性の記憶装置であり、たとえばＲＯＭ（Read Only Memory）、フラッシュＲＯＭ、ディスクドライブなどである。このプログラム／データ記憶部２３には、上述した類似度計算システム１などをコンピュータにおいて機能させるためのプログラムなど記憶されている。
【００６２】
表示デバイス２６は、具体的には、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ(Plasma Display Panel)、ＯＥＬ(Organic Electroluminescence)などである。
【００６３】
ユーザの操作入力部３０は、具体的には、簡易キーボード、ＩＲ(Infrared)リモートコントローラ、ジョグダイヤル、プッシュボタン、ソフトウェアキーボードなどである。
【００６４】
ネットワークインタフェース部２５は、たとえばアナログモデム、ＬＡＮ(Local Area Network)、ＩＳＤＮ(Integrated Services Digital Network)、ＡＤＳＬ(Asymmetric Digital Subscriber Line)、ＦＴＴＨ(Fiber-To-The-Home)、Ｂｌｕｅｔｏｏｔｈ、ＦＯＭＡ（Ｗ−ＣＤＭＡ）などである。
【００６５】
図１０は、このような電子機器装置１００に、上記のテキスト間の類似度計算システム１を、入力テキストとユーザプロファイルとの適合／不適合を判定するシステム１０１に適用した構成を示す図である。
【００６６】
この判定システム１０１は、入力されたテキスト１０２のベクトル化をKeyGraphの理論を用いて行うテキストベクトル生成エンジン１０３と、テキストベクトル生成エンジン１０３により生成されたテキストベクトルと、ユーザプロファイルのベクトルＤＢ１０４に蓄積されているユーザプロファイルのテキストベクトルとの類似度を計算する類似度計算エンジン１０６と、類似度計算エンジン１０６によって計算された類似度に基づいて、入力テキスト１０２とユーザプロファイルとが互いに適合するものである不適合であるかを判定する類似度解析エンジン１０７とを備えて構成される。
【００６７】
図１１はこの判定システム１０１のフローチャートである。
【００６８】
まず、テキストベクトル生成エンジン１０３にて、入力テキスト１０２の読み込みが行われ（ステップ１１０１）、入力テキスト１０２に対する形態素解析が行われることで入力テキスト１０２は単語に分割される（ステップ１１０２）。分割された単語はKeyGraphによる解析によって入力文書の主張を表すキーワードにあたる一部の単語に絞り込まれ（ステップ１１０３）、絞り込まれた単語についてテキストベクトルの生成が行われる（ステップ１１０４）。
【００６９】
次に、テキストベクトル生成エンジン１０３により生成されたテキストベクトルと、ユーザプロファイルのベクトルＤＢ１０４に蓄積されているユーザプロファイルのテキストベクトルとの内積等による類似度の計算が、類似度計算エンジン１０６にて行われる（ステップ１１０５）。類似度の計算結果は類似度解析エンジン１０７に渡され、類似度解析エンジン１０７は類似度がしきい値以上であるかどうかを判定し（ステップ１１０６）、しきい値以上であれば、入力テキスト１０２とユーザプロファイルとが適合するものであることを解析結果として出力する（ステップ１１０７）。しきい値以上でなければ、入力テキスト１０２とユーザプロファイルとが不適合であることを解析結果として出力する（ステップ１１０８）。
【００７０】
ここで、ユーザプロファイルのベクトルＤＢ１０４は、電子機器装置１００でのユーザの操作等、ユーザの行動により発生した入力に基づいて生成される。具体的には、インターネットのクローリング時に収集されたウェブ上のコンテンツ（ＴＶ番組、ウェブページ、ストリーミング動画、ストリーミング音楽など）や、送信した電子メール等からテキストを抽出し、上記の手順によりベクトルを生成して、ユーザプロファイルのベクトルＤＢ１０４に蓄積して行くようにする。このユーザプロファイルのベクトルＤＢ１０４の内容はユーザ適応度を高めるべく、その更新が頻繁に繰り返されることが普通である。かかる事情に対して、本実施形態のKeyGraphを利用した類似時計算方法によれば、ユーザプロファイルのベクトルＤＢ１０４の更新はベクトルデータを追加する形式となる（ユーザプロファイルのベクトルＤＢ１０４の既存のベクトルデータを変更する必要がない）ので、ユーザプロファイルのベクトルＤＢ１０４の更新に費やされるコストを大幅に低減でき、高速化を図れる。したがって、ＣＰＵ２１などのハードウェア資源に要求されるスペックを抑えることができ、ＰＣ、ＰＤＡ、携帯電話、テレビジョンセット、デジタルカメラ、デジタルビデオカメラなどの民生機器へ組み込む際の障壁を引き下げることができる。
【００７１】
また、本実施形態のKeyGraphを利用した類似時計算方法によれば、２つのテキスト間の絶対的な評価値（類似度）を得ることができ、これらテキスト間の関連の強さの絶対的な指標値を得られる。具体的には、ユーザの嗜好を反映したコンテンツから抽出したテキストのベクトルを生成し、これをユーザプロファイルのテキストベクトルとしてベクトルＤＢに蓄積しておき、その後、ユーザがウェブなどから収集したコンテンツについて、これがユーザの嗜好にマッチしたものであるか否かや、どのくらいマッチしているかなどを判定するといった用途に好適に利用できる。
【００７２】
なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施形態にかかるテキスト間の類似度計算システムの構成を示すブロック図である。
【図２】KeyGraphの応用によるテキストのベクトル化の流れを示すフローチャートである。
【図３】KeyGraphによる解析にて用いられる関連グラフの例を示す図である。
【図４】図３の関連グラフから抽出された単語の共起度の和の一覧を示す図である。
【図５】単語の共起度の和（重み）の値に所定値を加える例を示す図である。
【図６】図３に示した関連グラフ上の全ての単語の重み付け結果を示す図である。
【図７】テキストベクトルＤＢ内のテキストＹの単語の重みデータの例を示す図である。
【図８】図７のテキストＹの単語の重みデータと図６の入力テキストＸの単語の重みデータとを一つにまとめて示す図である。
【図９】本実施形態のテキスト間の類似度計算システムを実装した電子機器装置のハードウェア構成を示す図である。
【図１０】図９の電子機器装置に、図１の類似度計算システムを入力テキストとユーザプロファイルとの適合／不適合を判定するシステムに適用した場合の構成を示す図である。
【図１１】図１０の判定システムのフローチャートである。
【符号の説明】
【００７４】
１      類似度計算システム
２      入力テキスト
３      テキストベクトル生成エンジン
４      テキストベクトルＤＢ
６      類似度計算エンジン
２１      ＣＰＵ
２２      メインメモリ
２３      プログラム／データ記憶部
１００      電子機器装置
１０１      判定システム
１０２      入力テキスト
１０３      テキストベクトル生成エンジン
１０４      ユーザプロファイルのベクトルＤＢ
１０６      類似度計算エンジン
１０７      類似度解析エンジン
【図１】
2005122515.tif 000005
【図２】
2005122515.tif 000006
【図３】
2005122515.tif 000007
【図４】
2005122515.tif 000008
【図５】
2005122515.tif 000009
【図６】
2005122515.tif 000010
【図７】
2005122515.tif 000011
【図８】
2005122515.tif 000012
【図９】
2005122515.tif 000013
【図１０】
2005122515.tif 000014
【図１１】
2005122515.tif 000015