説明

特徴量算出装置、文書類似度算出装置、特徴量算出方法およびプログラム

【課題】文書間の類似度を算出するために用いられる文書の特徴量を適切に算出する技術を提供する。
【解決手段】文書類似度算出装置10は特徴量算出装置(部)100を有し、特徴量算出装置100は単語間類似度情報記憶部194とtf−idf算出部110と特徴量ベクトル算出部130とを有する。単語間類似度情報記憶部194は、外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する。tf−idf算出部110は、文書を構成する各単語のtf−idfを算出する。特徴量ベクトル算出部130は、tf−idf算出部110によって算出された上記文書を構成する各単語のtf−idfと、単語間類似度情報記憶部194に記憶されている単語間類似度情報とに基づいて、上記文書の特徴量ベクトルを算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特徴量算出装置、文書類似度算出装置、特徴量算出方法およびプログラムに関する。
【背景技術】
【0002】
従来、文書の類似度を算出する方法として、tf−idfを要素に持つベクトル(tf−idfベクトル)がなす角若しくは内積を計算する方法が知られている。即ち、tf(Term Frequency:単語の出現頻度)と、idf(Inverse Document Frequency:逆出現頻度)の2つの指標を用いて文書の類似度を算出する方法である。
【0003】
文書dに含まれる単語iのtf−idf(txi)は下記式(1)により求める。
【0004】
【数1】

【0005】
また、文書dの特徴量Tは、上記txiを用いて、下記式(2)により表される。
【0006】
=[tx0,tx1,…,txn]…(2)
【0007】
従って、文書dと文書dの類似度s(x,y)は、
文書dのT、文書dのTを用いて、下記式(3)により求めることができる。
【0008】
【数2】

