(57)【特許請求の範囲】
【請求項１】
文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、
入力された文書における構成要素頻度を算出する構成要素頻度算出手段と；
ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素について、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と；
原表現が同じである上記未知のベクトル同士の内積を予め決めた値とし、原表現が互いに異なる上記未知ベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段と；
上記文書が、第１文書と第２文書とであり、上記第２文書の各構成要素に、上記第１文書の構成要素で最も近い距離にある構成要素を割り当て、上記ベクトル内積を用いて構成要素のベクトル間の距離を計算し、この計算されたベクトル間距離を全ての構成要素について足し合わせ、この足し合わせた距離を構成要素数で割って平均化したものを、第１量子化誤差として算出し、上記第１文書の各構成要素に、上記第２文書の構成要素で最も近い距離にある構成要素を割り当て、上記ベクトル内積を用いて構成要素のベクトル間の距離を計算し、この計算されたベクトル間距離を全ての構成要素について足し合わせ、この足し合わせた距離を構成要素数で割って平均化したものを、第２量子化誤差として算出する量子化誤差算出手段と；
上記第１量子化誤差と上記第２量子化誤差とのうちで、大きい量子化誤差を、上記第１文書と上記第２文書との距離であると決定する文書間距離決定手段と；
を有することを特徴とする文書間距離計算装置。
【請求項２】
文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、
第１文書のベクトル集合から、量子化するための第１の代表ベクトル集合を求め、第２文書のベクトル集合から、量子化するための第２の代表ベクトル集合を算出する代表ベクトル集合算出手段と；
入力された文書における構成要素頻度を算出する構成要素頻度算出手段と；
ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素については、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と；
原表現が同じである上記未知のベクトル同士の内積を予め決めた値とし、原表現が互いに異なる上記未知ベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段と；
上記量子化するための第２の代表ベクトル集合によって、上記第１文書のベクトル集合を量子化したときの第２量子化誤差を求め、上記第１の量子化するためのベクトル集合によって、上記第２文書のベクトル集合を量子化したときの第１量子化誤差を求め、上記量子化するための第１の代表ベクトル集合によって、上記第２文書のベクトル集合を量子化したときの第１量子化誤差を求め、上記第２の量子化するためのベクトル集合によって、上記第１文書のベクトル集合を量子化したときの第２量子化誤差を求める量子化誤差算出手段と；
第１文書による第２文書の量子化誤差と、第２文書による第１文書の量子化誤差とのうちで、大きい方の量子化誤差を、上記第１文書と上記第２文書との距離として算出する文書間距離決定手段と；
を有することを特徴とする文書間距離計算装置。
【請求項３】
文書の量子化するための代表ベクトル集合で、別の文書のベクトル集合の量子化誤差を高速に計算する装置において、
第１文書のベクトル集合から、量子化されるための第１の代表ベクトル集合を、各代表ベクトルに代表される構成要素の頻度数を求め、第２文書のベクトル集合から、量子化されるための第２の代表ベクトル集合と各代表ベクトルに代表される構成要素の頻度数とを求める手段と；
量子化されるための第１の代表ベクトル集合で、第１のベクトル集合を量子化したときの第１の近似に用いる量子化誤差と、量子化されるための第２の代表ベクトル集合で、第２のベクトル集合を量子化したときの第２の近似に用いる量子化誤差とを求める手段と；
上記第１の近似に用いる量子化誤差と上記量子化されるための第１の代表ベクトル集合を、量子化するための第２の代表ベクトル集合によって量子化したときの近似的な量子化誤差を求める手段と；
を有することを特徴とする高速な量子化誤差計算装置。
【請求項４】
請求項１または請求項２に記載の文書間距離計算装置を構成する各手段としての機能をコンピュータに実行させるためのコンピュータプログラム。
【請求項５】
請求項３記載の量子化誤差計算装置を構成する各手段としての機能をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書データについて、検索や分析を行うためのデータ間の距離を算出する方式に関する。
【背景技術】
【０００２】
文書間の距離を算出する方法として、文書を名詞や動詞等の単語に分解し、予め登録した概念ベクトルを単語に対応させ、文書を概念ベクトルの集合として表し、その概念ベクトルの平均ベクトルを文書の概念ベクトルとし、他の文書の概念ベクトルとのユークリッド距離（またはコサイン）によって、文書間の距離を算出することが知られている（たとえば、非特許文献１参照）。
【０００３】
また、画像等のベクトル集合間の距離を算出する方法として、ベクトル集合Ａとベクトル集合Ｂとの距離は、以下のように算出することが知られている（たとえば、特許文献１参照）。まず、各ベクトル集合について、その集合を代表するベクトルである代表ベクトル集合を決める。次に、ベクトル集合Ａの代表ベクトル集合で、ベクトル集合Ｂをベクトル量子化し、その量子化誤差を誤差Ａとする。ベクトル集合Ｂの代表ベクトル集合でベクトルＡをベクトル量子化し、その量子化誤差を誤差Ｂとする。ここで、誤差Ａと誤差Ｂの大きい方の値を、ベクトル集合Ａとベクトル集合Ｂとの間の距離とする。
【０００４】
上記文献の記載内容を組み合わせると、非特許文献１によって、文書を概念ベクトルの集合で表し、引き続いて特許文献１のベクトル集合間の距離算出方法によって、文書間の距離を算出することができる。
【非特許文献１】別所克人、内山俊郎、片岡良治著「単語・意味属性間共起に基づく概念ベースの拡張方式」情報処理学会研究会報告、Vol.SIG-ICS 144、pp.29-34、2006
【特許文献１】特開２００２−３６６９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術では、予め登録しておいた単語について、それをベクトル表現し、文書間の距離算出に反映させることができる。しかし、人名、組織名等が新たに登場し、また、新語が日々登場し、これらの単語等を、登場と同時に概念ベクトルを算出して登録することは困難である。そのために、文書の特徴として重要であるはずの単語等を、文書間の距離算出に反映させることができないという問題がある。
【０００６】
本発明は、人名、組織名等が新たに登場し、また、新語が日々登場し、これらの単語等を、登場と同時に概念ベクトルを算出して登録することが容易であり、文書の特徴として重要である単語等を、文書間の距離算出に反映させることができる文書間距離計算装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、入力された文書における構成要素頻度を算出する構成要素頻度算出手段と、ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素について、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と、原表現が同じである上記未知のベクトル同士の内積を予め決めた値とし、原表現が互いに異なる上記未知ベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段と、上記文書が、第１文書と第２文書とであり、上記第２文書の各構成要素に、上記第１文書の構成要素で最も近い距離にある構成要素を割り当て、上記ベクトル内積を用いて構成要素のベクトル間の距離を計算し、この計算されたベクトル間距離を全ての構成要素について足し合わせ、この足し合わせた距離を構成要素数で割って平均化したものを、第１量子化誤差として算出し、上記第１文書の各構成要素に、上記第２文書の構成要素で最も近い距離にある構成要素を割り当て、上記ベクトル内積を用いて構成要素のベクトル間の距離を計算し、この計算されたベクトル間距離を全ての構成要素について足し合わせ、この足し合わせた距離を構成要素数で割って平均化したものを、第２量子化誤差として算出する量子化誤差算出手段と、上記第１量子化誤差と上記第２量子化誤差とのうちで、大きい量子化誤差を、上記第１文書と上記第２文書との距離であると決定する文書間距離決定手段とを有することを特徴とする文書間距離計算装置である。
【発明の効果】
【０００８】
本発明によれば、文書間の距離を計算する際に、予め登録した単語について、ベクトル表現し、文書間の距離を算出する装置において、日々登場する新しい単語、合成語、フレーズ等であって、登録されていない単語、合成語、フレーズ等を、未知のベクトルで表現し、文書間の距離算出に反映させることができ、結果として、より適切な文書間距離を算出することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１０】
図１は、本発明の実施例１である文書間距離計算装置１００を示すブロック図である。
【００１１】
文書間距離計算装置１００は、文書入力手段１０と、単語頻度算出手段２０と、ベクトル集合算出手段３０と、量子化誤差算出手段４０と、文書間距離決定手段５０と、単語概念ベース格納手段７０とを有する。
【００１２】
文書入力手段１０は、第１文書の例である文書Ａと第２文書の例である文書Ｂとを入力する。
【００１３】
単語頻度算出手段２０は、入力された文書における単語頻度を算出する手段である。
【００１４】
ベクトル集合算出手段３０は、ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素について、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出する手段である。
【００１５】
ベクトル内積計算手段は、原表現が同じ、未知のベクトル同士の内積を予め決められた値とし、原表現が互いに異なる未知のベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算する。
【００１６】
量子化誤差算出手段４０は、単語Ｂの各単語に、単語Ａの単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、上位単語Ａによる上記単語Ｂの量子化誤差とする手段である。
【００１７】
文書間距離決定手段５０は、第１量子化誤差と第２量子化誤差とに基づいて、単語Ａと単語Ｂとの距離を求める手段である。つまり、単語Ａによる第２文書の量子化誤差と、第２文書による単語Ａの量子化誤差とのうちで、大きい方の量化化誤差を、上記単語Ａと上記第２文書との距離として算出する手段である。
【００１８】
次に、文書間距離計算装置１００において、文書Ａと文書Ｂとの文書間距離を算出する動作について説明する。
【００１９】
図２は、実施例１の動作を示すフローチャートである。
【００２０】
まず、Ｓ１で、文書Ａと文書Ｂとを入力する。文書コーパス等を利用し、非特許文献１に記載されている単語−意味属性間の共起情報を用い、特異値分解等の次元圧縮処理を経て、単語に対応する概念ベクトルを算出する。
【００２１】
上記実施例では、単語を使用しているが、単語の代わりに、合成語、またはフレーズ等の文書の構成要素を使用するようにしてもよい。
【００２２】
図３は、実施例１において単語概念ベース格納手段７０に格納されている単語概念ベースを示す図である。
【００２３】
ここで、各単語の概念ベクトルである単語ベクトルを、長さ（Ｌ２ノルム）１に正規化する。これと同様にして、登録されていない単語の単語ベクトル（未知のベクトル）の長さは、正規化したので、「１」（上記説明では、α）であるとする。また、単語概念ベース格納手段７０に登録されている単語を、以下、「登録されている単語」という。なお、単語−単語間の共起情報を使用して、概念ベースを算出するようにしてもよい。
【００２４】
次に、文書Ａと文書Ｂとについて、形態素解析し、単語の頻度を求める。
【００２５】
図４、図５は、文書Ａと文書Ｂとについて、形態素解析し、求めた単語の頻度の例を示す図である。
【００２６】
図４に示す文書Ａについては、単語「朝ラー」が新規に登場したので、概念ベース格納手段７０には、登録されていない。つまり、図４中では、単語「朝ラー」の登録番号欄には、「未登録」が表示されている。図５に示す文書Ｂに含まれている単語の頻度表では、単語「朝ラー」と「アムラー」とが、未登録語である。文書Ａに属する単語集合ＳＡ＝｛ラーメン，朝ラー，朝，喜多方，目当て｝に対応した単語ベクトルの集合ＸＡを、
【００２７】
【数１】
0005057516.tif 000002
と記載する。
【００２８】
「朝ラー」に対応する単語ベクトルの値は未知のベクトルを割り当てる。ここで、ＮＡは、文書Ａに含まれている単語数を示す。
【００２９】
図４に示す例では、単語数は９である。これと同様に、文書Ｂに属している単語集合ＳＢ＝｛ラーメン，朝食，福島，喜多方，アムラー｝に対応する単語ベクトルの集合ＸＢを、
【００３０】
【数２】
0005057516.tif 000003
と記載する。
【００３１】
そして、実際の距離計算を行う。まず、文書Ａに属している単語ベクトル集合によって、文書Ｂの単語ベクトルを量子化し、Ｓ２で、量子化誤差ＥＡ→Ｂと量子化誤差ＥＢ→Ａとを求める。
【００３２】
具体的には、量子化誤差ＥＡ→Ｂを求める場合、文書Ｂの各単語に、文書Ａの単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、文書Ａによる文書Ｂの量子化誤差ＥＡ→Ｂとする。
【００３３】
すなわち、量子化誤差は、第２文書の各単語に、第１文書の単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものである。
【００３４】
量子化誤差ＥＢ→Ａを求める場合、文書Ａの各単語に、文書Ｂの単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、文書Ｂによる文書Ａの量子化誤差ＥＢ→Ａとする。
【００３５】
図６は、文書Ａの単語ベクトル集合による文書Ｂの単語ベクトル集合の量子化の結果例を示す図である。
【００３６】
単語「朝ラー」は、文書Ａにも、文書Ｂにも存在しているので、文書Ａに存在している単語「朝ラー」の単語ベクトルと、文書Ｂに存在している単語「朝ラー」の単語ベクトルとの距離は、「０」である。
【００３７】
一方、単語「アムラー」は、文書Ｂには存在しているが、文書Ａには存在していない。
この場合、定義によって、自分自身を除く任意の単語の単語ベクトルとの内積が０であるので、単語間距離は、それぞれの単語のＬ２ノルムを足したものである。つまり、２である。上記と同じようにして、文書Ｂに属する単語ベクトル集合によって、文書Ａの単語ベクトルを量子化する。
【００３８】
図７は、文書Ｂに属する単語ベクトル集合によって、文書Ａの単語ベクトルを量子化した結果の例を示す図である。
【００３９】
図７では、単語「目当て」に最も近い単語である「喜多方」までの距離が２．２である。このように、内積の値が負になる単語ベクトル間の距離は、未登録の単語との距離「２」よりも大きくなる。
【００４０】
そして、Ｓ２で、距離の合計を単語数で割ることによって、量子化誤差を求める。
【００４１】
上記のように、文書Ａによる文書Ｂの量子化誤差ＥＡ→Ｂ＝０．５８と、文書Ｂによる文書Ａの量子化誤差ＥＢ→Ａ＝０．３９とを求める。
【００４２】
そして、Ｓ３で、距離を選択する。つまり、Ｓ４で、量子化誤差の大きい方である０．５８を、文書Ａと文書Ｂとの距離として出力する。
【００４３】
量子化誤差ＥＡ→Ｂ、ＥＢ→Ａを式で表すと、
【００４４】
【数３】
0005057516.tif 000004
である。
【実施例２】
【００４５】
図８は、本発明の実施例２である文書間距離計算装置２００を示すブロック図である。
【００４６】
実施例１は、全ての単語を用いて量子化を行う実施例である。実施例２は、量子化するための単語ベクトル集合について、各文書の単語ベクトル集合を、より小数の単語ベクトルで代表した代表ベクトルを用いる実施例である。これによって、計算コストを低減することができる。
【００４７】
文書間距離計算装置２００は、文書間距離計算装置１００において、代表ベクトル算出手段６０とを付加した装置である。
【００４８】
代表ベクトル算出手段６０は、ベクトル集合算出手段３０で得たベクトル集合の分布を代表する所定の個数のベクトル（代表ベクトル）を選定（または計算）する。
【００４９】
図９は、文書間距離計装置２００において、文書Ｂに含まれている単語を代表する５つの代表ベクトルを示す図である。
【００５０】
単語「福島」と「喜多方」との単語ベクトル同士が似ているので、これを１つのベクトルで代表している。代表ベクトルを算出する場合、代表される単語の出現頻度によって、それぞれの単語ベクトルの重み付け平均をとる。
【００５１】
図９に示す例は、模式的な例であるので、代表される単語の数と代表ベクトルの数とは、殆ど変わらないが、普通の文書には、より多くの異なり単語（原表現が異なる単語）があり、単語ベクトルの集合をクラスタリングすること等によって、代表ベクトルを算出すれば、単語ベクトル数を大幅に低減することができる。
【００５２】
ただし、未登録の単語は、定義から、どの単語ベクトルとも等距離にあるので、独立して１つの代表ベクトルを割り当てる。「朝ラー」と「アムラー」の場合に相当する。文書Ａの代表ベクトルを、｛Ｗ１Ａ，…，ＷａＡ｝と示し、文書Ｂの代表ベクトルを、｛Ｗ１Ｂ，…，ＷｂＢ｝と示す。
【００５３】
文書の全ての単語を、代表ベクトルにした例が、実施例１である。このときに、文書Ａの代表ベクトルで、文書Ｂを量子化したときの量子化誤差ＥＡ→Ｂと、文書Ｂの代表ベクトルで、文書Ａを量子化したときの量子化誤差ＥＢ→Ａとは、
【００５４】
【数４】
0005057516.tif 000005
となる。
【００５５】
量子化誤差ＥＡ→ＢとＥＢ→Ａとのうちで、大きい方を、文書Ａと文書Ｂとの距離として出力する。
【００５６】
ここでも、未登録の単語に対応する単語ベクトルは、自分と同じ単語を除く任意の単語ベクトルと代表ベクトルとの内積が０であるとする。この仮定を用いて、単語ベクトル間の距離を算出する。すなわち、同じ単語間の距離は、０であり、異なる単語の単語ベクトル（代表ベクトル）との距離は、両ベクトルのＬ２ノルムの和である。
【００５７】
図１０は、実施例２における一連の処理の流れを示すフローチャートである。
【００５８】
図１０に示すフローチャートは、図２に示すフローチャートにおいて、文書Ａと文書Ｂとを入力する処理（Ｓ１）と、量子化誤差ＥＡ→ＢとＥＢ→Ａとを算出する処理（Ｓ２）との間に、代表ベクトルを算出する処理（Ｓ１１）が挿入されている。
【００５９】
また、量子化されるための単語ベクトル集合について、各文書の単語ベクトル集合を、より小数の単語ベクトルで代表した量子化誤差近似用代表ベクトルを用いるようにしてもよい。なお、量子化誤差近似用代表ベクトルを、上記量子化するための代表ベクトルと共通にすることができる。
【００６０】
文書Ａの量子化誤差近似用代表ベクトルを
【００６１】
【数５】
0005057516.tif 000006
と表し、文書Ｂの量子誤差近似用代表ベクトルを
【００６２】
【数６】
0005057516.tif 000007
と表す。
【００６３】
そして、文書Ａ、Ｂのそれぞれについて、各量子化誤差近似用代表ベクトルに代表される単語数を、
【００６４】
【数７】
0005057516.tif 000008
と表す。
【００６５】
図１１は、文書Ｂの量子化誤差近似用代表ベクトルと代表される単語数とを示す図である。
【００６６】
ここで、文書Ａの単語ベクトルを、文書Ａの量子化誤差近似用代表ベクトルで量子化したときの量子化誤差Ｅ０Ａを、次の式（４）で計算する。
【００６７】
【数８】
0005057516.tif 000009
上記と同様にして文書Ｂについても量子化誤差Ｅ０Ｂを計算する。
【００６８】
上記情報を用い、文書Ａの代表ベクトルで、文書Ｂを量子化したときの量子化誤差ＥＡ→Ｂと、文書Ｂの代表ベクトルで、文書Ａを量子化したときの量子化誤差ＥＢ→Ａとを、次の式（５）で近似計算する。
【００６９】
【数９】
0005057516.tif 000010
量子化誤差ＥＡ→ＢとＥＢ→Ａとのうちで、大きい方を、文書Ａと文書Ｂとの距離として出力する。
【００７０】
つまり、上記実施例において、既知単語ｘと未知単語ｙとの内積を、ゼロとし、未知単語（ｙ）同士の内積を、一定値αとする。既知単語ｘと未知単語ｙとの距離は、（ｘ−ｙ）２であり、この（ｘ−ｙ）２を、ｘ２、２ｘｙ、ｙ２に展開し、２ｘｙがゼロで、ｙ２を定数αとすると、既知単語ｘと未知単語ｙとの距離は、ｘ２＋αである。
【００７１】
未登録の構成要素である単語等も、未知のベクトルで表現されているとし、その未知のベクトルと、他の構成要素（登録、未登録のいずれの構成要素）のベクトルとの内積を０とし、互いに同じ構成要素に対応する未知のベクトル同士の内積を、予め決めた値αにする。これによって、未登録の単語を、文書間の距離算出に反映させることができる。
【００７２】
他のベクトルと自分自身のベクトルとの内積が、上記のように定義されれば、特許文献１に記載されているベクトル集合Ａとベクトル集合Ｂとの距離計算の考え方を、（ベクトル集合＋未知のベクトル集合）Ａと（ベクトル集合＋未知のベクトル集合）Ｂとの距離計算に適用することができる。すなわち、登録されたベクトルｘと未知のベクトルｙとのユークリッド距離Ｄを、次の式（１）によって求める。
【００７３】
Ｄ＝||ｘ−ｙ||２
＝||ｘ||２−２ｘｙ＋||ｙ||２
＝||ｘ||２＋α                    …  式（１）
すなわち、特許文献１に記載されている考え方を、文書間の距離計算に適用する。
【００７４】
つまり、上記実施例は、文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、入力された文書における構成要素頻度を算出する構成要素頻度算出手段と、ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素について、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と、未知のベクトル同士の内積を、予め決めた値とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段とを有する文書間距離計算装置の例である。
【００７５】
この場合、上記文書が、第１文書と第２文書とであり、上記第２文書の各単語に、上記第１文書の単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、第１量子化誤差として算出し、上記第１文書の各単語に、上記第２文書の単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、第２量子化誤差として算出する量子化誤差算出手段が設けられている。
【００７６】
また、上記第１量子化誤差と上記第２量子化誤差とのうちで、大きい量子化誤差を、上記第１文書と上記第２文書との距離であると決定する文書間距離決定手段が設けられている。
【００７７】
また、上記実施例は、文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、入力された文書における構成要素頻度を算出する構成要素頻度算出手段と、ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素について、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と、原表現が同じ、上記未知のベクトル同士の内積を予め決めた値とし、原表現が互いに異なる上記未知ベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段とを有する文書間距離計算装置の例である。
【００７８】
この場合、上記文書が、第１文書と第２文書とであり、上記第２文書の各単語に、上記第１文書の単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、第１量子化誤差として算出し、上記第１文書の各単語に、上記第２文書の単語で最も近い距離にある単語を割り当て、単語ベクトル間の距離を計算し、この計算された単語ベクトル間距離を全ての単語について足し合わせ、この足し合わせた距離を単語数で割って平均化したものを、第２量子化誤差として算出する量子化誤差算出手段を有する。
【００７９】
また、上記第１量子化誤差と上記第２量子化誤差とのうちで、大きい量子化誤差を、上記第１文書と上記第２文書との距離であると決定する文書間距離決定手段を有する。
【００８０】
さらに、上記実施例は、文書の構成要素である単語、合成語、またはフレーズについて、ベクトルが予め登録されているときに、２つの文書間の距離を計算する装置において、第１文書のベクトル集合から、量子化するための第１の代表ベクトル集合を求め、第２文書のベクトル集合から、量子化するための第２の代表ベクトル集合を算出する代表ベクトル集合算出手段と、入力された文書における構成要素頻度を算出する構成要素頻度算出手段と、ベクトルが登録されている上記構成要素に、そのベクトルを割り当て、ベクトルが登録されていない構成要素については、原表現を残し、未知のベクトルを割り当てることによって、ベクトル集合を算出するベクトル集合算出手段と、原表現が同じ、上記未知のベクトル同士の内積を予め決めた値とし、原表現が互いに異なる上記未知ベクトル同士の内積を０とし、上記未知のベクトルと上記ベクトルが登録されている構成要素のベクトルとの内積を０としてベクトル内積を計算するベクトル内積計算手段とを有する文書間距離計算装置の例である。
【００８１】
この場合、上記量子化するための第２の代表ベクトル集合によって、上記第１文書のベクトル集合を量子化したときの第２量子化誤差を求め、上記第１の量子化するためのベクトル集合によって、上記第２文書のベクトル集合を量子化したときの第１量子化誤差を求め、上記量子化するための第１の代表ベクトル集合によって、上記第２文書のベクトル集合を量子化したときの第１量子化誤差を求め、上記第２の量子化するためのベクトル集合によって、上記第１文書のベクトル集合を量子化したときの第２量子化誤差を求める量子化誤差算出手段を有する。
【００８２】
また、上記文書間距離算出手段は、第１文書による第２文書の量子化誤差と、第２文書による第１文書の量子化誤差とのうちで、大きい方の量化化誤差を、上記第１文書と上記第２文書との距離として算出する手段である。
【００８３】
また、上記実施例は、文書の量子化するための代表ベクトル集合で、別の文書のベクトル集合の量子化誤差を高速に計算する装置において、第１文書のベクトル集合から、量子化されるための第１の代表ベクトル集合を、各代表ベクトルに代表される単語の頻度数を求め、第２文書のベクトル集合から、量子化されるための第２の代表ベクトル集合と各代表ベクトルに代表される単語の頻度数とを求める手段と、量子化されるための第１の代表ベクトル集合で、第１のベクトル集合を量子化したときの第１の近似に用いる量子化誤差と、量子化されるための第２の代表ベクトル集合で、第２のベクトル集合を量子化したときの第２の近似に用いる量子化誤差とを求める手段と、上記第１の近似に用いる量子化誤差と上記量子化されるための第１の代表ベクトル集合を、量子化するための第２の代表ベクトル集合によって量子化したときの近似的な量子化誤差を求める手段とを有する高速な量子化誤差計算装置の例である。
【００８４】
なお、上記第１の近似に用いる量子化誤差は、式（４）に示す量子化誤差Ｅ０Ａである。上記第２の近似に用いる量子化誤差は、上記量子化誤差Ｅ０Ａと同様に算出した量子化誤差Ｅ０Ｂである。上記近似的な量子化誤差は、式（５）に示す量子化誤差ＥＡ→Ｂ、ＥＢ→Ａである。
【００８５】
また、上記実施例をプログラムの発明として把握することができる。つまり、上記実施例は、上記文書間距離計算装置を構成する各手段としての機能をコンピュータに実行させるためのコンピュータプログラムの例である。さらに、上記実施例は、上記量子化誤差計算装置を構成する各手段としての機能をコンピュータに実行させるためのコンピュータプログラムの例である。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施例１である文書間距離計算装置１００を示すブロック図である。
【図２】実施例１の動作を示すフローチャートである。
【図３】実施例１において単語概念ベース格納手段７０に格納されている単語概念ベースを示す図である。
【図４】文書Ａと文書Ｂとについて、形態素解析し、求めた単語の頻度の例を示す図である。
【図５】文書Ａと文書Ｂとについて、形態素解析し、求めた単語の頻度の例を示す図である。
【図６】文書Ａの単語ベクトル集合による文書Ｂの単語ベクトル集合の量子化の結果例を示す図である。
【図７】文書Ｂに属する単語ベクトル集合によって、文書Ａの単語ベクトルを量子化した結果の例を示す図である。
【図８】本発明の実施例２である文書間距離計算装置２００を示すブロック図である。
【図９】文書間距離計装置２００において、文書Ｂに含まれている単語を代表する５つの代表ベクトルを示す図である。
【図１０】実施例２における一連の処理の流れを示すフローチャートである。
【図１１】文書Ｂの量子化誤差近似用代表ベクトルと代表される単語数とを示す図である。
【符号の説明】
【００８７】
１００…文書間距離計算装置、
１０…文書入力手段、
２０…単語頻度算出手段、
３０…量子化誤差手段、
４０…量子化誤差算出手段、
５０…文書間距離決定手段、
６０…代表ベクトル算出手段、
７０…単語概念ベース格納手段、
２００…文書間距離計算装置。
【図１】
0005057516.tif 000011
【図２】
0005057516.tif 000012
【図３】
0005057516.tif 000013
【図４】
0005057516.tif 000014
【図５】
0005057516.tif 000015
【図６】
0005057516.tif 000016
【図７】
0005057516.tif 000017
【図８】
0005057516.tif 000018
【図９】
0005057516.tif 000019
【図１０】
0005057516.tif 000020
【図１１】
0005057516.tif 000021