(57)【要約】  同一文書グループ作成手段１１は、文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求める。この割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて、同一文書候補グループ記憶部２２に記憶する。
2008032780.tif 000002
【特許請求の範囲】
【請求項１】
所定の類似度以上とはならない情報対を検索する検索方法であって、
情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求め、
前記割合に基づく、各情報の情報要素の選択数を決定し、
照合対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択し、
選択した情報要素が情報間で全て共通しない情報対を検索する
ことを特徴とする検索方法。
【請求項２】
所定の類似度以上となる情報対の類似度を計算する類似度計算方法であって、
情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求め、
前記割合に基づく、各情報の情報要素の選択数を決定し、
類似度の計算対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択し、
選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行う
ことを特徴とする類似度計算方法。
【請求項３】
前記情報が文書であり、前記情報要素が前記文書に含まれる単語または文字であることを特徴とする請求項２に記載の類似度計算方法。
【請求項４】
前記優先順位は、出現情報数が少ない情報要素が高い優先順位となるように決定することを特徴とする請求項２又は請求項３に記載の類似度計算方法。
【請求項５】
複数の優先順位毎に、各情報から前記選択数の情報要素を選択し、
いずれかの優先順位に基づいて選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して類似度の計算を行う
ことを特徴とする請求項２から請求項４のいずれかに記載の類似度計算方法。
【請求項６】
所定の類似度以上となる情報対の類似度を計算する類似度計算システムであって、
類似度の計算対象となる情報群で共通して適用され、情報を構成する情報要素の優先順位が格納された優先順位記憶部と、
前記情報の情報対が少なくとも所定の類似度以上となるために、情報間で前記情報要素が共通する割合を求め、この割合に基づいた各情報の情報要素の選択数を決定し、前記優先順位に従って、前記各情報から前記選択数の情報要素を選択する情報要素選択手段と、
選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行う類似度計算手段と
を有することを特徴とする類似度計算システム。
【請求項７】
前記情報が文書であり、前記情報要素が前記文書に含まれる単語または文字であることを特徴とする請求項６に記載の類似度計算システム。
【請求項８】
前記優先順位は、出現情報数が少ない情報要素が高い優先順位となるように決定することを特徴とする請求項６又は請求項７に記載の類似度計算システム。
【請求項９】
前記優先順位記憶部には、異なる複数の優先順位が記憶され、
前記情報要素選択手段は、前記異なる優先順位毎に、前記各情報から前記選択数の情報要素を選択するように構成され、
前記類似度計算手段は、異なる優先順位毎に類似度の計算を行うように構成されていることを特徴とする請求項６から請求項８のいずれかに記載の類似度計算システム。
【請求項１０】
与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合システムであって、
単語または文字で識別され、実質的に同一の候補である文書のグループである同一文書候補グループと、そのグループに属する文書との対応関係が記憶される同一文書候補グループ記憶部と、
文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求め、この割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて前記同一文書候補グループ記憶部に記憶する同一文書候補グループ作成手段と
を有することを特徴とする同一文書照合システム。
【請求項１１】
前記同一文書候補グループ記憶部に記憶されている同一の同一文書候補グループに対応付けられた２つの異なる文書の対である文書対に対して類似度を計算し、この類似度が前記類似度閾値以上の文書対を同一文書グループとして登録する同一文書グループ作成手段を有することを特徴とする請求項１０に記載の同一文書照合システム。
【請求項１２】
前記同一文書グループ作成手段は、共通する文書を含む同一文書グループを統合して同一文書グループとするように構成されていることを特徴とする請求項１１に記載の同一文書照合システム。
【請求項１３】
同一文書候補グループ作成手段が、前記優先順位を、出現文書数が少ない単語または文字が高い優先順位となるように決定することを特徴とする請求項１０から請求項１２のいずれかに記載の同一文書照合システム。
【請求項１４】
前記同一文書候補グループ作成手段及び前記複数の同一文書候補グループ記憶部を、異なる優先順位毎に設け、
前記同一文書グループ作成手段が、複数ある同一文書候補グループ記憶部のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとするように構成されていることを特徴とする請求項１０から請求項１３のいずれかに記載の同一文書照合システム。
【請求項１５】
前記複数の同一文書候補グループ作成手段が、異なる優先順位を設定する際に、
n回目の同一文書候補グループ作成手段を実行する際の単語または文字の優先順位を、その出現文書数とそれがｎ−１回目までの同一文書候補グループ作成手段で選択された文書数の総数の重み付き和が小さい単語又は文字ほど優先順位を高く設定するように構成されていることを特徴とする請求項１４に記載の同一文書照合システム。
【請求項１６】
前記同一文書候補グループ作成手段が、文書に含まれる単語から類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語を選択する際に、
単語tlの重要度をw(tl)とし、
２つの文書di={tl|0<=l<=|di|}、dj={tl|0<=l<=|dj|}の類似度sim(di,dj)が、
sim(di, dj) = (Σtl∈di∩dj w(tl)^2) / (√(Σtl∈di w(tl)^2) * √(Σtl∈dj w(tl)^2))
のcosine類似度で定義される場合、
類似度閾値がST(0<=ST<=1)の時、文書di(0<=i<=n)(nは同一照合の対象となる文書数)から、
sdi∈di {(Σtl∈sdi w(tl)^2) / (Σtl∈d w(tl)^2) > 1- ST^2}
を満たす単語群sdiを選択する
ように構成されていることを特徴とする請求項１０から請求項１５のいずれかに記載の同一文書照合システム。
【請求項１７】
同一文書候補グループ作成手段が、文書に含まれる文字から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を選択する際に、
２つの文書di={tl|0<=l<=|di|}、dj={tl|0<=l<=|dj|}の編集距離をedit_dis(di,dj)とし、
diの文字数をfq(di)、diにおけるtlの出現回数をfq(di,tl)とし、
diとdjのの類似度sim(di,dj)が、
sim(di, dj) = (fq(di) + fq(dj) - edit_dis(di,dj)) / (fq(di) + fq(dj))
で定義される場合、
類似度閾値がST(0<=ST<=1)の時、文書di(0<=i<=n)(nは同一照合の対象となる文書数)から、
sdi∈di {(Σtl∈sdi fq(di,tl)) / fq(di) > 1- (ST / (2-ST))}
を満たす文字群sdiを選択する
ように構成されていることを特徴とする請求項１０から請求項１５のいずれかに記載の同一文書照合システム。
【請求項１８】
所定の類似度以上となる情報対の類似度を計算する類似度計算プログラムであって、
情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求める処理と、
前記割合に基づく、各情報の情報要素の選択数を決定する処理と、
類似度の計算対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択する処理と、
選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行う処理と
を情報処理に実行させることを特徴とする類似度計算プログラム。
【請求項１９】
与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合プログラムあって、
文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求める処理と、
前記割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択する処理と、
前記選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて記憶する処理と
を情報処理に実行させることを特徴とする同一文書照合プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報の検索方法、類似度計算方法の技術に関し、特に、所定の類似度以上にならない情報を検索する方法、及びその検索方法を用いて類似度の計算を照合漏れのない厳密解で、かつ、高速に行う技術に関する。
【背景技術】
【０００２】
文書、画像等の情報の同一性又は類似度を判断する技術は数多く提案されており、その中でも、文書の同一性を判断する同一文書照合の技術が有名である。同一文書照合とは、文書間で実質的に同一の文書群をグルーピングすることを言う。実質的に同一であるとは、表記上は異なるが人が見れば同一と判断できることをいう。【０００３】
同一文書照合は、例えば、次のような場合に必要になる。
（１）  データベース（以下、DBと称する）の重複レコード照合
DBの重複レコード照合は、DB内の実質的に同じレコードをグルーピングすることをいい、例えば、異なる人、場所、方法によって管理された表記のゆれを含む顧客DBを統合する際のデータクリーニングや、コンタクトセンターの問い合わせ事例の重複削除に必要となる。１レコードを１文書とみなすことで同一文書照合の問題とみなすことができる。
（２）  トピック分析
トピック分析は、Blogなどの書き込みデータをグルーピングすることをいい、Blogで同じトピックが、いつ、どのあたりで話題になっているかを把握するために必要となる。【０００４】
同一文書照合システムは、対象となる文書集合と、実質的に同一とみなす条件である類似度閾値とを入力として、同一文書グループを出力する。例えば、図１の（ａ）のような５つの文書と、類似度閾値として９０％が入力された場合で説明する。ここでは、全ての文書はそれぞれ１０個のアルファベットの文字から構成されており、文書ｘと文書ｙとの類似度が９０％であるということは、ｘの１０個の文字とｙの１０個の文字とのうち９個が共通することを意味する。この時、システムは、図１の（ｂ）のように類似度が９０％以上となる２つの異なる文書の対を同一文書グループとして出力する。さらに、共通する文書を含む文書対を統合した図１の（ｃ）を同一文書グループとしても良い。【０００５】
同一文書照合システムを実現するための従来技術として、階層型クラスタリングを用いる手法がある（非特許文献１の２．５．７節）。この方法では、あらかじめ全ての文書対の類似度を計算しておく（ｓｔｅｐ１）。次に、類似度が最も高い文書対から順番に統合することにより文書を階層的にグルーピングする（ｓｔｅｐ２）。同一文書照合システムでは、ｓｔｅｐ１のように、全ての２つの異なる文書対の類似度を計算した後、類似度閾値以上の文書対のみを残すことにより、同一文書グループを求めることができる。【０００６】
図１の例では、全ての２つの異なる文書対の数は５＊（５−１）／２＝１０であるから、類似度を１０回計算し、図１の（ｂ）（ｃ）の結果を出力している。【０００７】
また、同一文書照合システムを実現するための別の従来技術として、DBの重複レコード照合を用いる手法がある（非特許文献２）。この方法は、まず、各DBのレコードをソートして、次に、ソート後の各レコードとその前方nレコードのレコード対の類似度計算を行い、類似度が閾値以上のレコード対を重複とする手法である。【０００８】
同一文書照合システムには、レコードを文書と置き換えることで同一の手法を適用できる。例えば、図１の（ａ）は、文字列で文書をソートすることにより、図２の（ａ）のようになる。次に、今、各文書とその前方１文書の文書対を類似度計算の対象としたとき、類似度を４回計算し、図２の（ｂ），（ｃ）の結果を出力する。【０００９】
更に、同一文書照合システムを実現するためのさらに別の従来技術として、K-meansを用いる手法がある（非特許文献３の５．２節）。この方法は、あらかじめ文書集合をK個のグループに分割するという前提の下で、ランダムに選択したK個の文書をグループの中心と仮定し、残りの文書を、K個のグループの中心の文書と最も類似度が高いグループに分類する。【００１０】
同一文書照合システムには、K-meansに類似度閾値の制約を追加することで同一の手法を適用できる。すなわち、ランダムに選択したK個の文書をグループの中心と仮定し、残りの文書を、K個のグループの中心の文書と類似度が閾値以上で最も高いグループに分類すれば良い。【００１１】
【非特許文献１】徳永健伸、“言語と計算−５  情報検索と言語処理”、東京大学出版会
【非特許文献２】Mauricio A. Hernandez and Salvatore J. Stolfo, “The Merge/Purge Problem for Large Databases”, Proceedings of the 1995 ACM SIGMOD International Conference on  Management of Data pp.127-138, 1995.
【非特許文献３】Jain, A.K., Murty M.N., and Flynn P.J., "Data Clustering: A Review", ACM Computing Surveys, Vol 31, No. 3, 264-323, 1999.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
同一文書照合システムを実現するための従来技術の課題として、非特許文献１、２の技術は、照合時間を短く保つことと、照合漏れを減らすことの両立が難しいことである。【００１３】
非特許文献１の階層型クラスタリングを利用した方法は、全ての２つの異なる文書対の類似度を計算するので照合漏れは発生しないが、照合対象の文書数が多くなると組み合わせ爆発が起こり照合に多大な時間が必要となる。【００１４】
また、非特許文献２の重複レコード照合を利用した方法は、ソート後の各レコードとその前方nレコードのレコード対のみに限り類似度計算を行うので、nを小さくすれば照合時間は短くできるが、その代償としてnレコード外にある同一文書は照合漏れとなってしまう。実際、図２の例でも、類似度が９０％の文書１と文書３との文書対が照合漏れとなっている。【００１５】
更に、非特許文献３の方法は、同一文書グループ数の指定が必要になるが、利用者が照合対象の文書集合に含まれる同一文書グループの数を事前に予測することは難しい。また、照合時間が指定した同一文書グループ数に比例するため、同一文書グループ数が多くなると照合時間が短く保つのが難しい。【００１６】
これらの課題は文書照合に限らず、その他の画像等の情報の同一性又は類似度の判断にもいえる事である。【００１７】
そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、情報の類似度を計算するのに必要な類似度計算の計算回数を減らすことができる検索、類似度計算の技術を提供することにある。【００１８】
また、その目的は、同一文書グループ数の指定を事前に必要とせず、照合漏れのない厳密解で、かつ、同一文書グループ数が多くなっても高速な同一文書照合システムを実現することにある。
【課題を解決するための手段】
【００１９】
上記課題を解決する本発明は、所定の類似度以上とはならない情報対を検索する検索方法であって、情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求め、前記割合に基づく、各情報の情報要素の選択数を決定し、照合対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択し、選択した情報要素が情報間で全て共通しない情報対を検索することを特徴とする。【００２０】
上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算する類似度計算方法であって、情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求め、前記割合に基づく、各情報の情報要素の選択数を決定し、類似度の計算対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択し、選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行うことを特徴とする。【００２１】
上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算する類似度計算システムであって、類似度の計算対象となる情報群で共通して適用され、情報を構成する情報要素の優先順位が格納された優先順位記憶部と、前記情報の情報対が少なくとも所定の類似度以上となるために、情報間で前記情報要素が共通する割合を求め、この割合に基づいた各情報の情報要素の選択数を決定し、前記優先順位に従って、前記各情報から前記選択数の情報要素を選択する情報要素選択手段と、選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行う類似度計算手段とを有することを特徴とする。【００２２】
上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合システムであって、単語または文字で識別され、実質的に同一の候補である文書のグループである同一文書候補グループと、そのグループに属する文書との対応関係が記憶される同一文書候補グループ記憶部と、文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求め、この割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて前記同一文書候補グループ記憶部に記憶する同一文書候補グループ作成手段とを有することを特徴とする。【００２３】
上記課題を解決する本発明は、所定の類似度以上となる情報対の類似度を計算する類似度計算プログラムであって、情報対が少なくとも所定の類似度以上となるために、情報を構成する情報要素が情報間で共通する割合を求める処理と、前記割合に基づく、各情報の情報要素の選択数を決定する処理と、類似度の計算対象となる情報群で共通して適用される情報要素の優先順位に従って、前記各情報から前記選択数の情報要素を選択する処理と、選択した情報要素が情報間で全て共通しない情報対以外の情報対に対して、類似度の計算を行う処理とを情報処理に実行させることを特徴とする。【００２４】
上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合プログラムあって、文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求める処理と、前記割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択する処理と、前記選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて記憶する処理とを情報処理に実行させることを特徴とする。
【発明の効果】
【００２５】
本発明の効果は、情報の類似度を計算するのに必要な類似度計算の計算回数を減らすことができる。その理由は、類似度の計算対象とはならない類似度閾値以下の情報対を検索し、それらの情報対を類似度計算の対象から外すからである。【００２６】
また、本発明の効果は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能なことである。高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。【００２７】
また、照合漏れのない厳密解である理由は、文書に含まれる単語または文字群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数または種類の単語または文字群を選択して文書グループ作成に用いるためである。【００２８】
さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
【図面の簡単な説明】
【００２９】
【図１】背景技術を説明するための図である。
【図２】背景技術を説明するための図である。
【図３】発明の概要を説明するための図である。
【図４】本発明の第１の実施の形態の構成を示すブロック図である。
【図５】本発明の第１の実施の形態の動作を示す流れ図である。
【図６】本発明の第１の実施の形態の単語記憶部２０、および、第２の実施の形態の対象データベース３の格納例である。
【図７】本発明の第１の実施の形態と第２の実施の形態の優先順位記憶部２１の格納例である。
【図８】本発明の第１の実施の形態の同一文書候補グループ作成手段１１の動作を示す流れ図である。
【図９】本発明の第１の実施の形態の同一文書候補グループ記憶部２２の格納例である。
【図１０】本発明の第１の実施の形態の１つ目の同一文書グループ作成手段１２の動作を示す流れ図である。
【図１１】本発明の第１の実施の形態の類似度計算の例を示す図である。
【図１２】本発明の第１の実施の形態と第２の実施の形態の出力データベース５の格納例を示す図である。
【図１３】本発明の第１の実施の形態の選択単語記憶部の格納例である。
【図１４】本発明の第１の実施の形態の２つ目の同一文書候補グループ作成手段１２の動作を示す流れ図である。
【図１５】本発明の第２の実施の形態の構成を示すブロック図である。
【図１６】本発明の第２の実施の形態の動作を示す流れ図である。
【図１７】本発明の第２の実施の形態の同一文書候補グループ作成手段１１の動作を示す流れ図である。
【図１８】本発明の第２の実施の形態の同一文書候補グループ記憶部２２の格納例である。
【図１９】本発明の第２の実施の形態の１つ目の同一文書グループ作成手段１２の動作を示す流れ図である。
【図２０】本発明の第２の実施の形態の類似度計算の例を示す図である。
【図２１】本発明の第２の実施の形態の選択文字記憶部の格納例である。
【図２２】本発明の第２の実施の形態の２つ目の同一文書候補グループ作成手段１２の動作を示す流れ図である。
【図２３】本発明の第３の実施の形態の構成を示すブロック図である。
【図２４】本発明の第３の実施の形態の動作を示す流れ図である。
【図２５】本発明の第３の実施の形態の単語記憶部２０、および、第４の実施の形態の対象データベース３の格納例である。
【図２６】本発明の第３の実施の形態と第４の実施の形態の一回目の優先順位記憶部２１の格納例である。
【図２７】本発明の第３の実施の形態の一回目の同一文書候補グループ作成手段１１の動作を示す流れ図である。
【図２８】本発明の第３の実施の形態と第４の実施の形態の一回目の同一文書候補グループ記憶部２２の格納例である。
【図２９】本発明の第３の実施の形態の一回目の選択文書記憶部、第４の実施の形態の一回目の選択文字記憶部の格納例である。
【図３０】本発明の第３の実施の形態と第４の実施の形態の二回目の優先順位記憶部２１の格納例である。
【図３１】本発明の第３の実施の形態と第４の実施の形態の二回目の同一文書候補グループ作成手段の処理イメージを示す図である。
【図３２】本発明の第３の実施の形態と第４の実施の形態の二回目の同一文書候補グループ記憶部２２の格納例である。
【図３３】本発明の第３の実施の形態の二回目の選択文書記憶部、第４の実施の形態の二回目の選択文字記憶部の格納例である。
【図３４】本発明の第３の実施の形態の同一文書グループ作成手段１２の動作を示す流れ図である。
【図３５】本発明の第１の実施の形態又は第２の実施の形態と第３の実施の形態又は第４の実施の形態の類似度計算の数を比較する図である。
【図３６】本発明の第４の実施の形態の構成を示すブロック図である。
【図３７】本発明の第４の実施の形態の動作を示す流れ図である。
【図３８】本発明の第４の実施の形態の同一文書グループ作成手段１２の動作を示す流れ図である。
【符号の説明】
【００３０】
１  データ処理装置
２  記憶装置
３  対象データベース
４  入力装置
５  出力データベース
１０  文書解析手段
１１  同一文書候補グループ作成手段
１２  同一文書グループ作成手段
２０  単語群記憶部
２１  優先順位記憶部
２２  同一文書候補グループ記憶部
【発明を実施するための最良の形態】
【００３１】
まず、図３の例を通して本発明の概要について説明する。【００３２】
尚、以下の説明にあたって、情報の例として文書を、情報要素の例として文字を例にして説明するが、これに限られない。例えば、情報の例としては画像、音等でも良く、それを構成する情報要素としては、画像中の特定の絵柄や、特定の音等が考えられる。【００３３】
また、以下の説明にあたって、図３に示される文書１から文書５に対して、類似度が９０％以上にならない文書の組（以下、文書対と称する）を検索する場合を説明する。【００３４】
本発明では、まず、５つの文書で共通する文字の優先順位を決める。例えば、図３の（ｄ）のように文書群全体で出現文書数が少ない文字ほど、優先順位が高くなるように定める。尚、出現文書数が同じ場合はアルファベット順で若い文字を優先順位が高くなるように定められているものとする。【００３５】
次に、文書対が少なくとも類似度９０％以上となるために、文書間で文字が共通する割合を求め、この割合に基づいて、１文書から選択する文字数を決定する。【００３６】
類似度９０％以上となるためには文書対の文書間で文字が９０％以上共通すれば良い。これは、文書対の文書間で少なくとも９個の文字が共通しなければ、類似度９０％以上にはならないといことである。【００３７】
別の言い方をすると、文書ｘから選んだ２つの文字のどちらも文書ｙに含まれなければ、文書ｘと文書ｙとは共通する単語が８個以下ということになり、類似度は９０％未満となるということになり、文書ｘと文書ｙとの類似度が９０％以上であるという前提と矛盾する。これは、文書ｙと文書ｘを置き換えた場合でも同様である。従って、１文書から選択する文字数は２個である。尚、本例では、文書１から文書５が１０文字で構成されているため、いずれの文書も選択する文字数が２個であるが、例えば、一文書が５文字で構成されている場合には、選択する文字数は１個である。【００３８】
続いて、各文書から優先順位に基づいて２個の文字を選択する。図３（ａ）の例では、文書１で選択する文字はＡとＩであり、文書２で選択する文字はＫとＬであり、文書３で選択する文字はＩとＬであり、文書４で選択する文字はＫとＬであり、文書５で選択する文字はＡとＭである。【００３９】
そして、選択した文字が文書間で全て共通しない文書対を検索する。図３（ａ）の例では、文書１と文書２との文書対では共通する文字がなく、文書１と文書３との文書対ではＩが共通し、文書１と文書４との文書対では共通する文字がなく、文書１と文書５との文書対ではＡが共通する。また、文書２と文書３との文書対ではＬが共通し、文書２と文書４との文書対ではＫとＬとが共通し、文書２と文書５との文書対では共通する文字がない。また、文書３と文書４との文書対ではＬが共通し、文書３と文書５との文書対では共通する文字がない。また、文書４と文書５との文書対では共通する文字がない。従って、共通する文字がない文書対は、文書１と文書２との文書対と、文書１と文書４との文書対と、文書２と文書５との文書対と、文書３と文書５との文書対と、文書４と文書５との文書対との５個である。これらの５個の文書対は、類似度が９０％以上にはならない文書対である。【００４０】
このようになる理由は、文書ｘと文書ｙとの類似度が９０％以上であるならば、さらに、選ぶ文字の優先順位が全ての文書間で一意に定められているならば、文書ｘ（文書ｙ）から優先順位に従い選んだ２つの文字のいずれかは、文書ｙ（文書ｘ）から選んだ２つの文字のいずれかに含まれるからである。【００４１】
文書ｘから選んだ２つの文字｛ｘ１，ｘ２｝のいずれかもしくは両方が文書ｙに含まれるが、それが文書ｙから選んだ２つの文字｛ｙ１，ｙ２｝には含まれないとすると、文書ｙにおける文字の優先度は｛ｙ１，ｙ２｝＞｛ｘ１，ｘ２｝となる。この時、｛ｘ１，ｘ２｝∩｛ｙ１，ｙ２｝＝φになるため、同時に、文書ｙから選んだ２つの文字｛ｙ１，ｙ２｝のいずれかもしくは両方が文書ｘに含まれるが、それが文書ｘから選んだ２つの文字｛ｘ１，ｘ２｝には含まれないことになる。この時、文書ｘにおける文字の優先度は｛ｘ１，ｘ２｝＞｛ｙ１，ｙ２｝となる。これは、文書ｘと文書ｙとで選択する文字の優先順位が異なることになり、選ぶ文字の優先順位が全ての文書間で一意に定められていることに矛盾する。文書ｙと文書ｘを置き換えた場合でも同様である。【００４２】
このように、本発明によれば、所定の類似度以上にはならない文書対を検索することができる。
尚、上述の説明では、類似度の閾値の設定を以上としたが、割合の算出方法によって所定の類似度閾値を含まず、所定の類似度閾値を超えない文書対を検索するようにしても良い。また、文書で共通する文字の優先順位は、異なる文書群の検索処理毎に決定しても良いし、一度決定したものを繰り返し用いても良い。【００４３】
更に、文書照合システムのように、所定の類似度以上となる文書対の類似度を求めるシステムにおいても、本発明を用いれば類似度の計算回数を減らすことができる。例えば、図３の例のように、９０％以上の類似度となる文書対の類似度を求める場合、９０％以上の類似度とはならない文書対を類似度計算の対象から外すことにより、類似度の計算回数を減らすことができる。図３の（ａ）の例では、本発明を用いない場合、類似度計算を（５×４）／（２×１）＝１０回行わなければならない。しかし、文書１と文書２との文書対と、文書１と文書４との文書対と、文書２と文書５との文書対と、文書３と文書５との文書対と、文書４と文書５との文書対との５個の文書対は、９０％以上の類似度とはならない文書対であるため、類似度計算の対象から外すと、類似度計算の回数は、１０−５＝５回となる。【００４４】
次に、上記の説明をより一般化する。
１．文書を単語の集合と考える場合
記号の定義
データベースに含まれる文書集合: D = {di| 0<=i<=|D|}、
データベースに含まれる単語集合: T = {tl| 0<=l<=|T|}、
diに含まれる単語の異なり数: |di|、
diに含まれる単語集合: di = {tl| 0<=l<=|di|}、
tlの優先順位: Pr(tl)、
tlの重要度: w(tl) # Pr(tl)はw(tl)の大きさから求めても良い
diとdjの類似度: sim(di,dj)、
類似度閾値: ST
と定義する。
定理1-1:
sdiを
sdi⊆di { sdi∩∀dk[sim(di,dk)>= ST]≠φ ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi) }
(-sdiはsdiの補集合)
により定義する。
この時、PrがDで一意に定まり、sdi, sdjが定まれば、
sim(di, dj) >= STのとき、
sdi∩sdj≠φが成立する。
証明:
まず、sdi,sdjの定義により、
sim(di, dj) >= STのとき、
sdi∩dj≠φ
sdj∩di≠φ
が成立する。
ここで、
sdi∩dj≠φ ∧ sdi∩sdj=φ
と仮定すると、
djにおける単語の重要度は、
Pr(∀tl∈sdj) > Pr(∀tl∈sdi)となる。
この時、sdi∩sdj=φであるから
sdj∩di≠φ ∧ sdj∩sdi=φ
が同時に成立する。
そのため、
diにおける単語の重要度は、Pr(∀tl∈sdi) > Pr(∀tl∈sdj)になる。
これは、PrがDで一意に定まることと矛盾する。
iとjを置き換えた場合でも同様である。【００４５】
したがって、定理1-1は成立する。【００４６】
次に、
sim(∀di∈D, ∀dj∈D)を求める前にsdiを求めることができることを示す。
定理1-2:
sim(di, dj) = 
(Σtl∈di∩dj w(tl)^2) / ((√Σtl∈di w(tl)^2) * √(Σtl∈dj w(tl)^2))
で定義されるcosine類似度を用いる場合、
sdi∈di { (Σtl∈sdl w(tl)^2) / (Σtl∈di w(tl)^2) > 1- ST^2 ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi) }
で定義されるならば、
sdi∩∀dk[sim(di,dk) >= ST]≠φ ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi)
が成立する。
証明:
まず、
sim(di, dj) >= ST
ならば
(Σtl∈di∩dj w(ti)^2) / (Σtl∈di w(tl)^2)>= ST^2
が成立することを証明する。
(Σtl∈dj w(tl)^2)>= (Σtl∈di∩dj w(tl)^2)
であるから
ST <= sim(di, dj) = (Σti∈di∩dj w(ti)^2) / ((√Σtl∈di w(tl)^2) * (√Σtl∈dj w(tl)^2))
<= (Σti∈dj w(ti)^2) / ((√Σtl∈di w(tl)^2) * (√Σtl∈dj w(tl)^2))
= (√Σtl∈di∩dj w(tl)^2) / (√Σtl∈di w(tl)^2)
したがって、
(Σtl∈di∩dj w(tl)^2) / (Σtl∈di w(tl)^2)>= ST^2
次に、
sdi∈di { (Σl=1..|sdi|w(tl)^2) / (Σtl∈di w(tl)^2) } > 1- ST^2
で定義されるならば、
sdi∩∃dk[sim(di, dk)>=ST]＝φ
であると仮定する。
このとき、
sim(di,dk) >= ST
であるから、上記より、
(Σti∈di∩dk w(tl)^2) / (Σtl∈di w(tl)^2)>= ST^2
が成立し、
また、
(Σtl∈sdi w(tl)^2) / (Σtl∈di w(tl)^2) > 1- ST^2
であるから、２つを足して
((Σti∈di∩dk w(tl)^2) + (Σtl∈sdi w(tl)^2)) / (Σtl∈di w(tl)^2) > 1 
((Σti∈di∩dk w(tl)^2) + (Σtl∈sdi w(tl)^2))> (Σtl∈di w(tl)^2)
となる。
ここで、
sdi∩dk＝φ
であるから、
(Σti∈(di∩dk)∪sdi w(tl)^2) > (Σtl∈di w(tl)^2)
となるが、
(di∩dk)∪sdi ⊆ di
であるから成立せず矛盾する。
したがって、
sdi = sdi∈di { (Σtl∈sdi w(tl)^2) / (Σtl∈di w(tl)^2) } > 1- ST^2
で定義されるならば、
sdi∩∀dk[sim(di,dk) >= ST]≠φ
が成立する。
上記は、sdiにどの単語から選んでいったとしても成立するので定理1-2は成立する。
２．文書を文字の集合と考える場合
記号の定義:
データベースに含まれる文書集合: D = {di| 0<=i<=|D|}
データベースに含まれる文字集合: T = {tl| 0<=l<=|T|}
diに含まれる文字の異なり数:|di|
diに含まれる文字集合: di = {tl| 0<=l<=|di|}
diにおけるtlの出現回数: fq(di,tl)
diに含まれる文字数: fq(di)
tlの優先順位: Pr(tl)
tlの重要度: w(tl) # Pr(tl)はw(tl)の大きさから求めても良い
diとdjの類似度: sim(di,dj)
類似度閾値: ST
定理2-1:
sdiを
sdi⊆di { sdi∩∀dk[sim(di,dk)>= ST]≠φ ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi) }
により定義する。
この時、
PrがDで一意に定まり、
sdi, sdjが定まれば、
sim(di, dj) >= STのとき
sdi∩sdj≠φ
が成立する。
証明:
定理1-1と同一の証明となる。
定理2-2:
sim(di, dj) = 
(fq(di) + fq(dj) - edit_dis(di,dj)) / (fq(di) + fq(dj))
で定義される関数を用いる場合
sdi = sdi∈di { (Σl=1..|sdi|fq(di,tl)) / fq(di) > 1 - (ST / (2-ST)) ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi) }
で定義されるならば、
sdi∩∀dk[sim(di,dk) >= ST]≠φ ∧ Pr(∀tl∈sdi) > Pr(∀tl∈-sdi)
が成立する。
尚、edit_dis(di,dj)はdiとdjの編集距離を意味する。【００４７】
diとdjの編集距離とは、diからdj又はdjからdiに変換するために必要となる最小の挿入又は削除の回数を意味し、距離が小さいほど2つの文書は似ていることを意味する。
証明:
まず、
sim(di, dj) >= ST
ならば
(Σtl∈di∩dj fq(di,tl)) / fq(di) >= ST / (2-ST)
が成立することを証明する。
edit_dis(di,dj) >= fq(di) + fq(dj) - 2 x (Σtl∈di∩dj min(fq(di,tl), fq(dj,tl)))
であるから、
ST <= sim(di,dj)
= (fq(di) + fq(dj) - edit_dis(di,dj)) / (fq(di) + fq(dj))
<= 2 x (Σtl∈di∩dj min(fq(di,tl), fq(dj,tl))) / (fq(di) + fq(dj))
また、
fq(dj) >= (Σtl∈di∩dj min(fq(di,tl), fq(dj,tl)))
であるから
ST <= 2 x (Σtl∈di∩dj min(fq(di,tl), fq(dj,tl))) / (fq(di) + (Σtl∈di∩dj min(fq(di,tl), fq(dj,tl))))
したがって、
(Σtl∈di∩dj min(fq(di,tl), fq(dj,tl))) / fq(di) >= ST / (2-ST)
ここで、
fq(di,tl) >= min(fq(di,tl), fq(dj,tl)) 
であるから
(Σtl∈di∩dj fq(di,tl)) / fq(di) >= ST / (2-ST)
次に、
sdi∈di { (Σtl∈sdi fq(di,tl)) / fq(di) } > 1 - (ST / (2-ST)) }
で定義されるならば、
sdi∩∃dk[sim(di, dk)>=ST]＝φ
であると仮定する。
sim(di,dk) >= ST
であるから、上記より、
Σtl∈di∩dk fq(di,tl) / fq(di) >= ST / (2-ST)
が成立し、
また、
sdi∈di { (Σtl∈sdi fq(di,tl)) / fq(di) } > 1 - (ST / (2-ST)) }
であるから、
(Σtl∈di∩dk fq(di,tl)) / fq(di) + (Σtl∈sdi fq(di,tl)) / fq(di) > 1
(Σtl∈di∩dk fq(di,tl)) + (Σtl∈sdi fq(di,tl)) > fq(di)
となる。
ここで、
sdi∩dk＝φ
であるから、
(Σtl∈(di∩dk)∪sdi fq(di,tl)) > fq(di)
となるが、
(di∩dk)∪sdi ⊆ di
であるから成立せず矛盾する。
したがって、
sdi = sdi∈di { (Σtl∈sdi fq(di,tl)) / fq(di) } > 1- (ST / (2-ST)) }
で定義されるならば、
sdi∩∀dk[sim(di,dk) >= ST]≠φ
が成立する。
上記は、sdiにどの文字から選んでいったとしても成立するので定理2-2は成立する。【００４８】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。【００４９】
尚、本実施の形態の説明において、情報照合の代表的なものである文書照合システムを例にして説明する。また、本実施の形態では、文書を単語の集合として扱うか、あるいは、文字の集合として扱うかにより同一文書照合システムの構成が異なるため、第１の実施の形態では、文書を単語の集合として扱う場合のシステムを、第２の実施の形態では、文書を文字の集合として扱う場合のシステムを説明する。【００５０】
＜第１の実施の形態＞
本発明の第１の実施の形態を説明する。【００５１】
第１の実施の形態に係る同一文書照合システムは、図４に示される如く、プログラム制御により動作するデータ処理装置１と、情報を記憶する記憶装置２と、対象データベース３とキーボード等の入力装置４と出力データベース５とを含む。【００５２】
対象データベース３は、いわゆるデータベースであり、複数の文書が記憶されている。単一のデータベースであっても、複数のデータベースを仮想的にマージしたデータベースであってもよい。【００５３】
入力装置４からは、同一文書照合システムの利用者が類似度閾値を入力する。２つの文書対の類似度がこの類似度閾値以上であれば同一文書とみなす。【００５４】
データ処理装置１は、文書解析手段１０と、同一文書候補グループ作成手段１１と、同一文書グループ作成手段１２とを含む。【００５５】
文書解析手段１０は、対象データベース３に格納された各文書に含まれる単語群を抽出して単語群記憶部２０に格納し、さらに、対象データベース３に出現する全ての単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部２１に格納する。尚、本説明では、理解を容易とする為に、優先順位を決定する文書解析手段１０を設けたが、以前に用いた優先順位を用いる場合には（既に優先順位記憶部２１に優先順位が格納されている場合には）、文書解析手段１０の優先順位を決定する機能は不要である。【００５６】
同一文書候補グループ作成手段１１は、単語群記憶部２０に格納された文書に含まれる単語群の中から、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部２１に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部２２を参照して選択したそれぞれの単語をIDとした同一文書候補グループにその文書を追加する。【００５７】
同一文書グループ作成手段１２は、同一文書候補グループ記憶部２２に格納された同一の同一文書候補グループに所属する文書対の類似度を、単語群記憶部２０を参照して計算して、入力装置４から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する。【００５８】
記憶装置２は、単語群記憶部２０と、優先順位記憶部２１と、同一文書候補グループ記憶部２２とを含む。記憶装置２は処理の高速化の都合上、メモリ内に格納することが望ましいが、ＨＤＤ等の磁器記憶媒体であっても良い
単語群記憶部２０は、文書とその文書に含まれる単語群との対応関係が格納される。【００５９】
優先順位記憶部２１は、単語とその優先順位の対応関係が格納される。【００６０】
同一文書候補グループ記憶部２２は、同一文書候補グループと文書との対応関係が格納される。【００６１】
出力データベース５は、文書と同一文書グループとの対応関係が格納される。【００６２】
次に、図５を参照して、第１の実施の形態の動作について詳細に説明する。なお、入力装置４から入力された類似度閾値は７５％として説明する。【００６３】
まず、文書解析手段１０は、対象データベース３に格納された各文書に含まれる単語群を抽出して単語群記憶部２０に格納し、さらに、対象データベース３に出現する全ての単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部２１に格納する（ステップS1）。尚、本説明では、理解を容易とする為に、同一文書グループの作成処理の過程において優先順位を決定するステップを設けたが、以前の同一文書グループの作成処理において用いた優先順位を用いても良く、この場合には、優先順位を決定するステップは不要である。【００６４】
文書から抽出する単語群は、文書を形態素解析して切り出した単語群とする。切り出した単語群のうち、特定の品詞、例えば、名詞、形容動詞、形容詞、動詞、未知語を持つ単語群のみを使用するようにしても良い。例えば、ある文書「情報検索で検索」の場合は｛情報、検索｝が単語群となる。このように、単語の文書内の出現回数は後の処理では用いないので、１つの文書に同じ単語が複数出現する場合でもそのうち１つを単語群としてもよい。【００６５】
尚、形態素解析は、日本語や中国語のような文書に単語の区切りが存在しない言語に対して本発明を適用する際に必要となる。一方、英語や韓国語、ドイツ語、フランス語、スペイン語等、文書に単語の区切りが存在する言語に対しては必ずしも必要ではない。【００６６】
図６に単語群記憶部２０の格納例を示す。なお、動作を分かりやすくするために、ここではそれぞれの単語をアルファベットとして記号化した上で、アルファベット毎に列を揃えて表記している。【００６７】
単語の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発明の実施には影響しない。ただし、出現文書数が少ない単語に高い優先順位を与えれば、同一文書候補グループ作成手段１１において同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段１２において類似度計算の回数を少なくすることが可能である。【００６８】
図７に優先順位記憶部２１の格納例を示す。ここでは、単語とその出現文書数、優先順位の対応関係を格納している。単語の優先順位は、単語の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い単語ほど優先順位を高くしている。【００６９】
次に、同一文書候補グループ作成手段１１は、単語群記憶部２０に格納された文書に含まれる単語群の中から、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部２１に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部２２を参照して選択したそれぞれの単語をIDとした同一文書候補グループにその文書を追加する（ステップS2）。【００７０】
ここで図８を用いて、ステップS2の動作の詳細を説明する。【００７１】
まず、単語群記憶部２０に格納された先頭の文書IDを持つ文書を選択する（ステップS20）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書１から文書ｎのIDが振られており、ｉ番目の文書は文書ｉで現し、また、ステップS20では文書ｉ=文書１が選択されたとして説明する。【００７２】
次に、文書ｉに含まれる単語のうち、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部２１に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択する（ステップS21）。ここでは、類似度を定理1-2のcosine類似度で計算する場合で説明する。【００７３】
文書ｉに含まれる各単語の重みw(tl)はどのように決定しても本発明の実施には影響しない。例えば、w(tl)=1のように単語の重み全て同一にするか、w(tl)=log2(総文書数／tlの出現文書数)のように出現文書数が少ないほど重要度が高くなるように設定することができる。ここでは、w(tl)=1として説明する。なお、w(tl)=log2(総文書数／tlの出現文書数)で計算する場合は、tlの出現文書数は、優先順位記憶部２１から得ることが可能である。【００７４】
文書ｉから選択する単語群は、定理1-2に従う。例えば、入力装置４から入力された類似度閾値は７５％であるから、図６の単語群記憶部２０の文書１から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／９＞１−０．７５＾２を満たす最小の単語の異なり数である４個を選択すればよい。同様に、文書２から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／５＞１−０．７５＾２を満たす最小の単語の異なり数である２個を選択すればよい。同様に、文書３から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／７＞１−０．７５＾２を満たす最小の単語の異なり数である４個を選択すればよい。同様に、文書４から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／６＞１−０．７５＾２を満たす最小の単語の異なり数である３個を選択すればよい。同様に、文書５から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／７＞１−０．７５＾２を満たす最小の単語の異なり数である４個を選択すればよい。同様に、文書６から選択する単語は、定理1-2に従い、（選択する単語の異なり数）／２＞１−０．７５＾２を満たす最小の単語の異なり数である１個を選択すればよい。【００７５】
文書ｉから選択する単語の順序は、優先順位記憶部２１に格納された優先順位に従う。文書１から選択する４個の単語は、｛Ａ，Ｉ，Ｂ，Ｃ｝となる。【００７６】
次に、ステップS21で選択した単語群の先頭の単語IDを持つ単語を選択する（ステップS22）。単語を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりするために、単語には単語１から単語ｍのIDが振られており、ｊ番目の単語は単語ｊで表し、またステップS22では単語ｊ=単語１から選択されたとして説明する。【００７７】
次に、同一文書候補グループ記憶部２２に単語ｊをIDとした同一文書候補グループが存在するかを参照する（ステップS23）。もし存在しない場合は、単語ｊをIDとした同一文書候補グループを新たに作成し、それに文書ｉを追加する（ステップS24）。存在する場合は、単語ｊをIDとした同一文書候補グループに文書ｉを追加する（ステップS25）。【００７８】
次に、ステップS22の単語IDがｊ＞＝ｍ満たすかを判断し（ステップS26）、満たす場合はステップS29へ進む、満たさない場合は、単語ｊ=単語｛ｊ＋１｝として（ステップS27）、ステップS22へ戻る。【００７９】
次に、ステップS21の文書IDがｉ＞＝ｎを満たすかを判断し（ステップS29）、満たす場合はステップS3に進み、満たさない場合は、文書ｉ＝文書｛ｉ＋１｝として（ステップS28）、ステップS21へ戻る。【００８０】
以上、ステップS2の同一文書候補グループ作成手段１１を説明した。【００８１】
類似度閾値が７５％の場合、同一文書候補グループ作成手段１１は、図６の単語群記憶部２０の文書１から｛Ａ，Ｉ，Ｂ，Ｃ｝を、文書２から｛Ｇ，Ｌ，Ｅ｝を、文書３から｛Ｉ，Ｂ，Ｃ，Ｄ｝を、文書４から｛Ｇ，Ｋ，Ｌ｝を、文書５から｛Ａ，Ｍ，Ｂ，Ｃ｝を、文書６から｛Ｋ｝選択し、それを同一文書候補グループ記憶部２２に図９のように格納する。【００８２】
図５のステップS3に戻り、同一文書グループ作成手段１２は、同一文書候補グループ記憶部２２を参照して同一の同一文書候補グループに所属する文書対の類似度を単語群記憶部２０を参照して計算して、入力装置４から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する（ステップS3）。【００８３】
ここで、同一文書グループ作成手段１２の動作（ステップS3）について詳細に説明する。尚、ステップS3の動作は２通りの方法があり、まず一つ目を図１０を用いて説明する。【００８４】
まず、同一文書候補グループ記憶部２２に格納された先頭の単語IDを持つ単語を選択する（ステップS310）。単語を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、単語には単語１から単語ｎのIDが振られており、ｉ番目の単語は単語ｉで現し、また、ステップS310では単語ｉ＝単語１が選択されたとして説明する。【００８５】
次に、単語ｉをIDとする同一文書候補グループのうち先頭の文書IDを持つ文書を選択する（ステップS311）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、単語ｉをIDとする同一文書候補グループの文書には文書１から文書ｍのIDが振られており、ｊ番目の文書は文書ｊで現し、また、ステップS311では文書ｊ＝文書１が選択されたとして説明する。【００８６】
次に、単語ｉをIDとする同一文書候補グループのうち文書ｋ＝文書ｊ＋１の文書IDを持つ文書を選択する（ステップS312）。【００８７】
次に、単語群記憶部２０を参照して文書ｊと文書ｋとの類似度を求め、類似度が入力装置４から入力された類似度閾値以上の場合は、同一文書グループとして出力データベース５に登録する（ステップS313）。類似度の計算式は、ステップS2の同一文書候補グループ作成手段１１と同一のものを用いる。例えば、図９の同一文書候補グループ記憶部２２の単語ＡをIDとする同一文書グループに登録された文書１と文書５の類似度を単語の重みをw(tl)=1とした定理2のcosine類似度で計算すると、cosine（文書１，文書５）＝６／√９ｘ√７＝０．７６となり、類似度閾値は７５％であるから、同一文書グループとして出力データベース５に登録する。【００８８】
次に、ステップS312の文書IDがｋ＞＝ｍを満たすかを判断し（ステップS314）、満たす場合はステップS316へ進む、満たさない場合は、文書ｋ＝文書｛ｋ＋１｝として（ステップS315）、ステップS312へ戻る。【００８９】
次に、ステップS311の文書IDがｊ＞＝ｍを満たすかを判断し（ステップS316）、満たす場合はステップS318へ進む、満たさない場合は、文書ｊ＝文書｛ｊ＋１｝（ステップS317）として、ステップS311へ戻る。【００９０】
次に、ステップS310の単語IDがｉ＞＝ｎを満たすかを判断し（ステップS318）、満たす場合は処理を終了し、満たさない場合は、単語ｉ＝単語｛ｉ＋１｝（ステップS319）として、ステップS310へ戻る。【００９１】
以上、一つ目のステップS3の同一文書グループ作成手段１２の動作を説明した。類似度閾値が７５％の場合、同一文書グループ作成手段１２は、図９の同一文書候補グループ記憶部２２の単語ＡをIDとする同一文書候補グループの｛文書１，文書５｝、単語Ｂのグループの｛文書１，文書３｝，｛文書１，文書５｝，｛文書３，文書５｝、単語Ｃのグループの｛文書１，文書３｝，｛文書１，文書５｝，｛文書３，文書５｝、単語Ｇのグループの｛文書２，文書４｝、単語Ｉのグループの｛文書１，文書３｝、単語Ｋのグループの｛文書４，文書６｝、単語Ｌのグループの｛文書２，文書４｝と、類似度を計１１回計算し（類似度の計算結果は図１１を参照のこと）、出力データベース５に同一文書グループを図１２のように出力する。【００９２】
このように、非特許文献１の総当りの方法では、図６の単語群記憶部２０に対して類似度は６×５／２＝１５回計算する必要があるが、本発明では１１回で同一の結果を出力できる。ステップS3の同一文書グループ作成手段１２の説明は、同一の文書対に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求めた文書対を記憶装置２に保持することで、同一の文書対を１度だけ計算すれば良いようにできる。例えば、｛文書１，文書５｝は、単語Ａのグループと、単語Ｂのグループと、単語Ｃのグループとの３回計算しているが、いずれかのグループで類似度を計算していれば、他のグループで計算する必要はない。この時、ステップS3の同一文書グループ作成手段１２は図９の同一文書候補グループ記憶部２２に対して類似度は５回計算するだけで良い。【００９３】
出力データベース５への同一文書グループの格納方法は、図１２の（ａ）、（ｂ）、（ｃ）が考えられる。（ａ）は、類似度閾値以上のそれぞれの文書対を同一文書グループとして格納している。各レコードが一つの同一文書グループを意味する。（ｂ）は、共通する文書を含む類似度閾値以上の文書対を統合した文書群を同一文書グループとして格納している。１列目のフィールドの値が一つの同一文書グループを意味する。（ｃ）は、ある文書との類似度が閾値以上となる文書群を、その文書に対する同一文書グループとして格納している。第１列の文書IDが、その文書IDに対する同一文書グループを意味する。例えば、文書１に対する同一文書グループとして文書３と文書５が、文書２に対しては文書４が登録されている。【００９４】
続いて、２つ目の同一文書グループ作成手段１２の動作（ステップS3）の詳細について、図１４を用いて説明する。２つ目の動作を実現するためには、ステップS2の同一文書候補グループ作成手段１１において、各文書と選択した単語群との対応関係を選択単語記憶部へ出力することが必要である。選択単語記憶部の例を図１３に示す。【００９５】
まず、選択単語記憶部に格納された先頭の文書IDを持つ文書を選択する（ステップS320）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書１から文書ｎのIDが振られており、ｉ番目の文書は文書ｉで現し、また、ステップS320では文書ｉ＝文書１が選択されたとして説明する。【００９６】
次に、同一文書候補グループ記憶部２２を参照して、文書ｉのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める（ステップS321）。例えば、文書ｉ＝文書１の場合、文書１の選択単語は、図１３を参照すると｛Ａ，Ｂ，Ｃ，Ｉ｝となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図９を参照すると単語Ａについては｛文書１，文書５｝、単語Ｂについては｛文書１，文書３，文書５｝、単語Ｃについては｛文書１，文書３，文書５｝、単語Ｉについては｛文書１，文書３｝となっている。これらの論理和の文書群は、｛文書１，文書３，文書５｝となる。【００９７】
次に、ステップS321で求めた文書群から文書ｊを取り出す（ステップS322）。文書を取り出す順番は本発明の実施とは無関係であり任意の順番でよい。【００９８】
次に、ｊ＞ｉならば、文書ｉと文書ｊの類似度を計算し、類似度閾値以上の場合は同一文書グループとして出力データベース５に登録する（ステップS323）。例えば、文書ｉ＝文書１のとき、ステップS322では、｛文書１，文書３，文書５｝が論理和の単語群となるが、文書ｊ＝文書３、文書ｊ＝文書５のときにのみ類似度を計算することとなる。類似度の計算式は、ステップS2の同一文書候補グループ作成手段１１と同一のものを用いるが、この点に関しては、一つ目の同一文書グループ作成手段１２の動作と同様なので省略する。【００９９】
次に、ステップS322で求めた論理和の単語群に残りがある場合はステップS322に戻り、残りがない場合はステップS325に進む（ステップS324）。【０１００】
次に、ステップS320の文書IDがｉ＞＝ｎを満たすかを判断し（ステップS325）、満たす場合は処理を終了し、満たさない場合は、文書ｉ＝文書｛ｉ＋１｝（ステップS326）として、ステップS320へ戻る。【０１０１】
以上、２つ目のステップS3の同一文書グループ作成手段１２の動作を説明した。類似度閾値が７５％の場合、文書１に対する論理和の単語群は｛文書１，文書３，文書５｝、文書２に対する論理和の単語群は｛文書２，文書４｝、文書３に対する論理和の単語群は｛文書１，文書３，文書５｝、文書４に対する論理和の単語群は｛文書２，文書４，文書６｝、文書５に対する論理和の単語群は｛文書１，文書３，文書５｝、文書６に対する論理和の単語群は｛文書４，文書６｝となり、類似度は、｛文書１，文書３｝、｛文書１，文書５｝、｛文書２，文書４｝、｛文書３，文書５｝、｛文書４，文書６｝の計５回計算し、出力データベース５に同一文書グループを図１２のように出力する。【０１０２】
このように、非特許文献１の総当りの方法では、図６の単語群記憶部２０に対して類似度は６×５／２＝１５回計算する必要があるが、本発明では５回で同一の結果を出力できる。【０１０３】
以上の如く、本発明は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能である。【０１０４】
高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。また、照合漏れのない厳密解である理由は、文書に含まれる単語群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を選択して文書グループ作成に用いるためである。さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
更に、単語を選択する際に適用される共通の優先順位を、出現文書数が少ない単語ほど、優先順位が高くなるように設定すれば、類似度閾値以上にならない文書対をより多く検索することができる。その結果、同一文書候補グループ作成手段１１により、同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段１２において類似度計算の回数を少なくすることが可能となる。
＜第２の実施の形態＞
第２の実施の形態を説明する。【０１０５】
図１５を参照すると、第２の実施の形態に係る同一文書照合システムは、プログラム制御により動作するデータ処理装置１と、情報を記憶する記憶装置２と、対象データベース３とキーボード等の入力装置４と出力データベース５とを含む。【０１０６】
対象データベース３については、第１の実施の形態と同様である。【０１０７】
入力装置４についても、第１の実施の形態と同様である。【０１０８】
データ処理装置１は、文書解析手段１０と、同一文書候補グループ作成手段１１と、同一文書グループ作成手段１２を有する。【０１０９】
文書解析手段１０は、対象データベース３に出現する全ての文字に関するすべての文書で共通する優先順位を判定して優先順位記憶部２１に格納する。尚、本説明では、第１の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段１０を設けたが、以前に用いた優先順位を用いる場合には（既に優先順位記憶部２１に優先順位が格納されている場合には）、文書解析手段１０の優先順位を決定する機能は不要である。【０１１０】
同一文書候補グループ作成手段１１は、対象データベース３に格納された文書に含まれる文字群の中から、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、優先順位記憶部２１に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部２２を参照して選択したそれぞれの文字をIDとした同一文書候補グループにその文書を追加する。【０１１１】
同一文書グループ作成手段１１は、同一文書候補グループ記憶部２２に格納された同一の同一文書候補グループに所属する文書対の類似度を対象データベース３を参照して計算して、入力装置４から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する。【０１１２】
記憶装置２は、優先順位記憶部２１と、同一文書候補グループ記憶部２２とを含む。記憶装置２は処理の高速化の都合上、メモリ内に格納することが望ましいが、ＨＤＤ等の磁器記憶媒体であっても良い
優先順位記憶部２１は、第１の実施の形態と同様である。同一文書候補グループ記憶部２２は、第１の実施の形態と同様である。出力データベース５は、第１の実施の形態と同様である。【０１１３】
次に、図１６を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置４から入力された類似度閾値は７５％として説明する。【０１１４】
まず、文書解析手段１０は、対象データベース３に出現する全ての文字に関するすべての文書で共通する優先順位を判定して優先順位記憶部２１に格納する（ステップS1）。尚、本説明では、第１の実施の形態と同様に、理解を容易とする為、同一文書グループの作成処理の過程において、優先順位を決定したが、以前の同一文書グループの作成処理において用いた優先順位を用いても良く、この場合には、優先順位を判定するステップは不要である。【０１１５】
文字の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発明の実施には影響しない。ただし、出現文書数が少ない文字に高い優先順位を与えれば、同一文書候補グループ作成手段１１において同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段１２において類似度計算の回数を少なくすることが可能である。【０１１６】
図７に図６の対象データベース３を参照して求めた優先順位記憶部２１の格納例を示す。ここでは、文字とその出現文書数、優先順位の対応関係を格納している。文字の優先順位は、文字の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い文字、すなわち、アルファベット順で若い文字ほど優先順位を高くしている。【０１１７】
続いて、同一文書候補グループ作成手段１１は、対象データベース３に格納された文書に含まれる文字群の中から、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、優先順位記憶部２１に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部２２を参照して選択したそれぞれの文字をIDとした同一文書候補グループにその文書を追加する（ステップS2）。【０１１８】
ここで図１７を用いて、同一文書候補グループ作成手段１１の動作（ステップS2）の詳細を説明する。【０１１９】
まず、対象データベース３に格納された先頭の文書IDを持つ文書を選択する（ステップS20）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書１から文書ｎのIDが振られており、ｉ番目の文書は文書ｉで現し、また、ステップS20では文書ｉ＝文書１が選択されたとして説明する。【０１２０】
次に、文書ｉに含まれる文字のうち、入力装置４から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、対象データベース３に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択する（ステップS21）。ここでは、類似度を定理2-2の類似度で計算する場合で説明する。【０１２１】
文書ｉから選択する文字数は、定理2-2に従う。例えば、入力装置４から入力された類似度閾値は７５％であるから、図６の対象データベース３の文書１から選択する文字は、定理2-2に従い、（選択する文字数）／９＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である４個を選択すればよい。同様に、文書２から選択する文字は、定理2-2に従い、（選択する文字数）／５＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である３個を選択すればよい。同様に、文書３から選択する文字は、定理2-2に従い、（選択する文字数）／７＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である３個を選択すればよい。同様に、文書４から選択する文字は、定理2-2に従い、（選択する文字数）／６＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である３個を選択すればよい。同様に、文書５から選択する文字は、定理2-2に従い、（選択する文字数）／７＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である３個を選択すればよい。同様に、文書６から選択する文字は、定理2-2に従い、（選択する文字数）／２＞１−０．７５／（２−０．７５）を満たす最小の選択文字数である１個を選択すればよい。【０１２２】
文書ｉから選択する文字の順序は、優先順位記憶部２１に格納された優先順位に従う。文書１から選択する４個の文字は、｛Ａ，Ｉ，Ｂ，Ｃ｝となる。【０１２３】
次に、ステップS21で選択した文字群の先頭の文字IDを持つ文字を選択する(図１７のステップS22)。文字を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりするために、文字には文字１から文字ｍのIDが振られており、ｊ番目の文字は文字ｊで表し、またステップS22では文字ｊ＝文字１から選択されたとして説明する。【０１２４】
次に、同一文書候補グループ記憶部２２に文字ｊをIDとした同一文書候補グループが存在するかを参照する（ステップS23）。もし存在しない場合は、文字ｊをIDとした同一文書候補グループを新たに作成し、それに文書ｉを追加する（ステップS24）。存在する場合は、文字ｊをIDとした同一文書候補グループに文書ｉを追加する(図１７のステップS25)。【０１２５】
次に、ステップS22の文字IDがｊ＞＝ｍを満たすかを判断し（ステップS26）、満たす場合はステップS29へ進む、満たさない場合は、文字ｊ＝文字｛ｊ＋１｝（ステップS27）として、ステップS22へ戻る。【０１２６】
次に、ステップS22の文書IDがｉ＞＝ｎを満たすかを判断し（ステップS29）、満たす場合はステップS3に進み、満たさない場合は、文書ｉ＝文書｛ｉ＋１｝（ステップS28）として、ステップS21へ戻る。【０１２７】
以上、ステップS2の同一文書候補グループ作成手段１１を説明した。類似度敷居値が７５％の場合、同一文書候補グループ作成手段１１は、図６の対象データベース３の文書１から｛Ａ，Ｉ，Ｂ，Ｃ｝を、文書２から｛Ｇ，Ｌ，Ｅ｝を、文書３から｛Ｉ，Ｂ，Ｃ｝を、文書４から｛Ｇ、Ｋ、Ｌ｝を、文書５から｛Ａ、Ｍ、Ｂ｝を、文書６から｛Ｋ｝選択し、それを同一文書候補グループ記憶部２２に図１８のように格納する。【０１２８】
同一文書グループ作成手段１２は、同一文書候補グループ記憶部２２を参照して同一の同一文書候補グループに所属する文書対の類似度を対象データベース３を参照して計算して、入力装置４から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する（ステップS3）。【０１２９】
ここで、ステップS3の動作の詳細を説明する。尚、なおステップS3の動作は２通りの方法があり、まず一つ目を図１９を用いて説明する。【０１３０】
まず、同一文書候補グループ記憶部２２に格納された先頭の文字IDを持つ文字を選択する（ステップS310）。文字を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文字には文字１から文字ｎのIDが振られており、ｉ番目の文字は文字ｉで現し、また、ステップS310では文字ｉ＝文字１が選択されたとして説明する。【０１３１】
次に、文字ｉをIDとする同一文書候補グループのうち先頭の文書IDを持つ文書を選択する（ステップS311）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文字ｉをIDとする同一文書候補グループの文書には文書１から文書ｍのIDが振られており、ｊ番目の文書は文書ｊで現し、また、ステップS311では文書ｊ＝文書１が選択されたとして説明する。【０１３２】
次に、文字ｉをIDとする同一文書候補グループのうち文書ｋ＝文書ｊ＋１の文書IDを持つ文書を選択する（ステップS312）。【０１３３】
次に、対象データベース３を参照して文書ｊと文書ｋの類似度を求め、類似度が入力装置４から入力された類似度閾値以上の場合は、同一文書グループとして出力データベース５に登録する（ステップS313）。類似度の計算式は、ステップS2の同一文書候補グループ作成手段１１と同一のものを用いる。例えば、図１８の同一文書候補グループ記憶部２２の文字ＡをIDとする同一文書グループに登録された文書１と文書５の類似度を定理2-2の類似度で計算すると、sim（文書１，文書５)=（９＋７−４）／（９＋７）＝０．７５となり、類似度閾値は７５％であるから、同一文書グループとして出力データベース５に登録する。【０１３４】
次に、ステップS312の文書IDがｋ＞＝ｍを満たすかを判断し（ステップS314）、満たす場合はステップS316へ進む、満たさない場合は、文書ｋ＝文書｛ｋ＋１｝（ステップS315）として、ステップS312へ戻る。【０１３５】
次に、ステップS311の文書IDがｊ＞＝ｍを満たすかを判断し（ステップS316）、満たす場合はステップS318へ進む、満たさない場合は、文書ｊ=文書｛ｊ＋１｝（ステップS317）として、ステップS311へ戻る。【０１３６】
次に、ステップSの文字IDがｉ＞＝ｎを満たすかを判断し（ステップS318）、満たす場合は処理を終了し、満たさない場合は、文字ｉ＝文字｛ｉ＋１｝（ステップS319）として、ステップS310へ戻る。【０１３７】
以上、一つ目のステップS3の同一文書グループ作成手段１２の動作を説明した。類似度敷居値が７５％の場合、同一文書グループ作成手段１２は、図１８の同一文書候補グループ記憶部２２の文字ＡをIDとする同一文書候補グループの｛文書１，文書５｝、文字Ｂのグループの｛文書１，文書３｝，｛文書１，文書５｝，｛文書３，文書５｝、文字Ｃのグループの｛文書１，文書３｝、文字Ｇのグループの｛文書２，文書４｝、文字Ｉのグループの｛文書１，文書３｝、文字Ｋのグループの｛文書４，文書６｝、文字Ｌのグループの｛文書２，文書４｝と、類似度を計９回計算し(類似度の計算結果は図２０を参照のこと)、出力データベース５に同一文書グループを図１２のように出力する。【０１３８】
このように、非特許文献１の総当りの方法では、図６の対象データベース３に対して類似度は６×５／２＝１５回計算する必要があるが、本発明では９回で同一の結果を出力できる。ステップS2の同一文書グループ作成手段１２の説明は、同一の文書対に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求めた文書対を記憶装置２に保持することで、同一の文書対を１度だけ計算すれば良いようにできる。この時、ステップS3の同一文書グループ作成手段１２は図１８の同一文書候補グループ記憶部２２に対して類似度は５回計算するだけで良い。【０１３９】
続いて、ステップS3の2つ目の動作を、図２２を用いて詳細に説明する。【０１４０】
２つ目の動作を実現するためには、ステップS2の同一文書候補グループ作成手段１１において、各文書と選択した文字群との対応関係を選択文字記憶部へ出力することが必要である。選択文字記憶部の例を図２１に示す。【０１４１】
まず、選択文字記憶部に格納された先頭の文書IDを持つ文書を選択する（ステップS320）。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文字１から文字ｎのIDが振られており、ｉ番目の文字は文字ｉで現し、また、ステップS320では文字ｉ＝文字１が選択されたとして説明する。【０１４２】
次に、同一文書候補グループ記憶部２２を参照して、文書ｉのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める（ステップS321）。例えば、文書ｉ＝文書１の場合、文書１の選択文字は、図２１を参照すると｛Ａ，Ｂ，Ｃ，Ｉ｝となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図１８を参照すると文字Ａについては｛文書１，文書５｝、文字Ｂについては｛文書１，文書３，文書５｝、文字Ｃについては｛文書１，文書３｝、文字Ｉについては｛文書１，文書３｝となっている。これらの論理和の文書群は、｛文書１，文書３，文書５｝となる。【０１４３】
次に、ステップS321で求めた文書群から文書ｊを取り出す（ステップS322）。文書を取り出す順番は本発明の実施とは無関係であり任意の順番でよい。【０１４４】
次に、ｊ＞ｉならば、文書ｉと文書ｊの類似度を計算し、類似度閾値以上の場合は同一文書グループとして出力データベース５に登録する（ステップS323）。例えば、文書ｉ＝文書１のとき、ステップS321では、｛文書１，文書３，文書５｝が論理和の文字群となるが、文書ｊ＝文書３、文書ｊ＝文書５のときにのみ類似度を計算することとなる。類似度の計算式は、ステップS2の同一文書候補グループ作成手段１１と同一のものを用いるが、この点に関しては、一つ目の同一文書グループ作成手段１２の動作と同様なので省略する。【０１４５】
次に、ステップS321で求めた論理和の文字群に残りがある場合はステップS322に戻り、残りがない場合はステップS325に進む（ステップS324）。【０１４６】
次に、ステップS320の文書IDがｉ＞＝ｎを満たすかを判断し（ステップS325）、満たす場合は処理を終了し、満たさない場合は、文書ｉ＝文書｛ｉ＋１｝（ステップS326）として、ステップS320へ戻る。【０１４７】
以上、２つ目のステップS3の同一文書グループ作成手段１２の動作を説明した。類似度閾値が７５％の場合、文書1に対する論理和の文字群は｛文書１，文書３，文書５｝、文書２に対する論理和の文字群は｛文書２，文書４｝、文書３に対する論理和の文字群は｛文書１，文書３，文書５｝、文書４に対する論理和の文字群は｛文書２,文書４,文書６｝、文書５に対する論理和の文字群は｛文書１，文書３，文書５｝、文書６に対する論理和の文字群は｛文書４，文書６｝となり、類似度は、｛文書１，文書３｝、｛文書１，文書５｝、｛文書２，文書４｝、｛文書３，文書５｝、｛文書４，文書６｝の計５回計算し、出力データベース５に同一文書グループを図１２のように出力する。【０１４８】
以上の如く、本発明は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能である。【０１４９】
高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。また、照合漏れのない厳密解である理由は、文書に含まれる文字群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を選択して文書グループ作成に用いるためである。さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
＜第３の実施の形態＞
図２３を参照すると本発明の第３の実施の形態は、第１の実施の形態と構成をほぼ同一とするが、単語群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段１１と、それに対応する複数の同一文書候補グループ記憶部２２を用いている点、および、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２にすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとする点で異なる。【０１５０】
なお説明を簡潔にするため、図２３では同一文書候補グループ作成手段１１を２つにしており、下記の動作の説明でも２つとして説明するが、必ずしもこれに限ることなく、３つ以上の複数であっても良い。【０１５１】
次に、図２４を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置４から入力された類似度閾値は８５％として説明する。【０１５２】
まず、ステップS1は文書解析手段１０の動作であり、第１の実施の形態のステップS1と同様である。例えば、単語群記憶部２０に図２５のような文書１から文書１０に含まれる単語群が格納された場合で説明する。この時、単語の優先順位を、単語の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い単語ほど優先順位を高く設定すると、優先順位記憶部２１には図２６のような優先順位で格納される。尚、本説明では、第１の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段１０を設けたが、以前に用いた優先順位を用いる場合には（既に優先順位記憶部２１に優先順位が格納されている場合には）、文書解析手段１０の優先順位を決定する機能は不要であり、優先順位を決定するステップは不要である。また、本実施の形態では、ステップS4で述べるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他の優先順位は新たに決定せずに以前に決定した優先順位を用いるといった構成も可能である。【０１５３】
次に、ステップS2では、一回目の同一文書候補グループ作成手段１１により一回目の同一文書候補グループを作成する。この動作は、第１の実施の形態のステップS2と同様である。図の単語群記憶部２０に対して図２６の優先順位記憶部の優先順位で一回目の同一文書候補グループ作成手段１１を行う場合で説明する。類似度閾値が８５％であるので、定理1-2に従い、各文書から（選択する単語の異なり数）／（文書に含まれる単語の異なり数）＞１−０．８５＾２を満たす最小の単語の異なり数を選択する。図２７のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、一回目の同一文書候補グループ記憶部に図２８のように格納する。この際に、各文書と選択した単語群との対応関係を一回目の選択単語記憶部へ図２９のように出力しておく。【０１５４】
次に、ステップS4では、一回目の同一文書候補グループ記憶部２２を用いて優先順位記憶部２１の優先順位を変更する。ステップS1では、単語の出現文書数が小さいほど高い優先順位を与えていたが、ステップS4では、単語の出現文書数が小さく、かつ、一回目の同一文書候補グループ作成手段１１で多く選ばれなかった単語に高い優先順位を与える。例えば、その単語の出現文書数と、その単語が一回目の同一文書候補グループ作成手段１１で選択された文書数の和が小さいほど優先順位を高くすればよい。図２８の一回目の同一文書候補グループ記憶部を用いて、優先順位記憶部２１の優先順位を変更した例を図３０に示す。例えば、単語Ａの出現文書数は３回であるが、一回目の同一文書候補グループ作成手段１１では単語Ａは３回選択されているので、２つの和の６をスコアとしている。スコアが同一の場合は、アルファベット順で後の単語ほど優先順位を高く設定している。【０１５５】
次に、ステップS5では、二回目の同一文書候補グループ作成手段１２により二回目の同一文書候補グループを作成する。この動作は、第１の実施の形態のステップS2と同様である。図２５の単語群記憶部２０に対して図３０の優先順位記憶部の優先順位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が８５％であるので、定理1-2に従い、各文書から（選択する単語の異なり数）／（文書に含まれる単語の異なり数）＞１−０．８５＾２を満たす最小の単語の異なり数を選択する。図３１のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、二回目の同一文書候補グループ記憶部に図３２のように格納する。この際に、各文書と選択した単語群との対応関係を二回目の選択単語記憶部へ図３３のように出力しておく。【０１５６】
次に、ステップS3では、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する。【０１５７】
同一文書グループ作成手段１２の動作（ステップS3）を説明する。【０１５８】
ステップS3の動作の詳細を、第１の実施の形態との違いを中心に図３４を用いて説明する。【０１５９】
まず、選択単語記憶部に格納された先頭の文書IDを持つ文書を選択する(図３４のステップS320)。文書IDのみを使用するので、一回目の選択単語記憶部、または、二回目の選択単語記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現す。【０１６０】
次に、一回目の同一文書候補グループ記憶部２２を参照して、文書iのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める(図３４のステップS321)。例えば、文書i=文書1の場合、文書1の一回目の選択単語は、図２９を参照すると｛Ａ，Ｌ｝となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図２８を参照すると単語Ａについては｛文書１，文書４，文書６｝、単語Ｌについては｛文書１，文書４，文書７｝となっている。これらの論理和の文書群は、｛文書１，文書４，文書６，文書７｝となる。【０１６１】
次に、二回目の同一文書候補グループ記憶部２２を参照して、文書iのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める（図３４のステップS327）。例えば、文書i=文書1の場合、文書１の二回目の選択単語は、図３３を参照すると｛Ｇ，Ｌ｝となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図３２を参照すると単語Gについては｛文書１，文書２，文書８，文書９｝、単語Ｌについては｛文書１，文書７｝となっている。これらの論理和の文書群は、｛文書１，文書２，文書７，文書８，文書９｝となる。【０１６２】
次に、ステップS321とステップS327で求めた文書群の論理積の文書群を求める(図３４のステップS328)。例えば、文書i=文書1の場合、ステップS321では｛文書１，文書４，文書６，文書７｝、ステップS327では｛文書１，文書２，文書７，文書８，文書９｝が文書群として求められたので、その論理積の文書群は｛文書１，文書７｝となる。【０１６３】
次にステップS328で求めた文書群から文書jを取り出す（図３４のステップS322）。このステップS322以降は、第１の実施の形態の図１５のS322以降と同様なので説明は省略する。【０１６４】
以上、第3の実施の形態の動作を説明した。第１の実施の形態では、一回目の同一文書候補グループ作成手段のみを用いるので、図２５の単語群記憶部の例では、図３５のように類似度は１８回計算する必要があるが、本実施の形態では、二回目の同一文書候補グループ作成手段も合わせて用いるため、類似度計算は１１回に削減できる。【０１６５】
なお、本実施の形態では、同一文書候補グループ作成手段１１を二回用いる場合で説明したが、複数回用いる場合にも容易に一般化できる。n回目の同一文書候補グループ作成手段１１を実行する際には、n-1回目の同一文書候補グループ記憶部２２を用いて優先順位記憶部２１の優先順位を変更すればよい。例えば、その単語の出現文書数と、その単語がn-1回目までの同一文書候補グループ作成手段１１で選択された文書数の総数の重み付け和が小さいほど優先順位を高くすればよい。すなわち、n回目の単語aのスコアscore(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n-1回目までに同一文書候補グループ作成された文書数の総数)
と表すことができ、Scoreの小さい単語ほど優先順位を高くする。ここで、pとqは実数の定数である。同一文書グループ作成手段１２では、ステップS321,ステップS327のような文書iのそれぞれの選択単語をIDとする同一文書グループの論理和の文書群を求める処理をn回行いn個の論理和の文書群を求め、ステップS328では、n個の論理和の文書群の論理積を求めるようにすれば良い。【０１６６】
本発明の効果は、第１の実施の形態の効果を維持したまま、第１の実施の形態よりも高速に同一文書の照合が可能なことである。その理由は、単語群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段１１とそれに対応する複数の同一文書候補グループ記憶部２２を用いて、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対に限り類似度を計算するようにしているからである。
＜第４の実施の形態＞
図３６を参照すると本発明の第４の実施の形態は、第２の実施の形態と構成をほぼ同一とするが、文字群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段１１と、それに対応する複数の同一文書候補グループ記憶部２２を用いている点、および、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２にすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとする点で異なる。【０１６７】
なお説明を簡潔にするため、図３６では同一文書候補グループ作成手段を２つにしており、下記の動作の説明でも２つとして説明するが、必ずしもこれに限ることなく、３つ以上の複数であっても良い。【０１６８】
次に、図３７を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置４から入力された類似度閾値は８５％として説明する。【０１６９】
まず、ステップS1は文書解析手段１０の動作であり、第２の実施の形態のステップS1と同様である。例えば、対象データベース３に図２５のような文書1から文書10に含まれる文字群が格納された場合で説明する。この時、文字の優先順位を、文字の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い文字ほど優先順位を高く設定すると、優先順位記憶部２１には図２６のような優先順位で格納される。尚、本説明では、第２の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段１０を設けたが、以前に用いた優先順位を用いる場合には（既に優先順位記憶部２１に優先順位が格納されている場合には）、文書解析手段１０の優先順位を決定する機能は不要であり、優先順位を決定するステップは不要である。また、本実施の形態では、ステップS4で述べるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他の優先順位は新たに決定せずに以前に決定した優先順位を用いるといった構成も可能である。【０１７０】
次に、ステップS2では、一回目の同一文書候補グループ作成手段１１により一回目の同一文書候補グループを作成する。この動作は、第２の実施の形態のステップS2と同様である。図２５の対象データベース３に対して図２６の優先順位記憶部の優先順位で一回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が８５％であるので、定理2-2に従い、各文書から（選択する文字数）／（文書に含まれる文字数）＞０．８５／（２−０．８５）を満たす最小の文字数を選択する。図２７のようにそれぞれの文書からアンダーラインが引かれた文字を選択し、一回目の同一文書候補グループ記憶部に図２８のように格納する。この際に、各文書と選択した文字群との対応関係を一回目の選択文字記憶部へ図２９のように出力しておく。【０１７１】
次に、ステップS4では、一回目の同一文書候補グループ記憶部２２を用いて優先順位記憶部２１の優先順位を変更する。ステップS1では、文字の出現文書数が小さいほど高い優先順位を与えていたが、ステップS4では、文字の出現文書数が小さく、かつ、一回目の同一文書候補グループ作成手段１１で多く選ばれなかった文字に高い優先順位を与える。例えば、その文字の出現文書数と、その文字が一回目の同一文書候補グループ作成手段１１で選択された回数の和が小さいほど優先順位を高くすればよい。図２８の一回目の同一文書候補グループ記憶部を用いて、優先順位記憶部２１の優先順位を変更した例を図３０に示す。例えば、文字Ａの出現文書数は３回であるが、一回目の同一文書候補グループ作成手段１１では文字Ａは３回選択されているので、２つの和の６をスコアとしている。スコアが同一の場合は、アルファベット順で後の文字ほど優先順位を高く設定している。【０１７２】
次に、ステップS5では、二回目の同一文書候補グループ作成手段１２により二回目の同一文書候補グループを作成する。この動作は、第２の実施の形態のステップS2と同様である。図２５の対象データベース３に対して図３０の優先順位記憶部の優先順位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が８５％であるので、定理2-2に従い、各文書から（選択する文字数）／（文書に含まれる文字数）＞０．８５／（２−０．８５）を満たす最小の単語の文字数を選択する。図３１のようにそれぞれの文書からアンダーラインが引かれた文字を選択し、二回目の同一文書候補グループ記憶部に図３２のように格納する。この際に、各文書と選択した文字群との対応関係を二回目の選択文字記憶部へ図３３のように出力しておく。【０１７３】
次に、ステップS3では、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース３に格納する。【０１７４】
同一文書グループ作成手段１２（ステップS3）の動作を説明する。
ステップS3の動作の詳細を、第２の実施の形態との違いを中心に図３８を用いて説明する。【０１７５】
まず、選択文字記憶部に格納された先頭の文書IDを持つ文書を選択する(図３８のステップS320)。文書IDのみを使用するので、一回目の選択文字記憶部、または、二回目の選択文字記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書１から文書nのIDが振られており、i番目の文書は文書iで現す。【０１７６】
次に、一回目の同一文書候補グループ記憶部２２を参照して、文書iのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める(図３８のステップS321)。例えば、文書i=文書1の場合、文書１の一回目の選択文字は、図２９を参照すると｛Ａ，Ｌ｝となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図２８を参照すると文字Aについては｛文書１，文書４，文書６｝、文字Lについては｛文書１，文書４，文書７｝となっている。これらの論理和の文書群は、｛文書１，文書４，文書６，文書７｝となる。【０１７７】
次に、二回目の同一文書候補グループ記憶部２２を参照して、文書iのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める(図３８のステップS327)。例えば、文書i=文書１の場合、文書１の二回目の選択文字は、図３３を参照すると｛Ｇ，Ｌ｝となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図３２を参照すると文字Gについては｛文書１，文書２，文書８，文書９｝、文字Lについては｛文書１，文書７｝となっている。これらの論理和の文書群は、｛文書１，文書２，文書７，文書８，文書９｝となる。【０１７８】
次に、ステップS321とステップS327で求めた文書群の論理積の文書群を求める（図３８のステップS328）。例えば、文書i=文書1の場合、ステップS321では｛文書１，文書４，文書６，文書７｝、ステップS327では｛文書１，文書２，文書７，文書８，文書９｝が文書群として求められたので、その論理積の文書群は｛文書１，文書７｝となる。【０１７９】
次にステップS328で求めた文書群から文書jを取り出す（図３８のステップS322）。このステップS322以降は、第２の実施の形態の図２３のS322以降と同様なので説明は省略する。【０１８０】
以上、第４の実施の形態の動作を説明した。第２の実施の形態では、一回目の同一文書候補グループ作成手段１１のみを用いるので、図２４の対象データベース３の例では、図３５のように類似度は１８回計算する必要があるが、本実施の形態では、二回目の同一文書候補グループ作成手段も合わせて用いるため、類似度計算は１１回に削減できる。【０１８１】
なお、本実施の形態では、同一文書候補グループ作成手段１１を二回用いる場合で説明したが、複数回用いる場合にも容易に一般化できる。ｎ回目の同一文書候補グループ作成手段１１を実行する際には、ｎ−１回目の同一文書候補グループ記憶部２２を用いて優先順位記憶部２１の優先順位を変更すればよい。例えば、その文字の出現文書数と、その文字がｎ−１回目までの同一文書候補グループ作成手段１１で選択された文書数の総数の重み付け和が小さいほど優先順位を高くすればよい。すなわち、n回目の文字aのスコアscore(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n-1回目までにaが同一文書候補グループ作成手段で選択された文書数の総数)
と表すことができ、Scoreの小さい単語ほど優先順位を高くする。ここで、pとqは実数の定数である。同一文書グループ作成手段１２では、ステップS321,ステップS327のような文書iのそれぞれの選択文字をIDとする同一文書グループの論理和の文書群を求める処理をｎ回行いｎ個の論理和の文書群を求め、ステップS328では、ｎ個の論理和の文書群の論理積を求めるようにすれば良い。【０１８２】
本発明の効果は、第２の実施の形態の効果を維持したまま、第２の実施の形態よりも高速に同一文書の照合が可能なことである。その理由は、文字群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段１１とそれに対応する複数の同一文書候補グループ記憶部２２を用いて、同一文書グループ作成手段１２が、複数ある同一文書候補グループ記憶部２２のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対に限り類似度を計算するようにしているからである。【０１８３】
本出願は、２００６年９月１４日に出願された日本出願特願２００６−２４９４２９号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008032780.tif 000003
【図２】
2008032780.tif 000004
【図３】
2008032780.tif 000005
【図４】
2008032780.tif 000006
【図５】
2008032780.tif 000007
【図６】
2008032780.tif 000008
【図７】
2008032780.tif 000009
【図８】
2008032780.tif 000010
【図９】
2008032780.tif 000011
【図１０】
2008032780.tif 000012
【図１１】
2008032780.tif 000013
【図１２】
2008032780.tif 000014
【図１３】
2008032780.tif 000015
【図１４】
2008032780.tif 000016
【図１５】
2008032780.tif 000017
【図１６】
2008032780.tif 000018
【図１７】
2008032780.tif 000019
【図１８】
2008032780.tif 000020
【図１９】
2008032780.tif 000021
【図２０】
2008032780.tif 000022
【図２１】
2008032780.tif 000023
【図２２】
2008032780.tif 000024
【図２３】
2008032780.tif 000025
【図２４】
2008032780.tif 000026
【図２５】
2008032780.tif 000027
【図２６】
2008032780.tif 000028
【図２７】
2008032780.tif 000029
【図２８】
2008032780.tif 000030
【図２９】
2008032780.tif 000031
【図３０】
2008032780.tif 000032
【図３１】
2008032780.tif 000033
【図３２】
2008032780.tif 000034
【図３３】
2008032780.tif 000035
【図３４】
2008032780.tif 000036
【図３５】
2008032780.tif 000037
【図３６】
2008032780.tif 000038
【図３７】
2008032780.tif 000039
【図３８】
2008032780.tif 000040
【国際調査報告】
2008032780.tif 000041
2008032780.tif 000042
2008032780.tif 000043
2008032780.tif 000044
2008032780.tif 000045
2008032780.tif 000046
2008032780.tif 000047