【0009】
上記式(3)において、│T│はベクトルTのノルムである。つまり、文書dと文書dの類似度s(x,y)は、文書d、文書dの特徴量ベクトルT、Tを正規化したものの内積であり、両ベクトルのなす角をθとしたときのcosθである。即ち、0≦s(x,y)≦1であって、1に近い程、文書dと文書dとが類似していると判断できる。なお、s(x,x)=1であり、s(x,y)=s(y,x)である。
【0010】
上述の方法では、表記が同じ単語が含まれない文書同士は、いくら似た意味の単語が含まれていたとしても、類似性無と計算される。そこで、類義語を一単語と見做す方法(特許文献1参照)が考案されている(特許文献1参照)。また、類義語を認識する方法として、国語辞典から類義語辞書を生成する方法も考案されている(特許文献2参照)。また、単語の共起をもとにベクトルを作ることにより単語の類似性を反映させて文書間の類似度の算出する方法も考案されている(非特許文献1参照)。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平11−110395号公報
【特許文献2】特開平7−302265号公報
【非特許文献】
【0012】
【非特許文献1】“H.Schutze”dimensions of meaning”,Proceedings of supercomputing’92,pp.787−796,1992”
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、上述の各方法では、文書間の類似度を適切に算出することができないという問題がある。例えば、類義語を一単語と見做す方法では、文書間の類似度に、単語間の類似度が反映されないという問題がある。また、国語辞典から類義語を生成する方法では、新しい単語に対応できないという問題がある。また、単語の共起をもとにベクトルを作ることにより単語の類似性を反映させて文書間の類似度の算出する方法では、文書間の類似度が、種々の観点から算出されないため、観点に応じた適切な文書間の類似度が算出されないという問題がある。なお、上述の観点は、例えば、ビジネス的な観点、技術的な観点などという場合の観点に相当し、観点の他の表現は、例えば、領域(ドメイン)、分野である。
【0014】
本発明は、上述した課題に鑑みてなされたものであって、文書間の類似度を適切に算出するための技術を提供することを目的とする。具体的には、文書間の類似度を算出するために用いられる文書の特徴量を適切に算出する技術を提供することを目的とする。
【課題を解決するための手段】
【0015】
上記問題を解決するために、本発明の一態様である特徴量算出装置は、文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置であって、外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部と、文書を構成する各単語のtf−idfを算出するtf−idf算出部と、前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出部とを備えことを特徴とする。
【0016】
上記特徴量算出装置は、所定の単語の組における予め定められた単語間の類似度を示す単語間類似度情報を記憶するシソーラスと、前記シソーラスに記憶されている前記単語間類似度情報に基づいて、前記所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報を前記シソーラスに記憶されている前記単語間類似度情報とともに前記単語間類似度情報記憶部に記憶する単語間類似度算出部を更に備え、前記単語間類似度算出部は、第1の単語と第2の単語の組における前記予め定められた単語間の類似度が類似度a、前記第2の単語と第3の単語の組における前記予め定められた単語間の類似度が類似度bであるときに、前記類似度aと前記類似度bとを乗算した乗算値を前記第1の単語と前記第3の単語の組における単語間の類似度として算出するようにしてもよい。
【0017】
上記特徴量算出装置は、所定の単語の組における予め定められた単語間の類似度を示す単語間類似度情報を記憶するシソーラスと、前記シソーラスに記憶されている前記単語間類似度情報に基づいて、前記所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報を前記シソーラスに記憶されている前記単語間類似度情報とともに前記単語間類似度情報記憶部に記憶する単語間類似度算出部を更に備え、前記単語間類似度算出部は、単語同士の関係を上位と下位の関係で表し、上位と下位の各単語間の類似度係数を類似度係数c(0<c<1)と設定したときに、一の下位の単語の上位の単語の単語数がN個(Nは1以上の整数)であった場合、類似度係数cを単語数Nで除した除算値を前記一の下位の単語と前記N個の中の一の上位の単語の類似度として算出するようにしてもよい。
【0018】
上記問題を解決するために、本発明の他の態様である文書類似度算出装置は、外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部と、文書を構成する各単語のtf−idfを算出するtf−idf算出部と、前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出部と、前記特徴量ベクトル算出部によって算出された前記特徴量ベクトルを用いて文書間の類似度を算出する文書間類似度算出部とを備えることを特徴とする。
【0019】
上記問題を解決するために、本発明の他の態様である特徴量算出方法は、外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部を備え、文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置における、特徴量算出方法であって、文書を構成する各単語のtf−idfを算出するtf−idf算出手段と、前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出手段とを有することを特徴とする。
【0020】
上記問題を解決するために、本発明の他の態様であるプログラムは、外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部を備え、文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置のコンピュータに、文書を構成する各単語のtf−idfを算出するtf−idf算出ステップと、前記tf−idf算出ステップによって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出ステップとを実行させることを特徴とする。
【発明の効果】
【0021】
本発明によれば、特徴量ベクトル算出部は、外部の文書の単語又はユーザによって設定された単語が反映された単語間類似度情報を参照して、文書の特徴量ベクトルを算出する。従って、文書間の類似度を算出するために用いられる文書の特徴量を適切に算出することができる。
即ち、外部の文書に基づいて単語間の類似度を観点に応じて設定したものや、外部の文書において新たに出現した単語を含めた単語間の類似度を計算し直したものを、外部の文書の単語が反映された単語間類似度情報とすることができるため、特徴量ベクトル算出部が、外部の文書の単語が反映された単語間類似度情報を参照して文書の特徴量ベクトルを算出した場合には、観点に応じて単語間の類似度、及び、新たな単語を含めた単語間の類似度が反映され、適切な文書の特徴量を算出することができる。
また、ユーザが恣意的に単語間の類似度を観点に応じて設定したものや、ユーザが恣意的に新たな単語とした単語を含めた単語間の類似度を計算し直したものを、ユーザによって設定された単語が反映された単語間類似度情報とすることができるため、特徴量ベクトル算出部が、ユーザによって設定された単語が反映された単語間類似度情報を参照して文書の特徴量ベクトルを算出した場合には、観点に応じて単語間の類似度、及び、新たな単語を含めた単語間の類似度が反映され、適切な文書の特徴量を算出することができる。
そして、上述の如く、文書の特徴量を適切に算出することができるため、当該文書の特徴量を用いて、文書間の類似度を適切に算出することができるようになる。
【図面の簡単な説明】
【0022】
【図1】本発明の一の実施形態による文書類似度算出装置10の機能ブロック図である。
【図2】文書類似度算出装置10の処理フロー図である。
【図3】単語間類似度算出部120の処理の一例を説明するための説明図である。
【図4】単語間類似度算出部120の処理の他の例を説明するための説明図である。
【図5】文書類似度算出装置10を適用した類似文書検索システム1の構成図である。
【発明を実施するための形態】
【0023】
以下、本発明の一実施形態について図面を参照して説明する。図1は、本発明の一の実施形態による文書類似度算出装置10の機能ブロック図である。文書類似度算出装置10は、図1に示すように、特徴量算出部(装置)100、文書間類似度算出部(装置)200及び制御部(非図示)を備える。特徴量算出部100は、tf−idf算出部110、単語間類似度算出部120、特徴量ベクトル算出部130、単語頻度情報記憶部190、シソーラス192及び単語間類似度情報記憶部194を備える。
【0024】
制御部は、特徴量算出部100及び文書間類似度算出部200の動作を制御する。
【0025】
単語頻度情報記憶部190は、単語、及び、各単語が含まれる文書の数を集めたデータベースである。つまり、単語頻度情報記憶部190は、tf−idfの算出に利用する単語頻度情報(各単語が、予め用意した文書群のうち幾つに含まれているかを示す情報)を記録する。
【0026】
tf−idf算出部110は、制御部の制御に従って、単語頻度情報記憶部190に記憶されている単語頻度情報を用いて、上記式(1)の如く、文書を構成する各単語のtf−idf(文書のtf−idfベクトル)を算出する。
【0027】
シソーラス192は、所定の単語の組における予め定められた単語間の類似度を示す単語間類似度情報を記憶する。
【0028】
単語間類似度算出部120は、制御部の制御に従って、シソーラス192の情報に基づいて単語間の類似度を算出し、算出した類似度を示す単語間類似度情報を単語間類似度情報記憶部194に記憶する。具体的には、単語間類似度算出部120は、シソーラス192に記憶されている単語間類似度情報に基づいて、上述の所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報をシソーラス192に記憶されている単語間類似度情報とともに単語間類似度情報記憶部194に記憶する。なお、単語間類似度算出部120の処理の詳細は後述する。
【0029】
単語間類似度情報記憶部194は、単語間類似度情報を記憶する。本実施形態においては、単語間類似度情報記憶部194は、上述の如く、シソーラス192が記憶していた単語間類似度情報、及び、単語間類似度算出部120が算出した類似度を示す単語間類似度情報を記憶する。なお、単語間類似度情報記憶部194に記憶される単語間類似度情報は、外部の文書の単語又はユーザによって設定された単語が反映されたものである。換言すれば、単語間類似度情報記憶部194に記憶される単語間類似度情報は、新たな単語を含めた単語間の類似度、及び、観点(例えば、ビジネス的な観点、技術的な観点)に応じて単語間の類似度が反映されている(詳細は後述)。
【0030】
特徴量ベクトル算出部130は、制御部の制御に従って、文書のtf−idfベクトルと単語間類似度情報とから、文書の特徴量ベクトルを算出する。即ち、特徴量ベクトル算出部130は、tf−idf算出部110によって算出された文書を構成する各単語のtf−idfと、単語間類似度情報記憶部194に記憶されている単語間類似度情報とに基づいて(参照して)、当該文書の特徴量ベクトルを算出する。なお、特徴量ベクトル算出部130が参照する上述の単語間類似度情報は、少なくとも一方の単語が当該文書内に存在している単語間の類似度を示す単語間類似度情報(即ち、当該文書を構成する一の単語と当該文書を構成する他の単語における単語間の類似度を単語間類似度情報、及び、当該文書を構成する一の単語と当該文書を構成しない他の単語における単語間の類似度を単語間類似度情報)である。
なお、単語間類似度情報記憶部194に記憶されている単語間類似度情報は、上述の如く、観点に応じて単語間の類似度、及び、新たな単語を含めた単語間の類似度が反映されているため、特徴量ベクトル算出部130が算出する特徴量ベクトルには、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度が勘案されている。
【0031】
文書間類似度算出部200は、制御部の制御に従って、特徴量ベクトル算出部130によって算出された特徴量ベクトルを用いて文書間の類似度を算出する。具体的には、文書間類似度算出部200は、文書の特徴量ベクトル同士の内積をとることにより、文書間の類似度を算出する。
【0032】
続いて、文書類似度算出装置10の処理フローについて説明する。図2は、文書類似度算出装置10の処理フロー図である。
【0033】
予め、若しくは、適宜、単語間類似度算出部120は、制御部の制御に従って、シソーラス192に記憶されている所定の単語の組に係る単語間類似度情報に基づいて、上述の所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報をシソーラス192に記憶されている単語間類似度情報とともに単語間類似度情報記憶部194に記憶する。なお、当該処理は、後述の処理と非同期に行われてもよい。例えば、シソーラス192を更新したユーザが単語間類似度情報記憶部194に記憶している単語間類似度情報の更新を指示した場合(即ち、文書類似度算出装置10の操作受付部(非図示)が更新指示に係る操作を受け付けた場合)、制御部が単語間類似度算出部120を制御して単語間類似度情報を更新する。
【0034】
ここで、シソーラス192について説明する。シソーラス192は、単語w、単語wの2個の単語間の類似度(ユーザが定義)を2次元配列によりw(i,j)と表現する。即ち、w(i,j)は、上述した、所定の単語の組(単語w、単語w)における予め定められた単語間の類似度を示す単語間類似度情報であって、以下の性質(ア)(イ)がある。
(ア)0≦w(i,j)≦1
(イ)w(i,i)=1
なお、w(i,j)=0のときは、単語wと単語wとが全く異なることを意味し、w(i,j)=1のときは、単語wと単語wが同義であることを意味する。また、w(i,j)=w(j,i)である必要はない。
【0035】
tf−idf算出部110は、文書が与えられた場合、制御部の制御に従って、単語頻度情報記憶部190に記憶されている単語頻度情報、具体的には、与えられた文書に含まれる単語に係る単語頻度情報を用いて、上記式(1)により、当該文書のtf−idfベクトルを算出する。
【0036】
次いで、特徴量ベクトル算出部130は、制御部の制御に従って、tf−idf算出部110によって算出された上記文書のtf−idfベクトルと、単語間類似度情報記憶部194に記憶されている単語間類似度情報とから、文書の特徴量ベクトルを算出する。即ち、単語間類似度情報記憶部194に記憶されている単語間類似度情報を参照しない場合の文書の特徴量ベクトルTが、上記式(2)に示すように、T=[t,t,…,t]であるとき、特徴量ベクトル算出部130が算出する、単語間類似度情報を参照した場合の文書の特徴量ベクトルT’は、下記式(4)により表される。
【0037】
T’=[t’,t’,…,t’]…(4)
【0038】
上記式(4)において、t’は、単語間類似度情報記憶部194に記憶されている単語間類似度情報wを用いて、下記式(5)により表される。
【0039】
【数3】

