(57)【特許請求の範囲】
【請求項１】
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を備える文書間類似度算出装置。
【請求項２】
請求項１に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記選択された基準接尾部のそれぞれに対して、前記文書が当該基準接尾部を含む場合に当該基準接尾部を表す成分として、正の値を有し、一方、当該文書が当該基準接尾部を含まない場合に当該成分として０を有するベクトルを表す情報を、前記類似度基礎情報として生成するように構成され、
前記類似度算出手段は、前記第１の文書に対して生成された前記類似度基礎情報が表すベクトルと、前記第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を前記類似度として算出するように構成された文書間類似度算出装置。
【請求項３】
請求項２に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記文書が含む前記基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有する前記ベクトルを表す情報を、前記類似度基礎情報として生成するように構成された文書間類似度算出装置。
【請求項４】
請求項３に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記文書が含む前記基準接尾部の数が１だけ増える毎に当該基準接尾部を表す成分としての値を増加させる増分値を、当該基準接尾部を構成する文字の総数が多くなるほど大きくするように構成された文書間類似度算出装置。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の文書間類似度算出装置であって、
前記基準接尾部選択手段は、前記生成された接尾部情報が表す接尾部の中から、複数の文書に基づいて生成された接尾部を、前記基準接尾部として選択するように構成された文書間類似度算出装置。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の文書間類似度算出装置であって、
前記接尾部情報は、接尾辞木、又は、接尾辞配列を表す情報である文書間類似度算出装置。
【請求項７】
接尾部情報生成手段と、基準接尾部選択手段と、類似度基礎情報生成手段と、類似度算出手段と、を備えた情報処理装置による文書間類似度算出方法であって、
前記接尾部情報生成手段が、複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成し、
前記基準接尾部選択手段が、前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択し、
前記類似度基礎情報生成手段が、前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成し、
前記類似度算出手段が、前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する、文書間類似度算出方法。
【請求項８】
請求項７に記載の文書間類似度算出方法であって、
前記類似度基礎情報生成手段が、前記選択された基準接尾部のそれぞれに対して、前記文書が当該基準接尾部を含む場合に当該基準接尾部を表す成分として、正の値を有し、一方、当該文書が当該基準接尾部を含まない場合に当該成分として０を有するベクトルを表す情報を、前記類似度基礎情報として生成し、
前記類似度算出手段が、前記第１の文書に対して生成された前記類似度基礎情報が表すベクトルと、前記第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を前記類似度として算出する、文書間類似度算出方法。
【請求項９】
請求項８に記載の文書間類似度算出方法であって、
前記類似度基礎情報生成手段が、前記文書が含む前記基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有する前記ベクトルを表す情報を、前記類似度基礎情報として生成する、文書間類似度算出方法。
【請求項１０】
情報処理装置に、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を実現させるための文書間類似度算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書が互いに類似している程度を表す類似度を算出する文書間類似度算出装置に関する。
【背景技術】
【０００２】
複数の文書が互いに類似している程度を表す類似度を算出する文書間類似度算出装置が知られている。この種の文書間類似度算出装置の１つとして特許文献１に記載の文書間類似度算出装置は、複数の文書のそれぞれに対して、形態素解析を行うことにより、当該文書を単語に分割する。
【０００３】
更に、文書間類似度算出装置は、文書毎に、単語のそれぞれに対して、当該単語が当該文書にて出現する数を計数する。そして、文書間類似度算出装置は、文書毎に、単語のそれぞれに対して、当該単語を表す成分として当該単語が出現する数を値として有するベクトルを表す類似度基礎情報を生成する。
【０００４】
文書間類似度算出装置は、第１の文書に対して生成された類似度基礎情報が表すベクトルと、第２の文書に対して生成された類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を有する類似度を算出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１０８８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記文書間類似度算出装置は、辞書に予め登録されている単語に基づいて形態素解析を行う。従って、辞書に登録されていない単語が文書に含まれる場合、上記文書間類似度算出装置は、類似度基礎情報が表すベクトルの成分として、正確な単語を用いることができない虞がある。なお、この種の問題は、ユーザが予め設定した特徴語を、類似度基礎情報が表すベクトルの成分として用いるように構成された文書間類似度算出装置においても同様に生じる。
【０００７】
この結果、上記文書間類似度算出装置においては、高い精度にて類似度を算出することができない虞があった。
【０００８】
また、Ｎグラム（Ｎ−ｇｒａｍ）方式に従って生成されたインデックスとしての文字列を、類似度基礎情報が表すベクトルの成分として用いるように上記文書間類似度算出装置を構成することも考えられる。これによれば、辞書に登録されていない単語が文書に含まれる場合であっても、高い精度にて類似度を算出できることが期待される。
【０００９】
ところで、第１の単語の一部と、第２の単語の全体と、が一致することがある。例えば、第１の単語が「プリンタ」であり、第２の単語が「プリン」である場合が想定される。この場合、文書間類似度算出装置がインデックスとして「プリン」を生成した場合、「プリンタ」に関する第１の文書と、「プリン」に関する第２の文書と、の間の類似度として、過度に大きな値を算出してしまう虞がある。即ち、この場合、高い精度にて類似度を算出することができない虞があった。
【００１０】
また、インデックスは、例えば、「ンが食」のように特定の意味を有しない文字列も含めて生成される。従って、生成されるインデックスの総数は、比較的多くなる。このため、類似度基礎情報が表すベクトルの成分（次元）の数も過度に多くなる。その結果、類似度基礎情報に基づいて類似度を算出する際の文書間類似度算出装置の負荷が過大となる虞もあった。
【００１１】
このため、本発明の目的は、上述した課題である「高い精度にて文書間の類似度を算出することができない場合が生じること、及び、文書間の類似度を算出する際の負荷が過大となる場合が生じること」を解決することが可能な文書間類似度算出装置を提供することにある。
【課題を解決するための手段】
【００１２】
かかる目的を達成するため本発明の一形態である文書間類似度算出装置は、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
上記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
上記複数の文書のそれぞれに対して、当該文書が上記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
上記複数の文書のうちの第１の文書に対して上記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して上記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を備える。
【００１３】
また、本発明の他の形態である文書間類似度算出方法は、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成し、
上記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択し、
上記複数の文書のそれぞれに対して、当該文書が上記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成し、
上記複数の文書のうちの第１の文書に対して上記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して上記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する方法である。
【００１４】
また、本発明の他の形態である文書間類似度算出プログラムは、
情報処理装置に、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
上記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
上記複数の文書のそれぞれに対して、当該文書が上記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
上記複数の文書のうちの第１の文書に対して上記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して上記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１５】
本発明は、以上のように構成されることにより、文書間の類似度を算出する際の負荷が過大となることを防止しながら、高い精度にて類似度を算出することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係る文書間類似度算出装置の概略を表すブロック図である。
【図２】類似度基礎情報が表すベクトルを概念的に示した説明図である。
【図３】本発明の第１実施形態に係る文書間類似度算出装置が実行する文書間類似度算出プログラムを示したフローチャートである。
【図４】本発明の第１実施形態に係る文書間類似度算出装置が実行する基準接尾部選択処理を示したフローチャートである。
【図５】本発明の第１実施形態に係る文書間類似度算出装置が実行する類似度基礎情報生成処理を示したフローチャートである。
【図６】文、接尾部情報、及び、基準接尾部の関係を概念的に示した説明図である。
【図７】本発明の第２実施形態に係る文書間類似度算出装置の概略を表すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る、文書間類似度算出装置、文書間類似度算出方法、及び、文書間類似度算出プログラム、の各実施形態について図１〜図７を参照しながら説明する。
【００１８】
＜第１実施形態＞
（構成）
図１に示したように、第１実施形態に係る文書間類似度算出装置１０は、情報処理装置である。なお、文書間類似度算出装置１０は、パーソナル・コンピュータ、サーバ装置、携帯電話端末、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｃｅ、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、カーナビゲーション端末、又は、ゲーム端末等であってもよい。
【００１９】
文書間類似度算出装置１０は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及び、記憶装置（メモリ及びハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））を備える。文書間類似度算出装置１０は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００２０】
（機能）
図１は、上記のように構成された文書間類似度算出装置１０の機能を表すブロック図である。
文書間類似度算出装置１０の機能は、文書情報記憶部１１と、接尾部情報生成部（接尾部情報生成手段）１２と、基準接尾部選択部（基準接尾部選択手段）１３と、類似度基礎情報生成部（類似度基礎情報生成手段）１４と、類似度算出部（類似度算出手段）１５と、を含む。
【００２１】
文書情報記憶部１１は、複数の文書情報を記憶する。文書情報は、文書を表す情報である。文書は、少なくとも１つの文を含む。文は、複数の文字からなる文字列により構成される。文書情報記憶部１１が記憶している文書情報は、ユーザにより入力された情報であってもよいし、他の情報処理装置から受信された情報であってもよい。
【００２２】
接尾部情報生成部１２は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のそれぞれが含む文毎に、接尾部情報を生成する。接尾部情報は、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部（即ち、Ｎ個の接尾部）を表す情報である。
【００２３】
本例では、接尾部情報は、接尾辞配列（サフィックス・アレイ）を表す情報である。接尾辞配列は、接尾部を辞書順に並べ替えた配列である。
【００２４】
例えば、文が「ＢＡＮＡＮＡ」である場合、接尾部情報生成部１２は、「ＢＡＮＡＮＡ」、「ＡＮＡＮＡ」、「ＮＡＮＡ」、「ＡＮＡ」、「ＮＡ」、及び、「Ａ」からなる６個の接尾部を、辞書順に並べ替えた、「Ａ」、「ＡＮＡ」、「ＡＮＡＮＡ」、「ＢＡＮＡＮＡ」、「ＮＡ」、及び、「ＮＡＮＡ」からなる配列を表す接尾部情報を生成する。
なお、接尾部情報は、接尾辞木（サフィックス木）を表す情報であってもよい。
【００２５】
基準接尾部選択部１３は、接尾部情報生成部１２により生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する。なお、基準接尾部選択部１３は、生成された接尾部情報が表す接尾部の中から、予め設定された閾値数（２以上の整数）よりも多い数の文に基づいて生成された接尾部を、基準接尾部として選択するように構成されていてもよい。
【００２６】
類似度基礎情報生成部１４は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のそれぞれに対して、類似度基礎情報を生成する。類似度基礎情報は、当該文書が基準接尾部選択部１３により選択された基準接尾部のそれぞれを含むか否かを表す情報である。
【００２７】
本例では、類似度基礎情報は、基準接尾部選択部１３により選択された基準接尾部のそれぞれを表す成分を有するベクトルを表す情報である。
【００２８】
具体的には、類似度基礎情報生成部１４は、類似度基礎情報が表すベクトルの成分のそれぞれの値を、当該成分が表す基準接尾部を当該文書が含む場合に正の値に設定し、一方、当該成分が表す基準接尾部を当該文書が含まない場合に０に設定する。
【００２９】
更に、本例では、類似度基礎情報生成部１４は、類似度基礎情報が表すベクトルの成分のそれぞれの値を、当該成分が表す基準接尾部を当該文書が含む数（即ち、当該文書にて当該基準接尾部が出現する回数）に、増分値を乗じた値に設定する。
【００３０】
即ち、増分値は、文書が含む基準接尾部の数が１だけ増える毎に当該基準接尾部を表す成分としての値を増加させる増分を表す値である。本例では、類似度基礎情報生成部１４は、増分値を、当該基準接尾部を構成する文字の総数が多くなるほど大きくなる値（例えば、当該文字の総数に正比例する値）に設定する。
【００３１】
このようにして、類似度基礎情報生成部１４は、文書が含む基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有するベクトルを表す情報を、類似度基礎情報として生成している、と言うことができる。
【００３２】
類似度算出部１５は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のうちの任意の２つの文書が類似している程度を表す類似度を算出する。類似度算出部１５は、当該２つの文書の一方（第１の文書）に対して、類似度基礎情報生成部１４により生成された類似度基礎情報と、当該２つの文書の他方（第２の文書）に対して、類似度基礎情報生成部１４により生成された類似度基礎情報と、に基づいて、類似度を算出する。
【００３３】
具体的には、類似度算出部１５は、第１の文書に対して生成された類似度基礎情報が表すベクトルと、第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値（本例では、２つのベクトルのなす角の余弦）を類似度として算出する。
【００３４】
図２は、基準接尾部として、「猫」、「白い」、及び、「鼠」が選択された場合における、第１の文書に対するベクトルＶ１と、第２の文書に対するベクトルＶ２と、を概念的に示した説明図である。
【００３５】
本例では、類似度算出部１５は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のすべての組み合わせのそれぞれに対して類似度を算出する。なお、類似度算出部１５は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書の特定の（例えば、ユーザにより指定された）組み合わせのみに対して類似度を算出するように構成されていてもよい。
【００３６】
（作動）
次に、上述した文書間類似度算出装置１０の作動について説明する。
文書間類似度算出装置１０のＣＰＵは、図３乃至図５にフローチャートにより示した文書間類似度算出プログラムを実行するようになっている。
【００３７】
具体的に述べると、文書間類似度算出装置１０は、文書間類似度算出プログラムの処理を開始すると、先ず、各文（文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のそれぞれが含む文のそれぞれ）に対して接尾部情報を生成する（ステップＳ１０１）。
【００３８】
例えば、図６の（Ａ）及び（Ｂ）に示したように、第１の文書が文＃１として「黒い猫も白い猫も鳴いた」を含み、且つ、第２の文書が文＃２として「私の白い猫も鳴いた」を含む場合を想定する。この場合、文書間類似度算出装置１０は、文＃１に対する接尾部情報として、図６の（Ａ）に示した接尾辞配列を表す情報を生成する。更に、文書間類似度算出装置１０は、文＃２に対する接尾部情報として、図６の（Ｂ）に示した接尾辞配列を表す情報を生成する。
【００３９】
そして、文書間類似度算出装置１０は、生成された接尾部情報が表す接尾部のそれぞれ（各接尾部）に対して、基準接尾部選択処理を実行する（ステップＳ１０２）。具体的には、文書間類似度算出装置１０は、図４に示した基準接尾部選択処理を各接尾部に対して実行する。
【００４０】
即ち、先ず、文書間類似度算出装置１０は、基準接尾部選択処理の対象となる接尾部が取得される基となった（即ち、当該接尾部を含む）文の数（基礎文数）を取得する（ステップＳ２０１）。
【００４１】
次いで、文書間類似度算出装置１０は、取得された基礎文数が、予め設定された閾値数（本例では、１）よりも大きいか否かを判定する（ステップＳ２０２）。
基礎文数が閾値数よりも大きい場合、文書間類似度算出装置１０は、「Ｙｅｓ」と判定してステップＳ２０３へ進み、基準接尾部選択処理の対象となる接尾部を基準接尾部として選択する。そして、文書間類似度算出装置１０は、基準接尾部選択処理を終了する。
【００４２】
一方、基礎文数が閾値数以下である場合、文書間類似度算出装置１０は、「Ｎｏ」と判定して、基準接尾部選択処理の対象となる接尾部を基準接尾部として選択することなく、基準接尾部選択処理を終了する。
【００４３】
例えば、図６の（Ａ）及び（Ｂ）に示したように、第１の文書が文＃１として「黒い猫も白い猫も鳴いた」を含み、且つ、第２の文書が文＃２として「私の白い猫も鳴いた」を含む場合を想定する。この場合、文書間類似度算出装置１０は、図６の（Ｃ）に示した接尾部を基準接尾部として選択する。
【００４４】
次いで、文書間類似度算出装置１０は、各文書（文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のそれぞれ）に対して類似度基礎情報生成処理を実行する（ステップＳ１０３）。
【００４５】
具体的には、文書間類似度算出装置１０は、図５に示した類似度基礎情報生成処理を各文書に対して実行する。
【００４６】
即ち、文書間類似度算出装置１０は、選択された基準接尾部のそれぞれを１つずつ順に処理対象とするループ処理（ステップＳ３０１〜ステップＳ３０５）を実行する。
【００４７】
ループ処理において、先ず、文書間類似度算出装置１０は、処理対象となる基準接尾部を構成する文字の総数（当該基準接尾部の文字数）を取得する（ステップＳ３０２）。次いで、文書間類似度算出装置１０は、類似度基礎情報生成処理の対象となる文書が含む、処理対象となる基準接尾部の数（基準接尾部数）を取得する（ステップＳ３０３）。
【００４８】
そして、文書間類似度算出装置１０は、取得された基準接尾部の文字数（増分値）を、取得された基準接尾部数に乗じた値を、処理対象となる基準接尾部を表す成分の値（成分値）として算出する（ステップＳ３０４）。
【００４９】
そして、文書間類似度算出装置１０は、上記ステップＳ２０３にて選択された基準接尾部のすべてに対して、上記ループ処理（ステップＳ３０１〜ステップＳ３０５）を実行した後、ステップＳ３０６へ進む。
【００５０】
そして、文書間類似度算出装置１０は、上記選択された基準接尾部のそれぞれを表す成分を有するベクトルを表す類似度基礎情報を生成する（ステップＳ３０６）。その後、文書間類似度算出装置１０は、類似度基礎情報生成処理を終了する。
【００５１】
次いで、文書間類似度算出装置１０は、文書情報記憶部１１に記憶されている複数の文書情報が表す複数の文書のすべての組み合わせのそれぞれに対して類似度を算出する（ステップＳ１０４）。具体的には、文書間類似度算出装置１０は、第１の文書に対して生成された類似度基礎情報が表すベクトルと、第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、のなす角の余弦を類似度として算出する。
その後、文書間類似度算出装置１０は、文書間類似度算出プログラムの処理を終了する。
【００５２】
以上、説明したように、第１実施形態に係る文書間類似度算出装置１０によれば、文書間の類似度を算出する際の文書間類似度算出装置１０の負荷が過大となることを防止しながら、高い精度にて文書間の類似度を算出することができる。
【００５３】
また、第１実施形態に係る文書間類似度算出装置１０は、文書が含む基準接尾部の数が１だけ増える毎に当該基準接尾部を表す成分としての値を増加させる増分値を、当該基準接尾部を構成する文字の総数が多くなるほど大きくするように構成されている。
【００５４】
ところで、接尾部を構成する文字の総数が多くなるほど、当該接尾部は、当該接尾部を含む文書の特徴をよく表す。従って、上記のように構成された文書間類似度算出装置１０によれば、より一層高い精度にて文書間の類似度を算出することができる。
【００５５】
なお、第１実施形態の変形例に係る文書間類似度算出装置１０は、生成された接尾部情報が表す接尾部の中から、複数の文書に基づいて生成された接尾部を、基準接尾部として選択するように構成される。
【００５６】
ところで、同一の接尾部を含む文書の数が多くなるほど、当該接尾部は、当該接尾部を含む文書の特徴をよく表す。従って、このように文書間類似度算出装置１０を構成することにより、より一層高い精度にて文書間の類似度を算出することができる。
【００５７】
また、文書間類似度算出装置１０は、生成された接尾部情報と、当該接尾部情報を生成する基となった文書を識別するための文書識別情報と、を対応付けて記憶するように構成されていてもよい。また、文書間類似度算出装置１０は、生成された類似度基礎情報と、当該類似度基礎情報を生成する基となった文書を識別するための文書識別情報と、を対応付けて記憶するように構成されていてもよい。
【００５８】
＜第２実施形態＞
次に、本発明の第２実施形態に係る文書間類似度算出装置について図７を参照しながら説明する。
第２実施形態に係る文書間類似度算出装置１００は、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成部（接尾部情報生成手段）１０１と、
上記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択部（基準接尾部選択手段）１０２と、
上記複数の文書のそれぞれに対して、当該文書が上記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成部（類似度基礎情報生成手段）１０３と、
上記複数の文書のうちの第１の文書に対して上記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して上記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出部（類似度算出手段）１０４と、
を備える。
【００５９】
これによれば、文書間の類似度を算出する際の文書間類似度算出装置１００の負荷が過大となることを防止しながら、高い精度にて文書間の類似度を算出することができる。
【００６０】
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【００６１】
例えば、文書間類似度算出装置は、算出された類似度に基づいて、複数の文書を分類する（例えば、クラスタリングする）ように構成されていてもよい。
【００６２】
なお、上記各実施形態において文書間類似度算出装置の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
【００６３】
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００６４】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【００６５】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
【００６６】
（付記１）
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を備える文書間類似度算出装置。
【００６７】
これによれば、文書間の類似度を算出する際の文書間類似度算出装置の負荷が過大となることを防止しながら、高い精度にて文書間の類似度を算出することができる。
【００６８】
（付記２）
付記１に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記選択された基準接尾部のそれぞれに対して、前記文書が当該基準接尾部を含む場合に当該基準接尾部を表す成分として、正の値を有し、一方、当該文書が当該基準接尾部を含まない場合に当該成分として０を有するベクトルを表す情報を、前記類似度基礎情報として生成するように構成され、
前記類似度算出手段は、前記第１の文書に対して生成された前記類似度基礎情報が表すベクトルと、前記第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を前記類似度として算出するように構成された文書間類似度算出装置。
【００６９】
（付記３）
付記２に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記文書が含む前記基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有する前記ベクトルを表す情報を、前記類似度基礎情報として生成するように構成された文書間類似度算出装置。
【００７０】
（付記４）
付記３に記載の文書間類似度算出装置であって、
前記類似度基礎情報生成手段は、前記文書が含む前記基準接尾部の数が１だけ増える毎に当該基準接尾部を表す成分としての値を増加させる増分値を、当該基準接尾部を構成する文字の総数が多くなるほど大きくするように構成された文書間類似度算出装置。
【００７１】
ところで、接尾部を構成する文字の総数が多くなるほど、当該接尾部は、当該接尾部を含む文書の特徴をよく表す。従って、上記のように文書間類似度算出装置を構成することにより、より一層高い精度にて文書間の類似度を算出することができる。
【００７２】
（付記５）
付記１乃至付記４のいずれか一項に記載の文書間類似度算出装置であって、
前記基準接尾部選択手段は、前記生成された接尾部情報が表す接尾部の中から、複数の文書に基づいて生成された接尾部を、前記基準接尾部として選択するように構成された文書間類似度算出装置。
【００７３】
ところで、同一の接尾部を含む文書の数が多くなるほど、当該接尾部は、当該接尾部を含む文書の特徴をよく表す。従って、上記のように文書間類似度算出装置を構成することにより、より一層高い精度にて文書間の類似度を算出することができる。
【００７４】
（付記６）
付記１乃至付記５のいずれか一項に記載の文書間類似度算出装置であって、
前記接尾部情報は、接尾辞木、又は、接尾辞配列を表す情報である文書間類似度算出装置。
【００７５】
（付記７）
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成し、
前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択し、
前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成し、
前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する、文書間類似度算出方法。
【００７６】
（付記８）
付記７に記載の文書間類似度算出方法であって、
前記選択された基準接尾部のそれぞれに対して、前記文書が当該基準接尾部を含む場合に当該基準接尾部を表す成分として、正の値を有し、一方、当該文書が当該基準接尾部を含まない場合に当該成分として０を有するベクトルを表す情報を、前記類似度基礎情報として生成し、
前記第１の文書に対して生成された前記類似度基礎情報が表すベクトルと、前記第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を前記類似度として算出する、文書間類似度算出方法。
【００７７】
（付記９）
付記８に記載の文書間類似度算出方法であって、
前記文書が含む前記基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有する前記ベクトルを表す情報を、前記類似度基礎情報として生成する、文書間類似度算出方法。
【００７８】
（付記１０）
情報処理装置に、
複数の文書のそれぞれが含む文毎に、当該文を構成する文字の総数をＮにより表した場合に、０からＮ−１までの整数ｉのそれぞれに対する、当該文の先頭からｉ文字を除いた残余の文字列である接尾部を表す情報である接尾部情報を生成する接尾部情報生成手段と、
前記生成された接尾部情報が表す接尾部の中から、複数の文に基づいて生成された接尾部を、基準接尾部として選択する基準接尾部選択手段と、
前記複数の文書のそれぞれに対して、当該文書が前記選択された基準接尾部のそれぞれを含むか否かを表す類似度基礎情報を生成する類似度基礎情報生成手段と、
前記複数の文書のうちの第１の文書に対して前記生成された類似度基礎情報と、当該複数の文書のうちの第２の文書に対して前記生成された類似度基礎情報と、に基づいて、当該第１の文書と当該第２の文書とが類似している程度を表す類似度を算出する類似度算出手段と、
を実現させるための文書間類似度算出プログラム。
【００７９】
（付記１１）
付記１０に記載の文書間類似度算出プログラムであって、
前記類似度基礎情報生成手段は、前記選択された基準接尾部のそれぞれに対して、前記文書が当該基準接尾部を含む場合に当該基準接尾部を表す成分として、正の値を有し、一方、当該文書が当該基準接尾部を含まない場合に当該成分として０を有するベクトルを表す情報を、前記類似度基礎情報として生成するように構成され、
前記類似度算出手段は、前記第１の文書に対して生成された前記類似度基礎情報が表すベクトルと、前記第２の文書に対して生成された前記類似度基礎情報が表すベクトルと、の間の角度が小さくなるほど大きくなる値を前記類似度として算出するように構成された文書間類似度算出プログラム。
【００８０】
（付記１２）
付記１１に記載の文書間類似度算出プログラムであって、
前記類似度基礎情報生成手段は、前記文書が含む前記基準接尾部の数が多くなるほど、当該基準接尾部を表す成分として、大きくなる値を有する前記ベクトルを表す情報を、前記類似度基礎情報として生成するように構成された文書間類似度算出プログラム。
【産業上の利用可能性】
【００８１】
本発明は、複数の文書が互いに類似している程度を表す類似度を算出する文書間類似度算出装置、及び、複数の文書を分類する文書分類装置等に適用可能である。
【符号の説明】
【００８２】
１０    文書間類似度算出装置
１１    文書情報記憶部
１２    接尾部情報生成部
１３    基準接尾部選択部
１４    類似度基礎情報生成部
１５    類似度算出部
１００  文書間類似度算出装置
１０１  接尾部情報生成部
１０２  基準接尾部選択部
１０３  類似度基礎情報生成部
１０４  類似度算出部
【図１】
0005617674.tif 000002
【図２】
0005617674.tif 000003
【図３】
0005617674.tif 000004
【図４】
0005617674.tif 000005
【図５】
0005617674.tif 000006
【図６】
0005617674.tif 000007
【図７】
0005617674.tif 000008