(57)【要約】【課題】  オブジェクトのコレクション内で類似のオブジェクトを検出する方法を提供する。【解決手段】  本方法は、誤検出を従来法とほぼ同程度に回避しながら、オブジェクトごとの必要メモリを縮小するように従来法を修正する。修正は以下のことを含む。（ｉ）ｋ個の特徴サンプルをｓ個のスーパーサンプルにまとめること。ｋの値は、従来法で用いられる対応する値よりも小さい。（ｉｉ）各スーパーサンプルをｂビットの精度で記録すること。ｂの値は、従来法で用いられる対応する値よりも小さい。（ｉｉｉ）２個のオブジェクトが十分に類似していると結論するためにｌ（エル）個のスーパーサンプルの一致を要求すること。ｌ（エル）の値は、従来法で要求される対応する値よりも大きい。本方法の一用途は、問合せ結果がほとんどそっくり物文書（よく似た文書）であるクラスタ（束）を判定する、ウェブ検索エンジン問合せサービスに関連する。【選択図】  図４
2005276205.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトのコレクション内で類似オブジェクトを検出する方法において、２個のオブジェクトのそれぞれについて、
類似オブジェクトを検出する従来法とほぼ同程度に誤検出を回避しながら必要メモリを低減するように該従来法を修正したステップ
を含み、該修正したステップが、
前記従来法で用いられるサンプル数よりも少ない数の特徴のサンプルを各々ある総数のスーパーサンプルにまとめるステップと、
前記従来法で用いられるビット数の精度よりも小さいビット数の精度で各々の前記総数のスーパーサンプルを記録するステップと、
前記２個のオブジェクトが十分に類似していると結論するために、前記総数のスーパーサンプルのうち、前記従来法で要求される一致スーパーサンプル数よりも多い数の一致スーパーサンプルを要求するステップと
を含むことを特徴とする類似オブジェクトを検出する方法。
【請求項２】
前記一致スーパーサンプルを要求するステップが、前記スーパーサンプルの総数のうち１個以外のすべてが一致することを要求することを特徴とする請求項１に記載の方法。
【請求項３】
前記一致スーパーサンプル数を要求するステップが、前記スーパーサンプルの総数のうち２個以外のすべてが一致することを要求することを特徴とする請求項１に記載の方法。
【請求項４】
前記一致スーパーサンプル数を要求するステップが、すべてのスーパーサンプルが一致することを要求することを特徴とする請求項１に記載の方法。
【請求項５】
前記サンプルを各々の総数のスーパーサンプルにまとめるステップが、４個のサンプルを各々の総数のスーパーサンプルにまとめ、前記従来法で用いられるサンプル数が１４であることを要求することを特徴とする請求項１に記載の方法。
【請求項６】
第１のビット数の精度で各スーパーサンプルを記録するステップが、１６ビットの精度で各スーパーサンプルを記録することを含み、前記従来法で用いられる第２のビット数の精度が６４ビットであり、
前記一致スーパーサンプル数を要求するステップが、６個中４個のスーパーサンプルが一致することを要求し、前記従来法で要求される一致スーパーサンプル数が６個中２個のスーパーサンプル数である
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記一致スーパーサンプル数を要求するステップが、７個中５個のスーパーサンプルが一致することを要求し、前記従来法で要求される一致スーパーサンプル数が６個中２個のスーパーサンプル数であることを特徴とする請求項５に記載の方法。
【請求項８】
前記オブジェクトが文書であり、前記方法が、ほとんどそっくり物文書である問合せ結果のクラスタを判定する検索エンジン問合せサービスに関連して用いられることを特徴とする請求項１に記載の方法。
【請求項９】
各クラスタ内で報告すべき１つの文書を選択するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記１つの文書を選択するステップがランキング関数によることを特徴とする請求項９に記載の方法。
【請求項１１】
検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法において、比較される２個の項目のそれぞれについて、
特徴のサンプルを４個ずつまとめて６個のスーパーサンプルのそれぞれを生成するステップと、
各スーパーサンプルを１６ビットの精度で記録するステップと、
前記６個のスーパーサンプルのうち４個が一致することを要求するステップと
を含むことを特徴とする検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法。
【請求項１２】
各クラスタ内で報告すべき１つの文書を選択するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記１つの文書を選択するステップがランキング関数によることを特徴とする請求項１２に記載の方法。
【請求項１４】
検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法において、比較される２個の項目のそれぞれについて、
特徴のサンプルを４個ずつまとめて７個のスーパーサンプルのそれぞれを生成するステップと、
各スーパーサンプルを１６ビットの精度で記録するステップと、
前記７個のスーパーサンプルのうち５個が一致することを要求するステップと
を含むことを特徴とする検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法。
【請求項１５】
各クラスタ内で報告すべき単一の文書を選択するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記単一の文書を選択するステップがランキング関数によることを特徴とする請求項１５に記載の方法。
【請求項１７】
オブジェクトのコレクション内で類似オブジェクトを検出する本方法を実施するマシン命令を具現化したコンピュータ可読媒体において、該本方法は、類似オブジェクトを検出する従来法とほぼ同程度に誤検出を回避しながら必要メモリを低減するような、該従来法の修正を含み、前記本方法が、
前記従来法で用いられるサンプル数よりも少ない数の特徴のサンプルを各々ある総数のスーパーサンプルにまとめるステップと、
前記従来法で用いられるビット数の精度よりも小さいビット数の精度で各々の前記総数のスーパーサンプルを記録するステップと、
前記２個のオブジェクトが十分に類似していると結論するために、前記従来法で要求される一致スーパーサンプル数よりも多い数の一致スーパーサンプル数を要求するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１８】
前記一致スーパーサンプル数を要求するステップが、前記スーパーサンプルの総数のうち１個以外のすべてが一致することを要求することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記一致スーパーサンプル数を要求するステップが、前記スーパーサンプルの総数のうち２個以外のすべてが一致することを要求することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記一致スーパーサンプル数を要求するステップが、すべてのスーパーサンプルが一致することを要求することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法を実施するマシン命令を具現化したコンピュータ可読媒体において、比較される２個の項目のそれぞれについて、
特徴のサンプルを４個ずつまとめて６個のスーパーサンプルのそれぞれを生成するステップと、
各スーパーサンプルを１６ビットの精度で記録するステップと、
前記６個のスーパーサンプルのうち４個が一致することを要求するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項２２】
検索エンジン問合せ結果内のほとんどそっくり物項目のグループを判定する方法を実施するマシン命令を具現化したコンピュータ可読媒体において、比較される２個の項目のそれぞれについて、
特徴のサンプルを４個ずつまとめて７個のスーパーサンプルのそれぞれを生成するステップと、
各スーパーサンプルを１６ビットの精度で記録するステップと、
前記７個のスーパーサンプルのうち５個が一致することを要求するステップと
を含むことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模コレクション(収集物)内で類似のデータオブジェクトを識別することに関し、より詳細には、ワールドワイドウェブ（World Wide Web）のような非常に大規模な文書コーパス(言語資料集合体)内でほとんどそっくり物（near-duplicate）を識別することに関する。
【背景技術】
【０００２】
一般に、大規模な文書コレクションは、互いに同一またはほぼ同一の文書を多数含む。２つのディジタル符号化された文書がビット単位で同一かどうかを判定することは容易である（例えばハッシュ技法を用いる）。しかし、おおよそあるいは実質同一である文書を迅速に識別することはより困難であるけれども、多くの状況において、より有益な仕事である。ワールドワイドウェブは、極めて大規模な文書の集合である。ウェブはその誕生以来指数関数的に成長してきているので、現在ではウェブインデックスは約５０億ウェブページを含み（静的ウェブは２００億ページと推定される）、そのかなりの部分がそっくり物（duplicate;重複、複製）またはほとんどそっくり物(near-duplicate;準重複、ほぼ複製)である。ウェブクローラや検索エンジンのようなアプリケーションにとって、ほとんどそっくり物を検出する能力は有益である。例えば、このようなアプリケーションにほとんどの重複および重複に近いものを無視させたり、類似の文書をまとめるように問合せの結果をフィルタリングしたりすることが望ましい場合がある。
【０００３】
大規模コレクション内の類似オブジェクトを見出すという問題を解決するために、「シングリング」（shingling）あるいは「シングルプリンティング」（shingleprinting）という技法が開発されている。この技法の種々の態様が、以下の特許文献に記載されている。
【０００４】
特許文献１、発明者：Broder他、名称：「Method for Determining the Resemblance of Documents」、出願日：１９９６年６月１８日。
【０００５】
特許文献２、発明者：Broder他、名称：「Method for Estimating the Probability of Collisions of Fingerprints」、出願日：１９９７年９月１５日。
【０００６】
特許文献３、発明者：Broder他、名称：「System and Method for Monitoring Web Pages by Comparing Generated Abstracts」、出願日：１９９７年１２月１９日。この米国特許では、本出願の発明者が共同発明者となっている。
【０００７】
特許文献４、発明者：Broder他、名称：「Method for Clustering Closely Resembling Data Objects」、出願日：１９９８年３月２６日。この米国特許では、本出願の発明者が共同発明者となっている。
【０００８】
特許文献５、発明者：Broder他、名称：「Method for Clustering Closely Resembling Data Objects」、出願日：２０００年８月２１日。この米国特許では、本出願の発明者が共同発明者となっている。
【０００９】
特許文献６、米国特許出願第０９／９６０，５８３号、発明者：Manasse他、名称：「System and Method for Determining Likely Identity in a Biometric Database」、出願日：２００１年９月２１日、公開日：２００３年３月２７日。この米国特許出願では、本出願の発明者が共同発明者となっている。
【００１０】
また、非特許文献１、非特許文献２、および非特許文献３も参照されたい。
【００１１】
これらの特許文献および非特許文献はそれぞれ引用により本明細書に援用される。
【００１２】
シングリング手法では、２つの非常に類似する文書が多数の特徴を共有するように、文書を十分に代表する特徴集合へと文書を縮約する。テキスト文書の場合、ｗを一定の数として、重複する連続ｗ語のサブフレーズ（その文書の「ｗ−シングリング」）の集合を特徴として抽出すると有益であることが分かっている。Ｄ１およびＤ２を文書とし、Ｆ１およびＦ２をそれぞれの特徴集合として、Ｄ１とＤ２の類似度を、特徴集合のジャカール（Jaccard）係数
【００１３】
【数１】
2005276205.tif 000003
【００１４】
（すなわち、２つの文書内の共通する特徴の個数を、２つの文書内の特徴の総数で割ったもの）として定義する。これは０と１の間の数を与える。２つの本質的に同等の文書の類似度は１に近い数となるが、ほとんどの非類似文書のペアに対する類似度は０に近い数となる。なお、大規模コレクション内で実質同一項目を検出するためのシングリング技法は、テキストコーパスに制限されないことに留意すべきである。シングリングは、代表特徴集合を抽出することが可能なサウンド録音およびビジュアル画像等の任意の種類のデータオブジェクトのコレクションに適用可能である。
【００１５】
各文書から抽出される特徴の個数は、（その文書内の単語数と同程度に）極めて大きくなる可能性がある。文書コレクション自体が非常に大きい（ウェブの場合のように、数十億となり得る）と仮定すると、類似度の値を正確に計算しペアごとの比較を実行することは、コレクションのサイズに関して２次であり、極めて高価となる。そこで、問題を扱いやすいサイズに縮小するために、類似度を近似する。
【００１６】
この近似は、文書の類似度を保ちながら各文書の特徴集合をサンプリングすることを含む。原理的には、特徴の空間から、すべての特徴からなる集合よりも大きい整列集合へのランダムな一対一関数を使用できる。整列性により、確率関数（rondom function）による特徴集合の像の最小元が存在する。その最小元の原像（preimage）を、選択されるサンプル特徴にとる。すべての関数が等確率であるので、これでうまくいく。集合の任意の元が最小元に写像される可能性が同程度であり、２つの集合から選択する場合、最小元はその和集合から一様に選択される。
【００１７】
上記の方式は、実際に実施可能であるためには変更が必要である。まず第一に、一様に選び出すには、像集合を整数の有限集合とするのが便利である。特徴集合が有界でない場合、有限集合への一対一関数を得るのが困難である。うまく選んだハッシュ関数、好ましくはラビンフィンガープリント（Rabin fingerprint）を用いて、各特徴を固定ビット数の数値へとハッシュすることで、その集合全体での衝突確率が無視できるほど小さくなる程度の大きさの集合を選択できる。第二に、真にランダムな関数を選ぶ代わりに、より小さい、容易にパラメータ化（媒介変数化）される関数の集合から関数を選択する。ここで、選択される関数は、正しい確率に任意に近づくように良好であることが証明できる。通常、線型合同置換の組合せをラビンフィンガープリントとともに用いる。ただし、その正当性は証明可能でない。
【００１８】
この技法は、Ｐｒｏｂ（ｆｉ＝ｆｊ）＝Ｓｉｍ（Ｄｉ，Ｄｊ）となるように、各特徴集合Ｆｉから１つの特徴ｆｉを選択するためのメカニズムを提供する。この選択メカニズムは、類似度に対する不偏点推定量(unbiased point estimator)を提供する。ある数ｒ個のセレクタを選ぶ。それぞれの文書Ｄｉに対し、Ｄｉに関して各セレクタを１回ずつ用いて、ｆｉ１，...，ｆｉｒを計算する。これにより、ある程度の前処理と引き替えに、各項目に対するデータ記憶域を一定値に縮約し、集合の比較をベクトルの成分の照合に帰着させる。
【００１９】
複数の独立な選択メカニズムを実行することにより、選択のベクトルの一致を数えることによって、２つの文書の類似度の百分率の推定値が得られる。ｐ＝Ｓｉｍ（Ｄ，Ｅ）の場合、ＤおよびＥに対するベクトルの各成分は確率ｐで一致する。ｋ個連続で成分が一致する確率はｐｋである。重複しない連続するｋ個の成分を、ハッシュ値の衝突確率が無視し得るようになるくらい大きい空間から選択される単一の整数へとハッシュすることによって、ベクトルを圧縮しつつ、必要な記憶域をｋ分の１に縮小できる。長さｋのグループ（「スーパーサンプル」）がｓ個存在する場合、１個以上のスーパーサンプル（supersampel）が一致する確率は１−（１−ｐｋ）ｓであり、２個以上のスーパーサンプルが一致する確率は１−（１−ｐｋ）ｓ−ｓ（１−ｐｋ）ｓ−１である。
【００２０】
Ａｌｔａ  Ｖｉｓｔａ検索エンジンに関する従来研究では、各文書のテキストの正規化バージョンの６−シングリングを特徴集合として抽出した。特徴は、６４ビット整数として表現した。線型合同置換を用いた技法をそれぞれの６４ビット整数に適用することにより、新たな６４ビット整数の集合を生成し、その新しい集合内の最小元の原像をサンプルとして選択した。８４個のサンプルをとり、１４サンプルずつにまとめて６個のスーパーサンプルに分割した。すなわち、パラメータｋおよびｓについて、ｋ＝１４およびｓ＝６という値を用いた。パラメータをこのように選択したのは、ほとんどそっくり物文書に対する所望の類似度閾値が０．９５であったからである。２つの文書間で１４個のサンプルが一致する確率は文書の類似度の１４乗に等しいので、文書がほとんどそっくり物である場合、その確率は０．９５１４となる。これは約２分の１である。したがって、それぞれ１４サンプルからなる６個のグループの場合、６個中少なくとも２個のグループが一致する可能性は高く、２個よりも少ないグループが一致する可能性は低い。よって、文書がおそらくほとんどそっくり物であると判断するには、６個中２個のスーパーサンプルを照合する必要がある。上記従来研究は、所望の閾値に従ってほとんどそっくり物項目を識別するのに実際に有効であった。
【００２１】
上記従来研究では、照合プロセスを項目ごとの少数のハッシュテーブル参照に単純化できることが分かった。１グループ内のｋ個のサンプルを１つの６４ビット整数に圧縮する。以下でさらに説明するように、非類似文書との偶然の一致を避けるために、各スーパーサンプルを６４ビットの精度で記録する。そして、ｓ個の６４ビット整数のすべての可能なペアをハッシュテーブルに挿入する。例えばｓ＝６の場合、少なくとも２個連続して一致する項目を見出すには、
【００２２】
【数２】
2005276205.tif 000004
【００２３】
回の参照だけでよいので、１５個のハッシュテーブルが用いられる。
【００２４】
【特許文献１】米国特許第５９０９６７７号明細書
【特許文献２】米国特許第５９７４４８１号明細書
【特許文献３】米国特許第６２６９３６２号明細書
【特許文献４】米国特許第６１１９１２４号明細書
【特許文献５】米国特許第６３４９２９６号明細書
【特許文献６】米国特許出願公開第２００３／００６１２３３号明細書      （米国特許出願第０９／９６０，５８３号）
【非特許文献１】ブローダー（Broder）、「文書の類似および包含について（On the Resemblance and Containment of Documents）」、1997 Proc. Compression & Complexity of Sequences (IEEE 1998) p.21-29
【非特許文献２】ブローダー（Broder）、グラスマン（Glassman）、マナッセ（Manasse）、ツヴァイク（Zweig）、「ウェブの統語論的クラスタリング（Syntactic Clustering of the Web）」、Proc. 6th Intl. World Wide Web Conf.、１９９７年４月、p.391-404
【非特許文献３】マナッセ（Manasse）、「大規模コレクション内で迅速に類似物を見出すこと（Finding Similar Things Quickly in Large Collections）」、［online］、２００４年、<URL: http://research.microsoft.com/research/sv/PageTurner/similarity.htm>
【発明の開示】
【発明が解決しようとする課題】
【００２５】
上記従来研究はオフラインプロセスの使用を対象としていたので、主記憶を節約することは主要な関心事ではなかった。例えば、前段落に記載したハッシュ最適化はオフライン処理に適している。しかし、この技法で文書ごとに必要な記憶域は、すべての文書に対してこの技法を「進行中(on the fly）」に実行する検索エンジンにとっては受け入れがたいものとなる。この場合、５０億文書のコレクションでは、６個の値を記憶するために２４０ギガバイトのメモリフットプリントを要し、ハッシュテーブルを記憶するためにさらに５２０ギガバイトを要する。これは、検索実行時に扱いにくく、インデックス構築に制約を課すことになる。例えば、検索エンジンは、文書コレクション全体に対する前処理を実行せず、そのインデックスを増分的に作成するかもしれない。検索エンジンは、オンラインプロセスにおいて、報告しようとしているどの問合せ結果がほとんどそっくり物であるかを判定し、ランキング関数を用いてほとんどそっくり物クラスタ（束）当たり１つの文書を選択して報告をその文書へと縮約することで、最もよく対応する文書を動的に選択できれば望ましい。
【課題を解決するための手段】
【００２６】
いくつかの実施形態に従って、本発明は、オブジェクトのコレクション内で類似のオブジェクトを検出する方法を提供する。本方法は、誤検出を従来法とほぼ同程度に回避しながら、オブジェクトごとの必要メモリを縮小するように従来法を修正することを含む。この修正は以下のことを含む。（ｉ）ｋ個の特徴サンプルをｓ個のスーパーサンプルにまとめること。ｋの値は、従来法で用いられる対応する値よりも小さい。（ｉｉ）各スーパーサンプルをｂビットの精度で記録すること。ｂの値は、従来法で用いられる対応する値よりも小さい。（ｉｉｉ）２個のオブジェクトが十分に類似していると結論するために、ｌ（エル）個のスーパーサンプルの一致を要求すること。このｌ（エル）の値は、従来法で要求される対応する値よりも大きい。本方法におけるｌ（エル）の値は、例えば、ｓ、ｓ−１、またはｓ−２としてよい。
【００２７】
一実施形態によれば、ｋ＝４であり、これは従来法におけるｋ＝１４よりも小さい。一実施形態によれば、ｂ＝１６であり、これは従来法におけるｂ＝６４よりも小さい。また、６個中４個のスーパーサンプルが一致することを要求しており、これは従来法における６個中２個の要求よりも増大している。別の実施形態では、従来法における６個中２個の代わりに、７個中５個のスーパーサンプルが一致することを要求している。さらに別の実施形態では、すべてのスーパーサンプル、したがってすべてのサンプルが一致することを要求している。
【００２８】
本発明のいくつかの実施形態では、本方法は、ほとんどそっくり物文書である問合せ結果のクラスタを判定するために、ウェブ検索エンジン問合せサービスに関連して用いられる。本方法がこのようなクラスタを見出すために用いられた場合、各クラスタから、例えばランキング関数に従って１つの文書を選択し、クラスタ全体ではなくその１つの文書（および類似文書への参照）を問合せ提出者に報告する。
【００２９】
なお、本発明は、全部または一部を、コンピュータ上で実行するためのソフトウェアとして実施してもよいと意図している。
【００３０】
本発明の他の特徴は、以下の説明を図面とともに参照すれば明らかとなるであろう。
【発明を実施するための最良の形態】
【００３１】
以下の記載において、本発明のいくつかの実施形態を説明する。説明のために、実施形態の理解が得られるために、具体的な構成および詳細を記載する。しかし、そうした具体的詳細なしで本発明を実施し得ることも当業者にとっては明らかであろう。また、説明する実施形態があいまいにならないようにするために、本発明の一部であって当業者にとって本質的に基礎的な周知の特徴は、おおむね省略または簡略化する。
【００３２】
本発明は、従来研究の方法とほぼ同程度に、大規模コレクション内のほとんどそっくり物項目（near-duplicate item）を識別しつつ、文書当たりの必要メモリを低減する技法を提供する。これにより、オフラインプロセスが望ましくない、あるいは使用できない状況や、上記の発明が解決しようとする課題に記載した検索エンジンの例の場合のように特定のメモリ制約が提起されているその他の状況において、本技法は実施可能で有益となる。
【００３３】
図１は、さまざまなパラメータ値を用いてシングルプリンティング（shingle  printing method）法を適用した場合に文書を受け取る確率１０１を示すグラフである。基礎となる類似度１０３がｘ軸に表示されている。凡例１０５の表記は、利用可能なスーパーサンプルの総数のうち、一致することが要求されるスーパーサンプルの個数を示す。Ｌｋという表記は、各スーパーサンプルがｋ個のサンプルをまとめたものであることを示す。最も右側の曲線１０７（「６個中２個、Ｌ１４」として示す）は、前に背景技術の箇所で説明したように、従来研究で適用されたパラメータに対する結果をプロットしている。この曲線は階段関数（step function）に極めて近く、９５％レベルでほとんどそっくり物を識別する可能性があるという既存の手法の利点を例示している。
【００３４】
前に背景技術の箇所に記載したように、ウェブ検索エンジン問合せ結果におけるほとんどそっくり物に対する従来研究では、６個のスーパーサンプル（そのうちの２個の一致が要求される）の長さはそれぞれ６４ビットである。誕生日パラドックス(birthday paradox)による誤衝突がないように保証するために、要求される一致の組合せに対して１２８ビットの精度が必要である。誕生日パラドックスによれば、ｎ個の項目からなるコレクションにおいては、たった√ｎ個の項目の後で衝突が起こる可能性が高くなる。精度が６４ビットしかないと、プロセスは、類似度について２３２対の項目を調べた後に、誕生日パラドックスの影響を受けやすくなる。したがって、ウェブ全体（上記のように数十億の文書）ほどの大規模な文書コレクションでは、ほとんどといっていいくらい、誤衝突（false collision）が保証されることとなる。よって、６４ビットのスーパーサンプルを用いる場合、６個中２個の一致が必要であり、６個すべてのスーパーサンプルの記憶域が必要である。５０億の文書の場合、多くのウェブ検索関連アプリケーションにとって、明らかに、このような必要記憶域は相当に大きく、非実用的となる。
【００３５】
本発明は、従来研究における総体的な識別力に十分に近づきながら、必要記憶域が大幅に低減されるという洞察を具現化する。各スーパーサンプルにまとめるサンプルを少なくし、スーパーサンプルの集合のうちでより多くの一致を要求する。いくつかの実施形態では、１個または２個を除くすべてのスーパーサンプルが一致することを要求する。別の実施形態では、すべてのスーパーサンプル、したがってすべてのサンプルが一致することを要求する。各スーパーサンプルのビット精度を低減しているものの、依然として誕生日パラドックス衝突は回避される。本発明は、特に大規模なコレクションに対する新規な具体的技法を提供することに加えて、メモリ使用量を節約するために、そのようなコレクションにおける類似度を検出する既存の具体的技法を修正する方法を提供する。
【００３６】
一実施形態では、ユーザ問合せの結果を処理するウェブ検索エンジン問合せサービスに関連して、文書のほとんどそっくり物（複製に近いもの、重複に近いもの）を判定する技法を用いることにより、ほとんどそっくり物のそれぞれの集合のうちただ１つのほとんどそっくり物のみをユーザに報告する。図３は、そのような問合せサービスのための例示的プロセスを示している。ステップ３０１で、問合せを処理し、結果集合（result set）を生成する。ステップ３０３で、ほとんどそっくり物である結果のクラスタ(集団、一団)を判定する方法を適用する。ステップ３０５で、ほとんどそっくり物の各クラスタについて、ランキング関数を適用することにより、高く評価される結果を判定する。ステップ３０７で、フィルタリングされた問合せ結果をユーザに報告する。
【００３７】
この実施形態では、従来研究の場合のように６個中２個のスーパーサンプルではなく、６個中４個のスーパーサンプルが一致することを要求する。各スーパーサンプルの長さはそれぞれ１６ビットに過ぎない。１６ビットで十分であるのは、４個の一致を要求するので、それぞれのビット数が誤衝突を回避する確率に寄与するからである。さらに、この実施形態では、一般にはウェブ全体が検索されているのではなく、ある特定の時刻において１つの問合せの結果どうしが競合しているだけなので、関与する文書数は数十億ではなく、数万ないし数十万となる可能性が高い。したがって、（検索エンジンユーザが空の問合せ（null query）をするようなことがなければ）誕生日パラドックスの影響を回避するのに１２８ビットも必要となることはなく、６４ビットで十分である可能性が高い。各スーパーサンプルは、１４個のサンプルをまとめて１つの６４ビット数値に圧縮するのではなく、４個のサンプルをまとめて１つの１６ビット数値に圧縮したものである。というのは、６個中４個が一致する確率（それぞれの一致確率は２分の１）は比較的小さいからである。ビット精度の低減により、必要メモリを約４分の１に縮小できる。それをさらに縮小することも可能である。というのは、メモリ内ハッシュテーブルは問合せに対して返される文書の集合について作成されるので、文書の集合全体に対して必要とされる値は、１５個全部ではなく６個の値だけで済むからである。
【００３８】
図４は、上記の本発明の実施形態による、文書がほとんどそっくり物であるかどうかを判定する手法の代表的ステップを示している。ステップ４０１で、文書あるいはその他のオブジェクトを特徴集合（a set of features）に縮約する。ウェブ上の検索可能文書のようなテキストベースの文書の場合、シングリング法(shingling approach)を用いることができる。ステップ４０３で、文書を語彙解析(lexically analyze)し、句読点や大文字使用のような特徴を無視してトークン列を作成する。ステップ４０５で、連続する固定ワードサイズのサブフレーズの集合を求める。
【００３９】
ステップ４０７で、特徴を６４ビット整数に変換する。ステップ４０９で、変換された特徴集合に擬似確率関数（pseudorandom function）を適用し、ステップ４１１で、像集合の最小元（minimal element）の原像(preimage)をとることによって１つのサンプルを選択する。ステップ４０９および４１１はｋ＝４回実行される。ステップ４１３で、結果として得られた選択ベクトルをハッシュして１つのスーパーサンプルを生成し、１６ビットの精度で記録する。このサブプロセスは、６個のスーパーサンプルを生成するように繰り返される。ステップ４１５で、照合のために６個のメモリ内テーブルを作成する。６個中４個のスーパーサンプルが一致する場合（ステップ４１７）、比較中の文書はほとんどそっくり物であると判定し（ステップ４１９）、そうでない場合、ほとんどそっくり物でないと判定する（ステップ４２１）。ステップ４１５および４１７の効率的な実施には、１５個のハッシュテーブルを用いて４個のスーパーサンプルの組合せを記憶するとよい。
【００４０】
各スーパーサンプルのビット長をｂとすると、ｓ個中ｌ個の一致を求める場合の偽陽性率(false positive rate)は
【００４１】
【数３】
2005276205.tif 000005
【００４２】
である。２３３個の文書のコレクションにおける偽陽性数の期待値は
【００４３】
【数４】
2005276205.tif 000006
【００４４】
である。ｌ＝４、ｓ＝６、およびｂ＝１６の場合、コレクション全体で６０個の文書クラスタが誤って重複（そっくり物）と識別される。これは、２個のこのようなクラスタが単一の問合せの結果集合内に現れる場合に限り観測されることになる。仮に、どの問合せも２１０個より多くのクラスタを返さない場合、約１兆個の問合せが処理された後で誤衝突に遭遇すると予想できる。検索エンジンによってサポートされる問合せレートが年間約２３５回の問合せであると仮定した場合、問合せサービスが常時フルスピードで実行され、すべての問合せが最大の結果集合を有するとしても、誤衝突が起こるのは１世紀に２、３回である。
【００４５】
図１に戻って、曲線１０９が上記の実施形態に対応し、「６個中４個、Ｌ４  １６ビット」として示されている。「１６ビット」とは、各スーパーサンプルが１６ビットの精度で記録されることを意味する。同図から分かるように、曲線１０９は、曲線１０７ほど急峻ではない。曲線１１１のほうが曲線１０７に対するやや優れた近似であり、「７個中５個、Ｌ４」（これは、７個中５個のスーパーサンプルが一致し、各スーパーサンプルが４個のサンプルをまとめたものであることを意味する）で示されている。前段落に記載した検索エンジンアプリケーションの代替実施形態は、この７個中５個の解決手段を用いる。図示していないが、「６個中４個、Ｌ５」も良好な近似である。
【００４６】
図２は、図１にプロットした値の対数をとることに基づいて得られた誤採択率（false acceptance rate）２０１のグラフを示している。ここにプロットされている曲線は、基礎となる組合せ論および各サンプルに組み込まれた精度の両方を反映する。このグラフは一般的に、類似度が低下すると、文書ペアがほとんどそっくり物と誤って識別される確率が非常に小さくなることを示している。「６個中４個、Ｌ４  １６ビット」に対する曲線２０３の左端は１０−１８で水平になっているが（リードライン２０５）、これはサンプルに対する１６ビット精度に関連する限界を意味する。しかし、上記の実施形態の場合にはこれで十分であり、誤衝突の確率は無視できる。
【００４７】
他の変形形態も本発明の技術思想の範囲内にある。したがって、本発明は種々の変更および代替構成が可能であり、その例示的実施形態が図面に示され上記で説明されている。しかし、理解されるべきであるが、開示された特定の１つまたは複数の形態に本発明を限定する意図はなく、逆に本発明は、特許請求の範囲に規定される本発明の趣旨および範囲に入るすべての変更、代替構成、および均等物を包含するものである。
【００４８】
本発明の好ましい実施形態が本明細書に記載されており、それには本発明者が知っている本発明を実施するための最良の形態が含まれている。当業者にとって、それらの好ましい実施形態の変形は、上記の説明を読むことから明らかとなるであろう。本発明者は、当業者がそのような変形を適宜用いることを見込んでおり、本明細書に具体的に記載された以外の方法で本発明が実施されることを予定している。したがって、本発明は、準拠法によって許容される限り、特許請求の範囲に記載の事項のすべての変更および均等物を包含する。さらに、本明細書において特に断りのない限り、あるいは文脈と明白に矛盾しない限り、上記の要素のいかなる組合せも、そのすべての可能な変形形態において、本発明に包含される。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態において使用可能なパラメータを含むいくつかの異なるパラメータ選択に対して、シングルプリンティング法を用いた文書の採択確率を示すグラフである。
【図２】図１にプロットした値の対数をとることに基づいて得られた誤採択率のグラフである。
【図３】本発明の一実施形態におけるウェブ検索エンジン問合せサービスによって実行されるステップを示す流れ図である。
【図４】本発明の一実施形態による、文書がほとんどそっくり物であるかどうかを判定する方法の例示的ステップを示す流れ図である。
【符号の説明】
【００５０】
１０１  文書採択確率
１０３  類似度
１０５  凡例
２０１  誤採択率
【図１】
2005276205.tif 000007
【図２】
2005276205.tif 000008
【図３】
2005276205.tif 000009
【図４】
2005276205.tif 000010
【外国語明細書】
2005276205000001.pdf