【0040】
次いで、文書間類似度算出部200は、制御部の制御に従って、特徴量ベクトル算出部130によって算出された特徴量ベクトルT’を用いて文書間の類似度を算出する。即ち、文書間類似度算出部200は、上記式(3)のTの代わりにT’を使って類似度を計算する。但し、|T|=|T’|である。
【0041】
以下、単語間類似度算出部120の処理の詳細を説明する。具体的には、第1の手法と第2の手法の夫々異なる2種類の手法を説明する。図3は、単語間類似度算出部120の処理の一例(第1の手法による例)を説明するための説明図である。図4は、単語間類似度算出部120の処理の他の例(第2の手法による例)を説明するための説明図である。
【0042】
(第1の手法)
第1の手法として、第1の単語と第2の単語の組(即ち、所定の単語の組)における予め定められた単語間の類似度が類似度a、第2の単語と第3の単語の組(即ち、所定の単語の組)における予め定められた単語間の類似度が類似度bであるときに、単語間類似度算出部120は、類似度aと類似度bとを乗算した乗算値を第1の単語と第3の単語の組(即ち、所定の単語の組以外の組)における単語間の類似度として算出する。第1の手法は、開発ドキュメントなど特定のドメインの類似度を算出したいときに有用である。
【0043】
第1の手法においては、準備段階として、下記(a)(b)のように、ユーザによって設定された単語間の類似度を反映させたシソーラス192を生成する。
(a)単語をノードとし、類義語を選択し、類似語間をエッジで結んだグラフを作成する。
(b)エッジに重み(即ち、単語間の類似度)を定義(設定)する。
【0044】
なお、上記(a)では、外部(例えば、ネットワーク上)の集合知などを参考にして、適宜、新しい単語をノードとして設定してもよい。また、上記(a)(b)では、観点(例えば、ビジネス的な観点、技術的な観点)に応じた単語間の類似度も反映させるため、観点に応じて、類義語を選択し、重みを選択する。なお、上述のシソーラス192を自動的に生成(非図示のシソーラス生成部によって生成)する場合には、ユーザからの指定に応じて、類義語を選択し、エッジに重みを設定する。なお、ユーザは、例えば、技術的な観点で類似度を算出したいときは、技術的な観点で類義を指定し、エッジの重みを指定する。
図3(a)は、上述のようにして生成されたシソーラス192の概念図である。
【0045】
単語間類似度算出部120は、シソーラス192(所定の単語の組における予め定められた単語間の類似度)に基づいて、エッジが直接接続されていない単語間の類似度(即ち、所定の単語の組以外の単語の組における単語間の類似度)をDijkstraのアルゴリズムを応用して算出する。具体的には、上述の如く、単語間類似度算出部120は、第1の単語と第2の単語の組(即ち、所定の単語の組)の単語間の類似度が類似度a、第2の単語と第3の単語の組(即ち、所定の単語の組)の単語間の類似度が類似度bであるときに、類似度aと類似度bとを乗算した乗算値を第1の単語と第3の単語の組(即ち、所定の単語の組以外の組)の単語間の類似度として算出する(図3(b)参照)。例えば、図3(a)に示す例において、単語Aと単語Bの類似語は0.8、単語Bと単語Cの類似語は0.8であるため、単語間類似度算出部120は、単語Aと単語Cの類似度を0.8×0.8=0.64と算出する。
【0046】
また、単語間類似度算出部120は、エッジが直接接続されていない単語同士が、複数のルートによって接続されている場合には、夫々のルートによる類似度を算出し、その最大値を採用する(図3(b)参照)。例えば、図3(a)に示す例において、エッジが直接接続されていない単語Aから単語Mに至るルートは、単語A−単語B−単語F−単語J−単語Mという第1のルートと、単語A−単語B−単語C−単語G−単語K−単語J−単語Mという第2のルートとが存在しているため、単語間類似度算出部120は、第1のルートによる類似度(0.8×0.8×0.8×0.8≒0.41)と、第2のルートによる類似度(0.8×0.8×0.8×0.8×0.8×0.8≒0.26)とを算出し、最大値である第1のルートによる類似度(≒0.41)を単語Aと単語Mの類似度として採用する。
【0047】
なお、図3(b)に示す各単語間の類似度は、単語間類似度情報記憶部194に記憶される単語間類似度情報に相当し、シソーラス192に記憶されている単語間類似度情報による類似度(図3(a))と、単語間類似度算出部120によって上述の如く算出された類似度とを含むものである。例えば、単語Aと単語Bの類似度はシソーラス192に記憶されている単語間類似度情報による類似度であり、単語Aと単語Cの類似度は単語間類似度算出部120によって算出された類似度である。換言すれば、単語間類似度算出部120は、シソーラス192に記憶されている単語間類似度情報(所定の単語の組における単語間の類似度)に基づいて、所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報をシソーラス192に記憶されている単語間類似度情報とともに単語間類似度情報記憶部194に記憶する。
【0048】
なお、図3(b)に示す各単語間の類似度(即ち、単語間類似度情報記憶部194に記憶される単語間類似度情報)は、ユーザによって設定された単語から作成されたシソーラス192に基づいて生成されたものであるため、当然に、ユーザによって設定された単語を含む単語間の類似度を示している。
また、図3(b)に示す各単語間の類似度(即ち、単語間類似度情報記憶部194に記憶される単語間類似度情報)は、単語間の類似度を利用者が恣意的に設定できるシソーラス192(図3(a))に基づいて、単語間類似度算出部120が算出するものであるため、シソーラス192(図3(a))に新たな単語を反映さるとともに、観点(例えば、ビジネス的な観点、技術的な観点)を反映させれば、当然に、図3(b)に示す各単語間の類似度(即ち、単語間類似度情報記憶部194に記憶される単語間類似度情報)に、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度が反映させることができる。
【0049】
(第2の手法)
第2の手法として、単語同士の関係を上位と下位の関係で表し、上位と下位の各単語間の類似度係数を類似度係数c(0<c<1)と設定したときに、一の下位の単語の上位の単語の単語数がN個(Nは1以上の整数)であった場合、単語間類似度算出部120は、類似度係数cを単語数Nで除した除算値を上記一の下位の単語と、上記N個の中の一の上位の単語の類似度として算出する。
【0050】
第2の手法においては、準備段階として、単語間の類似度に新たな単語、及び、観点(例えば、ビジネス的な観点、技術的な観点)を反映させるため、外部(例えば、ネットワーク上)の集合知などを活用にしてシソーラス192を生成(構築)する。具体的には、Wikipedia(登録商標。以下、同様)を利用して、下記(a)(b)のように、シソーラス192を生成する。
(a)単語とその上位語の組を有向グラフとして作る。なお、1単語につき上位語は複数あってもよい。また、上位語は単語ではなく概念であってもよい。
(b)上位語と下位語の間に重み(即ち、単語間の類似度)を定義(設定)する。
【0051】
以下の(ア)〜(キ)は、Wikipediaからシソーラス192を自動的に生成(非図示のシソーラス生成部によって生成)する方法の一例である。
(ア)最上位のカテゴリを幾つか選択し(例えば、科学、学問、技術、自然)、処理すべきカテゴリリストに追加する。当該カテゴリの選択は、ユーザからの指定に応じて、実行する。なお、ユーザは、例えば、技術的な観点で類似度を算出したいときは、カテゴリ「技術」を指定する。
(イ)処理すべきカテゴリリストから1つ取り出し上位カテゴリとする。上位カテゴリに含まれる見出語、及び、カテゴリ(下位カテゴリ)を上位カテゴリと結びつける。
(ウ)上位カテゴリを処理済みリストに入れる。
(エ)下位カテゴリのうち処理済みリストに入っていないものは処理すべきカテゴリリストに追加する。
(オ)処理すべきカテゴリリストがなくなるまで(イ)〜(エ)を繰り返す。
(カ)他の見出語にリダイレクトされる見出語は、リダイレクト先の見出語が属するカテゴリと結びつける。
(キ)ユーザからの指示に応じて、見出語とカテゴリの結びつき、又は、下位カテゴリと上位カテゴリの結びつきを追加又は削除してもよい。また、ユーザからの指示に応じて、Wikipediaの見出語、カテゴリにない単語を追加し、また、不要な見出語、カテゴリを削除してもよい。
図4(a)は、上述のようにして自動的に生成されたシソーラス192の概念図である。
【0052】
単語間類似度算出部120は、シソーラス192(単語同士の関係を上位と下位の関係)に基づいて、一の下位の単語の上位の単語の単語数がN個(Nは1以上の整数)であった場合、類似度係数cを単語数Nで除した除算値を上記一の下位の単語と、上記N個の中の一の上位の単語の類似度として算出する。
【0053】
例えば、図4(a)に示すように、類似度係数c(0.8)と設定したときは、以下のように算出する。
(ア)一の見出語と、当該見出語に結び付けられたカテゴリとの類似度wは、上記設定した類似度係数cを、カテゴリ数Nで除した値とする。但し、(ア)におけるカテゴリ数Nは、当該見出語に結びついているカテゴリの数である。例えば、図4(a)に示す例において、見出語Aと、見出語Aに結びつけられたカテゴリBとの類似度w(即ち、見出語AとカテゴリBとの類似度w(A,B))は、類似度係数c(0.8)を、カテゴリ数1で除した除算値(0.8)とする。
(イ)一の見出語と、当該見出語に結びつけられたカテゴリに更に結びつけられた上位のカテゴリとの類似度w’は、(ア)の如く算出した類似度wに類似度係数cを乗算し、カテゴリ数Nで除した値とする。但し、(イ)におけるカテゴリ数Nは、当該見出語に結びついているカテゴリに結びついている上位カテゴリの数である。例えば、図4(a)に示す例において、見出語Aと、見出語Aに結びつけられたカテゴリBに更に結びつけられた上位のカテゴリFとの類似度w’(即ち、見出語AとカテゴリFとの類似度w(A,F))は、類似度w(0.8)と類似度係数c(0.8)の乗算値(0.64)を、カテゴリ数2で除した除算値(0.32)とする。
【0054】
(ウ)以下、類似度w’を類似度wとし、上位カテゴリを下位カテゴリとして、(ア)(イ)を繰り返す。
【0055】
なお、上記(イ)の処理は、一のカテゴリと当該カテゴリの上位カテゴリとの類似度を、当該一のカテゴリに結びついている上位カテゴリ数Nで除した除算値としていることに等しい。例えば、図4(a)に示す例において、カテゴリBとカテゴリFの類似度は、類似度係数c(0.8)をカテゴリBの上位カテゴリ数2で除した除算値0.4としていることに等しい。
【0056】
また、ルートが複数ある場合には、夫々のルートによる類似度を算出し、合計値を採用する。例えば、図4(a)に示す例において、見出語AからカテゴリKに至るルートは、見出語A−カテゴリB−カテゴリF−カテゴリJ−カテゴリKという第1のルートと、見出語A−カテゴリB−カテゴリC−カテゴリG−カテゴリKという第2のルートとが存在しているため、単語間類似度算出部120は、第1のルートによる類似度(0.8×0.8÷2×0.8×0.8≒0.205)と、第2のルートによる類似度(0.8×0.8÷2×0.8×0.8≒0.205)とを算出し、合計値(≒0.41)を単語AとカテゴリKの類似度として採用する。
【0057】
また、上記(ウ)の処理において、繰り返し処理は制限してもよい。例えば、繰り返し可能回数を制限してもよいし、類似度wが所定の閾値以下になった場合に繰り返しを止めてもよい。
【0058】
なお、図4(b)に示す各単語間(見出語とカテゴリの類似度)の類似度は、単語間類似度情報記憶部194に記憶される単語間類似度情報に相当し、シソーラス192に記憶されている単語間類似度情報による類似度(図4(a))と、単語間類似度算出部120によって上述の如く算出された類似度とを含むものである。例えば、見出語AとカテゴリBの類似度はシソーラス192に記憶されている単語間類似度情報による類似度であり、見出語AとカテゴリFの類似度は単語間類似度算出部120によって算出された類似度である。換言すれば、単語間類似度算出部120は、シソーラス192に記憶されている単語間類似度情報(所定の単語の組における単語間の類似度)に基づいて、所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報をシソーラス192に記憶されている単語間類似度情報とともに単語間類似度情報記憶部194に記憶する。
【0059】
なお、図4(b)に示す各単語間の類似度は、Wikipediaからシソーラス192を生成する例であるため、Wikipediaの階層の特性から、グラフにおける末節(見出語)と末節以外の節(カテゴリ)の類似度を算出し、末節以外の節同士の類似度(例えば、カテゴリBとカテゴリFの類似度)を算出していないが、単語間類似度算出部120は、シソーラス192に応じて、末節以外の節同士の類似度を算出してもよい。
なお、末節以外の節同士の類似度を算出する場合(例えばA〜Fが単に単語の場合)、単語間類似度算出部120は、例えば、図4(a)に示す例において、一の下位の単語Bの上位の単語の単語数が2個(単語C、単語F)であるため、単語間類似度算出部120は、類似度係数c(0.8)を単語数2で除した除算値(0.4)を、単語Bと単語Cの類似度、及び、単語Bと単語Fの類似度とする。
【0060】
なお、i≠jで類似度w(i,j)>0のときは、w(j,i)=0である。また、単語の概念の関係を恣意的に操作する場合は、算出した類似度とともに、単語と単語の上下関係の組を編集してもよい。
【0061】
上述の如く、図4(b)に示す各単語間の類似度(即ち、単語間類似度情報記憶部194に記憶される単語間類似度情報)は、外部の文書(Wikipediaなどのネットワーク上の集合知)から作成されたシソーラス192に基づいて生成されたものであるため、当然に、外部の文書の単語を含む単語間の類似度を示している。
また、図4(b)に示す各単語間の類似度(即ち、単語間類似度情報記憶部194に記憶される単語間類似度情報)は、ネットワーク上の集合知(Wikipedia)から新しい単語語を迅速に取り込むことによって新たな単語を含めた単語間の類似度を反映させ、また、ネットワーク上の集合知(Wikipedia)への記述者(投稿者)による分類を活用することによって観点(例えば、ビジネス的な観点、技術的な観点)に応じた単語間の類似度を反映させたシソーラス192(図4(a))に基づいて、単語間類似度算出部120が算出するものであるため、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度が反映されている。
【0062】
つまり、文書類似度算出装置10においては、単語間類似度情報記憶部194が、ネットワーク上の集合知をベースに生成され、単語間の類似度を利用者が恣意的に設定できるシソーラス192に基づいて算出された単語間類似度情報を記憶し、特徴量ベクトル算出部130が、単語間類似度情報記憶部194に記憶されている上述の単語間類似情報を参照して、文書の特徴量ベクトルを算出している。従って、文書間の類似度を算出するために用いられる文書の特徴量を、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度に基づいて算出することができるようになる。
【0063】
また、本発明の一の実施形態による文書類似度算出装置10によれば、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度に基づいて文書の特徴量が算出されるため、新たな単語を含めた単語間の類似度と、観点に応じた単語間の類似度とを考慮して、文書間の類似度を算出することができるようになる。
【0064】
また、単語間類似度情報記憶部194に記憶されている単語間類似度情報は、所定の単語の組以外の単語の組における単語間の類似度(例えば、図3(a)における単語Aと単語Mとの間の類似度、図4(a)における見出語AとカテゴリFなどのように、直接、類似度が設定されておらず、単語間類似度算出部120が算出した類似度)、更には、所定の類似度を複数の類義語との類似度に分配(例えば、図4(a)において、上位と下位の類似度0.8を、カテゴリBとカテゴリCとの類似度0.4と、カテゴリBとカテゴリFとの類似度0.4に分配)し計算した類似度を含む。従って、より精度よく、文書同士の類似度を算出することができる。
【0065】
例えば、単語S、単語T、単語Uが相互に類似し、文書a内には単語S、単語T、単語Uのうち単語Sのみが存在し、文書b内には単語S、単語T、単語Uのうち単語Tのみが存在するとき、文書a内には単語Sに加えて単語T及び単語Uが存在し、文書b内には単語Tに加えて単語S及び単語Uが存在しているかのように、文書aと文書bの類似度を算出するため、文書aと文書bの類似度をより精度よく算出することができる。
つまり、従来における文書の特徴量ベクトルは、当該文書内に存在する単語のtf−idfを要素にしているため(即ち、従来における文書の特徴量ベクトルの次元は、文書内の単語の種類に対応するものであるため)、文書内に存在しない単語のtf−idfは当該文書の特徴量ベクトルに反映しない。換言すれば、文書の特徴量ベクトルのある次元の値(ある単語のtf−idfの値)は当該単語の当該文書中における重要度と言えるが、従来は、文書に出現しない単語の重要度は0としている。従って、例えば、文書aに存在していない単語Tは、単語Tに類似する単語Sが文書aに存在していても、類似度の算出の過程(ベクトルの内積の計算)に何ら考慮されない。
【0066】
一方、文書類似度算出装置10では、文書内に存在しない単語のtf−idfが当該単語に類似する文書内の単語のtf−idfに分配されたかようになるので、文書に存在しない単語であっても、類似度の算出の過程に反映される(つまり、文書a内には単語Sに加えて単語T及び単語Uが存在し、文書b内には単語Tに加えて単語S及び単語Uが存在しているかのように扱われる)。
【0067】
また、本発明の一の実施形態による文書類似度算出装置10を応用すれば、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案した類似文書検索が可能になる。
【0068】
図5は、文書類似度算出装置10を適用(応用)した類似文書検索システム1の構成図である。類似文書検索システム1は、図5に示すように、特徴量算出装置(サーバ)100、文書間類似度算出装置(サーバ)200、文書検索サーバ300、文書管理サーバ400及び特徴量ベクトルデータベース900を備える。なお、図5に示す特徴量算出装置100は、図1に示す特徴量算出部100に相当し、図5に示す文書間類似度算出装置200は、図1に示す文書間類似度算出部200に相当する。即ち、類似文書検索システム1には、図1に示す文書類似度算出装置10が適用されている(破線参照)。但し、各サーバ(特徴量算出装置100及び文書間類似度算出装置200を含む)は、夫々、制御部(非図示)を備え、例えば、外部(例えば、他のサーバ、クライアント2)からの情報(制御)によって動作する。
【0069】
類似文書検索システム1の処理フローは以下の通りである。なお、(1)〜(3)は都度の検索時の動作と非同期に適宜行う管理時の処理、(4)〜(10)は都度の検索時の処理である。
【0070】
(1)特徴量算出装置100は、文書管理サーバ400に、文書管理サーバ400が管理(記憶)している文書(管理文書)の送信を要求する。即ち、文書管理サーバ400は、特徴量算出装置100から、管理文書の送信要求を取得する。なお、特徴量算出装置100は、例えば、管理文書の送信を文書管理サーバ400に定期的に要求してもよい。
(2)文書管理サーバ400は、特徴量算出装置100からの要求に応じて、管理文書を特徴量算出装置100に送信する。即ち、特徴量算出装置100は、文書管理サーバ400から、管理文書を取得する。なお、文書管理サーバ400は、例えば、前回の送信要求から今回の送信要求迄の間に、新規に管理した管理文書、又は、内容が更新された管理文書を特徴量算出装置100に送信してもよい。
(3)特徴量算出装置100は、文書管理サーバ400から取得した管理文書の特徴量ベクトル(新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案した文書の特徴量ベクトル、以下、同じ)を算出し、算出した管理文書の特徴量ベクトルの情報を特徴量ベクトルデータベース900に記憶する。即ち、特徴量ベクトルデータベース900には、管理文書の特徴量ベクトルが蓄積される。
【0071】
(4)クライアント2は、類似文書の検索キーである文書(キー文書)とともに、キー文書と類似する類似文書の検索を文書検索サーバ300に要求する。即ち、文書検索サーバ300は、クライアント2から、キー文書とともに、類似文書の検索要求を取得する。
(5)文書検索サーバ300は、クライアント2から取得したキー文書とともに、キー文書の特徴量ベクトル(新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案した文書の特徴量ベクトル、以下、同じ)の算出を特徴量算出装置100に要求する。即ち、特徴量算出装置100は、文書検索サーバ300から、キー文書とともに、キー文書の特徴量ベクトルの算出要求を取得する。
(6)特徴量算出装置100は、文書検索サーバ300から取得したキー文書の特徴量ベクトルを算出し、算出したキー文書の特徴量ベクトルの情報を文書検索サーバ300に応答する。即ち、文書検索サーバ300は、特徴量算出装置100から、キー文書の特徴量ベクトルの情報を取得する。
(7)文書検索サーバ300は、特徴量算出装置100から取得したキー文書の特徴量ベクトルの情報とともに、管理文書との類似度の算出を文書間類似度算出装置200に要求する。即ち、文書間類似度算出装置200は、文書検索サーバ300から、キー文書の特徴量ベクトルの情報とともに、管理文書との類似度の算出要求を取得する。
(8)文書間類似度算出装置200は、特徴量ベクトルデータベース900から管理文書の特徴量ベクトルの情報を取得する。
【0072】
(9)文書間類似度算出装置200は、文書検索サーバ300から取得したキー文書の特徴量ベクトルの情報と、特徴量ベクトルデータベース900から管理文書の特徴量ベクトルの情報とに基づいて、キー文書と、管理文書との類似度を算出し、算出した管理文書との類似度を示す類似度情報を文書検索サーバ300に送信する。即ち、文書検索サーバ300は、文書間類似度算出装置200から、キー文書と管理文書との類似度の算出結果を取得する。
【0073】
なお、文書間類似度算出装置200は、文書の特徴量ベクトルの各次元の値(即ち、tf−idf)に閾値を設け閾値未満の値は0と見做し、また、文書の特徴量ベクトルの各次元の値が上位から一定数以外の次元の値は0と見做し、類似度を算出してもよい。
【0074】
(10)文書検索サーバ300は、文書間類似度算出装置200から取得したキー文書と管理文書との類似度の算出結果に基づいて、キー文書と類似する管理文書を決定する。例えば、文書検索サーバ300は、キー文書の特徴量ベクトルと管理文書の特徴量ベクトルの内積を取った結果、1に最も近い管理文書をキー文書に類似する管理文書として決定する。なお、文書検索サーバ300は、上記内積の結果が1に最も近い管理文書をキー文書に類似する管理文書として決定することに代えて、内積の結果が所定の閾値以上である管理文書をキー文書に類似する管理文書として決定してもよい。
【0075】
文書検索サーバ300は、決定した管理文書を示す情報(例えば、文書名)、又は、管理文書自体をクライアント200に送信する。即ち、クライアント2は、文書検索サーバ300から、キー文書と類似する管理文書を示す情報又は管理文書自体を類似文書の検索結果として取得する。例えば、文書検索サーバ300は、文書管理サーバ400から、特徴量算出装置100を経由(又は、特徴量算出装置100、特徴量ベクトルデータベース900及び文書間類似度算出装置200を経由)して、決定した管理文書を示す情報又は決定した管理文書自体を取得し、クライアント2に送信する。
【0076】
なお、図1に示す文書類似度算出装置10における類似度の算出と、図5に示す類似文書検索システム1における類似度の算出とは、比較対象、特徴量ベクトルの算出タイミングなどが異なる。即ち、図1に示す文書類似度算出装置10の場合、比較対象の一方の文書である文書aと他方の文書である文書bとが入力されたときに、単語間類似度情報記憶部194を参照し、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案した文書a、bの特徴量ベクトルを夫々算出し、両特徴量ベクトルを比較して、文書a、bの類似度を算出する。一方、図5に示す類似文書検索システム1の場合、予め、複数の管理文書(比較対象の一方に相当する複数の文書)について、単語間類似度情報記憶部194(図5において非図示)を参照し、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案した管理文書の特徴量ベクトルを算出し、特徴量ベクトルデータベース900に蓄積しておき、1つのキー文書(比較対象の他方に相当する1つの文書)が入力されたときに、単語間類似度情報記憶部194(図5において非図示)を参照し、新たな単語を含めた単語間の類似度、及び、観点に応じた単語間の類似度を勘案したキー文書の特徴量ベクトルを算出し、蓄積されている複数の管理文書の特徴量ベクトルと比較して、キー文書と夫々の管理文書との類似度を算出する。
【0077】
なお、本発明の一実施形態による特徴量算出装置100又は文書類似度算出装置200の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、特徴量算出装置100又は文書類似度算出装置200の各処理に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0078】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0079】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0080】
1…類似文書検索システム
2…クライアント(端末)
10…文書類似度算出装置
100…特徴量算出部/特徴量算出装置/特徴量算出サーバ
110…tf−idf算出部
120…単語間類似度算出部
130…特徴量ベクトル算出部
190…単語頻度情報記憶部
192…シソーラス
194…単語間類似度情報記憶部
200…文書間類似度算出部(装置)/類似度算出サーバ
300…文書検索サーバ
400…文書管理サーバ
900…特徴量ベクトルデータベース

