JP5605583B2 - 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム - Google Patents

検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム Download PDF

Info

Publication number
JP5605583B2
JP5605583B2 JP2012165641A JP2012165641A JP5605583B2 JP 5605583 B2 JP5605583 B2 JP 5605583B2 JP 2012165641 A JP2012165641 A JP 2012165641A JP 2012165641 A JP2012165641 A JP 2012165641A JP 5605583 B2 JP5605583 B2 JP 5605583B2
Authority
JP
Japan
Prior art keywords
document
same
group
documents
candidate group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012165641A
Other languages
English (en)
Other versions
JP2012230713A (ja
Inventor
健二 立石
大 久寿居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012165641A priority Critical patent/JP5605583B2/ja
Publication of JP2012230713A publication Critical patent/JP2012230713A/ja
Application granted granted Critical
Publication of JP5605583B2 publication Critical patent/JP5605583B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は情報の検索方法、類似度計算方法の技術に関し、特に、所定の類似度以上にならない情報を検索する方法、及びその検索方法を用いて類似度の計算を照合漏れのない厳密解で、かつ、高速に行う技術に関する。
文書、画像等の情報の同一性又は類似度を判断する技術は数多く提案されており、その中でも、文書の同一性を判断する同一文書照合の技術が有名である。同一文書照合とは、文書間で実質的に同一の文書群をグルーピングすることを言う。実質的に同一であるとは、表記上は異なるが人が見れば同一と判断できることをいう。
同一文書照合は、例えば、次のような場合に必要になる。
(1) データベース(以下、DBと称する)の重複レコード照合
DBの重複レコード照合は、DB内の実質的に同じレコードをグルーピングすることをいい、例えば、異なる人、場所、方法によって管理された表記のゆれを含む顧客DBを統合する際のデータクリーニングや、コンタクトセンターの問い合わせ事例の重複削除に必要となる。1レコードを1文書とみなすことで同一文書照合の問題とみなすことができる。
(2) トピック分析
トピック分析は、Blogなどの書き込みデータをグルーピングすることをいい、Blogで同じトピックが、いつ、どのあたりで話題になっているかを把握するために必要となる。
同一文書照合システムは、対象となる文書集合と、実質的に同一とみなす条件である類似度閾値とを入力として、同一文書グループを出力する。例えば、図1の(a)のような5つの文書と、類似度閾値として90%が入力された場合で説明する。ここでは、全ての文書はそれぞれ10個のアルファベットの文字から構成されており、文書xと文書yとの類似度が90%であるということは、xの10個の文字とyの10個の文字とのうち9個が共通することを意味する。この時、システムは、図1の(b)のように類似度が90%以上となる2つの異なる文書の対を同一文書グループとして出力する。さらに、共通する文書を含む文書対を統合した図1の(c)を同一文書グループとしても良い。
同一文書照合システムを実現するための従来技術として、階層型クラスタリングを用いる手法がある(非特許文献1の2.5.7節)。この方法では、あらかじめ全ての文書対の類似度を計算しておく(step1)。次に、類似度が最も高い文書対から順番に統合することにより文書を階層的にグルーピングする(step2)。同一文書照合システムでは、step1のように、全ての2つの異なる文書対の類似度を計算した後、類似度閾値以上の文書対のみを残すことにより、同一文書グループを求めることができる。
図1の例では、全ての2つの異なる文書対の数は5*(5−1)/2=10であるから、類似度を10回計算し、図1の(b)(c)の結果を出力している。
また、同一文書照合システムを実現するための別の従来技術として、DBの重複レコード照合を用いる手法がある(非特許文献2)。この方法は、まず、各DBのレコードをソートして、次に、ソート後の各レコードとその前方nレコードのレコード対の類似度計算を行い、類似度が閾値以上のレコード対を重複とする手法である。
同一文書照合システムには、レコードを文書と置き換えることで同一の手法を適用できる。例えば、図1の(a)は、文字列で文書をソートすることにより、図2の(a)のようになる。次に、今、各文書とその前方1文書の文書対を類似度計算の対象としたとき、類似度を4回計算し、図2の(b),(c)の結果を出力する。
更に、同一文書照合システムを実現するためのさらに別の従来技術として、K-meansを用いる手法がある(非特許文献3の5.2節)。この方法は、あらかじめ文書集合をK個のグループに分割するという前提の下で、ランダムに選択したK個の文書をグループの中心と仮定し、残りの文書を、K個のグループの中心の文書と最も類似度が高いグループに分類する。
同一文書照合システムには、K-meansに類似度閾値の制約を追加することで同一の手法を適用できる。すなわち、ランダムに選択したK個の文書をグループの中心と仮定し、残りの文書を、K個のグループの中心の文書と類似度が閾値以上で最も高いグループに分類すれば良い。
徳永健伸、"言語と計算−5 情報検索と言語処理"、東京大学出版会 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.
同一文書照合システムを実現するための従来技術の課題として、非特許文献1、2の技術は、照合時間を短く保つことと、照合漏れを減らすことの両立が難しいことである。
非特許文献1の階層型クラスタリングを利用した方法は、全ての2つの異なる文書対の類似度を計算するので照合漏れは発生しないが、照合対象の文書数が多くなると組み合わせ爆発が起こり照合に多大な時間が必要となる。
また、非特許文献2の重複レコード照合を利用した方法は、ソート後の各レコードとその前方nレコードのレコード対のみに限り類似度計算を行うので、nを小さくすれば照合時間は短くできるが、その代償としてnレコード外にある同一文書は照合漏れとなってしまう。実際、図2の例でも、類似度が90%の文書1と文書3との文書対が照合漏れとなっている。
更に、非特許文献3の方法は、同一文書グループ数の指定が必要になるが、利用者が照合対象の文書集合に含まれる同一文書グループの数を事前に予測することは難しい。また、照合時間が指定した同一文書グループ数に比例するため、同一文書グループ数が多くなると照合時間が短く保つのが難しい。
これらの課題は文書照合に限らず、その他の画像等の情報の同一性又は類似度の判断にもいえる事である。
そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、情報の類似度を計算するのに必要な類似度計算の計算回数を減らすことができる検索、類似度計算の技術を提供することにある。
また、その目的は、同一文書グループ数の指定を事前に必要とせず、照合漏れのない厳密解で、かつ、同一文書グループ数が多くなっても高速な同一文書照合システムを実現することにある。
上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合システムであって、単語または文字で識別され、実質的に同一の候補である文書のグループである同一文書候補グループと、そのグループに属する文書との対応関係が記憶される同一文書候補グループ記憶部と、文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求め、この割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて前記同一文書候補グループ記憶部に記憶する同一文書候補グループ作成手段とを有することを特徴とする同一文書照合システムである。
上記課題を解決する本発明は、与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合プログラムあって、文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求める処理と、前記割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択する処理と、前記選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて記憶する処理とを情報処理に実行させることを特徴とする同一文書照合プログラムである。
本発明の効果は、情報の類似度を計算するのに必要な類似度計算の計算回数を減らすことができる。その理由は、類似度の計算対象とはならない類似度閾値以下の情報対を検索し、それらの情報対を類似度計算の対象から外すからである。
また、本発明の効果は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能なことである。高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。
また、照合漏れのない厳密解である理由は、文書に含まれる単語または文字群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数または種類の単語または文字群を選択して文書グループ作成に用いるためである。
さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
背景技術を説明するための図である。 背景技術を説明するための図である。 発明の概要を説明するための図である。 本発明の第1の実施の形態の構成を示すブロック図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第1の実施の形態の単語記憶部20、および、第2の実施の形態の対象データベース3の格納例である。 本発明の第1の実施の形態と第2の実施の形態の優先順位記憶部21の格納例である。 本発明の第1の実施の形態の同一文書候補グループ作成手段11の動作を示す流れ図である。 本発明の第1の実施の形態の同一文書候補グループ記憶部22の格納例である。 本発明の第1の実施の形態の1つ目の同一文書グループ作成手段12の動作を示す流れ図である。 本発明の第1の実施の形態の類似度計算の例を示す図である。 本発明の第1の実施の形態と第2の実施の形態の出力データベース5の格納例を示す図である。 本発明の第1の実施の形態の選択単語記憶部の格納例である。 本発明の第1の実施の形態の2つ目の同一文書候補グループ作成手段12の動作を示す流れ図である。 本発明の第2の実施の形態の構成を示すブロック図である。 本発明の第2の実施の形態の動作を示す流れ図である。 本発明の第2の実施の形態の同一文書候補グループ作成手段11の動作を示す流れ図である。 本発明の第2の実施の形態の同一文書候補グループ記憶部22の格納例である。 本発明の第2の実施の形態の1つ目の同一文書グループ作成手段12の動作を示す流れ図である。 本発明の第2の実施の形態の類似度計算の例を示す図である。 本発明の第2の実施の形態の選択文字記憶部の格納例である。 本発明の第2の実施の形態の2つ目の同一文書候補グループ作成手段12の動作を示す流れ図である。 本発明の第3の実施の形態の構成を示すブロック図である。 本発明の第3の実施の形態の動作を示す流れ図である。 本発明の第3の実施の形態の単語記憶部20、および、第4の実施の形態の対象データベース3の格納例である。 本発明の第3の実施の形態と第4の実施の形態の一回目の優先順位記憶部21の格納例である。 本発明の第3の実施の形態の一回目の同一文書候補グループ作成手段11の動作を示す流れ図である。 本発明の第3の実施の形態と第4の実施の形態の一回目の同一文書候補グループ記憶部22の格納例である。 本発明の第3の実施の形態の一回目の選択文書記憶部、第4の実施の形態の一回目の選択文字記憶部の格納例である。 本発明の第3の実施の形態と第4の実施の形態の二回目の優先順位記憶部21の格納例である。 本発明の第3の実施の形態と第4の実施の形態の二回目の同一文書候補グループ作成手段の処理イメージを示す図である。 本発明の第3の実施の形態と第4の実施の形態の二回目の同一文書候補グループ記憶部22の格納例である。 本発明の第3の実施の形態の二回目の選択文書記憶部、第4の実施の形態の二回目の選択文字記憶部の格納例である。 本発明の第3の実施の形態の同一文書グループ作成手段12の動作を示す流れ図である。 本発明の第1の実施の形態又は第2の実施の形態と第3の実施の形態又は第4の実施の形態の類似度計算の数を比較する図である。 本発明の第4の実施の形態の構成を示すブロック図である。 本発明の第4の実施の形態の動作を示す流れ図である。 本発明の第4の実施の形態の同一文書グループ作成手段12の動作を示す流れ図である。
まず、図3の例を通して本発明の概要について説明する。
尚、以下の説明にあたって、情報の例として文書を、情報要素の例として文字を例にして説明するが、これに限られない。例えば、情報の例としては画像、音等でも良く、それを構成する情報要素としては、画像中の特定の絵柄や、特定の音等が考えられる。
また、以下の説明にあたって、図3に示される文書1から文書5に対して、類似度が90%以上にならない文書の組(以下、文書対と称する)を検索する場合を説明する。
本発明では、まず、5つの文書で共通する文字の優先順位を決める。例えば、図3の(d)のように文書群全体で出現文書数が少ない文字ほど、優先順位が高くなるように定める。尚、出現文書数が同じ場合はアルファベット順で若い文字を優先順位が高くなるように定められているものとする。
次に、文書対が少なくとも類似度90%以上となるために、文書間で文字が共通する割合を求め、この割合に基づいて、1文書から選択する文字数を決定する。
類似度90%以上となるためには文書対の文書間で文字が90%以上共通すれば良い。これは、文書対の文書間で少なくとも9個の文字が共通しなければ、類似度90%以上にはならないといことである。
別の言い方をすると、文書xから選んだ2つの文字のどちらも文書yに含まれなければ、文書xと文書yとは共通する単語が8個以下ということになり、類似度は90%未満となるということになり、文書xと文書yとの類似度が90%以上であるという前提と矛盾する。これは、文書yと文書xを置き換えた場合でも同様である。従って、1文書から選択する文字数は2個である。尚、本例では、文書1から文書5が10文字で構成されているため、いずれの文書も選択する文字数が2個であるが、例えば、一文書が5文字で構成されている場合には、選択する文字数は1個である。
続いて、各文書から優先順位に基づいて2個の文字を選択する。図3(a)の例では、文書1で選択する文字はAとIであり、文書2で選択する文字はKとLであり、文書3で選択する文字はIとLであり、文書4で選択する文字はKとLであり、文書5で選択する文字はAとMである。
そして、選択した文字が文書間で全て共通しない文書対を検索する。図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%以上にはならない文書対である。
このようになる理由は、文書xと文書yとの類似度が90%以上であるならば、さらに、選ぶ文字の優先順位が全ての文書間で一意に定められているならば、文書x(文書y)から優先順位に従い選んだ2つの文字のいずれかは、文書y(文書x)から選んだ2つの文字のいずれかに含まれるからである。
文書xから選んだ2つの文字{x1,x2}のいずれかもしくは両方が文書yに含まれるが、それが文書yから選んだ2つの文字{y1,y2}には含まれないとすると、文書yにおける文字の優先度は{y1,y2}>{x1,x2}となる。この時、{x1,x2}∩{y1,y2}=φになるため、同時に、文書yから選んだ2つの文字{y1,y2}のいずれかもしくは両方が文書xに含まれるが、それが文書xから選んだ2つの文字{x1,x2}には含まれないことになる。この時、文書xにおける文字の優先度は{x1,x2}>{y1,y2}となる。これは、文書xと文書yとで選択する文字の優先順位が異なることになり、選ぶ文字の優先順位が全ての文書間で一意に定められていることに矛盾する。文書yと文書xを置き換えた場合でも同様である。
このように、本発明によれば、所定の類似度以上にはならない文書対を検索することができる。
尚、上述の説明では、類似度の閾値の設定を以上としたが、割合の算出方法によって所定の類似度閾値を含まず、所定の類似度閾値を超えない文書対を検索するようにしても良い。また、文書で共通する文字の優先順位は、異なる文書群の検索処理毎に決定しても良いし、一度決定したものを繰り返し用いても良い。
更に、文書照合システムのように、所定の類似度以上となる文書対の類似度を求めるシステムにおいても、本発明を用いれば類似度の計算回数を減らすことができる。例えば、図3の例のように、90%以上の類似度となる文書対の類似度を求める場合、90%以上の類似度とはならない文書対を類似度計算の対象から外すことにより、類似度の計算回数を減らすことができる。図3の(a)の例では、本発明を用いない場合、類似度計算を(5×4)/(2×1)=10回行わなければならない。しかし、文書1と文書2との文書対と、文書1と文書4との文書対と、文書2と文書5との文書対と、文書3と文書5との文書対と、文書4と文書5との文書対との5個の文書対は、90%以上の類似度とはならない文書対であるため、類似度計算の対象から外すと、類似度計算の回数は、10−5=5回となる。
次に、上記の説明をより一般化する。
1.文書を単語の集合と考える場合
記号の定義
データベースに含まれる文書集合: 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
であるから、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は成立する。
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は成立する。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
尚、本実施の形態の説明において、情報照合の代表的なものである文書照合システムを例にして説明する。また、本実施の形態では、文書を単語の集合として扱うか、あるいは、文字の集合として扱うかにより同一文書照合システムの構成が異なるため、第1の実施の形態では、文書を単語の集合として扱う場合のシステムを、第2の実施の形態では、文書を文字の集合として扱う場合のシステムを説明する。
<第1の実施の形態>
本発明の第1の実施の形態を説明する。
第1の実施の形態に係る同一文書照合システムは、図4に示される如く、プログラム制御により動作するデータ処理装置1と、情報を記憶する記憶装置2と、対象データベース3とキーボード等の入力装置4と出力データベース5とを含む。
対象データベース3は、いわゆるデータベースであり、複数の文書が記憶されている。単一のデータベースであっても、複数のデータベースを仮想的にマージしたデータベースであってもよい。
入力装置4からは、同一文書照合システムの利用者が類似度閾値を入力する。2つの文書対の類似度がこの類似度閾値以上であれば同一文書とみなす。
データ処理装置1は、文書解析手段10と、同一文書候補グループ作成手段11と、同一文書グループ作成手段12とを含む。
文書解析手段10は、対象データベース3に格納された各文書に含まれる単語群を抽出して単語群記憶部20に格納し、さらに、対象データベース3に出現する全ての単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部21に格納する。尚、本説明では、理解を容易とする為に、優先順位を決定する文書解析手段10を設けたが、以前に用いた優先順位を用いる場合には(既に優先順位記憶部21に優先順位が格納されている場合には)、文書解析手段10の優先順位を決定する機能は不要である。
同一文書候補グループ作成手段11は、単語群記憶部20に格納された文書に含まれる単語群の中から、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部21に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部22を参照して選択したそれぞれの単語をIDとした同一文書候補グループにその文書を追加する。
同一文書グループ作成手段12は、同一文書候補グループ記憶部22に格納された同一の同一文書候補グループに所属する文書対の類似度を、単語群記憶部20を参照して計算して、入力装置4から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する。
記憶装置2は、単語群記憶部20と、優先順位記憶部21と、同一文書候補グループ記憶部22とを含む。記憶装置2は処理の高速化の都合上、メモリ内に格納することが望ましいが、HDD等の磁器記憶媒体であっても良い。
単語群記憶部20は、文書とその文書に含まれる単語群との対応関係が格納される。
優先順位記憶部21は、単語とその優先順位の対応関係が格納される。
同一文書候補グループ記憶部22は、同一文書候補グループと文書との対応関係が格納される。
出力データベース5は、文書と同一文書グループとの対応関係が格納される。
次に、図5を参照して、第1の実施の形態の動作について詳細に説明する。なお、入力装置4から入力された類似度閾値は75%として説明する。
まず、文書解析手段10は、対象データベース3に格納された各文書に含まれる単語群を抽出して単語群記憶部20に格納し、さらに、対象データベース3に出現する全ての単語に関するすべての文書で共通する優先順位を判定して優先順位記憶部21に格納する(ステップS1)。尚、本説明では、理解を容易とする為に、同一文書グループの作成処理の過程において優先順位を決定するステップを設けたが、以前の同一文書グループの作成処理において用いた優先順位を用いても良く、この場合には、優先順位を決定するステップは不要である。
文書から抽出する単語群は、文書を形態素解析して切り出した単語群とする。切り出した単語群のうち、特定の品詞、例えば、名詞、形容動詞、形容詞、動詞、未知語を持つ単語群のみを使用するようにしても良い。例えば、ある文書「情報検索で検索」の場合は{情報、検索}が単語群となる。このように、単語の文書内の出現回数は後の処理では用いないので、1つの文書に同じ単語が複数出現する場合でもそのうち1つを単語群としてもよい。
尚、形態素解析は、日本語や中国語のような文書に単語の区切りが存在しない言語に対して本発明を適用する際に必要となる。一方、英語や韓国語、ドイツ語、フランス語、スペイン語等、文書に単語の区切りが存在する言語に対しては必ずしも必要ではない。
図6に単語群記憶部20の格納例を示す。なお、動作を分かりやすくするために、ここではそれぞれの単語をアルファベットとして記号化した上で、アルファベット毎に列を揃えて表記している。
単語の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発明の実施には影響しない。ただし、出現文書数が少ない単語に高い優先順位を与えれば、同一文書候補グループ作成手段11において同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段12において類似度計算の回数を少なくすることが可能である。
図7に優先順位記憶部21の格納例を示す。ここでは、単語とその出現文書数、優先順位の対応関係を格納している。単語の優先順位は、単語の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い単語ほど優先順位を高くしている。
次に、同一文書候補グループ作成手段11は、単語群記憶部20に格納された文書に含まれる単語群の中から、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部21に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部22を参照して選択したそれぞれの単語をIDとした同一文書候補グループにその文書を追加する(ステップS2)。
ここで図8を用いて、ステップS2の動作の詳細を説明する。
まず、単語群記憶部20に格納された先頭の文書IDを持つ文書を選択する(ステップS20)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現し、また、ステップS20では文書i=文書1が選択されたとして説明する。
次に、文書iに含まれる単語のうち、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を、優先順位記憶部21に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択する(ステップS21)。ここでは、類似度を定理1-2のcosine類似度で計算する場合で説明する。
文書iに含まれる各単語の重みw(tl)はどのように決定しても本発明の実施には影響しない。例えば、w(tl)=1のように単語の重み全て同一にするか、w(tl)=log2(総文書数/tlの出現文書数)のように出現文書数が少ないほど重要度が高くなるように設定することができる。ここでは、w(tl)=1として説明する。なお、w(tl)=log2(総文書数/tlの出現文書数)で計算する場合は、tlの出現文書数は、優先順位記憶部21から得ることが可能である。
文書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個を選択すればよい。
文書iから選択する単語の順序は、優先順位記憶部21に格納された優先順位に従う。文書1から選択する4個の単語は、{A,I,B,C}となる。
次に、ステップS21で選択した単語群の先頭の単語IDを持つ単語を選択する(ステップS22)。単語を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりするために、単語には単語1から単語mのIDが振られており、j番目の単語は単語jで表し、またステップS22では単語j=単語1から選択されたとして説明する。
次に、同一文書候補グループ記憶部22に単語jをIDとした同一文書候補グループが存在するかを参照する(ステップS23)。もし存在しない場合は、単語jをIDとした同一文書候補グループを新たに作成し、それに文書iを追加する(ステップS24)。存在する場合は、単語jをIDとした同一文書候補グループに文書iを追加する(ステップS25)。
次に、ステップS22の単語IDがj>=m満たすかを判断し(ステップS26)、満たす場合はステップS29へ進む、満たさない場合は、単語j=単語{j+1}として(ステップS27)、ステップS22へ戻る。
次に、ステップS21の文書IDがi>=nを満たすかを判断し(ステップS29)、満たす場合はステップS3に進み、満たさない場合は、文書i=文書{i+1}として(ステップS28)、ステップS21へ戻る。
以上、ステップS2の同一文書候補グループ作成手段11を説明した。
類似度閾値が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のように格納する。
図5のステップS3に戻り、同一文書グループ作成手段12は、同一文書候補グループ記憶部22を参照して同一の同一文書候補グループに所属する文書対の類似度を単語群記憶部20を参照して計算して、入力装置4から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する(ステップS3)。
ここで、同一文書グループ作成手段12の動作(ステップS3)について詳細に説明する。尚、ステップS3の動作は2通りの方法があり、まず一つ目を図10を用いて説明する。
まず、同一文書候補グループ記憶部22に格納された先頭の単語IDを持つ単語を選択する(ステップS310)。単語を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、単語には単語1から単語nのIDが振られており、i番目の単語は単語iで現し、また、ステップS310では単語i=単語1が選択されたとして説明する。
次に、単語iをIDとする同一文書候補グループのうち先頭の文書IDを持つ文書を選択する(ステップS311)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、単語iをIDとする同一文書候補グループの文書には文書1から文書mのIDが振られており、j番目の文書は文書jで現し、また、ステップS311では文書j=文書1が選択されたとして説明する。
次に、単語iをIDとする同一文書候補グループのうち文書k=文書j+1の文書IDを持つ文書を選択する(ステップS312)。
次に、単語群記憶部20を参照して文書jと文書kとの類似度を求め、類似度が入力装置4から入力された類似度閾値以上の場合は、同一文書グループとして出力データベース5に登録する(ステップS313)。類似度の計算式は、ステップS2の同一文書候補グループ作成手段11と同一のものを用いる。例えば、図9の同一文書候補グループ記憶部22の単語AをIDとする同一文書グループに登録された文書1と文書5の類似度を単語の重みをw(tl)=1とした定理2のcosine類似度で計算すると、cosine(文書1,文書5)=6/√9x√7=0.76となり、類似度閾値は75%であるから、同一文書グループとして出力データベース5に登録する。
次に、ステップS312の文書IDがk>=mを満たすかを判断し(ステップS314)、満たす場合はステップS316へ進む、満たさない場合は、文書k=文書{k+1}として(ステップS315)、ステップS312へ戻る。
次に、ステップS311の文書IDがj>=mを満たすかを判断し(ステップS316)、満たす場合はステップS318へ進む、満たさない場合は、文書j=文書{j+1}(ステップS317)として、ステップS311へ戻る。
次に、ステップS310の単語IDがi>=nを満たすかを判断し(ステップS318)、満たす場合は処理を終了し、満たさない場合は、単語i=単語{i+1}(ステップS319)として、ステップS310へ戻る。
以上、一つ目のステップ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のグループの{文書1,文書3}、単語Kのグループの{文書4,文書6}、単語Lのグループの{文書2,文書4}と、類似度を計11回計算し(類似度の計算結果は図11を参照のこと)、出力データベース5に同一文書グループを図12のように出力する。
このように、非特許文献1の総当りの方法では、図6の単語群記憶部20に対して類似度は6×5/2=15回計算する必要があるが、本発明では11回で同一の結果を出力できる。ステップS3の同一文書グループ作成手段12の説明は、同一の文書対に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求めた文書対を記憶装置2に保持することで、同一の文書対を1度だけ計算すれば良いようにできる。例えば、{文書1,文書5}は、単語Aのグループと、単語Bのグループと、単語Cのグループとの3回計算しているが、いずれかのグループで類似度を計算していれば、他のグループで計算する必要はない。この時、ステップS3の同一文書グループ作成手段12は図9の同一文書候補グループ記憶部22に対して類似度は5回計算するだけで良い。
出力データベース5への同一文書グループの格納方法は、図12の(a)、(b)、(c)が考えられる。(a)は、類似度閾値以上のそれぞれの文書対を同一文書グループとして格納している。各レコードが一つの同一文書グループを意味する。(b)は、共通する文書を含む類似度閾値以上の文書対を統合した文書群を同一文書グループとして格納している。1列目のフィールドの値が一つの同一文書グループを意味する。(c)は、ある文書との類似度が閾値以上となる文書群を、その文書に対する同一文書グループとして格納している。第1列の文書IDが、その文書IDに対する同一文書グループを意味する。例えば、文書1に対する同一文書グループとして文書3と文書5が、文書2に対しては文書4が登録されている。
続いて、2つ目の同一文書グループ作成手段12の動作(ステップS3)の詳細について、図14を用いて説明する。2つ目の動作を実現するためには、ステップS2の同一文書候補グループ作成手段11において、各文書と選択した単語群との対応関係を選択単語記憶部へ出力することが必要である。選択単語記憶部の例を図13に示す。
まず、選択単語記憶部に格納された先頭の文書IDを持つ文書を選択する(ステップS320)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現し、また、ステップS320では文書i=文書1が選択されたとして説明する。
次に、同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める(ステップS321)。例えば、文書i=文書1の場合、文書1の選択単語は、図13を参照すると{A,B,C,I}となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図9を参照すると単語Aについては{文書1,文書5}、単語Bについては{文書1,文書3,文書5}、単語Cについては{文書1,文書3,文書5}、単語Iについては{文書1,文書3}となっている。これらの論理和の文書群は、{文書1,文書3,文書5}となる。
次に、ステップS321で求めた文書群から文書jを取り出す(ステップS322)。文書を取り出す順番は本発明の実施とは無関係であり任意の順番でよい。
次に、j>iならば、文書iと文書jの類似度を計算し、類似度閾値以上の場合は同一文書グループとして出力データベース5に登録する(ステップS323)。例えば、文書i=文書1のとき、ステップS322では、{文書1,文書3,文書5}が論理和の単語群となるが、文書j=文書3、文書j=文書5のときにのみ類似度を計算することとなる。類似度の計算式は、ステップS2の同一文書候補グループ作成手段11と同一のものを用いるが、この点に関しては、一つ目の同一文書グループ作成手段12の動作と同様なので省略する。
次に、ステップS322で求めた論理和の単語群に残りがある場合はステップS322に戻り、残りがない場合はステップS325に進む(ステップS324)。
次に、ステップS320の文書IDがi>=nを満たすかを判断し(ステップS325)、満たす場合は処理を終了し、満たさない場合は、文書i=文書{i+1}(ステップS326)として、ステップS320へ戻る。
以上、2つ目のステップS3の同一文書グループ作成手段12の動作を説明した。類似度閾値が75%の場合、文書1に対する論理和の単語群は{文書1,文書3,文書5}、文書2に対する論理和の単語群は{文書2,文書4}、文書3に対する論理和の単語群は{文書1,文書3,文書5}、文書4に対する論理和の単語群は{文書2,文書4,文書6}、文書5に対する論理和の単語群は{文書1,文書3,文書5}、文書6に対する論理和の単語群は{文書4,文書6}となり、類似度は、{文書1,文書3}、{文書1,文書5}、{文書2,文書4}、{文書3,文書5}、{文書4,文書6}の計5回計算し、出力データベース5に同一文書グループを図12のように出力する。
このように、非特許文献1の総当りの方法では、図6の単語群記憶部20に対して類似度は6×5/2=15回計算する必要があるが、本発明では5回で同一の結果を出力できる。
以上の如く、本発明は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能である。
高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。また、照合漏れのない厳密解である理由は、文書に含まれる単語群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語群を選択して文書グループ作成に用いるためである。さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
更に、単語を選択する際に適用される共通の優先順位を、出現文書数が少ない単語ほど、優先順位が高くなるように設定すれば、類似度閾値以上にならない文書対をより多く検索することができる。その結果、同一文書候補グループ作成手段11により、同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段12において類似度計算の回数を少なくすることが可能となる。
<第2の実施の形態>
第2の実施の形態を説明する。
図15を参照すると、第2の実施の形態に係る同一文書照合システムは、プログラム制御により動作するデータ処理装置1と、情報を記憶する記憶装置2と、対象データベース3とキーボード等の入力装置4と出力データベース5とを含む。
対象データベース3については、第1の実施の形態と同様である。
入力装置4についても、第1の実施の形態と同様である。
データ処理装置1は、文書解析手段10と、同一文書候補グループ作成手段11と、同一文書グループ作成手段12を有する。
文書解析手段10は、対象データベース3に出現する全ての文字に関するすべての文書で共通する優先順位を判定して優先順位記憶部21に格納する。尚、本説明では、第1の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段10を設けたが、以前に用いた優先順位を用いる場合には(既に優先順位記憶部21に優先順位が格納されている場合には)、文書解析手段10の優先順位を決定する機能は不要である。
同一文書候補グループ作成手段11は、対象データベース3に格納された文書に含まれる文字群の中から、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、優先順位記憶部21に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部22を参照して選択したそれぞれの文字をIDとした同一文書候補グループにその文書を追加する。
同一文書グループ作成手段11は、同一文書候補グループ記憶部22に格納された同一の同一文書候補グループに所属する文書対の類似度を対象データベース3を参照して計算して、入力装置4から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する。
記憶装置2は、優先順位記憶部21と、同一文書候補グループ記憶部22とを含む。記憶装置2は処理の高速化の都合上、メモリ内に格納することが望ましいが、HDD等の磁器記憶媒体であっても良い。
優先順位記憶部21は、第1の実施の形態と同様である。同一文書候補グループ記憶部22は、第1の実施の形態と同様である。出力データベース5は、第1の実施の形態と同様である。
次に、図16を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置4から入力された類似度閾値は75%として説明する。
まず、文書解析手段10は、対象データベース3に出現する全ての文字に関するすべての文書で共通する優先順位を判定して優先順位記憶部21に格納する(ステップS1)。尚、本説明では、第1の実施の形態と同様に、理解を容易とする為、同一文書グループの作成処理の過程において、優先順位を決定したが、以前の同一文書グループの作成処理において用いた優先順位を用いても良く、この場合には、優先順位を判定するステップは不要である。
文字の優先順位は、優先順位が一意であれば、どのような基準で決定しても本発明の実施には影響しない。ただし、出現文書数が少ない文字に高い優先順位を与えれば、同一文書候補グループ作成手段11において同一文書候補グループに登録される文書数を少なく抑えられるため、同一文書グループ作成手段12において類似度計算の回数を少なくすることが可能である。
図7に図6の対象データベース3を参照して求めた優先順位記憶部21の格納例を示す。ここでは、文字とその出現文書数、優先順位の対応関係を格納している。文字の優先順位は、文字の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い文字、すなわち、アルファベット順で若い文字ほど優先順位を高くしている。
続いて、同一文書候補グループ作成手段11は、対象データベース3に格納された文書に含まれる文字群の中から、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、優先順位記憶部21に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択した後、同一文書候補グループ記憶部22を参照して選択したそれぞれの文字をIDとした同一文書候補グループにその文書を追加する(ステップS2)。
ここで図17を用いて、同一文書候補グループ作成手段11の動作(ステップS2)の詳細を説明する。
まず、対象データベース3に格納された先頭の文書IDを持つ文書を選択する(ステップS20)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現し、また、ステップS20では文書i=文書1が選択されたとして説明する。
次に、文書iに含まれる文字のうち、入力装置4から入力された類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を、対象データベース3に格納された同一文書照合の対象となるすべての文書で共通する優先順位で選択する(ステップS21)。ここでは、類似度を定理2-2の類似度で計算する場合で説明する。
文書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個を選択すればよい。
文書iから選択する文字の順序は、優先順位記憶部21に格納された優先順位に従う。文書1から選択する4個の文字は、{A,I,B,C}となる。
次に、ステップS21で選択した文字群の先頭の文字IDを持つ文字を選択する(図17のステップS22)。文字を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりするために、文字には文字1から文字mのIDが振られており、j番目の文字は文字jで表し、またステップS22では文字j=文字1から選択されたとして説明する。
次に、同一文書候補グループ記憶部22に文字jをIDとした同一文書候補グループが存在するかを参照する(ステップS23)。もし存在しない場合は、文字jをIDとした同一文書候補グループを新たに作成し、それに文書iを追加する(ステップS24)。存在する場合は、文字jをIDとした同一文書候補グループに文書iを追加する(図17のステップS25)。
次に、ステップS22の文字IDがj>=mを満たすかを判断し(ステップS26)、満たす場合はステップS29へ進む、満たさない場合は、文字j=文字{j+1}(ステップS27)として、ステップS22へ戻る。
次に、ステップS22の文書IDがi>=nを満たすかを判断し(ステップS29)、満たす場合はステップS3に進み、満たさない場合は、文書i=文書{i+1}(ステップS28)として、ステップS21へ戻る。
以上、ステップ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のように格納する。
同一文書グループ作成手段12は、同一文書候補グループ記憶部22を参照して同一の同一文書候補グループに所属する文書対の類似度を対象データベース3を参照して計算して、入力装置4から入力された類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する(ステップS3)。
ここで、ステップS3の動作の詳細を説明する。尚、なおステップS3の動作は2通りの方法があり、まず一つ目を図19を用いて説明する。
まず、同一文書候補グループ記憶部22に格納された先頭の文字IDを持つ文字を選択する(ステップS310)。文字を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文字には文字1から文字nのIDが振られており、i番目の文字は文字iで現し、また、ステップS310では文字i=文字1が選択されたとして説明する。
次に、文字iをIDとする同一文書候補グループのうち先頭の文書IDを持つ文書を選択する(ステップS311)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文字iをIDとする同一文書候補グループの文書には文書1から文書mのIDが振られており、j番目の文書は文書jで現し、また、ステップS311では文書j=文書1が選択されたとして説明する。
次に、文字iをIDとする同一文書候補グループのうち文書k=文書j+1の文書IDを持つ文書を選択する(ステップS312)。
次に、対象データベース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に登録する。
次に、ステップS312の文書IDがk>=mを満たすかを判断し(ステップS314)、満たす場合はステップS316へ進む、満たさない場合は、文書k=文書{k+1}(ステップS315)として、ステップS312へ戻る。
次に、ステップS311の文書IDがj>=mを満たすかを判断し(ステップS316)、満たす場合はステップS318へ進む、満たさない場合は、文書j=文書{j+1}(ステップS317)として、ステップS311へ戻る。
次に、ステップSの文字IDがi>=nを満たすかを判断し(ステップS318)、満たす場合は処理を終了し、満たさない場合は、文字i=文字{i+1}(ステップS319)として、ステップS310へ戻る。
以上、一つ目のステップS3の同一文書グループ作成手段12の動作を説明した。類似度敷居値が75%の場合、同一文書グループ作成手段12は、図18の同一文書候補グループ記憶部22の文字AをIDとする同一文書候補グループの{文書1,文書5}、文字Bのグループの{文書1,文書3},{文書1,文書5},{文書3,文書5}、文字Cのグループの{文書1,文書3}、文字Gのグループの{文書2,文書4}、文字Iのグループの{文書1,文書3}、文字Kのグループの{文書4,文書6}、文字Lのグループの{文書2,文書4}と、類似度を計9回計算し(類似度の計算結果は図20を参照のこと)、出力データベース5に同一文書グループを図12のように出力する。
このように、非特許文献1の総当りの方法では、図6の対象データベース3に対して類似度は6×5/2=15回計算する必要があるが、本発明では9回で同一の結果を出力できる。ステップS2の同一文書グループ作成手段12の説明は、同一の文書対に対しても何度も類似度計算する単純な方法を採用しているが、既に類似度を求めた文書対を記憶装置2に保持することで、同一の文書対を1度だけ計算すれば良いようにできる。この時、ステップS3の同一文書グループ作成手段12は図18の同一文書候補グループ記憶部22に対して類似度は5回計算するだけで良い。
続いて、ステップS3の2つ目の動作を、図22を用いて詳細に説明する。
2つ目の動作を実現するためには、ステップS2の同一文書候補グループ作成手段11において、各文書と選択した文字群との対応関係を選択文字記憶部へ出力することが必要である。選択文字記憶部の例を図21に示す。
まず、選択文字記憶部に格納された先頭の文書IDを持つ文書を選択する(ステップS320)。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文字1から文字nのIDが振られており、i番目の文字は文字iで現し、また、ステップS320では文字i=文字1が選択されたとして説明する。
次に、同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める(ステップS321)。例えば、文書i=文書1の場合、文書1の選択文字は、図21を参照すると{A,B,C,I}となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図18を参照すると文字Aについては{文書1,文書5}、文字Bについては{文書1,文書3,文書5}、文字Cについては{文書1,文書3}、文字Iについては{文書1,文書3}となっている。これらの論理和の文書群は、{文書1,文書3,文書5}となる。
次に、ステップS321で求めた文書群から文書jを取り出す(ステップS322)。文書を取り出す順番は本発明の実施とは無関係であり任意の順番でよい。
次に、j>iならば、文書iと文書jの類似度を計算し、類似度閾値以上の場合は同一文書グループとして出力データベース5に登録する(ステップS323)。例えば、文書i=文書1のとき、ステップS321では、{文書1,文書3,文書5}が論理和の文字群となるが、文書j=文書3、文書j=文書5のときにのみ類似度を計算することとなる。類似度の計算式は、ステップS2の同一文書候補グループ作成手段11と同一のものを用いるが、この点に関しては、一つ目の同一文書グループ作成手段12の動作と同様なので省略する。
次に、ステップS321で求めた論理和の文字群に残りがある場合はステップS322に戻り、残りがない場合はステップS325に進む(ステップS324)。
次に、ステップS320の文書IDがi>=nを満たすかを判断し(ステップS325)、満たす場合は処理を終了し、満たさない場合は、文書i=文書{i+1}(ステップS326)として、ステップS320へ戻る。
以上、2つ目のステップS3の同一文書グループ作成手段12の動作を説明した。類似度閾値が75%の場合、文書1に対する論理和の文字群は{文書1,文書3,文書5}、文書2に対する論理和の文字群は{文書2,文書4}、文書3に対する論理和の文字群は{文書1,文書3,文書5}、文書4に対する論理和の文字群は{文書2,文書4,文書6}、文書5に対する論理和の文字群は{文書1,文書3,文書5}、文書6に対する論理和の文字群は{文書4,文書6}となり、類似度は、{文書1,文書3}、{文書1,文書5}、{文書2,文書4}、{文書3,文書5}、{文書4,文書6}の計5回計算し、出力データベース5に同一文書グループを図12のように出力する。
以上の如く、本発明は、グループ数の指定が事前に必要なく、照合漏れのない厳密解で、かつ、グループ数が多くなっても高速に同一文書の照合が可能である。
高速である理由は、類似度計算の対象となる文書対を、同一の同一文書候補グループに所属する文書対に限定するためである。また、照合漏れのない厳密解である理由は、文書に含まれる文字群の中から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を選択して文書グループ作成に用いるためである。さらに、同一文書グループ数を事前に指定しなくてもよく、同一文書グループ数が多くなっても高速な理由は、同一文書グループ数があらかじめ与えられていなくても同一文書グループを作成することが可能なためである。
<第3の実施の形態>
図23を参照すると本発明の第3の実施の形態は、第1の実施の形態と構成をほぼ同一とするが、単語群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段11と、それに対応する複数の同一文書候補グループ記憶部22を用いている点、および、同一文書グループ作成手段12が、複数ある同一文書候補グループ記憶部22にすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとする点で異なる。
なお説明を簡潔にするため、図23では同一文書候補グループ作成手段11を2つにしており、下記の動作の説明でも2つとして説明するが、必ずしもこれに限ることなく、3つ以上の複数であっても良い。
次に、図24を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置4から入力された類似度閾値は85%として説明する。
まず、ステップS1は文書解析手段10の動作であり、第1の実施の形態のステップS1と同様である。例えば、単語群記憶部20に図25のような文書1から文書10に含まれる単語群が格納された場合で説明する。この時、単語の優先順位を、単語の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い単語ほど優先順位を高く設定すると、優先順位記憶部21には図26のような優先順位で格納される。尚、本説明では、第1の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段10を設けたが、以前に用いた優先順位を用いる場合には(既に優先順位記憶部21に優先順位が格納されている場合には)、文書解析手段10の優先順位を決定する機能は不要であり、優先順位を決定するステップは不要である。また、本実施の形態では、ステップS4で述べるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他の優先順位は新たに決定せずに以前に決定した優先順位を用いるといった構成も可能である。
次に、ステップS2では、一回目の同一文書候補グループ作成手段11により一回目の同一文書候補グループを作成する。この動作は、第1の実施の形態のステップS2と同様である。図の単語群記憶部20に対して図26の優先順位記憶部の優先順位で一回目の同一文書候補グループ作成手段11を行う場合で説明する。類似度閾値が85%であるので、定理1-2に従い、各文書から(選択する単語の異なり数)/(文書に含まれる単語の異なり数)>1−0.85^2を満たす最小の単語の異なり数を選択する。図27のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、一回目の同一文書候補グループ記憶部に図28のように格納する。この際に、各文書と選択した単語群との対応関係を一回目の選択単語記憶部へ図29のように出力しておく。
次に、ステップS4では、一回目の同一文書候補グループ記憶部22を用いて優先順位記憶部21の優先順位を変更する。ステップS1では、単語の出現文書数が小さいほど高い優先順位を与えていたが、ステップS4では、単語の出現文書数が小さく、かつ、一回目の同一文書候補グループ作成手段11で多く選ばれなかった単語に高い優先順位を与える。例えば、その単語の出現文書数と、その単語が一回目の同一文書候補グループ作成手段11で選択された文書数の和が小さいほど優先順位を高くすればよい。図28の一回目の同一文書候補グループ記憶部を用いて、優先順位記憶部21の優先順位を変更した例を図30に示す。例えば、単語Aの出現文書数は3回であるが、一回目の同一文書候補グループ作成手段11では単語Aは3回選択されているので、2つの和の6をスコアとしている。スコアが同一の場合は、アルファベット順で後の単語ほど優先順位を高く設定している。
次に、ステップS5では、二回目の同一文書候補グループ作成手段12により二回目の同一文書候補グループを作成する。この動作は、第1の実施の形態のステップS2と同様である。図25の単語群記憶部20に対して図30の優先順位記憶部の優先順位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が85%であるので、定理1-2に従い、各文書から(選択する単語の異なり数)/(文書に含まれる単語の異なり数)>1−0.85^2を満たす最小の単語の異なり数を選択する。図31のようにそれぞれの文書からアンダーラインが引かれた単語を選択し、二回目の同一文書候補グループ記憶部に図32のように格納する。この際に、各文書と選択した単語群との対応関係を二回目の選択単語記憶部へ図33のように出力しておく。
次に、ステップS3では、同一文書グループ作成手段12が、複数ある同一文書候補グループ記憶部22のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する。
同一文書グループ作成手段12の動作(ステップS3)を説明する。
ステップS3の動作の詳細を、第1の実施の形態との違いを中心に図34を用いて説明する。
まず、選択単語記憶部に格納された先頭の文書IDを持つ文書を選択する(図34のステップS320)。文書IDのみを使用するので、一回目の選択単語記憶部、または、二回目の選択単語記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現す。
次に、一回目の同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める(図34のステップS321)。例えば、文書i=文書1の場合、文書1の一回目の選択単語は、図29を参照すると{A,L}となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図28を参照すると単語Aについては{文書1,文書4,文書6}、単語Lについては{文書1,文書4,文書7}となっている。これらの論理和の文書群は、{文書1,文書4,文書6,文書7}となる。
次に、二回目の同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択単語をIDとする同一文書候補グループの論理和の文書群を求める(図34のステップS327)。例えば、文書i=文書1の場合、文書1の二回目の選択単語は、図33を参照すると{G,L}となっている。それぞれの選択単語をIDとした同一文書候補グループの文書群は、図32を参照すると単語Gについては{文書1,文書2,文書8,文書9}、単語Lについては{文書1,文書7}となっている。これらの論理和の文書群は、{文書1,文書2,文書7,文書8,文書9}となる。
次に、ステップS321とステップS327で求めた文書群の論理積の文書群を求める(図34のステップS328)。例えば、文書i=文書1の場合、ステップS321では{文書1,文書4,文書6,文書7}、ステップS327では{文書1,文書2,文書7,文書8,文書9}が文書群として求められたので、その論理積の文書群は{文書1,文書7}となる。
次にステップS328で求めた文書群から文書jを取り出す(図34のステップS322)。このステップS322以降は、第1の実施の形態の図15のS322以降と同様なので説明は省略する。
以上、第3の実施の形態の動作を説明した。第1の実施の形態では、一回目の同一文書候補グループ作成手段のみを用いるので、図25の単語群記憶部の例では、図35のように類似度は18回計算する必要があるが、本実施の形態では、二回目の同一文書候補グループ作成手段も合わせて用いるため、類似度計算は11回に削減できる。
なお、本実施の形態では、同一文書候補グループ作成手段11を二回用いる場合で説明したが、複数回用いる場合にも容易に一般化できる。n回目の同一文書候補グループ作成手段11を実行する際には、n-1回目の同一文書候補グループ記憶部22を用いて優先順位記憶部21の優先順位を変更すればよい。例えば、その単語の出現文書数と、その単語がn-1回目までの同一文書候補グループ作成手段11で選択された文書数の総数の重み付け和が小さいほど優先順位を高くすればよい。すなわち、n回目の単語aのスコアscore(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n-1回目までに同一文書候補グループ作成された文書数の総数)
と表すことができ、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にすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとする点で異なる。
なお説明を簡潔にするため、図36では同一文書候補グループ作成手段を2つにしており、下記の動作の説明でも2つとして説明するが、必ずしもこれに限ることなく、3つ以上の複数であっても良い。
次に、図37を参照して本発明を実施するための最良の形態の動作について詳細に説明する。なお、入力装置4から入力された類似度閾値は85%として説明する。
まず、ステップS1は文書解析手段10の動作であり、第2の実施の形態のステップS1と同様である。例えば、対象データベース3に図25のような文書1から文書10に含まれる文字群が格納された場合で説明する。この時、文字の優先順位を、文字の出現文書数が小さいほど高く、出現文書数が同じ場合は、文字コードの若い単語、すなわち、アルファベット順で若い文字ほど優先順位を高く設定すると、優先順位記憶部21には図26のような優先順位で格納される。尚、本説明では、第2の実施の形態と同様に、理解を容易とする為、優先順位を決定する文書解析手段10を設けたが、以前に用いた優先順位を用いる場合には(既に優先順位記憶部21に優先順位が格納されている場合には)、文書解析手段10の優先順位を決定する機能は不要であり、優先順位を決定するステップは不要である。また、本実施の形態では、ステップS4で述べるように、複数の優先順位を用いるが、一部の優先順位のみ新たに決定し、他の優先順位は新たに決定せずに以前に決定した優先順位を用いるといった構成も可能である。
次に、ステップS2では、一回目の同一文書候補グループ作成手段11により一回目の同一文書候補グループを作成する。この動作は、第2の実施の形態のステップS2と同様である。図25の対象データベース3に対して図26の優先順位記憶部の優先順位で一回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が85%であるので、定理2-2に従い、各文書から(選択する文字数)/(文書に含まれる文字数)>0.85/(2−0.85)を満たす最小の文字数を選択する。図27のようにそれぞれの文書からアンダーラインが引かれた文字を選択し、一回目の同一文書候補グループ記憶部に図28のように格納する。この際に、各文書と選択した文字群との対応関係を一回目の選択文字記憶部へ図29のように出力しておく。
次に、ステップS4では、一回目の同一文書候補グループ記憶部22を用いて優先順位記憶部21の優先順位を変更する。ステップS1では、文字の出現文書数が小さいほど高い優先順位を与えていたが、ステップS4では、文字の出現文書数が小さく、かつ、一回目の同一文書候補グループ作成手段11で多く選ばれなかった文字に高い優先順位を与える。例えば、その文字の出現文書数と、その文字が一回目の同一文書候補グループ作成手段11で選択された回数の和が小さいほど優先順位を高くすればよい。図28の一回目の同一文書候補グループ記憶部を用いて、優先順位記憶部21の優先順位を変更した例を図30に示す。例えば、文字Aの出現文書数は3回であるが、一回目の同一文書候補グループ作成手段11では文字Aは3回選択されているので、2つの和の6をスコアとしている。スコアが同一の場合は、アルファベット順で後の文字ほど優先順位を高く設定している。
次に、ステップS5では、二回目の同一文書候補グループ作成手段12により二回目の同一文書候補グループを作成する。この動作は、第2の実施の形態のステップS2と同様である。図25の対象データベース3に対して図30の優先順位記憶部の優先順位で二回目の同一文書候補グループ作成手段を行う場合で説明する。類似度閾値が85%であるので、定理2-2に従い、各文書から(選択する文字数)/(文書に含まれる文字数)>0.85/(2−0.85)を満たす最小の単語の文字数を選択する。図31のようにそれぞれの文書からアンダーラインが引かれた文字を選択し、二回目の同一文書候補グループ記憶部に図32のように格納する。この際に、各文書と選択した文字群との対応関係を二回目の選択文字記憶部へ図33のように出力しておく。
次に、ステップS3では、同一文書グループ作成手段12が、複数ある同一文書候補グループ記憶部22のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとする、または、共通する文書を含む類似度閾値以上の文書対を統合した文書グループを同一文書グループとして判定し、その結果を対象データベース3に格納する。
同一文書グループ作成手段12(ステップS3)の動作を説明する。
ステップS3の動作の詳細を、第2の実施の形態との違いを中心に図38を用いて説明する。
まず、選択文字記憶部に格納された先頭の文書IDを持つ文書を選択する(図38のステップS320)。文書IDのみを使用するので、一回目の選択文字記憶部、または、二回目の選択文字記憶部のどちらでもよい。文書を選択する順番は本発明の実施とは無関係であり任意の順番でよい。ここでは、説明をわかりやすくするために、文書には文書1から文書nのIDが振られており、i番目の文書は文書iで現す。
次に、一回目の同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める(図38のステップS321)。例えば、文書i=文書1の場合、文書1の一回目の選択文字は、図29を参照すると{A,L}となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図28を参照すると文字Aについては{文書1,文書4,文書6}、文字Lについては{文書1,文書4,文書7}となっている。これらの論理和の文書群は、{文書1,文書4,文書6,文書7}となる。
次に、二回目の同一文書候補グループ記憶部22を参照して、文書iのそれぞれの選択文字をIDとする同一文書候補グループの論理和の文書群を求める(図38のステップS327)。例えば、文書i=文書1の場合、文書1の二回目の選択文字は、図33を参照すると{G,L}となっている。それぞれの選択文字をIDとした同一文書候補グループの文書群は、図32を参照すると文字Gについては{文書1,文書2,文書8,文書9}、文字Lについては{文書1,文書7}となっている。これらの論理和の文書群は、{文書1,文書2,文書7,文書8,文書9}となる。
次に、ステップS321とステップS327で求めた文書群の論理積の文書群を求める(図38のステップS328)。例えば、文書i=文書1の場合、ステップS321では{文書1,文書4,文書6,文書7}、ステップS327では{文書1,文書2,文書7,文書8,文書9}が文書群として求められたので、その論理積の文書群は{文書1,文書7}となる。
次にステップS328で求めた文書群から文書jを取り出す(図38のステップS322)。このステップS322以降は、第2の実施の形態の図23のS322以降と同様なので説明は省略する。
以上、第4の実施の形態の動作を説明した。第2の実施の形態では、一回目の同一文書候補グループ作成手段11のみを用いるので、図24の対象データベース3の例では、図35のように類似度は18回計算する必要があるが、本実施の形態では、二回目の同一文書候補グループ作成手段も合わせて用いるため、類似度計算は11回に削減できる。
なお、本実施の形態では、同一文書候補グループ作成手段11を二回用いる場合で説明したが、複数回用いる場合にも容易に一般化できる。n回目の同一文書候補グループ作成手段11を実行する際には、n−1回目の同一文書候補グループ記憶部22を用いて優先順位記憶部21の優先順位を変更すればよい。例えば、その文字の出現文書数と、その文字がn−1回目までの同一文書候補グループ作成手段11で選択された文書数の総数の重み付け和が小さいほど優先順位を高くすればよい。すなわち、n回目の文字aのスコアscore(a,n)は、
Score(a,n) = p x (aの出現文書数) + q x (n-1回目までにaが同一文書候補グループ作成手段で選択された文書数の総数)
と表すことができ、Scoreの小さい単語ほど優先順位を高くする。ここで、pとqは実数の定数である。同一文書グループ作成手段12では、ステップS321,ステップS327のような文書iのそれぞれの選択文字をIDとする同一文書グループの論理和の文書群を求める処理をn回行いn個の論理和の文書群を求め、ステップS328では、n個の論理和の文書群の論理積を求めるようにすれば良い。
本発明の効果は、第2の実施の形態の効果を維持したまま、第2の実施の形態よりも高速に同一文書の照合が可能なことである。その理由は、文字群の優先順位をそれぞれ異なる基準で設定する複数の同一文書候補グループ作成手段11とそれに対応する複数の同一文書候補グループ記憶部22を用いて、同一文書グループ作成手段12が、複数ある同一文書候補グループ記憶部22のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対に限り類似度を計算するようにしているからである。
本出願は、2006年9月14日に出願された日本出願特願2006−249429号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 データ処理装置
2 記憶装置
3 対象データベース
4 入力装置
5 出力データベース
10 文書解析手段
11 同一文書候補グループ作成手段
12 同一文書グループ作成手段
20 単語群記憶部
21 優先順位記憶部
22 同一文書候補グループ記憶部

Claims (8)

  1. 与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合システムであって、
    単語または文字で識別され、実質的に同一の候補である文書のグループである同一文書候補グループと、そのグループに属する文書との対応関係が記憶される同一文書候補グループ記憶部と、
    文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求め、この割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択し、選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて前記同一文書候補グループ記憶部に記憶する同一文書候補グループ作成手段と
    前記同一文書候補グループ記憶部に記憶されている同一の同一文書候補グループに対応付けられた2つの異なる文書の対である文書対に対して類似度を計算し、この類似度が前記類似度閾値以上の文書対を同一文書グループとして登録する同一文書グループ作成手段と
    を有することを特徴とする同一文書照合システム。
  2. 前記同一文書グループ作成手段は、共通する文書を含む同一文書グループを統合して同一文書グループとするように構成されていることを特徴とする請求項1に記載の同一文書照合システム。
  3. 同一文書候補グループ作成手段が、前記優先順位を、出現文書数が少ない単語または文字が高い優先順位となるように決定することを特徴とする請求項1又は請求項2に記載の同一文書照合システム。
  4. 前記同一文書候補グループ作成手段及び前記複数の同一文書候補グループ記憶部を、異なる優先順位毎に設け、
    前記同一文書グループ作成手段が、複数ある同一文書候補グループ記憶部のすべてにおいていずれかの同一の同一文書候補グループに所属する文書対の中で、類似度閾値以上の文書対を同一文書グループとするように構成されていることを特徴とする請求項1から請求項3のいずれかに記載の同一文書照合システム。
  5. 前記複数の同一文書候補グループ作成手段が、異なる優先順位を設定する際に、
    n回目の同一文書候補グループ作成手段を実行する際の単語または文字の優先順位を、その出現文書数とそれがn−1回目までの同一文書候補グループ作成手段で選択された文書数の総数の重み付き和が小さい単語又は文字ほど優先順位を高く設定するように構成されていることを特徴とする請求項4に記載の同一文書照合システム。
  6. 前記同一文書候補グループ作成手段が、文書に含まれる単語から類似度閾値以上の文書間で少なくとも一つが必ず共通するような種類の単語を選択する際に、
    単語tlの重要度をw(tl)とし、
    2つの文書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を選択する
    ように構成されていることを特徴とする請求項1から請求項5のいずれかに記載の同一文書照合システム。
  7. 同一文書候補グループ作成手段が、文書に含まれる文字から類似度閾値以上の文書間で少なくとも一つが必ず共通するような数の文字群を選択する際に、
    2つの文書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を選択する
    ように構成されていることを特徴とする請求項1から請求項5のいずれかに記載の同一文書照合システム。
  8. 与えられた文書間で実質的に同一の文書群をグルーピングする同一文書照合プログラムあって、
    文書間で少なくとも所定の類似度閾値以上となるために、文書間で単語または文字が共通する割合を求める処理と、
    前記割合に基づいて、文書照合の対象となるすべての文書間で共通する優先順位で単語または文字を選択する処理と、
    前記選択したそれぞれの単語または文字で識別される同一文書候補グループにその文書を対応付けて記憶する処理と
    前記記憶されている同一の同一文書候補グループに対応付けられた2つの異なる文書の対である文書対に対して類似度を計算し、この類似度が前記類似度閾値以上の文書対を同一文書グループとして登録する処理と
    を情報処理装置に実行させることを特徴とする同一文書照合プログラム。
JP2012165641A 2006-09-14 2012-07-26 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム Expired - Fee Related JP5605583B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012165641A JP5605583B2 (ja) 2006-09-14 2012-07-26 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006249429 2006-09-14
JP2006249429 2006-09-14
JP2012165641A JP5605583B2 (ja) 2006-09-14 2012-07-26 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008534383A Division JP5115741B2 (ja) 2006-09-14 2007-09-13 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム

Publications (2)

Publication Number Publication Date
JP2012230713A JP2012230713A (ja) 2012-11-22
JP5605583B2 true JP5605583B2 (ja) 2014-10-15

Family

ID=39183834

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008534383A Active JP5115741B2 (ja) 2006-09-14 2007-09-13 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム
JP2012165641A Expired - Fee Related JP5605583B2 (ja) 2006-09-14 2012-07-26 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008534383A Active JP5115741B2 (ja) 2006-09-14 2007-09-13 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム

Country Status (3)

Country Link
US (1) US8606779B2 (ja)
JP (2) JP5115741B2 (ja)
WO (1) WO2008032780A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032780A1 (fr) * 2006-09-14 2008-03-20 Nec Corporation Procédé de recherche, procédé de calcul de similarité, calcul de similarité, système d'appariement de mêmes documents et programme de ceux-ci
US9081852B2 (en) * 2007-10-05 2015-07-14 Fujitsu Limited Recommending terms to specify ontology space
US20120169771A1 (en) * 2009-07-23 2012-07-05 Nec Corporation Information presenting system, information presenting method, and storage medium
US8515972B1 (en) 2010-02-10 2013-08-20 Python 4 Fun, Inc. Finding relevant documents
US8660986B2 (en) * 2010-10-27 2014-02-25 Microsoft Corporation Preserving user intent in merging ordered objects
US9551166B2 (en) * 2011-11-02 2017-01-24 Ford Global Technologies, Llc Electronic interior door release system
US11003567B2 (en) * 2017-12-06 2021-05-11 International Business Machines Corporation Method and apparatus for test modeling
CN111144104B (zh) * 2018-11-02 2023-06-20 中国电信股份有限公司 文本相似度的确定方法、装置和计算机可读存储介质
US10540381B1 (en) 2019-08-09 2020-01-21 Capital One Services, Llc Techniques and components to find new instances of text documents and identify known response templates
CN110737751B (zh) * 2019-09-06 2023-10-20 平安科技(深圳)有限公司 基于相似度值的搜索方法、装置、计算机设备和存储介质
CN111241811B (zh) * 2020-01-06 2024-05-10 平安科技(深圳)有限公司 确定搜索词权重的方法、装置、计算机设备和存储介质
CN113239252A (zh) * 2020-09-23 2021-08-10 潘倩雯 基于大数据的信息数据存储整合系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04175874A (ja) * 1990-11-07 1992-06-23 Chugoku Nippon Denki Software Kk 推論機能付き検索システム
JP3673553B2 (ja) * 1995-03-31 2005-07-20 キヤノン株式会社 ファイリング装置
JPH1153387A (ja) * 1997-08-06 1999-02-26 Ibm Japan Ltd 文書の関連付け方法及びそのシステム
US6542889B1 (en) * 2000-01-28 2003-04-01 International Business Machines Corporation Methods and apparatus for similarity text search based on conceptual indexing
JP3759438B2 (ja) * 2001-08-03 2006-03-22 日本電信電話株式会社 類似部分系列検出方法および装置、類似部分系列検出プログラムならびにその記録媒体
JP4142881B2 (ja) * 2002-03-07 2008-09-03 富士通株式会社 文書類似度算出装置、クラスタリング装置および文書抽出装置
US7392262B1 (en) * 2004-02-11 2008-06-24 Aol Llc Reliability of duplicate document detection algorithms
US7406479B2 (en) * 2006-02-10 2008-07-29 Microsoft Corporation Primitive operator for similarity joins in data cleaning
US8010534B2 (en) * 2006-08-31 2011-08-30 Orcatec Llc Identifying related objects using quantum clustering
WO2008032780A1 (fr) * 2006-09-14 2008-03-20 Nec Corporation Procédé de recherche, procédé de calcul de similarité, calcul de similarité, système d'appariement de mêmes documents et programme de ceux-ci

Also Published As

Publication number Publication date
JP2012230713A (ja) 2012-11-22
JP5115741B2 (ja) 2013-01-09
WO2008032780A1 (fr) 2008-03-20
US8606779B2 (en) 2013-12-10
US20100023505A1 (en) 2010-01-28
JPWO2008032780A1 (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
JP5605583B2 (ja) 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム
Mathur et al. Detecting offensive tweets in hindi-english code-switched language
Bennani-Smires et al. Simple unsupervised keyphrase extraction using sentence embeddings
Jung Semantic vector learning for natural language understanding
US9230041B2 (en) Search suggestions of related entities based on co-occurrence and/or fuzzy-score matching
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
CN107506472B (zh) 一种学生浏览网页分类方法
Wang et al. DM_NLP at semeval-2018 task 12: A pipeline system for toponym resolution
Singh et al. Analytics of similar-sounding names from the web with phonetic based clustering
WO2015084757A1 (en) Systems and methods for processing data stored in a database
CN113961666A (zh) 关键词识别方法、装置、设备、介质及计算机程序产品
Suresh et al. Data mining and text mining—a survey
JP4640593B2 (ja) 多言語文書検索装置および多言語文書検索方法、並びに、多言語文書を検索するプログラム
US9208204B2 (en) Search suggestions using fuzzy-score matching and entity co-occurrence
JP6470249B2 (ja) データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム
US9547701B2 (en) Method of discovering and exploring feature knowledge
JP6260678B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Aghaebrahimian et al. Named entity disambiguation at scale
Yang et al. Exploring word similarity to improve chinese personal name disambiguation
Chou et al. On the Construction of Web NER Model Training Tool based on Distant Supervision
JP4844737B2 (ja) 代表情報選択方法、代表情報選択システム及びプログラム
CN112507687A (zh) 一种基于二次排序的工单检索方法
Pilaluisa et al. Contextual word embeddings for tabular data search and integration
CN112949287B (zh) 热词挖掘方法、系统、计算机设备和存储介质
Sierra et al. A case study in authorship attribution: The Mondrigo

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140812

R150 Certificate of patent or registration of utility model

Ref document number: 5605583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees