明 細 書
検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、 そのプログラム 技術分野
[0001] 本発明は情報の検索方法、類似度計算方法の技術に関し、特に、所定の類似度 以上にならない情報を検索する方法、及びその検索方法を用いて類似度の計算を 照合漏れのない厳密解で、かつ、高速に行う技術に関する。
背景技術
[0002] 文書、画像等の情報の同一性又は類似度を判断する技術は数多く提案されており 、その中でも、文書の同一性を判断する同一文書照合の技術が有名である。同一文 書照合とは、文書間で実質的に同一の文書群をグルーピングすることを言う。実質的 に同一であるとは、表記上は異なるが人が見れば同一と判断できることをいう。
[0003] 同一文書照合は、例えば、次のような場合に必要になる。
(1) データベース(以下、 DBと称する)の重複レコード照合
DBの重複レコード照合は、 DB内の実質的に同じレコードをグルーピングすることを いい、例えば、異なる人、場所、方法によって管理された表記のゆれを含む顧客 DB を統合する際のデータクリーニングや、コンタクトセンターの問い合わせ事例の重複 削除に必要となる。 1レコードを 1文書とみなすことで同一文書照合の問題とみなすこ と力 Sできる。
(2) トピック分析
トピック分析は、 Blogなどの書き込みデータをグルーピングすることをいい、 Blogで 同じトピック力 いつ、どのあたりで話題になっているかを把握するために必要となる。
[0004] 同一文書照合システムは、対象となる文書集合と、実質的に同一とみなす条件であ る類似度閾値とを入力として、同一文書グループを出力する。例えば、図 1の(a)のよ うな 5つの文書と、類似度閾値として 90%が入力された場合で説明する。ここでは、 全ての文書はそれぞれ 10個のアルファベットの文字から構成されており、文書 Xと文 書 yとの類似度が 90%であるということは、 Xの 10個の文字と yの 10個の文字とのうち
9個が共通することを意味する。この時、システムは、図 1の(b)のように類似度が 90 %以上となる 2つの異なる文書の対を同一文書グループとして出力する。さらに、共 通する文書を含む文書対を統合した図 1の(c)を同一文書グループとしても良い。
[0005] 同一文書照合システムを実現するための従来技術として、階層型クラスタリングを 用いる手法がある(非特許文献 1の 2. 5. 7節)。この方法では、あらかじめ全ての文 書対の類似度を計算しておく(stepl)。次に、類似度が最も高い文書対から順番に 統合することにより文書を階層的にグルーピングする(step2)。同一文書照合システ ムでは、 steplのように、全ての 2つの異なる文書対の類似度を計算した後、類似度 閾値以上の文書対のみを残すことにより、同一文書グループを求めることができる。
[0006] 図 1の例では、全ての 2つの異なる文書対の数は 5 * (5— 1 ) /2 = 10であるから、 類似度を 10回計算し、図 1の(b) (c)の結果を出力している。
[0007] また、同一文書照合システムを実現するための別の従来技術として、 DBの重複レコ ード照合を用いる手法がある(非特許文献 2)。この方法は、まず、各 DBのレコードを ソートして、次に、ソート後の各レコードとその前方 nレコードのレコード対の類似度計 算を行い、類似度が閾値以上のレコード対を重複とする手法である。
[0008] 同一文書照合システムには、レコードを文書と置き換えることで同一の手法を適用 できる。例えば、図 1の(a)は、文字列で文書をソートすることにより、図 2の(a)のよう になる。次に、今、各文書とその前方 1文書の文書対を類似度計算の対象としたとき 、類似度を 4回計算し、図 2の (b) , (c)の結果を出力する。
[0009] 更に、同一文書照合システムを実現するためのさらに別の従来技術として、 -mea nsを用いる手法がある(非特許文献 3の 5. 2節)。この方法は、あらかじめ文書集合を K個のグループに分割するという前提の下で、ランダムに選択した K個の文書をダル ープの中心と仮定し、残りの文書を、 K個のグループの中心の文書と最も類似度が高 いグループに分類する。
[0010] 同一文書照合システムには、 K-meansに類似度閾値の制約を追加することで同一 の手法を適用できる。すなわち、ランダムに選択した K個の文書をグループの中心と 仮定し、残りの文書を、 κ個のグループの中心の文書と類似度が閾値以上で最も高 V、グループに分類すれば良レ、。
[0011] 非特許文献 1 :徳永健伸、 "言語と計算 5 情報検索と言語処理"、東京大学出版 非特許文献 2: Mauricio A. Hernandez and Salvatore J. Stolfo, The Merge/Purge Pr oblem for Large Databases", Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data pp.127-138, 1995.
非特許文献 3 : Jain, A. ., Murty M.N., and Flynn P.J. , "Data Clustering: A Review", ACM Computing Surveys, Vol 31, No. 3, 264—323, 1999.
発明の開示
発明が解決しょうとする課題
[0012] 同一文書照合システムを実現するための従来技術の課題として、非特許文献 1、 2 の技術は、照合時間を短く保つことと、照合漏れを減らすことの両立が難しいことであ
[0013] 非特許文献 1の階層型クラスタリングを利用した方法は、全ての 2つの異なる文書 対の類似度を計算するので照合漏れは発生しないが、照合対象の文書数が多くなる と組み合わせ爆発が起こり照合に多大な時間が必要となる。
[0014] また、非特許文献 2の重複レコード照合を利用した方法は、ソート後の各レコードと その前方 nレコードのレコード対のみに限り類似度計算を行うので、 nを小さくすれば 照合時間は短くできる力、その代償として nレコード外にある同一文書は照合漏れと なってしまう。実際、図 2の例でも、類似度が 90%の文書 1と文書 3との文書対が照合 漏れとなっている。
[0015] 更に、非特許文献 3の方法は、同一文書グループ数の指定が必要になるが、利用 者が照合対象の文書集合に含まれる同一文書グループの数を事前に予測すること は難しい。また、照合時間が指定した同一文書グループ数に比例するため、同一文 書グループ数が多くなると照合時間が短く保つのが難しい。
[0016] これらの課題は文書照合に限らず、その他の画像等の情報の同一性又は類似度 の判断にもいえる事である。
[0017] そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、情報の 類似度を計算するのに必要な類似度計算の計算回数を減らすことができる検索、類
似度計算の技術を提供することにある。
[0018] また、その目的は、同一文書グループ数の指定を事前に必要とせず、照合漏れの ない厳密解で、かつ、同一文書グループ数が多くなつても高速な同一文書照合シス テムを実現することにある。
課題を解決するための手段
[0019] 上記課題を解決する本発明は、所定の類似度以上とはならない情報対を検索する 検索方法であって、情報対が少なくとも所定の類似度以上となるために、情報を構成 する情報要素が情報間で共通する割合を求め、前記割合に基づぐ各情報の情報 要素の選択数を決定し、照合対象となる情報群で共通して適用される情報要素の優 先順位に従って、前記各情報力 前記選択数の情報要素を選択し、選択した情報 要素が情報間で全て共通しない情報対を検索することを特徴とする。
[0020] 上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算 する類似度計算方法であって、情報対が少なくとも所定の類似度以上となるために、 情報を構成する情報要素が情報間で共通する割合を求め、前記割合に基づぐ各 情報の情報要素の選択数を決定し、類似度の計算対象となる情報群で共通して適 用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を 選択し、選択した情報要素が情報間で全て共通しなレ、情報対以外の情報対に対し て、類似度の計算を行うことを特徴とする。
[0021] 上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算 する類似度計算システムであって、類似度の計算対象となる情報群で共通して適用 され、情報を構成する情報要素の優先順位が格納された優先順位記憶部と、前記情 報の情報対が少なくとも所定の類似度以上となるために、情報間で前記情報要素が 共通する割合を求め、この割合に基づいた各情報の情報要素の選択数を決定し、 前記優先順位に従って、前記各情報力 前記選択数の情報要素を選択する情報要 素選択手段と、選択した情報要素が情報間で全て共通しな V、情報対以外の情報対 に対して、類似度の計算を行う類似度計算手段とを有することを特徴とする。
[0022] 上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグ ルービングする同一文書照合システムであって、単語または文字で識別され、実質
的に同一の候補である文書のグループである同一文書候補グループと、そのグルー プに属する文書との対応関係が記憶される同一文書候補グループ記憶部と、文書 間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共 通する割合を求め、この割合に基づいて、文書照合の対象となるすべての文書間で 共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字 で識別される同一文書候補グループにその文書を対応付けて前記同一文書候補グ ループ記憶部に記憶する同一文書候補グループ作成手段とを有することを特徴とす
[0023] 上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算 する類似度計算プログラムであって、情報対が少なくとも所定の類似度以上となるた めに、情報を構成する情報要素が情報間で共通する割合を求める処理と、前記割合 に基づぐ各情報の情報要素の選択数を決定する処理と、類似度の計算対象となる 情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記 選択数の情報要素を選択する処理と、選択した情報要素が情報間で全て共通しな V、情報対以外の情報対に対して、類似度の計算を行う処理とを情報処理に実行させ ることを特徴とする。
[0024] 上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグ ルービングする同一文書照合プログラムあって、文書間で少なくとも所定の類似度閾 値以上となるために、文書間で単語または文字が共通する割合を求める処理と、前 記割合に基づ V、て、文書照合の対象となるすべての文書間で共通する優先順位で 単語または文字を選択する処理と、前記選択したそれぞれの単語または文字で識別 される同一文書候補グループにその文書を対応付けて記憶する処理とを情報処理 に実行させることを特徴とする。
発明の効果
[0025] 本発明の効果は、情報の類似度を計算するのに必要な類似度計算の計算回数を 減らすことができる。その理由は、類似度の計算対象とはならない類似度閾値以下の 情報対を検索し、それらの情報対を類似度計算の対象から外す力 である。
[0026] また、本発明の効果は、グループ数の指定が事前に必要なぐ照合漏れのない厳
密解で、かつ、グループ数が多くなつても高速に同一文書の照合が可能なことである
。高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グノレ ープに所属する文書対に限定するためである。
[0027] また、照合漏れのな!/、厳密解である理由は、文書に含まれる単語または文字群の 中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数または種 類の単語または文字群を選択して文書グループ作成に用いるためである。
[0028] さらに、同一文書グループ数を事前に指定しなくてもよぐ同一文書グループ数が 多くなつても高速な理由は、同一文書グループ数があらかじめ与えられていなくても 同一文書グループを作成することが可能なためである。
図面の簡単な説明
[0029] [図 1]背景技術を説明するための図である。
[図 2]背景技術を説明するための図である。
[図 3]発明の概要を説明するための図である。
[図 4]本発明の第 1の実施の形態の構成を示すブロック図である。
[図 5]本発明の第 1の実施の形態の動作を示す流れ図である。
[図 6]本発明の第 1の実施の形態の単語記憶部 20、および、第 2の実施の形態の対 象データベース 3の格納例である。
[図 7]本発明の第 1の実施の形態と第 2の実施の形態の優先順位記憶部 21の格納 例である。
[図 8]本発明の第 1の実施の形態の同一文書候補グループ作成手段 11の動作を示 す流れ図である。
[図 9]本発明の第 1の実施の形態の同一文書候補グループ記憶部 22の格納例であ
[図 10]本発明の第 1の実施の形態の 1つ目の同一文書グループ作成手段 12の動作 を示す流れ図である。
[図 11]本発明の第 1の実施の形態の類似度計算の例を示す図である。
[図 12]本発明の第 1の実施の形態と第 2の実施の形態の出力データベース 5の格納 例を示す図である。
園 13]本発明の第 1の実施の形態の選択単語記憶部の格納例である。
園 14]本発明の第 1の実施の形態の 2つ目の同一文書候補グループ作成手段 12の 動作を示す流れ図である。
園 15]本発明の第 2の実施の形態の構成を示すブロック図である。
園 16]本発明の第 2の実施の形態の動作を示す流れ図である。
[図 17]本発明の第 2の実施の形態の同一文書候補グループ作成手段 11の動作を示 す流れ図である。
園 18]本発明の第 2の実施の形態の同一文書候補グループ記憶部 22の格納例であ 園 19]本発明の第 2の実施の形態の 1つ目の同一文書グループ作成手段 12の動作 を示す流れ図である。
園 20]本発明の第 2の実施の形態の類似度計算の例を示す図である。
園 21]本発明の第 2の実施の形態の選択文字記憶部の格納例である。
園 22]本発明の第 2の実施の形態の 2つ目の同一文書候補グループ作成手段 12の 動作を示す流れ図である。
園 23]本発明の第 3の実施の形態の構成を示すブロック図である。
園 24]本発明の第 3の実施の形態の動作を示す流れ図である。
[図 25]本発明の第 3の実施の形態の単語記憶部 20、および、第 4の実施の形態の対 象データベース 3の格納例である。
[図 26]本発明の第 3の実施の形態と第 4の実施の形態の一回目の優先順位記憶部 2 1の格納例である。
[図 27]本発明の第 3の実施の形態の一回目の同一文書候補グループ作成手段 11 の動作を示す流れ図である。
[図 28]本発明の第 3の実施の形態と第 4の実施の形態の一回目の同一文書候補グ ループ記憶部 22の格納例である。
[図 29]本発明の第 3の実施の形態の一回目の選択文書記憶部、第 4の実施の形態 の一回目の選択文字記憶部の格納例である。
[図 30]本発明の第 3の実施の形態と第 4の実施の形態の二回目の優先順位記憶部 2
1の格納例である。
[図 31]本発明の第 3の実施の形態と第 4の実施の形態の二回目の同一文書候補グ ループ作成手段の処理イメージを示す図である。
[図 32]本発明の第 3の実施の形態と第 4の実施の形態の二回目の同一文書候補グ ループ記憶部 22の格納例である。
[図 33]本発明の第 3の実施の形態の二回目の選択文書記憶部、第 4の実施の形態 の二回目の選択文字記憶部の格納例である。
[図 34]本発明の第 3の実施の形態の同一文書グループ作成手段 12の動作を示す流 れ図である。
[図 35]本発明の第 1の実施の形態又は第 2の実施の形態と第 3の実施の形態又は第
4の実施の形態の類似度計算の数を比較する図である。
園 36]本発明の第 4の実施の形態の構成を示すブロック図である。
[図 37]本発明の第 4の実施の形態の動作を示す流れ図である。
[図 38]本発明の第 4の実施の形態の同一文書グループ作成手段 12の動作を示す流 れ図である。
符号の説明
1 データ処理装置
2 記憶装置
3 対象データベース
4 入力装置
5 出力データベース
10 文書解析手段
11 同一文書候補グループ作成手段
12 同一文書グループ作成手段
20 単語群記憶部
21 優先順位記憶部
22 同一文書候補グループ記憶部
発明を実施するための最良の形態
[0031] まず、図 3の例を通して本発明の概要について説明する。
[0032] 尚、以下の説明にあたって、情報の例として文書を、情報要素の例として文字を例 にして説明するが、これに限られない。例えば、情報の例としては画像、音等でも良く 、それを構成する情報要素としては、画像中の特定の絵柄や、特定の音等が考えら れる。
[0033] また、以下の説明にあたって、図 3に示される文書 1から文書 5に対して、類似度が
90%以上にならない文書の組 (以下、文書対と称する)を検索する場合を説明する。
[0034] 本発明では、まず、 5つの文書で共通する文字の優先順位を決める。例えば、図 3 の(d)のように文書群全体で出現文書数が少ない文字ほど、優先順位が高くなるよう に定める。尚、出現文書数が同じ場合はアルファベット順で若い文字を優先順位が 高くなるように定められているものとする。
[0035] 次に、文書対が少なくとも類似度 90%以上となるために、文書間で文字が共通す る割合を求め、この割合に基づいて、 1文書から選択する文字数を決定する。
[0036] 類似度 90%以上となるためには文書対の文書間で文字が 90%以上共通すれば 良い。これは、文書対の文書間で少なくとも 9個の文字が共通しなければ、類似度 90 %以上にはならなレ、とレ、ことである。
[0037] 別の言い方をすると、文書 Xから選んだ 2つの文字のどちらも文書 yに含まれなけれ ば、文書 Xと文書 yとは共通する単語が 8個以下ということになり、類似度は 90%未満 となるということになり、文書 Xと文書 yとの類似度が 90%以上であるという前提と矛盾 する。これは、文書 yと文書 Xを置き換えた場合でも同様である。従って、 1文書から選 択する文字数は 2個である。尚、本例では、文書 1から文書 5が 10文字で構成されて いるため、いずれの文書も選択する文字数が 2個である力 例えば、一文書が 5文字 で構成されている場合には、選択する文字数は 1個である。
[0038] 続いて、各文書から優先順位に基づいて 2個の文字を選択する。図 3 (a)の例では 、文書 1で選択する文字は Aと Iであり、文書 2で選択する文字は Kと Lであり、文書 3 で選択する文字は Iと Lであり、文書 4で選択する文字は Kと Lであり、文書 5で選択す る文字は Aと Mである。
[0039] そして、選択した文字が文書間で全て共通しない文書対を検索する。図 3 (a)の例
では、文書 1と文書 2との文書対では共通する文字がなぐ文書 1と文書 3との文書対 では Iが共通し、文書 1と文書 4との文書対では共通する文字がなぐ文書 1と文書 5と の文書対では Aが共通する。また、文書 2と文書 3との文書対では Lが共通し、文書 2 と文書 4との文書対では Kと Lとが共通し、文書 2と文書 5との文書対では共通する文 字がない。また、文書 3と文書 4との文書対では Lが共通し、文書 3と文書 5との文書 対では共通する文字がない。また、文書 4と文書 5との文書対では共通する文字がな い。従って、共通する文字がない文書対は、文書 1と文書 2との文書対と、文書 1と文 書 4との文書対と、文書 2と文書 5との文書対と、文書 3と文書 5との文書対と、文書 4と 文書 5との文書対との 5個である。これらの 5個の文書対は、類似度が 90%以上には ならない文書対である。
[0040] このようになる理由は、文書 Xと文書 yとの類似度が 90%以上であるならば、さらに、 選ぶ文字の優先順位が全ての文書間で一意に定められているならば、文書 χ(文書 y )から優先順位に従 V、選んだ 2つの文字の V、ずれかは、文書 y (文書 X)から選んだ 2 つの文字の!/、ずれかに含まれる力、らである。
[0041] 文書 Xから選んだ 2つの文字 {xl, x2}のいずれ力、もしくは両方が文書 yに含まれる 1S それが文書 yから選んだ 2つの文字 {yl, y2}には含まれないとすると、文書 yに おける文字の優先度は {yl, y2}>{xl, x2}となる。この時、 {xl, χ2} ΓΊ {yl, y2} = φになるため、同時に、文書 yから選んだ 2つの文字 {yl, y2}のいずれかもしくは 両方が文書 Xに含まれるが、それが文書 Xから選んだ 2つの文字 {xl, x2}には含ま れないことになる。この時、文書 Xにおける文字の優先度は {xl, x2} > {yl, y2}とな る。これは、文書 Xと文書 yとで選択する文字の優先順位が異なることになり、選ぶ文 字の優先順位が全ての文書間で一意に定められていることに矛盾する。文書 yと文 書 Xを置き換えた場合でも同様である。
[0042] このように、本発明によれば、所定の類似度以上にはならない文書対を検索するこ と力 Sできる。
尚、上述の説明では、類似度の閾値の設定を以上としたが、割合の算出方法によ つて所定の類似度閾値を含まず、所定の類似度閾値を超えない文書対を検索する ようにしても良い。また、文書で共通する文字の優先順位は、異なる文書群の検索処
理毎に決定しても良レ、し、一度決定したものを繰り返し用いても良レ、。
[0043] 更に、文書照合システムのように、所定の類似度以上となる文書対の類似度を求め るシステムにおいても、本発明を用いれば類似度の計算回数を減らすことができる。 例えば、図 3の例のように、 90%以上の類似度となる文書対の類似度を求める場合、 90%以上の類似度とはならない文書対を類似度計算の対象から外すことにより、類 似度の計算回数を減らすことができる。図 3の(a)の例では、本発明を用いない場合 、類似度計算を(5 X 4) / (2 X 1) = 10回行わなければならな!/、。しかし、文書 1と文 書 2との文書対と、文書 1と文書 4との文書対と、文書 2と文書 5との文書対と、文書 3と 文書 5との文書対と、文書 4と文書 5との文書対との 5個の文書対は、 90%以上の類 似度とはならない文書対であるため、類似度計算の対象から外すと、類似度計算の 回数は、 10— 5 = 5回となる。
[0044] 次に、上記の説明をより一般化する。
1.文書を単語の集合と考える場合
記号の定義
データベースに含まれる文書集合: D = {di| 0〈=K=|D|}、
データベースに含まれる単語集合: T = {tl| 0く =1く =|τ|}、
diに含まれる単語の異なり数: |di|、
diに含まれる単語集合: di = {ti| oく =1く =|di|}、
tlの優先順位: Pr(tl)、
tlの重要度: w(tl) # Pr(tl)は w(tl)の大きさ力、ら求めても良い
diと djの類似度: sim(di,dj)、
類似度閾値: ST
と定義する。
定理 1-1:
sdiを
sdi di { sdi n Vdk[sim(di,dk)>= ST]≠ φ Λ Pr(Vtlesdi) > Pr(Vtle-sdi) } (-sdiは sdiのネ甫集合)
により定義する。
この時、 Prが Dで一意に定まり、 sdi, sdjが定まれば、
sim(di, dj) >= STのとき、
sdi (Ί sdj≠ φが成立する。
証明:
まず、 sdi, sdjの定義により、
sim(di, dj) >= STのとき、
sdi(1dj≠ φ
sdj(1di≠ φ
が成立する。
ここで、
sdindj≠ φ Λ sdi (Ί sdj= φ
と仮定すると、
djにおける単語の重要度は、
Pr(Vtlesdj) > Pr(Vtlesdi)となる。
この時、 sdi ΓΊ sdj= φであるから
sdjndi≠ φ Λ sdj (Ί sdi= φ
が同時に成立する。
そのため、
diにおける単語の重要度は、 Pr(Vtlesdi) > Pr(Vtlesdj)になる。
これは、 Pr力 ¾で一意に定まることと矛盾する。
iと jを置き換えた場合でも同様である。
[0045] したがって、定理 1-1は成立する。
[0046] 次に、
sim(VdieD, VdjED)を求める前に sdiを求めることができることを示す。 定理 1-2:
sim(di, dj) =
(Ztledin dj w(tl)"2) I (if∑ tl e di w(tl)"2) * {∑t\≡ dj w(tl)"2)) で定義される cosine類似度を用いる場合、
丄 S =〈
、 0)
Φ = [丄 S=〈 lP '!P)m!s]¾)E U!PS
、
Z1S =〈(^(卩 !P3HS) / (ZSll)^ fP U!P3HS) (ZSH)^ !Pョ II s / ( (卩 fP U !Pョ π s =
ν≡η z ) =>
(
(zM
M fpョ II
= (fp '!p => is
( ( fP U !Pョ S ) =〈( ( fPョ S )
°<5 ½3 ^5 ^^ Z1S =〈(^(卩 !P3HS) / ( ( fP U!P3HS)
IS二く (fP '!P)™s
-■mi
(!ps-ョ A) < (!PS3HA)Jd V Φ≠ [丄 S =< lP'!P !s]¾)A u!Ps
{(!ps-ョ
HA)Jd < (!psョ卩 A) V Z1S -I〈 (ZSll)^ !Pョ S) I ( ( IPsョ卩: ) } !pョ !ps
TC8.90/.00Zdf/X3d ει. 08ム而800 OAV
(∑ ti e di Π dk w(tl)"2) / (∑tledi w(tl)"2)>= ST"2
カ成立し、
また、
(∑ tie sdi w(tl)"2) I (∑tledi w(tl)"2) > 1- ST"2
であるから、 2つを足して
((∑ ti e di ΓΊ dk w(tl)"2) + (Ztlesdi w(tl)"2)) / (∑tledi w(tl)"2) > 1
((∑ ti e di ΓΊ dk w(tl)"2) + (Ztlesdi w(tl)"2))> (∑tledi w(tl)"2) となる。
ここで、
sdi(1dk= φ
であるから、
(∑ ti e (di ΓΊ dk) U sdi w(tl)"2)〉(∑ tl e di w(tl)"2)
となるが、
(di门 dk) U sdi di
であるから成立せず矛盾する。
したがって、
sdi = sdiedi { (Ztlesdi w(tl)"2) / (∑tledi w(tl)"2) } > 1- ST"2
で定義されるならば、
sdin Vdk[sim(di,dk) >= ST]≠ φ
が成立する。
上記は、 sdiにどの単語から選んで!/、つたとしても成立するので定理 1-2は成立する。 2.文書を文字の集合と考える場合
記号の定義:
データベースに含まれる文書集合: D = {di| 0<=K=|D|}
データベースに含まれる文字集合: T = {tl| 0く =1く =|τ|}
diに含まれる文字の異なり数: |di|
diに含まれる文字集合: di = {ti| o<=K=|di|}
^獺 ¾奪魔 0)·φ:?! P¾(fp'!P)s!p— I!P9、^
(!ps-ョ A) < (!PS3HA)Jd V Φ≠ [丄 S =< lP'!P !s]¾)A u!Ps
{(!ps-ョ卩 A
)
Jd <
V ((丄 S- /丄 S) ΐ〈 (!P)¾ I } !Pョ !ps = ips
((fP)¾ + (!P)¾) I ((fP'!P)S!P"l!P3 - (fp)¾ + (ip)bj)
≠fP
SU!P
s ^ O)丄 S =〈 (fP '!P)™s
、翻 0)
{ (!P
S—ョ A) <
V Φ≠ [丄 S =〈 lP'!P u!s PA U!P
S } !PS!PS
(H d :¾蘭 ¾ i
(H'!P)bJ:凝回¾ 1 ¾¾!P
l£8L90/L00ZdT/13d 91- 08ム而800 OAV
diと djの編集距離とは、 diから dj又は djから diに変換するために必要となる最小の揷 入又は削除の回数を意味し、距離が小さ!/、ほど 2つの文書は似て!/、ることを意味する
〇
証明:
まず、
sim(di, dj) ?= ST
ならば
(∑ tie di ΓΊ dj fq(di,tl)) I fq(di)〉= ST I (2- ST)
が成立することを証明する。
edit— dis(di,dj) >= fq(di) + fq(dj) - 2 x (∑tle di门 dj min(fq(di,tl), fq(dj,tl)》
であるから、
STく sim(di,dj)
= (fq(di) + fq(dj) - edit— dis(di,dj)) I (fq(di) + fq(dj))
く = 2 x (∑tle di n dj min(fq(di,tl), fq(dj,tl))) / (fq(di) + fq(dj)) また、
fq(dj)〉= ( Z tle di n dj min(fq(di,tl), fq(dj,tl)》
であるから
STく = 2 x (∑ tie di ΓΊ dj min(fq(di,tl), fq(dj,tl》) / (fq(di) + (∑ tie di ΓΊ dj min(fq(di,tl), f q(dj,tl)))) したがって、
( Z tle di n dj min(fq(di,tl), fq(dj,tl))) / fq(di)〉= ST / (2- ST)
ここで、
fq(di,tl) >= min(fq(di,tl), fq(dj,tl))
であるから
(∑ tie di ΓΊ dj fq(di,tl)) I fq(di)〉= ST I (2- ST)
次に、
sdiedi { (Ztlesdi fq(di,tl)) I fq(di) } > 1 - (ST / (2_ST》 }
で定義されるならば、
sdinョ dk[sim(di, dk)〉=ST]= φ
であると仮定する。
sim(di,dk) >= ST
であるから、上記より、
∑tledi门 dk fq(di,tl) I fq(di)〉= ST / (2- ST)
カ成立し、
また、
sdiedi { (Ztlesdi fq(di,tl)) I fq(di) } > 1 - (ST / (2_ST》 }
であるから、
(∑ tie di门 dk fq(di,tl》 I fq(di) + (∑ tie sdi fq(di,tl》 / fq(di) > 1
(Ztledindk fq(di,tl)) + (ZtlEsdi fq(di,tl)) > fq(di)
となる。
ここで、
sdi(1dk= φ
であるから、
(∑ tle(di ΓΊ dk) U sdi fq(di,tl)) > fq(di)
となるが、
(di门 dk) U sdi di
であるから成立せず矛盾する。
したがって、
sdi = sdiedi { (Ztlesdi fq(di,tl)) I fq(di) } > 1- (ST / (2_ST》 }
で定義されるならば、
sdin Vdk[sim(di,dk) >= ST]≠ φ
が成立する。
上記は、 sdiにどの文字力も選んで!/、つたとしても成立するので定理 2-2は成立する。 次に、本発明を実施するための最良の形態について図面を参照して詳細に説明
する。
[0049] 尚、本実施の形態の説明において、情報照合の代表的なものである文書照合シス テムを例にして説明する。また、本実施の形態では、文書を単語の集合として极うか 、あるいは、文字の集合として扱うかにより同一文書照合システムの構成が異なるた め、第 1の実施の形態では、文書を単語の集合として扱う場合のシステムを、第 2の 実施の形態では、文書を文字の集合として扱う場合のシステムを説明する。
[0050] <第 1の実施の形態〉
本発明の第 1の実施の形態を説明する。
[0051] 第 1の実施の形態に係る同一文書照合システムは、図 4に示される如ぐプログラム 制御により動作するデータ処理装置 1と、情報を記憶する記憶装置 2と、対象データ ベース 3とキーボード等の入力装置 4と出力データベース 5とを含む。
[0052] 対象データベース 3は、いわゆるデータベースであり、複数の文書が記憶されてい る。単一のデータベースであっても、複数のデータベースを仮想的にマージしたデー タベースであってもよい。
[0053] 入力装置 4からは、同一文書照合システムの利用者が類似度閾値を入力する。 2つ の文書対の類似度がこの類似度閾値以上であれば同一文書とみなす。
[0054] データ処理装置 1は、文書解析手段 10と、同一文書候補グループ作成手段 11と、 同一文書グループ作成手段 12とを含む。
[0055] 文書解析手段 10は、対象データベース 3に格納された各文書に含まれる単語群を 抽出して単語群記憶部 20に格納し、さらに、対象データベース 3に出現する全ての 単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部 21に 格納する。尚、本説明では、理解を容易とする為に、優先順位を決定する文書解析 手段 10を設けたが、以前に用いた優先順位を用いる場合には (既に優先順位記憶 部 21に優先順位が格納されている場合には)、文書解析手段 10の優先順位を決定 する機能は不要である。
[0056] 同一文書候補グループ作成手段 11は、単語群記憶部 20に格納された文書に含ま れる単語群の中から、入力装置 4から入力された類似度閾値以上の文書間で少なく とも一つが必ず共通するような種類の単語群を、優先順位記憶部 21に格納された同
一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文 書候補グループ記憶部 22を参照して選択したそれぞれの単語を IDとした同一文書 候補グループにその文書を追加する。
[0057] 同一文書グループ作成手段 12は、同一文書候補グループ記憶部 22に格納され た同一の同一文書候補グループに所属する文書対の類似度を、単語群記憶部 20 を参照して計算して、入力装置 4から入力された類似度閾値以上の文書対を同一文 書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合し た文書グループを同一文書グループとして判定し、その結果を対象データベース 3 に格納する。
[0058] 記憶装置 2は、単語群記憶部 20と、優先順位記憶部 21と、同一文書候補グループ 記憶部 22とを含む。記憶装置 2は処理の高速化の都合上、メモリ内に格納すること が望まし!/、が、 HDD等の磁器記憶媒体であっても良レヽ
単語群記憶部 20は、文書とその文書に含まれる単語群との対応関係が格納される
[0059] 優先順位記憶部 21は、単語とその優先順位の対応関係が格納される。
[0060] 同一文書候補グループ記憶部 22は、同一文書候補グループと文書との対応関係 が格納される。
[0061] 出力データベース 5は、文書と同一文書グループとの対応関係が格納される。
[0062] 次に、図 5を参照して、第 1の実施の形態の動作について詳細に説明する。なお、 入力装置 4から入力された類似度閾値は 75%として説明する。
[0063] まず、文書解析手段 10は、対象データベース 3に格納された各文書に含まれる単 語群を抽出して単語群記憶部 20に格納し、さらに、対象データベース 3に出現する 全ての単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部 21に格納する(ステップ Sl)。尚、本説明では、理解を容易とする為に、同一文書グ ループの作成処理の過程にぉレ、て優先順位を決定するステップを設けた力 以前の 同一文書グループの作成処理にお V、て用いた優先順位を用いても良ぐこの場合に は、優先順位を決定するステップは不要である。
[0064] 文書から抽出する単語群は、文書を形態素解析して切り出した単語群とする。切り
出した単語群のうち、特定の品詞、例えば、名詞、形容動詞、形容詞、動詞、未知語 を持つ単語群のみを使用するようにしても良い。例えば、ある文書「情報検索で検索 」の場合は {情報、検索 }が単語群となる。このように、単語の文書内の出現回数は後 の処理では用いないので、 1つの文書に同じ単語が複数出現する場合でもそのうち 1つを単語群としてもよい。
[0065] 尚、形態素解析は、 日本語や中国語のような文書に単語の区切りが存在しない言 語に対して本発明を適用する際に必要となる。一方、英語や韓国語、ドイツ語、フラ ンス語、スペイン語等、文書に単語の区切りが存在する言語に対しては必ずしも必要 ではない。
[0066] 図 6に単語群記憶部 20の格納例を示す。なお、動作を分力、りやすくするために、こ こではそれぞれの単語をアルファベットとして記号化した上で、アルファベット毎に列 を揃えて表記している。
[0067] 単語の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発 明の実施には影響しな!/、。ただし、出現文書数が少なレ、単語に高!、優先順位を与え れば、同一文書候補グループ作成手段 11にお V、て同一文書候補グループに登録 される文書数を少なく抑えられるため、同一文書グループ作成手段 12において類似 度計算の回数を少なくすることが可能である。
[0068] 図 7に優先順位記憶部 21の格納例を示す。ここでは、単語とその出現文書数、優 先順位の対応関係を格納している。単語の優先順位は、単語の出現文書数が小さ いほど高ぐ出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファ ベット順で若!/、単語ほど優先順位を高くしてレ、る。
[0069] 次に、同一文書候補グループ作成手段 11は、単語群記憶部 20に格納された文書 に含まれる単語群の中から、入力装置 4から入力された類似度閾値以上の文書間で 少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部 21に格納さ れた同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、 同一文書候補グループ記憶部 22を参照して選択したそれぞれの単語を IDとした同 一文書候補グループにその文書を追加する(ステップ S2)。
[0070] ここで図 8を用いて、ステップ S2の動作の詳細を説明する。
[0071] まず、単語群記憶部 20に格納された先頭の文書 IDを持つ文書を選択する(ステツ プ S20)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよ!/、。 ここでは、説明をわかりやすくするために、文書には文書 1から文書 nの IDが振られて おり、 i番目の文書は文書 iで現し、また、ステップ S20では文書 i=文書 1が選択された として説明する。
[0072] 次に、文書 iに含まれる単語のうち、入力装置 4から入力された類似度閾値以上の 文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部 21 に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択 する(ステップ S21)。ここでは、類似度を定理 1-2の cosine類似度で計算する場合で 説明する。
[0073] 文書 iに含まれる各単語の重み w(tl)はどのように決定しても本発明の実施には影響 しない。例えば、 w(tl)=lのように単語の重み全て同一にする力、、 w(tl)=log2(総文書数 /tlの出現文書数)のように出現文書数が少ないほど重要度が高くなるように設定す ること力 Sできる。ここでは、 w(tl)=lとして説明する。なお、 w(tl)=log2(総文書数/ tlの出 現文書数)で計算する場合は、 tlの出現文書数は、優先順位記憶部 21から得ること が可能である。
[0074] 文書 iから選択する単語群は、定理 1-2に従う。例えば、入力装置 4から入力された 類似度閾値は 75%であるから、図 6の単語群記憶部 20の文書 1から選択する単語 は、定理 1-2に従い、(選択する単語の異なり数) /9〉1 0· 75' 2を満たす最小の 単語の異なり数である 4個を選択すればよい。同様に、文書 2から選択する単語は、 定理 1-2に従い、(選択する単語の異なり数) /5〉1 0· 75' 2を満たす最小の単語 の異なり数である 2個を選択すればよい。同様に、文書 3から選択する単語は、定理 1 -2に従い、(選択する単語の異なり数) /7〉1 0· 75' 2を満たす最小の単語の異 なり数である 4個を選択すればよい。同様に、文書 4から選択する単語は、定理 1-2に 従い、(選択する単語の異なり数) /6〉1 0· 75' 2を満たす最小の単語の異なり 数である 3個を選択すればよい。同様に、文書 5から選択する単語は、定理 1-2に従 い、(選択する単語の異なり数) /7〉1 0· 75' 2を満たす最小の単語の異なり数で ある 4個を選択すればよい。同様に、文書 6から選択する単語は、定理 1-2に従い、(
選択する単語の異なり数) /2〉1 0. 75' 2を満たす最小の単語の異なり数である 1個を選択すればよい。
[0075] 文書 iから選択する単語の順序は、優先順位記憶部 21に格納された優先順位に従 う。文書 1から選択する 4個の単語は、 {A, I, B, C}となる。
[0076] 次に、ステップ S21で選択した単語群の先頭の単語 IDを持つ単語を選択する(ステ ップ S22)。単語を選択する順番は本発明の実施とは無関係であり任意の順番でよ!/、 。ここでは、説明をわ力、りするために、単語には単語 1から単語 mの IDが振られており 、 j番目の単語は単語 jで表し、またステップ S22では単語 j=単語 1から選択されたとし て説明する。
[0077] 次に、同一文書候補グループ記憶部 22に単語 jを IDとした同一文書候補グループ が存在するかを参照する(ステップ S23)。もし存在しない場合は、単語 jを IDとした同 一文書候補グループを新たに作成し、それに文書 iを追加する(ステップ S24)。存在 する場合は、単語 jを IDとした同一文書候補グループに文書 iを追加する(ステップ S2 5)。
[0078] 次に、ステップ S22の単語 IDが j > =m満たすかを判断し(ステップ S26)、満たす場 合はステップ S29へ進む、満たさない場合は、単語 j=単語 {j + 1 }として(ステップ S27) 、ステップ S22へ戻る。
[0079] 次に、ステップ S21の文書 ID力 〉 =nを満たすかを判断し(ステップ S29)、満たす場 合はステップ S3に進み、満たさない場合は、文書 i =文書 {i+ 1 }として (ステップ S28) 、ステップ S21へ戻る。
[0080] 以上、ステップ S2の同一文書候補グループ作成手段 11を説明した。
[0081] 類似度閾値が 75%の場合、同一文書候補グループ作成手段 11は、図 6の単語群 記憶部 20の文書 1から {A, I, B, C}を、文書 2から {G, L, E}を、文書 3から {I, B, C, D}を、文書 4から {G, K, L}を、文書 5から {A, M, B, C}を、文書 6から {K}選 択し、それを同一文書候補グループ記憶部 22に図 9のように格納する。
[0082] 図 5のステップ S3に戻り、同一文書グループ作成手段 12は、同一文書候補グルー プ記憶部 22を参照して同一の同一文書候補グループに所属する文書対の類似度 を単語群記憶部 20を参照して計算して、入力装置 4から入力された類似度閾値以上
の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上 の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対 象データベース 3に格納する(ステップ S3)。
[0083] ここで、同一文書グループ作成手段 12の動作 (ステップ S3)について詳細に説明す る。尚、ステップ S3の動作は 2通りの方法があり、まず一つ目を図 10を用いて説明す
[0084] まず、同一文書候補グループ記憶部 22に格納された先頭の単語 IDを持つ単語を 選択する(ステップ S310)。単語を選択する順番は本発明の実施とは無関係であり任 意の順番でよい。ここでは、説明をわかりやすくするために、単語には単語 1から単語 nの IDが振られており、 i番目の単語は単語 iで現し、また、ステップ S310では単語 i = 単語 1が選択されたとして説明する。
[0085] 次に、単語 iを IDとする同一文書候補グループのうち先頭の文書 IDを持つ文書を選 択する(ステップ S311)。文書を選択する順番は本発明の実施とは無関係であり任意 の順番でよい。ここでは、説明をわ力、りやすくするために、単語 iを IDとする同一文書 候補グループの文書には文書 1から文書 mの IDが振られており、 j番目の文書は文書 jで現し、また、ステップ S311では文書 j =文書 1が選択されたとして説明する。
[0086] 次に、単語 iを IDとする同一文書候補グループのうち文書 k =文書 j + 1の文書 IDを 持つ文書を選択する(ステップ S312)。
[0087] 次に、単語群記憶部 20を参照して文書 jと文書 kとの類似度を求め、類似度が入力 装置 4から入力された類似度閾値以上の場合は、同一文書グループとして出力デー タベース 5に登録する(ステップ S313)。類似度の計算式は、ステップ S2の同一文書 候補グループ作成手段 11と同一のものを用いる。例えば、図 9の同一文書候補グノレ ープ記憶部 22の単語 Aを IDとする同一文書グループに登録された文書 1と文書 5の 類似度を単語の重みを w(tl)=lとした定理 2の cosine類似度で計算すると、 cosine (文 書 1 ,文書 5) = 6/^9x^7 = 0. 76となり、類似度閾値は 75%であるから、同一文 書グループとして出力データベース 5に登録する。
[0088] 次に、ステップ S312の文書 IDが k〉 =mを満たすかを判断し(ステップ S314)、満た す場合はステップ S316へ進む、満たさない場合は、文書 k=文書 {k+ 1 }として (ステ
ップ S315)、ステップ S312へ戻る。
[0089] 次に、ステップ S311の文書 IDが j > =mを満たすかを判断し(ステップ S316)、満た す場合はステップ S318へ進む、満たさない場合は、文書 j =文書 {j + 1 } (ステップ S31
7)として、ステップ S311へ戻る。
[0090] 次に、ステップ S310の単語 ID力 〉 =nを満たすかを判断し(ステップ S318)、満たす 場合は処理を終了し、満たさない場合は、単語 i =単語 {i+ 1 } (ステップ S319)として
、ステップ S310へ戻る。
[0091] 以上、一つ目のステップ S3の同一文書グループ作成手段 12の動作を説明した。類 似度閾値が 75%の場合、同一文書グループ作成手段 12は、図 9の同一文書候補グ ループ記憶部 22の単語 Aを IDとする同一文書候補グループの {文書 1 ,文書 5}、単 語 Bのグループの {文書 1 ,文書 3} , {文書 1 ,文書 5} , {文書 3,文書 5}、単語 Cのグ ループの {文書 1 ,文書 3} , {文書 1 ,文書 5} , {文書 3,文書 5}、単語 Gのグループ の {文書 2,文書 4}、単語 Iのグループの {文書;!,文書 3}、単語 Kのグループの {文 書 4,文書 6 }、単語 Lのグループの {文書 2,文書 4}と、類似度を計 11回計算し (類 似度の計算結果は図 11を参照のこと)、出力データベース 5に同一文書グループを 図 12のように出力する。
[0092] このように、非特許文献 1の総当りの方法では、図 6の単語群記憶部 20に対して類 似度は 6 X 5/2 = 15回計算する必要がある力 本発明では 11回で同一の結果を 出力できる。ステップ S3の同一文書グループ作成手段 12の説明は、同一の文書対 に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求め た文書対を記憶装置 2に保持することで、同一の文書対を 1度だけ計算すれば良い ようにできる。例えば、 {文書;!,文書 5}は、単語 Aのグループと、単語 Bのグループと 、単語 Cのグループとの 3回計算している力 S、いずれかのグループで類似度を計算し ていれば、他のグループで計算する必要はない。この時、ステップ S3の同一文書グ ループ作成手段 12は図 9の同一文書候補グループ記憶部 22に対して類似度は 5 回計算するだけで良い。
[0093] 出力データベース 5への同一文書グループの格納方法は、図 12の(a)、(b)、 (c) が考えられる。 (a)は、類似度閾値以上のそれぞれの文書対を同一文書グループと
して格納している。各レコードが一つの同一文書グループを意味する。 (b)は、共通 する文書を含む類似度閾値以上の文書対を統合した文書群を同一文書グループと して格納している。 1列目のフィールドの値が一つの同一文書グループを意味する。
(c)は、ある文書との類似度が閾値以上となる文書群を、その文書に対する同一文 書グループとして格納している。第 1列の文書 IDが、その文書 IDに対する同一文書グ ループを意味する。例えば、文書 1に対する同一文書グループとして文書 3と文書 5 1S 文書 2に対しては文書 4が登録されている。
[0094] 続いて、 2つ目の同一文書グループ作成手段 12の動作(ステップ S3)の詳細につ いて、図 14を用いて説明する。 2つ目の動作を実現するためには、ステップ S2の同一 文書候補グループ作成手段 11にお 、て、各文書と選択した単語群との対応関係を 選択単語記憶部へ出力することが必要である。選択単語記憶部の例を図 13に示す
[0095] まず、選択単語記憶部に格納された先頭の文書 IDを持つ文書を選択する (ステツ プ S320)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよ!/、 。ここでは、説明をわ力、りやすくするために、文書には文書 1から文書 nの IDが振られ ており、 i番目の文書は文書 iで現し、また、ステップ S320では文書 i =文書 1が選択さ れたとして説明する。
[0096] 次に、同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの選択単語 を IDとする同一文書候補グループの論理和の文書群を求める(ステップ S321)。例え ば、文書 i =文書 1の場合、文書 1の選択単語は、図 13を参照すると {A, B, C, 1}と なっている。それぞれの選択単語を IDとした同一文書候補グループの文書群は、図 9を参照すると単語 Aについては {文書;!,文書 5}、単語 Bについては {文書;!,文書 3,文書 5}、単語 Cについては {文書 1 ,文書 3,文書 5}、単語 Iについては {文書 1 , 文書 3}となっている。これらの論理和の文書群は、 {文書 1 ,文書 3,文書 5}となる。
[0097] 次に、ステップ S321で求めた文書群から文書 jを取り出す(ステップ S322)。文書を取 り出す順番は本発明の実施とは無関係であり任意の順番でよい。
[0098] 次に、 j〉iならば、文書 iと文書 jの類似度を計算し、類似度閾値以上の場合は同一 文書グループとして出力データベース 5に登録する(ステップ S323)。例えば、文書 i
=文書 1のとき、ステップ S322では、 {文書 1 ,文書 3,文書 5 }が論理和の単語群とな るが、文書 j =文書 3、文書 j =文書 5のときにのみ類似度を計算することとなる。類似 度の計算式は、ステップ S2の同一文書候補グループ作成手段 1 1と同一のものを用 いるが、この点に関しては、一つ目の同一文書グループ作成手段 12の動作と同様な ので省略する。
[0099] 次に、ステップ S322で求めた論理和の単語群に残りがある場合はステップ S322に 戻り、残りがない場合はステップ S325に進む(ステップ S324)。
[0100] 次に、ステップ S320の文書 IDが i〉 =nを満たすかを判断し(ステップ S325)、満たす 場合は処理を終了し、満たさない場合は、文書 i =文書 {i+ 1 } (ステップ S326)として
、ステップ S320へ戻る。
[0101] 以上、 2つ目のステップ S3の同一文書グループ作成手段 12の動作を説明した。類 似度閾値が 75%の場合、文書 1に対する論理和の単語群は {文書 1 ,文書 3,文書 5 }、文書 2に対する論理和の単語群は {文書 2,文書 4 }、文書 3に対する論理和の単 語群は {文書;!,文書 3,文書 5 }、文書 4に対する論理和の単語群は {文書 2,文書 4 ,文書 6 }、文書 5に対する論理和の単語群は {文書;!,文書 3,文書 5 }、文書 6に対 する論理和の単語群は {文書 4,文書 6 }となり、類似度は、 {文書 1 ,文書 3 }、 {文書 1 ,文書 5 }、 {文書 2,文書 4 }、 {文書 3,文書 5 }、 {文書 4,文書 6 }の計 5回計算し、出 力データベース 5に同一文書グループを図 12のように出力する。
[0102] このように、非特許文献 1の総当りの方法では、図 6の単語群記憶部 20に対して類 似度は 6 X 5/2 = 15回計算する必要がある力 本発明では 5回で同一の結果を出 力できる。
[0103] 以上の如ぐ本発明は、グループ数の指定が事前に必要なぐ照合漏れのない厳 密解で、かつ、グループ数が多くなつても高速に同一文書の照合が可能である。
[0104] 高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グノレ ープに所属する文書対に限定するためである。また、照合漏れのない厳密解である 理由は、文書に含まれる単語群の中から類似度閾値以上の文書間で少なくとも一つ が必ず共通するような種類の単語群を選択して文書グループ作成に用いるためであ る。さらに、同一文書グループ数を事前に指定しなくてもよぐ同一文書グループ数
が多くなつても高速な理由は、同一文書グループ数があらかじめ与えられて!/、なくて も同一文書グループを作成することが可能なためである。
更に、単語を選択する際に適用される共通の優先順位を、出現文書数が少ない単 語ほど、優先順位が高くなるように設定すれば、類似度閾値以上にならない文書対 をより多く検索することができる。その結果、同一文書候補グループ作成手段 11によ り、同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グ ループ作成手段 12において類似度計算の回数を少なくすることが可能となる。 <第 2の実施の形態〉
第 2の実施の形態を説明する。
[0105] 図 15を参照すると、第 2の実施の形態に係る同一文書照合システムは、プログラム 制御により動作するデータ処理装置 1と、情報を記憶する記憶装置 2と、対象データ ベース 3とキーボード等の入力装置 4と出力データベース 5とを含む。
[0106] 対象データベース 3については、第 1の実施の形態と同様である。
[0107] 入力装置 4についても、第 1の実施の形態と同様である。
[0108] データ処理装置 1は、文書解析手段 10と、同一文書候補グループ作成手段 11と、 同一文書グループ作成手段 12を有する。
[0109] 文書解析手段 10は、対象データベース 3に出現する全ての文字に関するすべての 文書で共通する優先順位を判定して優先順位記憶部 21に格納する。尚、本説明で は、第 1の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解 析手段 10を設けたが、以前に用いた優先順位を用いる場合には (既に優先順位記 憶部 21に優先順位が格納されて!/、る場合には)、文書解析手段 10の優先順位を決 定する機能は不要である。
[0110] 同一文書候補グループ作成手段 11は、対象データベース 3に格納された文書に 含まれる文字群の中から、入力装置 4から入力された類似度閾値以上の文書間で少 なくとも一つが必ず共通するような数の文字群を、優先順位記憶部 21に格納された 同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一 文書候補グループ記憶部 22を参照して選択したそれぞれの文字を IDとした同一文 書候補グループにその文書を追加する。
[0111] 同一文書グループ作成手段 11は、同一文書候補グループ記憶部 22に格納され た同一の同一文書候補グループに所属する文書対の類似度を対象データベース 3 を参照して計算して、入力装置 4から入力された類似度閾値以上の文書対を同一文 書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合し た文書グループを同一文書グループとして判定し、その結果を対象データベース 3 に格納する。
[0112] 記憶装置 2は、優先順位記憶部 21と、同一文書候補グループ記憶部 22とを含む。
記憶装置 2は処理の高速化の都合上、メモリ内に格納することが望ましいが、 HDD 等の磁器記憶媒体であっても良い
優先順位記憶部 21は、第 1の実施の形態と同様である。同一文書候補グループ記 憶部 22は、第 1の実施の形態と同様である。出力データベース 5は、第 1の実施の形 態と同様である。
[0113] 次に、図 16を参照して本発明を実施するための最良の形態の動作について詳細 に説明する。なお、入力装置 4から入力された類似度閾値は 75%として説明する。
[0114] まず、文書解析手段 10は、対象データベース 3に出現する全ての文字に関するす ベての文書で共通する優先順位を判定して優先順位記憶部 21に格納する (ステツ プ Sl)。尚、本説明では、第 1の実施の形態と同様に、理解を容易とする為、同一文 書グループの作成処理の過程において、優先順位を決定したが、以前の同一文書 グループの作成処理において用いた優先順位を用いても良ぐこの場合には、優先 順位を判定するステップは不要である。
[0115] 文字の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発 明の実施には影響しない。ただし、出現文書数が少ない文字に高い優先順位を与え れば、同一文書候補グループ作成手段 11にお V、て同一文書候補グループに登録 される文書数を少なく抑えられるため、同一文書グループ作成手段 12において類似 度計算の回数を少なくすることが可能である。
[0116] 図 7に図 6の対象データベース 3を参照して求めた優先順位記憶部 21の格納例を 示す。ここでは、文字とその出現文書数、優先順位の対応関係を格納している。文字 の優先順位は、文字の出現文書数が小さいほど高ぐ出現文書数が同じ場合は、文
字コードの若い文字、すなわち、アルファベット順で若い文字ほど優先順位を高くし ている。
[0117] 続いて、同一文書候補グループ作成手段 11は、対象データベース 3に格納された 文書に含まれる文字群の中から、入力装置 4から入力された類似度閾値以上の文書 間で少なくとも一つが必ず共通するような数の文字群を、優先順位記憶部 21に格納 された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、 同一文書候補グループ記憶部 22を参照して選択したそれぞれの文字を IDとした同 一文書候補グループにその文書を追加する(ステップ S2)。
[0118] ここで図 17を用いて、同一文書候補グループ作成手段 11の動作 (ステップ S2)の 詳細を説明する。
[0119] まず、対象データベース 3に格納された先頭の文書 IDを持つ文書を選択する (ステ ップ S20)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよ!/、 。ここでは、説明をわ力、りやすくするために、文書には文書 1から文書 nの IDが振られ ており、 i番目の文書は文書 iで現し、また、ステップ S20では文書 i =文書 1が選択され たとして説明する。
[0120] 次に、文書 iに含まれる文字のうち、入力装置 4から入力された類似度閾値以上の 文書間で少なくとも一つが必ず共通するような数の文字群を、対象データベース 3に 格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択す る (ステップ S21)。ここでは、類似度を定理 2-2の類似度で計算する場合で説明する。
[0121] 文書 iから選択する文字数は、定理 2-2に従う。例えば、入力装置 4から入力された 類似度閾値は 75%であるから、図 6の対象データベース 3の文書 1から選択する文 字は、定理 2-2に従い、(選択する文字数) /9〉1 0. 75/ (2-0. 75)を満たす 最小の選択文字数である 4個を選択すればよい。同様に、文書 2から選択する文字 は、定理 2-2に従い、(選択する文字数) /5〉1 0. 75/ (2-0. 75)を満たす最 小の選択文字数である 3個を選択すればよい。同様に、文書 3から選択する文字は、 定理 2-2に従い、(選択する文字数) /7〉1 0. 75/ (2-0. 75)を満たす最小の 選択文字数である 3個を選択すればよい。同様に、文書 4から選択する文字は、定理 2-2に従い、(選択する文字数) /6〉1 0. 75/ (2-0. 75)を満たす最小の選択
文字数である 3個を選択すればよい。同様に、文書 5から選択する文字は、定理 2-2 に従い、(選択する文字数) /7〉1 0. 75/ (2-0. 75)を満たす最小の選択文 字数である 3個を選択すればよい。同様に、文書 6から選択する文字は、定理 2-2に 従い、(選択する文字数) /2〉1 0. 75/ (2-0. 75)を満たす最小の選択文字 数である 1個を選択すればよい。
[0122] 文書 iから選択する文字の順序は、優先順位記憶部 21に格納された優先順位に従 う。文書 1から選択する 4個の文字は、 {A, I, B, C}となる。
[0123] 次に、ステップ S21で選択した文字群の先頭の文字 IDを持つ文字を選択する (図 17 のステップ S22)。文字を選択する順番は本発明の実施とは無関係であり任意の順番 でよい。ここでは、説明をわ力、りするために、文字には文字 1から文字 mの IDが振られ ており、 j番目の文字は文字 jで表し、またステップ S22では文字 j =文字 1から選択さ れたとして説明する。
[0124] 次に、同一文書候補グループ記憶部 22に文字 jを IDとした同一文書候補グループ が存在するかを参照する(ステップ S23)。もし存在しない場合は、文字 jを IDとした同 一文書候補グループを新たに作成し、それに文書 iを追加する(ステップ S24)。存在 する場合は、文字 jを IDとした同一文書候補グループに文書 iを追加する (図 17のステ ップ S25)。
[0125] 次に、ステップ S22の文字 IDが j > =mを満たすかを判断し(ステップ S26)、満たす 場合はステップ S29へ進む、満たさない場合は、文字 j =文字 {j + 1 } (ステップ S27)と して、ステップ S22へ戻る。
[0126] 次に、ステップ S22の文書 ID力 〉 =nを満たすかを判断し(ステップ S29)、満たす場 合はステップ S3に進み、満たさない場合は、文書 i =文書 {i+ 1 } (ステップ S28)として
、ステップ S21へ戻る。
[0127] 以上、ステップ S2の同一文書候補グループ作成手段 11を説明した。類似度敷居値 が 75%の場合、同一文書候補グループ作成手段 11は、図 6の対象データベース 3 の文書 1から {A, I, B, C}を、文書 2から {G, L, E}を、文書 3から {I, B, C}を、文書 4力、ら {G、 K、 L}を、文書 5から {A、 M、 B}を、文書 6から {K}選択し、それを同一文 書候補グループ記憶部 22に図 18のように格納する。
[0128] 同一文書グループ作成手段 12は、同一文書候補グループ記憶部 22を参照して同 一の同一文書候補グループに所属する文書対の類似度を対象データベース 3を参 照して計算して、入力装置 4から入力された類似度閾値以上の文書対を同一文書グ ループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文 書グループを同一文書グループとして判定し、その結果を対象データベース 3に格 納する(ステップ S3)。
[0129] ここで、ステップ S3の動作の詳細を説明する。 尚、なおステップ S3の動作は 2通りの 方法があり、まず一つ目を図 19を用いて説明する。
[0130] まず、同一文書候補グループ記憶部 22に格納された先頭の文字 IDを持つ文字を 選択する(ステップ S310)。文字を選択する順番は本発明の実施とは無関係であり任 意の順番でよい。ここでは、説明をわ力、りやすくするために、文字には文字 1から文字 nの IDが振られており、 i番目の文字は文字 iで現し、また、ステップ S310では文字 i = 文字 1が選択されたとして説明する。
[0131] 次に、文字 iを IDとする同一文書候補グループのうち先頭の文書 IDを持つ文書を選 択する(ステップ S311)。文書を選択する順番は本発明の実施とは無関係であり任意 の順番でよい。ここでは、説明をわ力、りやすくするために、文字 iを IDとする同一文書 候補グループの文書には文書 1から文書 mの IDが振られており、 j番目の文書は文書 jで現し、また、ステップ S311では文書 j =文書 1が選択されたとして説明する。
[0132] 次に、文字 iを IDとする同一文書候補グループのうち文書 k =文書 j + 1の文書 IDを 持つ文書を選択する(ステップ S312)。
[0133] 次に、対象データベース 3を参照して文書 jと文書 kの類似度を求め、類似度が入 力装置 4から入力された類似度閾値以上の場合は、同一文書グループとして出力デ ータベース 5に登録する(ステップ S313)。類似度の計算式は、ステップ S2の同一文 書候補グループ作成手段 11と同一のものを用いる。例えば、図 18の同一文書候補 グループ記憶部 22の文字 Aを IDとする同一文書グループに登録された文書 1と文書 5の類似度を定理 2-2の類似度で計算すると、 sim (文書 1 ,文書 5)= (9 + 7— 4) / (9 + 7) =0. 75となり、類似度閾値は 75%であるから、同一文書グループとして出力デ ータベース 5に登録する。
[0134] 次に、ステップ S312の文書 IDが k〉 =mを満たすかを判断し(ステップ S314)、満た す場合はステップ S316へ進む、満たさない場合は、文書 k=文書 {k+ 1 } (ステップ S3
15)として、ステップ S312へ戻る。
[0135] 次に、ステップ S311の文書 IDが j > =mを満たすかを判断し(ステップ S316)、満た す場合はステップ S318へ進む、満たさない場合は、文書 j=文書 {j + 1 } (ステップ S317
)として、ステップ S311へ戻る。
[0136] 次に、ステップ Sの文字 ID力 〉 =nを満たすかを判断し(ステップ S318)、満たす場 合は処理を終了し、満たさない場合は、文字 i =文字 {i+ 1 } (ステップ S319)として、ス テツプ S310へ戻る。
[0137] 以上、一つ目のステップ S3の同一文書グループ作成手段 12の動作を説明した。類 似度敷居値が 75%の場合、同一文書グループ作成手段 12は、図 18の同一文書候 補グループ記憶部 22の文字 Aを IDとする同一文書候補グループの {文書 1 ,文書 5} 、文字 Bのグループの {文書 1 ,文書 3} , {文書 1 ,文書 5} , {文書 3,文書 5}、文字 C のグループの {文書;!,文書 3}、文字 Gのグループの {文書 2,文書 4}、文字 Iのグノレ ープの {文書 1 ,文書 3}、文字 Kのグループの {文書 4,文書 6 }、文字 Lのグループの {文書 2,文書 4}と、類似度を計 9回計算し (類似度の計算結果は図 20を参照のこと) 、出力データベース 5に同一文書グループを図 12のように出力する。
[0138] このように、非特許文献 1の総当りの方法では、図 6の対象データベース 3に対して 類似度は 6 X 5/2 = 15回計算する必要がある力 本発明では 9回で同一の結果を 出力できる。ステップ S2の同一文書グループ作成手段 12の説明は、同一の文書対 に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求め た文書対を記憶装置 2に保持することで、同一の文書対を 1度だけ計算すれば良い ようにできる。この時、ステップ S3の同一文書グループ作成手段 12は図 18の同一文 書候補グループ記憶部 22に対して類似度は 5回計算するだけで良い。
[0139] 続いて、ステップ S3の 2つ目の動作を、図 22を用いて詳細に説明する。
[0140] 2つ目の動作を実現するためには、ステップ S2の同一文書候補グループ作成手段
11において、各文書と選択した文字群との対応関係を選択文字記憶部 出力する ことが必要である。選択文字記憶部の例を図 21に示す。
[0141] まず、選択文字記憶部に格納された先頭の文書 IDを持つ文書を選択する (ステツ プ S320)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよ!/、 。ここでは、説明をわ力、りやすくするために、文書には文字 1から文字 nの IDが振られ ており、 i番目の文字は文字 iで現し、また、ステップ S320では文字 i =文字 1が選択さ れたとして説明する。
[0142] 次に、同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの選択文字 を IDとする同一文書候補グループの論理和の文書群を求める(ステップ S321)。例え ば、文書 i =文書 1の場合、文書 1の選択文字は、図 21を参照すると {A, B, C, 1}と なっている。それぞれの選択文字を IDとした同一文書候補グループの文書群は、図 18を参照すると文字 Aについては {文書;!,文書 5}、文字 Bについては {文書;!,文 書 3,文書 5}、文字 Cについては {文書;!,文書 3}、文字 Iについては {文書;!,文書 3 }となっている。これらの論理和の文書群は、 {文書 1 ,文書 3,文書 5}となる。
[0143] 次に、ステップ S321で求めた文書群から文書 jを取り出す(ステップ S322)。文書を取 り出す順番は本発明の実施とは無関係であり任意の順番でよい。
[0144] 次に、 j〉iならば、文書 iと文書 jの類似度を計算し、類似度閾値以上の場合は同一 文書グループとして出力データベース 5に登録する(ステップ S323)。例えば、文書 i =文書 1のとき、ステップ S321では、 {文書 1 ,文書 3,文書 5}が論理和の文字群とな るが、文書 j =文書 3、文書 j =文書 5のときにのみ類似度を計算することとなる。類似 度の計算式は、ステップ S2の同一文書候補グループ作成手段 11と同一のものを用 いるが、この点に関しては、一つ目の同一文書グループ作成手段 12の動作と同様な ので省略する。
[0145] 次に、ステップ S321で求めた論理和の文字群に残りがある場合はステップ S322に 戻り、残りがない場合はステップ S325に進む(ステップ S324)。
[0146] 次に、ステップ S320の文書 IDが i〉 =nを満たすかを判断し(ステップ S325)、満たす 場合は処理を終了し、満たさない場合は、文書 i =文書 {i+ 1 } (ステップ S326)として
、ステップ S320へ戻る。
[0147] 以上、 2つ目のステップ S3の同一文書グループ作成手段 12の動作を説明した。類 似度閾値が 75%の場合、文書 1に対する論理和の文字群は {文書 1 ,文書 3,文書 5
}、文書 2に対する論理和の文字群は {文書 2,文書 4}、文書 3に対する論理和の文 字群は {文書 1 ,文書 3,文書 5}、文書 4に対する論理和の文字群は {文書 2,文書 4, 文書 6 }、文書 5に対する論理和の文字群は {文書;!,文書 3,文書 5}、文書 6に対す る論理和の文字群は {文書 4,文書 6 }となり、類似度は、 {文書 1 ,文書 3 }、 {文書 1 , 文書 5}、 {文書 2,文書 4}、 {文書 3,文書 5}、 {文書 4,文書 6 }の計 5回計算し、出力 データベース 5に同一文書グループを図 12のように出力する。
[0148] 以上の如ぐ本発明は、グループ数の指定が事前に必要なぐ照合漏れのない厳 密解で、かつ、グループ数が多くなつても高速に同一文書の照合が可能である。
[0149] 高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グノレ ープに所属する文書対に限定するためである。また、照合漏れのない厳密解である 理由は、文書に含まれる文字群の中から類似度閾値以上の文書間で少なくとも一つ が必ず共通するような数の文字群を選択して文書グループ作成に用いるためである 。さらに、同一文書グループ数を事前に指定しなくてもよぐ同一文書グループ数が 多くなつても高速な理由は、同一文書グループ数があらかじめ与えられていなくても 同一文書グループを作成することが可能なためである。
<第 3の実施の形態〉
図 23を参照すると本発明の第 3の実施の形態は、第 1の実施の形態と構成をほぼ 同一とするが、単語群の優先順位をそれぞれ異なる基準で設定する複数の同一文 書候補グループ作成手段 11と、それに対応する複数の同一文書候補グループ記憶 部 22を用いている点、および、同一文書グループ作成手段 12が、複数ある同一文 書候補グループ記憶部 22にすべてにおいていずれかの同一の同一文書候補グノレ ープに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとす る、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループ を同一文書グループとする点で異なる。
[0150] なお説明を簡潔にするため、図 23では同一文書候補グループ作成手段 11を 2つ にしており、下記の動作の説明でも 2つとして説明するが、必ずしもこれに限ることなく 、 3つ以上の複数であっても良い。
[0151] 次に、図 24を参照して本発明を実施するための最良の形態の動作について詳細
に説明する。なお、入力装置 4から入力された類似度閾値は 85%として説明する。
[0152] まず、ステップ S1は文書解析手段 10の動作であり、第 1の実施の形態のステップ S1 と同様である。例えば、単語群記憶部 20に図 25のような文書 1から文書 10に含まれ る単語群が格納された場合で説明する。この時、単語の優先順位を、単語の出現文 書数が小さいほど高ぐ出現文書数が同じ場合は、文字コードの若い単語、すなわち 、アルファ ット順で若 V、単語ほど優先順位を高く設定すると、優先順位記憶部 21 には図 26のような優先順位で格納される。尚、本説明では、第 1の実施の形態と同 様に、理解を容易とする為、優先順位を決定する文書解析手段 10を設けたが、以前 に用いた優先順位を用いる場合には (既に優先順位記憶部 21に優先順位が格納さ れている場合には)、文書解析手段 10の優先順位を決定する機能は不要であり、優 先順位を決定するステップは不要である。また、本実施の形態では、ステップ S4で述 ベるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他の 優先順位は新たに決定せずに以前に決定した優先順位を用いると V、つた構成も可 能である。
[0153] 次に、ステップ S2では、一回目の同一文書候補グループ作成手段 11により一回目 の同一文書候補グループを作成する。この動作は、第 1の実施の形態のステップ S2 と同様である。図の単語群記憶部 20に対して図 26の優先順位記憶部の優先順位で 一回目の同一文書候補グループ作成手段 11を行う場合で説明する。類似度閾値が 85%であるので、定理 1-2に従い、各文書から(選択する単語の異なり数) / (文書に 含まれる単語の異なり数)〉 1 0· 85'2を満たす最小の単語の異なり数を選択する 。図 27のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、一回目 の同一文書候補グループ記憶部に図 28のように格納する。この際に、各文書と選択 した単語群との対応関係を一回目の選択単語記憶部へ図 29のように出力しておく。
[0154] 次に、ステップ S4では、一回目の同一文書候補グループ記憶部 22を用いて優先 順位記憶部 21の優先順位を変更する。ステップ S1では、単語の出現文書数が小さ いほど高い優先順位を与えていた力 ステップ S4では、単語の出現文書数が小さぐ かつ、一回目の同一文書候補グループ作成手段 11で多く選ばれなかった単語に高 い優先順位を与える。例えば、その単語の出現文書数と、その単語が一回目の同一
文書候補グループ作成手段 11で選択された文書数の和が小さ 、ほど優先順位を高 くすればよい。図 28の一回目の同一文書候補グループ記憶部を用いて、優先順位 記憶部 21の優先順位を変更した例を図 30に示す。例えば、単語 Aの出現文書数は 3回であるが、一回目の同一文書候補グループ作成手段 11では単語 Aは 3回選択さ れているので、 2つの和の 6をスコアとしている。スコアが同一の場合は、アルファべッ ト順で後の単語ほど優先順位を高く設定している。
[0155] 次に、ステップ S5では、二回目の同一文書候補グループ作成手段 12により二回目 の同一文書候補グループを作成する。この動作は、第 1の実施の形態のステップ S2 と同様である。図 25の単語群記憶部 20に対して図 30の優先順位記憶部の優先順 位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値 力 5%であるので、定理 1-2に従い、各文書から(選択する単語の異なり数) / (文書 に含まれる単語の異なり数)〉 1 0· 85'2を満たす最小の単語の異なり数を選択す る。図 31のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、二回 目の同一文書候補グループ記憶部に図 32のように格納する。この際に、各文書と選 択した単語群との対応関係を二回目の選択単語記憶部へ図 33のように出力してお <。
[0156] 次に、ステップ S3では、同一文書グループ作成手段 12が、複数ある同一文書候補 グループ記憶部 22のすべてにおいていずれかの同一の同一文書候補グループに 所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、また は、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一 文書グループとして判定し、その結果を対象データベース 3に格納する。
[0157] 同一文書グループ作成手段 12の動作 (ステップ S3)を説明する。
[0158] ステップ S3の動作の詳細を、第 1の実施の形態との違いを中心に図 34を用いて説 明する。
[0159] まず、選択単語記憶部に格納された先頭の文書 IDを持つ文書を選択する (図 34の ステップ S320)。文書 IDのみを使用するので、一回目の選択単語記憶部、または、二 回目の選択単語記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは 無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書に
は文書 1から文書 nの IDが振られており、 i番目の文書は文書 iで現す。
[0160] 次に、一回目の同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの 選択単語を IDとする同一文書候補グループの論理和の文書群を求める (図 34のステ ップ S321)。例えば、文書 i=文書 1の場合、文書 1の一回目の選択単語は、図 29を参 照すると {A, L}となっている。それぞれの選択単語を IDとした同一文書候補グルー プの文書群は、図 28を参照すると単語 Aについては {文書;!,文書 4,文書 6 }、単語 Lについては {文書;!,文書 4,文書 7}となっている。これらの論理和の文書群は、 {文 書 1 ,文書 4,文書 6,文書 7}となる。
[0161] 次に、二回目の同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの 選択単語を IDとする同一文書候補グループの論理和の文書群を求める(図 34のス テツプ S327)。例えば、文書 i=文書 1の場合、文書 1の二回目の選択単語は、図 33を 参照すると {G, L}となっている。それぞれの選択単語を IDとした同一文書候補グノレ ープの文書群は、図 32を参照すると単語 Gについては {文書;!,文書 2,文書 8,文書 9}、単語 Lについては {文書;!,文書 7}となっている。これらの論理和の文書群は、 { 文書 1 ,文書 2,文書 7,文書 8,文書 9}となる。
[0162] 次に、ステップ S321とステップ S327で求めた文書群の論理積の文書群を求める (図
34のステップ S328)。例えば、文書 i=文書 1の場合、ステップ S321では {文書;!,文書 4 ,文書 6,文書 7}、ステップ S327では {文書;!,文書 2,文書 7,文書 8,文書 9}が文書 群として求められたので、その論理積の文書群は {文書;!,文書 7}となる。
[0163] 次にステップ S328で求めた文書群から文書 jを取り出す(図 34のステップ S322)。こ のステップ S322以降は、第 1の実施の形態の図 15の S322以降と同様なので説明は 省略する。
[0164] 以上、第 3の実施の形態の動作を説明した。第 1の実施の形態では、一回目の同一 文書候補グループ作成手段のみを用いるので、図 25の単語群記憶部の例では、図 35のように類似度は 18回計算する必要がある力 本実施の形態では、二回目の同 一文書候補グループ作成手段も合わせて用いるため、類似度計算は 11回に削減で きる。
[0165] なお、本実施の形態では、同一文書候補グループ作成手段 11を二回用いる場合
で説明したが、複数回用いる場合にも容易に一般化できる。 n回目の同一文書候補 グループ作成手段 11を実行する際には、 n-1回目の同一文書候補グループ記憶部 22を用いて優先順位記憶部 21の優先順位を変更すればよ V、。例えば、その単語の 出現文書数と、その単語が n-1回目までの同一文書候補グループ作成手段 11で選 択された文書数の総数の重み付け和が小さ!/、ほど優先順位を高くすればよ!/、。すな わち、 n回目の単語 aのスコア score(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n_l回目までに同一文書候補グループ作成 された文書数の総数)
と表すことができ、 Scoreの小さい単語ほど優先順位を高くする。ここで、 pと qは実数の 定数である。同一文書グループ作成手段 12では、ステップ S321,ステップ S327のよう な文書 iのそれぞれの選択単語を IDとする同一文書グループの論理和の文書群を求 める処理を n回行い n個の論理和の文書群を求め、ステップ S328では、 n個の論理和 の文書群の論理積を求めるようにすれば良い。
本発明の効果は、第 1の実施の形態の効果を維持したまま、第 1の実施の形態より も高速に同一文書の照合が可能なことである。その理由は、単語群の優先順位をそ れぞれ異なる基準で設定する複数の同一文書候補グループ作成手段 11とそれに対 応する複数の同一文書候補グループ記憶部 22を用いて、同一文書グループ作成 手段 12が、複数ある同一文書候補グループ記憶部 22のすべてにおいていずれか の同一の同一文書候補グループに所属する文書対に限り類似度を計算するようにし ている力もである。
<第 4の実施の形態〉
図 36を参照すると本発明の第 4の実施の形態は、第 2の実施の形態と構成をほぼ 同一とするが、文字群の優先順位をそれぞれ異なる基準で設定する複数の同一文 書候補グループ作成手段 11と、それに対応する複数の同一文書候補グループ記憶 部 22を用いている点、および、同一文書グループ作成手段 12が、複数ある同一文 書候補グループ記憶部 22にすべてにおいていずれかの同一の同一文書候補グノレ ープに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとす る、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループ
を同一文書グループとする点で異なる。
[0167] なお説明を簡潔にするため、図 36では同一文書候補グループ作成手段を 2つにし ており、下記の動作の説明でも 2つとして説明する力 S、必ずしもこれに限ることなく、 3 つ以上の複数であっても良い。
[0168] 次に、図 37を参照して本発明を実施するための最良の形態の動作について詳細 に説明する。なお、入力装置 4から入力された類似度閾値は 85%として説明する。
[0169] まず、ステップ S1は文書解析手段 10の動作であり、第 2の実施の形態のステップ S1 と同様である。例えば、対象データベース 3に図 25のような文書 1から文書 10に含ま れる文字群が格納された場合で説明する。この時、文字の優先順位を、文字の出現 文書数が小さいほど高ぐ出現文書数が同じ場合は、文字コードの若い単語、すな わち、アルファベット順で若い文字ほど優先順位を高く設定すると、優先順位記憶部 21には図 26のような優先順位で格納される。尚、本説明では、第 2の実施の形態と 同様に、理解を容易とする為、優先順位を決定する文書解析手段 10を設けたが、以 前に用いた優先順位を用いる場合には (既に優先順位記憶部 21に優先順位が格納 されている場合には) 文書解析手段 10の優先順位を決定する機能は不要であり、 優先順位を決定するステップは不要である。また、本実施の形態では、ステップ S4で 述べるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他 の優先順位は新たに決定せずに以前に決定した優先順位を用いると V、つた構成も 可能である。
[0170] 次に、ステップ S2では、一回目の同一文書候補グループ作成手段 11により一回目 の同一文書候補グループを作成する。この動作は、第 2の実施の形態のステップ S2 と同様である。図 25の対象データベース 3に対して図 26の優先順位記憶部の優先 順位で一回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾 値が 85%であるので、定理 2-2に従い、各文書から(選択する文字数) / (文書に含 まれる文字数)〉 0· 85/ (2 - 0. 85)を満たす最小の文字数を選択する。図 27のよ うにそれぞれの文書からアンダーラインが引かれた文字を選択し、一回目の同一文 書候補グループ記憶部に図 28のように格納する。この際に、各文書と選択した文字 群との対応関係を一回目の選択文字記憶部 図 29のように出力しておく。
[0171] 次に、ステップ S4では、一回目の同一文書候補グループ記憶部 22を用いて優先 順位記憶部 21の優先順位を変更する。ステップ S1では、文字の出現文書数が小さ いほど高い優先順位を与えていた力 ステップ S4では、文字の出現文書数が小さぐ かつ、一回目の同一文書候補グループ作成手段 11で多く選ばれな力、つた文字に高 い優先順位を与える。例えば、その文字の出現文書数と、その文字が一回目の同一 文書候補グループ作成手段 11で選択された回数の和が小さ V、ほど優先順位を高く すればよい。図 28の一回目の同一文書候補グループ記憶部を用いて、優先順位記 憶部 21の優先順位を変更した例を図 30に示す。例えば、文字 Aの出現文書数は 3 回であるが、一回目の同一文書候補グループ作成手段 11では文字 Aは 3回選択さ れているので、 2つの和の 6をスコアとしている。スコアが同一の場合は、アルファべッ ト順で後の文字ほど優先順位を高く設定している。
[0172] 次に、ステップ S5では、二回目の同一文書候補グループ作成手段 12により二回目 の同一文書候補グループを作成する。この動作は、第 2の実施の形態のステップ S2 と同様である。図 25の対象データベース 3に対して図 30の優先順位記憶部の優先 順位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾 値が 85%であるので、定理 2-2に従い、各文書から(選択する文字数) / (文書に含 まれる文字数)〉 0· 85/ (2-0. 85)を満たす最小の単語の文字数を選択する。図 31のようにそれぞれの文書からアンダーラインが引かれた文字を選択し、二回目の 同一文書候補グループ記憶部に図 32のように格納する。この際に、各文書と選択し た文字群との対応関係を二回目の選択文字記憶部 図 33のように出力しておく。
[0173] 次に、ステップ S3では、同一文書グループ作成手段 12が、複数ある同一文書候補 グループ記憶部 22のすべてにおいていずれかの同一の同一文書候補グループに 所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、また は、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一 文書グループとして判定し、その結果を対象データベース 3に格納する。
[0174] 同一文書グループ作成手段 12 (ステップ S3)の動作を説明する。
ステップ S3の動作の詳細を、第 2の実施の形態との違いを中心に図 38を用いて説 明する。
[0175] まず、選択文字記憶部に格納された先頭の文書 IDを持つ文書を選択する (図 38の ステップ S320)。文書 IDのみを使用するので、一回目の選択文字記憶部、または、二 回目の選択文字記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは 無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書に は文書 1から文書 nの IDが振られており、 i番目の文書は文書 iで現す。
[0176] 次に、一回目の同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの 選択文字を IDとする同一文書候補グループの論理和の文書群を求める (図 38のステ ップ S321)。例えば、文書 i=文書 1の場合、文書 1の一回目の選択文字は、図 29を参 照すると {A, L}となっている。それぞれの選択文字を IDとした同一文書候補グルー プの文書群は、図 28を参照すると文字 Aについては {文書;!,文書 4,文書 6 }、文字 Lについては {文書;!,文書 4,文書 7}となっている。これらの論理和の文書群は、 {文 書 1 ,文書 4,文書 6,文書 7}となる。
[0177] 次に、二回目の同一文書候補グループ記憶部 22を参照して、文書 iのそれぞれの 選択文字を IDとする同一文書候補グループの論理和の文書群を求める (図 38のステ ップ S327)。例えば、文書 i=文書 1の場合、文書 1の二回目の選択文字は、図 33を参 照すると {G, L}となっている。それぞれの選択文字を IDとした同一文書候補グルー プの文書群は、図 32を参照すると文字 Gについては {文書;!,文書 2,文書 8,文書 9 }、文字 Lについては {文書;!,文書 7}となっている。これらの論理和の文書群は、 {文 書 1 ,文書 2,文書 7,文書 8,文書 9}となる。
[0178] 次に、ステップ S321とステップ S327で求めた文書群の論理積の文書群を求める(図
38のステップ S328)。例えば、文書 i=文書 1の場合、ステップ S321では {文書;!,文書 4 ,文書 6,文書 7}、ステップ S327では {文書;!,文書 2,文書 7,文書 8,文書 9}が文書 群として求められたので、その論理積の文書群は {文書;!,文書 7}となる。
[0179] 次にステップ S328で求めた文書群から文書 jを取り出す(図 38のステップ S322)。こ のステップ S322以降は、第 2の実施の形態の図 23の S322以降と同様なので説明は 省略する。
[0180] 以上、第 4の実施の形態の動作を説明した。第 2の実施の形態では、一回目の同 一文書候補グループ作成手段 11のみを用いるので、図 24の対象データベース 3の
例では、図 35のように類似度は 18回計算する必要がある力 S、本実施の形態では、二 回目の同一文書候補グループ作成手段も合わせて用いるため、類似度計算は 11回 に削減できる。
[0181] なお、本実施の形態では、同一文書候補グループ作成手段 11を二回用いる場合 で説明したが、複数回用いる場合にも容易に一般化できる。 n回目の同一文書候補 グループ作成手段 11を実行する際には、 n— 1回目の同一文書候補グループ記憶 部 22を用いて優先順位記憶部 21の優先順位を変更すればよ V、。例えば、その文字 の出現文書数と、その文字が n— 1回目までの同一文書候補グループ作成手段 11 で選択された文書数の総数の重み付け和が小さ!/、ほど優先順位を高くすればよ!/、。 すなわち、 n回目の文字 aのスコア score(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n_l回目までに aが同一文書候補グループ 作成手段で選択された文書数の総数)
と表すことができ、 Scoreの小さい単語ほど優先順位を高くする。ここで、 pと qは実数の 定数である。同一文書グループ作成手段 12では、ステップ S321,ステップ S327のよう な文書 iのそれぞれの選択文字を IDとする同一文書グループの論理和の文書群を求 める処理を n回行い n個の論理和の文書群を求め、ステップ S328では、 n個の論理和 の文書群の論理積を求めるようにすれば良い。
[0182] 本発明の効果は、第 2の実施の形態の効果を維持したまま、第 2の実施の形態より も高速に同一文書の照合が可能なことである。その理由は、文字群の優先順位をそ れぞれ異なる基準で設定する複数の同一文書候補グループ作成手段 11とそれに対 応する複数の同一文書候補グループ記憶部 22を用いて、同一文書グループ作成 手段 12が、複数ある同一文書候補グループ記憶部 22のすべてにおいていずれか の同一の同一文書候補グループに所属する文書対に限り類似度を計算するようにし ている力もである。
[0183] 本出願は、 2006年 9月 14日に出願された日本出願特願 2006— 249429号を基 礎とする優先権を主張し、その開示の全てをここに取り込む。