【特許請求の範囲】
【請求項1】
文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置であって、
外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部と、
文書を構成する各単語のtf−idfを算出するtf−idf算出部と、
前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出部と
を備えことを特徴とする特徴量算出装置。
【請求項2】
所定の単語の組における予め定められた単語間の類似度を示す単語間類似度情報を記憶するシソーラスと、
前記シソーラスに記憶されている前記単語間類似度情報に基づいて、前記所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報を前記シソーラスに記憶されている前記単語間類似度情報とともに前記単語間類似度情報記憶部に記憶する単語間類似度算出部を更に備え、
前記単語間類似度算出部は、
第1の単語と第2の単語の組における前記予め定められた単語間の類似度が類似度a、前記第2の単語と第3の単語の組における前記予め定められた単語間の類似度が類似度bであるときに、前記類似度aと前記類似度bとを乗算した乗算値を前記第1の単語と前記第3の単語の組における単語間の類似度として算出することを特徴とする請求項1に記載の特徴量算出装置。
【請求項3】
所定の単語の組における予め定められた単語間の類似度を示す単語間類似度情報を記憶するシソーラスと、
前記シソーラスに記憶されている前記単語間類似度情報に基づいて、前記所定の単語の組以外の単語の組における単語間の類似度を算出し、算出した類似度を示す単語間類似度情報を前記シソーラスに記憶されている前記単語間類似度情報とともに前記単語間類似度情報記憶部に記憶する単語間類似度算出部を更に備え、
前記単語間類似度算出部は、
単語同士の関係を上位と下位の関係で表し、上位と下位の各単語間の類似度係数を類似度係数c(0<c<1)と設定したときに、一の下位の単語の上位の単語の単語数がN個(Nは1以上の整数)であった場合、類似度係数cを単語数Nで除した除算値を前記一の下位の単語と前記N個の中の一の上位の単語の類似度として算出することを特徴とする請求項1に記載の特徴量算出装置。
【請求項4】
外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部と、
文書を構成する各単語のtf−idfを算出するtf−idf算出部と、
前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出部と、
前記特徴量ベクトル算出部によって算出された前記特徴量ベクトルを用いて文書間の類似度を算出する文書間類似度算出部と
を備えることを特徴とする文書類似度算出装置。
【請求項5】
外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部を備え、文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置における、特徴量算出方法であって、
文書を構成する各単語のtf−idfを算出するtf−idf算出手段と、
前記tf−idf算出部によって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出手段と
を有することを特徴とする特徴量算出方法。
【請求項6】
外部の文書の単語又はユーザによって設定された単語を含む単語間の類似度を示す単語間類似度情報を記憶する単語間類似度情報記憶部を備え、文書間の類似度の算出に用いる文書の特徴量を算出する特徴量算出装置のコンピュータに、
文書を構成する各単語のtf−idfを算出するtf−idf算出ステップと、
前記tf−idf算出ステップによって算出された前記文書を構成する各単語のtf−idfと、前記単語間類似度情報記憶部に記憶されている前記単語間類似度情報とに基づいて、前記文書の特徴量ベクトルを算出する特徴量ベクトル算出ステップと
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate