(57)【要約】【課題】文書間の類似性をより適切に判定する。【解決手段】本発明は、入力された文書を文に分割し、各文を単語に分割し、単語概念ベクトルを格納している記憶手段である単語概念ベースを検索して、該単語分割ステップで得られた単語に対応する単語概念ベクトルを取得する。一方、単語概念ベースに対応する単語概念ベクトルが存在しない場合は、単語概念ベクトル生成手段が、乱数を要素とする新たな単語概念ベクトルを生成し、単語概念ベースに格納する。取得した言語概念ベクトルの重心を求め、該単語概念ベクトルの重心を、文概念ベクトルとして算出し、で取得した文概念ベクトルの重心を求め、該文概念ベクトルの重心を、文書概念ベクトルとして算出し、算出され、メモリに格納された文書概念ベクトルと、予めメモリに格納されている文書概念ベクトルとの距離を計算する。【選択図】図１
2009277099.tif 000002
【特許請求の範囲】
【請求項１】
文書間の類似性を判定する類似文書検索装置であって、
入力された文書を文に分割し、メモリに記憶する文分割手段と、
前記文分割手段によって得られた各文を単語に分割し、メモリに記憶する単語分割手段と、
単語概念ベクトルを格納している記憶手段である単語概念ベースを検索して、該単語分割手段で得られた前記単語に対応する単語概念ベクトルを取得する単語概念ベクトル取得手段と、
前記単語概念ベクトル取得手段において、前記単語概念ベースに対応する単語概念ベクトルが存在しない場合は、乱数を要素とする新たな単語概念ベクトルを生成し、前記単語概念ベースに格納する単語概念ベクトル生成手段と、
前記単語概念ベクトル取得手段が取得した前記言語概念ベクトルの重心を求め、該単語概念ベクトルの重心を、文概念ベクトルとして算出し、メモリに記憶する文概念ベクトル算出手段と、
前記文概念ベクトル算出手段により取得した前記文概念ベクトルの重心を求め、該文概念ベクトルの重心を、文書概念ベクトルとして算出し、メモリに格納する文書概念ベクトル算出手段と、
算出され、前記メモリに格納された前記文書概念ベクトルと、予めメモリに格納されている文書概念ベクトルとの距離を計算する類似性算出手段と、
を有することを特徴とする類似文書検索装置。
【請求項２】
文書間の類似性を判定する類似文書検索方法であって、
文分割手段が、入力された文書を文に分割し、メモリに記憶する文分割ステップと、
単語分割手段が、前記文分割ステップによって得られた各文を単語に分割し、メモリに記憶する単語分割ステップと、
単語概念ベクトル取得手段が、単語概念ベクトルを格納している記憶手段である単語概念ベースを検索して、該単語分割ステップで得られた前記単語に対応する単語概念ベクトルを取得する単語概念ベクトル取得ステップと、
前記単語概念ベクトル取得ステップにおいて、前記単語概念ベースに対応する単語概念ベクトルが存在しない場合は、単語概念ベクトル生成手段が、乱数を要素とする新たな単語概念ベクトルを生成し、前記単語概念ベースに格納する単語概念ベクトル生成ステップと、
文概念ベクトル算出手段が、前記単語概念ベクトル取得ステップで取得した前記言語概念ベクトルの重心を求め、該単語概念ベクトルの重心を、文概念ベクトルとして算出し、メモリに記憶する文概念ベクトル算出ステップと、
文書概念ベクトル算出手段が、前記文概念ベクトル算出ステップで取得した前記文概念ベクトルの重心を求め、該文概念ベクトルの重心を、文書概念ベクトルとして算出し、メモリに格納する文書概念ベクトル算出ステップと、
類似性算出手段が、算出され、前記メモリに格納された前記文書概念ベクトルと、予めメモリに格納されている文書概念ベクトルとの距離を計算する類似性算出ステップと、
を行うことを特徴とする類似文書検索方法。
【請求項３】
請求項１記載の類似文書検索装置を構成する各手段としてコンピュータを機能させるための類似文書検索プログラム。
【請求項４】
請求項３記載の類似文書検索プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似文書検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体に係り、特に、新聞記事やＷｅｂ等の文書を対象として、文書間の類似性を判定するための類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体に関する。
【背景技術】
【０００２】
単語間の類似性を判定し、類義語を検索し、また、関連文書を検索するためのデータベースの1つとして、概念ベースが用いられている。
【０００３】
この「概念ベース」は、単語とその単語に対応する概念ベクトルとの組からなるデータベースである。概念ベースとして、国語辞典の語義文から作成される辞書概念ベース（例えば、特許文献1参照）と、新聞記事等の文書を大量に集めたコーパスから作成されるコーパス概念ベース（例えば、非特許文献1参照）等が知られている。
【０００４】
また、所定の単語の「概念ベクトル」は、上記所定の単語が属する範囲（例えば、文）内で、予め決められた複数の共起語のそれぞれと共起する頻度に応じて算出される。辞書概念ベースにおける共起語として、単語を辞書引きして得られる語義文中に出現する単語が用いられ、コーパス概念ベースにおける共起語として、コーパス中に高頻度で出現する単語が用いられる。各単語を、行とし、共起語を、列とし、単語と共起語との共起頻度を、行列の成分とする共起行列を作成する。
【０００５】
辞書概念ベースの場合、上記共起行列における行ベクトルが、単語の概念ベクトルであり、通常は、語義文中に含まれる単語について、孫引きすることによって得られる語義文等を用いて、概念ベクトルの精錬が行われる。
【０００６】
コーパス概念ベースにおいて、特異値分解によって、共起行列の列の次元を圧縮した行列を作成し、この圧縮した行列の各行の行ベクトルが概念ベクトルである。このようにして作成された概念ベースは、単語間の類似性が高い程、単語の概念ベクトル間の距離が近いという性質を持つので、単語間の類似性を判定する場合に有効である。つまり、２つの単語間の概念ベクトルの距離が近い程、上記2つの単語間の類似性が高いと判断できる。
【特許文献１】特許第3379603号公報
【非特許文献１】H. Schutze, "dimensions of meaning", Proceedings of supercomputing '92, pp.787-796, 1992
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の方法によって作成された概念ベースでは、概念ベースを作成するために用いた文書に含まれている単語にのみ、概念ベクトルが付与される。特に、コーパス概念ベースを作成する際に、特異値分解を行うが、特異値分解を行うためには大量のメモリを必要とするので、共起行列の行である単語の数を削減しなければならず、この結果、コーパス中の特定の単語にのみ、概念ベクトルが付与される。
【０００８】
従って、概念ベースを用いて単語間の類似性を判定する場合、類似性を判定しようとする単語が概念ベースに含まれていないと、その単語に対応する概念ベクトルが存在せず、単語間の類似性を判定することができないという問題がある。
【０００９】
本発明は、上記の点に鑑みなされたもので、文書間の類似性をより適切に判定することが可能な類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
図１は、本発明の原理構成図である。
【００１１】
本発明（請求項１）は、文書間の類似性を判定する類似文書検索装置であって、
入力された文書を文に分割し、メモリに記憶する文分割手段１０２と、
文分割手段１０２によって得られた各文を単語に分割し、メモリに記憶する単語分割手段１０３と、
単語概念ベクトルを格納している記憶手段である単語概念ベース１０５を検索して、該単語分割手段１０３で得られた単語に対応する単語概念ベクトルを取得する単語概念ベクトル取得手段１０４と、
単語概念ベクトル取得手段１０４において、単語概念ベース１０５に対応する単語概念ベクトルが存在しない場合は、乱数を要素とする新たな単語概念ベクトルを生成し、単語概念ベース１０５に格納する単語概念ベクトル生成手段１０６と、
単語概念ベクトル取得手段１０４が取得した言語概念ベクトルの重心を求め、該単語概念ベクトルの重心を、文概念ベクトルとして算出し、メモリに記憶する文概念ベクトル算出手段１０７と、
文概念ベクトル算出手段１０７により取得した文概念ベクトルの重心を求め、該文概念ベクトルの重心を、文書概念ベクトルとして算出し、メモリに格納する文書概念ベクトル算出手段１０８と、
算出され、メモリに格納された文書概念ベクトルと、予めメモリに格納されている文書概念ベクトルとの距離を計算する類似性算出手段１１０と、を有する。
【００１２】
図２は、本発明の原理を説明するための図である。
【００１３】
本発明（請求項２）は、文書間の類似性を判定する類似文書検索方法であって、
文分割手段が、入力された文書を文に分割し、メモリに記憶する文分割ステップ（ステップ１）と、
単語分割手段が、文分割ステップ（ステップ１）によって得られた各文を単語に分割し、メモリに記憶する単語分割ステップ（ステップ２）と、
単語概念ベクトル取得手段が、単語概念ベクトルを格納している記憶手段である単語概念ベースを検索して、該単語分割ステップ（ステップ２）で得られた単語に対応する単語概念ベクトルを取得する単語概念ベクトル取得ステップ（ステップ３）と、
単語概念ベクトル取得ステップ（ステップ３）において、単語概念ベースに対応する単語概念ベクトルが存在しない場合は（ステップ４、Ｎｏ）、単語概念ベクトル生成手段が、乱数を要素とする新たな単語概念ベクトルを生成し、単語概念ベースに格納する単語概念ベクトル生成ステップ（ステップ５）と、
文概念ベクトル算出手段が、単語概念ベクトル取得ステップ（ステップ３）で取得した言語概念ベクトルの重心を求め、該単語概念ベクトルの重心を、文概念ベクトルとして算出し、メモリに記憶する文概念ベクトル算出ステップ（ステップ６）と、
文書概念ベクトル算出手段が、文概念ベクトル算出ステップで取得した文概念ベクトルの重心を求め、該文概念ベクトルの重心を、文書概念ベクトルとして算出し、メモリに格納する文書概念ベクトル算出ステップ（ステップ７）と、
類似性算出手段が、算出されメモリに格納された文書概念ベクトルと、予めメモリに格納されている文書概念ベクトルとの距離を計算する類似性算出ステップ（ステップ８）と、を行う。
【００１４】
本発明（請求項３）は、請求項１記載の類似文書検索装置を構成する各手段としてコンピュータを機能させるための類似文書検索プログラムである。
【００１５】
本発明（請求項４）は、請求項３記載の類似文書検索プログラムを格納したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
上記のように本発明によれば、ある単語に対応する単語概念ベクトルが未定義である場合、乱数を要素とするベクトルをこの単語に対応する単語概念ベクトルとして新たに定義し、単語概念ベースに格納する。これによって、あらゆる未知語に対して単語概念ベクトルが定義されることとなり、文書間の類似性をより適切に判定することができるようになる。特に、新語が頻出するニュース記事や、Ｗｅｂ文書を対象とした類似性判定に有効である。
【発明を実施するための最良の形態】
【００１７】
以下、図面と共に本発明の実施の形態を説明する。
【００１８】
図３は、本発明の一実施の形態における類似文書検索装置の構成を示す。
【００１９】
同図に示す装置は、文書入力部１０１、文分割部１０２、単語分割部１０３、単語概念ベクトル取得部１０４、単語概念ベース１０５、単語概念ベクトル生成部１０６、文概念ベクトル算出部１０７、文書概念ベクトル算出部１０８、文書概念ベース１０９、類似性算出部１１０、類似性出力部１１１から構成される。なお、この他、上記の各構成要素で得られた中間処理の結果は、各構成要素内または、独立で設けられるメモリ等の記憶手段に格納されるものとする。
【００２０】
上記の構成のうち、単語概念ベース１０５、文書概念ベース１０９は、ハードディスクドライブ等の記憶媒体に格納されている。
【００２１】
文書入力部１０１は、キーボードやハードディスクドライブ等からかなり、処理対象となる文書を入力し、メモリ（図示せず）に格納する。
【００２２】
文書分割部１０２は、入力された文書を分割し、メモリ（図示せず）に格納する。文書は、複数の句点「。」や、文末に使用される記号「？」「.」などを含むとき、この直後で分割される。
【００２３】
単語分割部１０３は、形態素解析器であり、文を単語に分割し、メモリ（図示せず）に格納する。形態素解析器から同時に出力される各単語の品詞情報を参照して、内容語以外の単語は、ここで取り除かれる。
【００２４】
単語概念ベクトル取得部１０４は、単語分割部１０３で分割された単語を単語概念ベース１０５に蓄積されている単語概念ベクトルに変換し、メモリ（図示せず）に格納する。分割された単語が単語概念ベース１０５に存在しない場合は、単語概念ベクトル生成部１０６において、後述する方法により、新たに単語概念ベクトルが生成する。このようにして、全ての内容語に対して単語概念ベクトルを得ることができる。
【００２５】
文概念ベクトル算出部１０７は、文を構成する全ての内容語の単語概念ベクトルの重心として文概念ベクトルを算出し、メモリ（図示せず）に格納する。
【００２６】
文書概念ベクトル算出部１０８は、文書を構成する全ての文概念ベクトルの重心として文書概念ベクトルを算出し、メモリ（図示せず）、または、必要に応じて文書概念ベース１０９に蓄積する。
【００２７】
類似性算出部１１０は、入力された文書から算出された文書概念ベクトルと、文書概念ベース１０９に蓄積されている、類似性判定の対象となる文書概念ベクトルとの距離を算出し、これらの文書類似性判定を行い、判定結果はディスプレイやハードディスクドライブ等からなる類似性出力部１１０に出力する。
【００２８】
次に、上記の構成における動作を説明する。
【００２９】
最初に文書概念ベース１０９を生成する処理について説明する。
【００３０】
図４は、本発明の一実施の形態における文書概念ベース作成処理のフローチャートである。
【００３１】
まず、キーボードからの入力、または、ハードディスクドライブから文書入力部１０１により、文書が入力されると、（ステップ２０１）、当該文書は、文分割部１０２により文に分割され（ステップ２０２）、単語分割部１０３により当該文を単語に分割される（ステップ２０３）。次に、単語概念ベクトル取得部１０４により、分割された単語に基づいて、単語概念ベースを検索し、当該単語に対応する単語概念ベクトルを取得する（ステップ２０４）。単語概念ベクトルが未定義である場合には（ステップ２０５、NG）、後述する方法により単語概念ベクトルを生成し（ステップ２０６）、単語概念ベース１０５に蓄積する（ステップ２０７）。
【００３２】
単語概念ベクトルを取得できた場合は（ステップ２０５、OK）、文概念ベクトル算出部１０７において、文を構成する単語の単語概念ベクトルの重心として文概念ベクトルを算出し（ステップ２０８）、更に、文書概念ベクトル算出部１０８において、文書を構成する文の概念ベクトルの重心として文書概念ベクトルを算出し（ステップ２０９）、算出された文書概念ベクトルを文書概念ベース１０９に蓄積する（ステップ２１０）。
【００３３】
次に、文書間の類似性を判定する処理について説明する。
【００３４】
図５は、本発明の一実施の形態における文書間類似性判定処理のフローチャートである。
【００３５】
ステップ３０１〜ステップ３０９は、図４のステップ２０１〜２０９と同様である。
【００３６】
類似性判定部１１０は、文書概念ベースから判定対象となる文書概念ベクトルを取得し（ステップ３１０）、入力され、ステップ３０９で算出された文書概念ベクトルとの距離を算出し（ステップ３１１）、距離の昇順にソートし、類似性出力部１１１からソートされた文書を出力する（ステップ３１２）。
【００３７】
以下に、本発明の特徴である単語概念ベクトル生成部１０６における、単語概念ベクトルの生成について２つの例に従って、詳細に説明する。
【００３８】
以下では、単語概念ベース１０５の仕様によって、単語概念ベクトルの表現の制約が定められており、その制約を満たすように単語概念ベクトルを生成する例を説明する。
【００３９】
[例１]
本例では、ベクトルの次元数をＮとし、各要素は０あるいは１の二値と決められているものとし、総和ｎがn＜Ｎという制約があるとき、この制約を満たす単語概念ベクトルを生成するものである。
【００４０】
単語概念ベクトルw=（w１，…，ｗN）の次元Nと、Ｌ１ノルムｎは予め設定されており、また、各要素ｗｉは０または１の値をとるものとする。すなわち、
【００４１】
【数１】
2009277099.tif 000003
である。単語概念ベクトルは、例えば、次で述べる方法に従ってランダムに生成される。まず、乱数を各要素とするＮ次元ベクトルｒ＝（ｒ１，…，ｒＮ）を生成する。各要素の絶対値が大きいものからｎ要素については値を１、それ以外の要素については０とする。
【００４２】
［例２］
本例では、ベクトルの次元数はＮで、各要素は０あるいは１の二値と決められているものとし、総和ｎに制約がない、つまり、ｎ＝０〜Ｎという制約があるとき、この制約を満たす単語概念ベクトルを生成するものである。
【００４３】
単語概念ベクトルｗ＝（ｗ１，…，ｗＮ）の次元Ｎは予め設定されており、また、各要素ｗｉは０または１の値をとるものとする。単語からハッシュ関数を用いてＮビットのハッシュ値を生成する。ハッシュ値の二進表現に応じてｗの各要素の値を決定する。例えば、Ｎ＝１２８とすれば、ハッシュ関数として汎用的なＭＤ５を用いることができる。この手法は、単語文字列から単語概念ベクトルを一意に決定できるから、各単語の単語概念ベクトルを予め計算して単語概念ベース１０５に蓄積しておく必要がない。すなわち、単語概念ベース１０５が不要となるという長所がある。
【００４４】
なお、上記の図３に示す装置の構成要素の動作をプログラムとして構築し、類似文書検索装置として利用されるコンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【００４５】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００４６】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００４７】
本発明は、新聞記事やＷｅｂ等の文書間の類似性を判定する技術に適用可能である。
【図面の簡単な説明】
【００４８】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の一実施の形態における類似文書検索装置の構成図である。
【図４】本発明の一実施の形態における文書概念ベース作成処理のフローチャートである。
【図５】本発明の一実施の形態における文書間類似性判定処理のフローチャートである。
【符号の説明】
【００４９】
１０１  文書入力部
１０２  文書分割手段、文書分割部
１０３  単語分割手段、単語分割部
１０４  単語概念ベクトル取得手段、単語概念ベクトル取得部
１０５  単語概念ベース
１０６  単語概念ベクトル生成手段、単語概念ベクトル生成部
１０７  文概念ベクトル算出手段、文概念ベクトル算出部
１０８  文書概念ベクトル算出手段、文書概念ベクトル算出部
１０９  文書概念ベース
１１０  類似性算出手段、類似性算出部
【図１】
2009277099.tif 000004
【図２】
2009277099.tif 000005
【図３】
2009277099.tif 000006
【図４】
2009277099.tif 000007
【図５】
2009277099.tif 000008