IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セロニス ソシエタス ヨーロッパの特許一覧

<>
  • 特表-大規模セット類似性結合の方法 図1
  • 特表-大規模セット類似性結合の方法 図2
  • 特表-大規模セット類似性結合の方法 図3
  • 特表-大規模セット類似性結合の方法 図4
  • 特表-大規模セット類似性結合の方法 図5
  • 特表-大規模セット類似性結合の方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-03-07
(54)【発明の名称】大規模セット類似性結合の方法
(51)【国際特許分類】
   G06F 16/903 20190101AFI20250228BHJP
【FI】
G06F16/903
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024571265
(86)(22)【出願日】2023-02-16
(85)【翻訳文提出日】2024-08-21
(86)【国際出願番号】 EP2023053919
(87)【国際公開番号】W WO2023161125
(87)【国際公開日】2023-08-31
(31)【優先権主張番号】22158508.6
(32)【優先日】2022-02-24
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】524313370
【氏名又は名称】セロニス ソシエタス ヨーロッパ
【氏名又は名称原語表記】Celonis SE
(74)【代理人】
【識別番号】110001302
【氏名又は名称】弁理士法人北青山インターナショナル
(72)【発明者】
【氏名】ウィドモーザー,マヌエル
(72)【発明者】
【氏名】アウグステン,ニコラウス
(72)【発明者】
【氏名】コッハー,ダニエル
(72)【発明者】
【氏名】マン,ウィリー
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175HB03
(57)【要約】
セットの集合内の選択されたクエリセットに類似するセットを見つけるためのコンピュータ実装方法が提供され、各セットはプロセスを表す。各セットは、ベクトル空間における表現に変換される。更に、各セットはプレフィックスを含む。本方法は、逆メトリックインデックスを表すデータ構造を作成し、記憶装置に記憶することを含む。選択されたクエリセットに対する類似するセットは、探索ステップと、それに続く候補検証ステップによって識別される。探索ステップにおいて、逆メトリックインデックスは、ベクトル空間の事前定義された部分空間によってフィルタリングされる。候補検証ステップにおいて、フィルタリングされた逆メトリックインデックスの各セットは、その距離値が事前定義された距離閾値以下である場合に、類似するセットとして識別される。
【選択図】図3
【特許請求の範囲】
【請求項1】
セットの集合内の選択されたクエリセット(Q)に対する少なくとも1つの類似するセット(P)を見つけるためのコンピュータ実装方法であって、各セット(R)がいくつかのトークンを含み、
各セット(R)はプロセスを表し、各トークンはプロセスステップを表し、前記プロセスは、少なくとも1つのソースコンピュータシステムにおいて実行される一連のプロセスステップを含み、
各セット(R)は、ベクトル空間(V)における表現に変換され、前記表現は、記憶装置を用いて記憶され、
各セット(R)はプレフィックスを含み、前記プレフィックスは、事前定義された数のトークンまでの前記対応するセットの少なくとも1つのトークンを含み、
データ構造(M)が作成されて前記記憶装置に記憶され、前記データ構造は複数の一意要素(E)を含み、各一意要素(E)は前記セットの集合に含まれるトークンを表し、前記セットの集合の少なくともサブセットの各セット(R)は、そのプレフィックスの前記少なくとも1つのトークンを表す前記データ構造の少なくとも1つの一意要素(E)にリンクされ、前記リンクされたセット(L)は、トークンの数によって、対応する一意要素(E)の少なくとも1つのグループ(B)にグループ化され、
前記選択されたクエリセット(Q)に対する類似するセット(P)が、以下のステップに従って識別され、
-探索ステップ(S1)において、前記データ構造(M)の各グループ(B)について、前記リンクされたセット(L)から空間インデックスが構築され、各リンクされたセット(L)は、前記ベクトル空間(V)におけるその表現が前記ベクトル空間(V)の事前定義された部分空間(A)内に位置する場合、潜在的に類似するセット(C)の集合に排他的に挿入され、各グループ(B)についての潜在的に類似するセット(C)の集合は、前記潜在的に類似するセット(C)の集合が各グループ(B)の前記リンクされたセット(L)のサブセットを含むように、前記記憶装置に記憶され、
-候補検証ステップ(S2)において、前記空間インデックスの各潜在的に類似するセット(C)について、前記選択されたクエリセット(Q)に対する距離値が、事前定義された距離関数(D)を使用して計算され、前記距離値が事前定義された閾値(T)以下である場合、潜在的に類似するセット(C)が、前記少なくとも1つの類似するセット(P)のうちの1つとして識別され、
前記少なくとも1つの類似するセット(P)は、プロセスの集合内の選択されたプロセスに対する少なくとも1つの類似プロセスを表す、コンピュータ実装方法。
【請求項2】
前記事前定義された部分空間(A)はクエリ矩形であり、前記クエリ矩形のサイズは前記事前定義された閾値(T)に関連する、請求項1に記載の方法。
【請求項3】
前記プレフィックス内の前記事前定義された数のトークンは、前記事前定義された距離関数(D)及び前記閾値(T)に基づいて計算される、請求項1又は2に記載の方法。
【請求項4】
前記方法が繰り返され、各繰り返しにおいて、前記セットの集合のすべてのセット(R)が処理されるまで、前記セットの集合の異なるセット(R)が前記選択されたクエリセット(Q)である、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記データ構造(M)及び前記潜在的に類似するセットの集合(C)が、前記記憶装置の揮発性メモリ、特に前記メインメモリに記憶される、請求項1から4のいずれか一項に記載の方法。
【請求項6】
事前定義された数のピボット要素(O)が前記セットの集合から選択され、前記事前定義された数のピボット要素(O)は前記ベクトル空間(V)に及ぶ、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記データ構造(M)の各グループ(B)について、前記事前定義された数のピボット要素(O)が、前記対応するグループ(B)の前記リンクされたセット(L)から選択される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記空間インデックスは、少なくとも事前定義された数のリンクされたセット(L)を含むグループ(B)に対してのみ構築され、前記事前定義された数未満のリンクされたセットを含む各グループ(B)に対して、前記リンクされたセット(L)は、それらの表現のランダム次元に従ってソートされる、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記選択されたクエリセット(Q)について、上限及び下限が計算され、前記選択されたクエリセット(Q)の前記上限よりも多いトークン又は前記選択されたクエリセット(Q)の前記下限よりも少ないトークンを含む各セットがスキップされる、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記探索ステップ(S1)において、前記グループ(B)は、それらのそれぞれのリンクされたセット(L)のトークンの増加する数に従って処理され、前記選択されたクエリセット(Q)のトークンの数よりも多くのトークンを含む各セット(R)はスキップされる、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記探索ステップ(S1)において、前記選択されたクエリセットQ)の前記プレフィックス内のトークンと一致するプレフィックス内のトークンを有する各セット(R)は、前記一致するトークンが、前記事前定義された閾値(T)に従って、前記セットと前記選択されたクエリセットとの間の類似性のために必要とされるよりも少ないトークンが残る前記セット内の位置に位置する場合、スキップされる、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記データ構造(M)の各グループ(B)は、少なくとも1つのリンクされたセット(L)を含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記事前定義された距離関数(D)は、
-限界距離関数、特にジャッカード距離関数であって、距離値が制限されていない距離値にスケーリングされる、距離関数、
-制限されていない距離関数、特にハミング距離関数、
-特にダイス距離関数又はコサイン距離関数である非メトリック距離関数であって、前記事前定義された閾値はパラメータによってスケーリングされ、前記パラメータは各セット内のトークンの数に基づいて計算される、非メトリック距離関数を含むグループのいずれかである、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記セットの集合は、類似の数のトークンを含むセット(R)の大部分を含む、前記請求項のいずれかに記載の方法。
【請求項15】
前記データ構造(M)における一意の要素(E)の数は、セットの前記集合のカーディナリティと比較して小さい、請求項1から14のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セットの集合内の選択されたクエリセットに類似するセットを見つける方法に関し、より一般的には、セット類似性結合の問題に関する。
【背景技術】
【0002】
より多くの情報を求めて、現在ますます増加するデータ量が記録されている。データセット内、特に大きなデータセット内の関連情報にアクセスするために、探索動作が不可欠である。しかしながら、データセット内の正確な一致を見つけることは、例えば、テキストデータにおいて頻繁に発生するスペルエラー又はタイピングエラーを考慮する場合、必ずしも十分ではない。したがって、データセット内のレコードを一致させるためのかなり実際的な特徴は、類似性演算子である。類似性演算子は、2つのレコード間の距離を決定する関数に基づいて類似レコードを見つける。
【0003】
データセット内の類似レコードを見つけるための1つのアプローチは、セット類似性結合によって与えられる。セット類似性結合は、セットの集合内及び/又はセットの複数の集合間の類似レコードのすべての対を報告する。セットの集合はセットを含み、セットの集合内の各セットはいくつかのトークンを含む。セットは、ソーシャルメディアネットワークにおけるユーザの挙動、異なるタイプの文書(例えば、ツイート又はアブストラクト)、写真メタデータ、又はプロセスマイニング領域に関連するプロセスアクティビティを表すことができる。セットの集合において類似対を見つけることを説明するアプリケーションは、例えば、盗用検出、データクリーニング、文書クラスタリング、プロセスマイニング、及びソーシャルネットワークにおけるデータマイニングである。
【0004】
セットの集合において類似のセットの対を見つけることは、中程度に大きいデータセットであっても困難なタスクである。ブルートフォースを使用すると、必要とされる距離計算の数は、集合サイズ、すなわち集合内のセットの数において二次的である。したがって、セット類似性結合は、計算上、急速に実行不可能になる。
【0005】
セット類似性結合のための最新のソリューションのパフォーマンスは、入力データの特性に大きく依存する。現在まで、効率的なセット類似性結合アルゴリズムは、フィルタ検証フレームワークに基づいており、このフレームワークでは、候補が、シグネチャにわたる逆リストインデックスから取り出される。適格でない結果の対をプルーニングするために、候補が検証されなければならない。残念ながら、インデックス内の候補の逆リストは、例えば、トークンの数が集合のサイズと比較して小さい場合、及び/又はトークンの分布が均一分布に近い場合、大きなデータセットに対して大きくなることが多い。長い逆リストを走査することは、計算コストが高く、既存のソリューションのパフォーマンスを強く制限する。
【発明の概要】
【0006】
したがって、本発明の目的は、前述の問題を少なくとも部分的に克服するセット類似性結合を計算する方法を提供することである。
【発明が解決しようとする課題】
【0007】
本発明によれば、この目的は、独立請求項に記載の方法によって解決される。本発明の好ましい実施形態及び更なる発展形態は、従属請求項において定義される。
【0008】
したがって、セットの集合内の選択されたクエリセットに対する少なくとも1つの類似するセットを見つける(すなわち、決定する)ためのコンピュータ実装方法が提供される。当然ながら、本方法は、セットの集合内に発見された選択されたクエリセットに類似するセットがない場合に、空セットを報告することもできることに留意されたい。
【0009】
各セットは、いくつかのトークンを含む。各セットはプロセスを表し、各トークンはプロセスステップを表す。このプロセスは、少なくとも1つのソースコンピュータシステムにおいて実行される一連のプロセスステップを含む。
【0010】
各セットはベクトル空間内の表現に変換され、表現は記憶装置に記憶される。各セットはプレフィックスを含み、プレフィックスは、事前定義された数のトークンまでの対応するセットの少なくとも1つのトークンを含む。
【0011】
データ構造が作成され、記憶装置に記憶される。データ構造は複数の一意の要素を含み、各一意の要素は、セットの集合に含まれるトークンを表す。セットの集合の少なくともサブセットの各セットは、そのプレフィックスの少なくとも1つのトークンを表すデータ構造の少なくとも1つの一意の要素にリンクされる。リンクされたセットは、トークンの数によって、各一意の要素に対して少なくとも1つのグループにグループ化される。
【0012】
選択されたクエリセットに対する類似するセットは、以下のステップに従って識別される。
-探索ステップにおいて、データ構造の各グループについて、リンクされたセットから空間インデックスが構築される。各リンクされたセットは、ベクトル空間内のその表現がベクトル空間の事前定義された部分空間内に位置する場合、潜在的に類似するセットの集合に排他的に挿入される。各グループについての潜在的に類似するセットの集合は、潜在的に類似するセットの集合が各グループのリンクされたセットのサブセットを含むように、記憶装置に記憶される。
【0013】
多くの場合、各グループのリンクされたセットのサブセットは、各グループのリンクされたセットの集合より小さい。したがって、潜在的に類似するセットの総数を低減することができる。しかしながら、分析されるセットの集合に依存して、リンクされたセットのサブセットは、すなわち、すべてのリンクされたセットが選択されたクエリセットに類似している場合、リンクされたセットの集合のサイズを有することもできる。
-候補検証ステップにおいて、空間インデックスの潜在的に類似する各セットについて、選択されたクエリセットに対する距離値が、事前定義された距離関数を使用して計算される。距離値が事前定義された閾値以下である場合、潜在的に類似するセットは、少なくとも1つの類似するセットのうちの1つとして識別される。
【0014】
少なくとも1つの類似するセットは、プロセスの集合内の選択されたプロセスに対する少なくとも1つの類似プロセスを表す。言い換えれば、類似するセットは、プロセスの集合内の類似のプロセス、特にプロセスインスタンスを表す。
【0015】
本発明による方法は、各一意のトークンに対する逆リストが、事前に、すなわち、逆リストの各メンバに対する事前定義された距離関数を評価する前に、既に効果的に低減され得るという利点を有する。距離計算は計算コストの高い演算であることに留意されたい。したがって、候補検証ステップでは、事前定義された距離関数を使用して選択されたクエリセットに対する実際の距離値を計算することによって、はるかに低減された数の潜在的に類似するセットがテストされなければならない。
【0016】
データ構造の各一意の要素に対する潜在的に類似するセットの数の低減は、リンクされたセットのメトリック特性を利用することによって達成される。一般に、セットの集合のセットをベクトル空間における表現及びその中の範囲クエリに変換することは、セットの集合の各セットと選択されたクエリセットとの間の距離値を事前定義された距離関数を使用して計算することよりも計算コストが低い。潜在的に類似するセットの表現をフィルタリングするためのベクトル空間の適切に事前定義された部分空間と組み合わせて、候補検証ステップにおいて必要とされる距離計算の数を低減することができ、したがって、セット類似性結合の全体的な実行時間を低減することができる。
【0017】
本発明者らは、メトリック範囲クエリフィルタを使用する潜在的に類似するセットの低減が、プロセスの集合を表すセットの集合の場合に特に良好に機能することを見出した。実際には、プロセスの集合は、通常、非常に大きなデータセットであり、トークンユニバース、すなわち、セットの集合内の一意のトークンの総数は、セットの集合内のセットの数と比較して小さい。プロセスマイニングの分野では、トークンはプロセスステップを表し、セットはプロセスインスタンスを表し、プロセスインスタンスは、ソースコンピュータシステムにおける、又はソースコンピュータシステムを用いたプロセスの実行である。
【0018】
好ましくは、事前定義された部分空間はクエリ矩形であり、クエリ矩形のサイズは事前定義された閾値に関連する。
【0019】
好ましくは、プレフィックス内の事前定義された数のトークンは、事前定義された距離関数及び事前定義された閾値に基づいて計算される。
【0020】
事前定義された距離関数の選択に応じて、プレフィックス内のトークンの数の計算に更なるパラメータを含めることができる。例えば、距離関数がハミング距離関数でない場合、プレフィックス内のトークンの数は、セットごとのトークンの数に更に依存し、すなわち、プレフィックス長は、異なるセットサイズごとに変化し得る。
【0021】
好ましくは、本発明による方法は繰り返され、各繰り返しにおいて、セットの集合のすべてのセットが処理されるまで、セットの集合の異なるセットが選択されたクエリセットである。
【0022】
セットの集合の各セットに対して本方法を繰り返すことにより、セットの集合内の類似するセットのすべての対を見つけることが保証される。
【0023】
一実施形態では、データ構造及び潜在的に類似するセットの集合は、記憶装置の揮発性メモリ、特にメインメモリに記憶される。
【0024】
好ましくは、事前定義された数のピボット要素がセットの集合から選択され、事前定義された数のピボット要素はベクトル空間に及ぶ。
【0025】
この実施形態では、ベクトル空間は、データ構造の各グループについて同一であり、すなわち、ベクトル空間はグローバルである。
【0026】
好ましい一実施形態では、データ構造の各グループについて、事前定義された数のピボット要素が、対応するグループのリンクされたセットから選択される。
【0027】
好ましい実施形態では、ベクトル空間は、対応するグループのリンクされたセットに基づいて、データ構造の各グループについて別々に生成される。ローカルベクトル空間は、ローカルベクトル空間の(同じ)事前定義された部分空間を使用するメトリッククエリ範囲フィルタが更により効果的に機能するように、これらのローカルベクトル空間内のリンクされたセットの表現のより疎な分布を可能にすることができることが分かっている。
【0028】
好ましくは、空間インデックスは、少なくとも事前定義された数のリンクされたセットを含むグループに対してのみ構築される。事前定義された数未満のリンクされたセットを含む各グループについて、リンクされたセットは、それらの表現のランダム次元に従ってソートされる。
【0029】
空間インデックスの作成及び投入は、少量のリンクされたセットのみをフィルタリングするために非効率的であり得るが、ランダム次元に従ってリンクされたセットをソートすることは、例えば、1次元範囲クエリを使用することによって、効率的な方法で少量のリンクされたセットのフィルタリングを可能にする。
【0030】
一実施形態では、選択されたクエリセットについて上限及び下限が計算される。選択されたクエリセットの上限より多くのトークン、又は選択されたクエリセットの下限より少ないトークンを含む各セットはスキップされる。
【0031】
好ましくは、探索ステップにおいて、グループは、それぞれのリンクされたセットのトークンの増加する数に従って処理される。選択されたクエリセットのトークン数よりも多くのトークンを含む各セットはスキップされる。
【0032】
昇順でセットを処理する利点は、セットが下限基準を通過すると、データ構造から永久的に除去できることである。これにより、不適格なセットの検査が回避され、更にメモリが解放される。
【0033】
好ましくは、探索ステップにおいて、選択されたクエリセットのプレフィックス内のトークンと一致するプレフィックス内のトークンを有する各セットは、一致するトークンが、事前定義された閾値に従ってセットと選択されたクエリセットとの間の類似性に必要とされるよりも少ないトークンが残るセット内の位置に位置する場合、スキップされる。
【0034】
一実施形態では、データ構造の各グループは、少なくとも1つのリンクされたセットを含む。
【0035】
言い換えれば、グループは、そのグループに対して少なくとも1つのリンクされたセットが見つかった場合にのみ、データ構造に追加される。技術的には、グループは、データ構造の各一意の要素にリンクされたバケットによって表すことができる。したがって、データ構造内の空いているバケットの作成を回避することは、より少ないメモリを占有するという利点を有する。
【0036】
好ましくは、事前定義された距離関数は、以下を含むグループのうちのいずれかである。 -限界距離関数、特にジャッカード距離関数であって、距離値が制限されていない距離値にスケーリングされる、限界距離関数
-制限されていない距離関数、特にハミング距離関数
-特にダイス距離関数又はコサイン距離関数である非メトリック距離関数であって、事前定義された閾値はパラメータによってスケーリングされ、パラメータは各セット内のトークンの数に基づいて計算される、非メトリック距離関数
【0037】
一実施形態では、セットの集合は、類似の数のトークンを含むセットの大部分を含む。
【0038】
言い換えれば、本発明による方法は、セットの集合内の多くのセットが類似のサイズを含む場合に良好に機能し、これにより、データ構造内のグループが少なくなり、したがって空間インデックス上の範囲クエリが少なくなる。
【0039】
一実施形態では、データ構造内の一意の要素の数は、セットの集合のカーディナリティと比較して小さい。
【0040】
言い換えれば、トークンユニバースは、セットの集合内のセットの数と比較して小さく、これは、通常、プロセスマイニングデータセットの場合である。本発明による方法は、これらのデータセットは、セット類似性結合のための最新の方法において長い逆リストを生成することが予定されているため、この特性を有するデータセットに対して特に良好に機能することが分かっている。したがって、他のアルゴリズムは、それらの長い逆リストを走査する際にそれらの時間を費やすが、本発明の一態様によるソリューションは、各逆リストのサブセットのみを考慮し、サブセットは、元の逆リストに対して小さいことが多い(最良の場合には空セットでさえあり得る)。
【図面の簡単な説明】
【0041】
本発明の詳細及び特徴、並びに本発明の具体的な実施形態は、図面に関連する以下の説明から導き出すことができる。
図1図1は、表2からの例に基づく本発明の一実施形態による逆メトリックインデックスを示す図である。
図2図2は、探索ステップにおける本発明の一実施形態による範囲クエリを示す図である。
図3図3は、本発明の一実施形態による、逆メトリックインデックスの一部として所与のトークンに対する長さ3を表す例示的なレギュラーバケットを示す図である。
図4図4は、本発明の一実施形態に従ってグローバルにマッピングされたバケット(a)及びローカルにマッピングされたバケット(b)の表現である。
図5図5は、本発明の一実施形態による、逆メトリックインデックスの一部として所与のトークンに対する長さ3を表す例示的な低負荷バケットを示す図である。
図6図6は、各々が2つの異なるデータセットに対して評価された、従来技術の2つの方法と比較した、本発明の2つの実施形態による方法のパフォーマンスを示す。
【発明を実施するための形態】
【0042】
セット類似性結合は、距離関数D及び閾値Tに基づいてセットの集合内の類似するセットPのすべての対を見つける。特に、セットの集合の2つのセットRは、距離関数Dを使用することによって計算されるそれらの距離値が事前定義された閾値T以下である場合、類似していると見なされる。
【0043】
集合の2つのセットR間の類似性を決定するために、集合内のすべてのセットR間の明確な尺度が存在しなければならない。尺度は、事前定義された距離関数Dによって与えられる。プロセスマイニングの分野で一般的に使用される距離関数Dは、特に、ジャッカード、コサイン、ダイス及びハミング距離関数である。同様に、対応する類似性関数を使用することができる。
【0044】
セットの集合内の類似するセットPのすべての対を見つけるための単純な入れ子ループ結合は、距離計算の数を二次的にスケーリングする。明らかに、二次実行時複雑性は、セットの数が十分に大きくなるとすぐに実行不可能になる。したがって、複雑性を低減するフィルタリングフレームワークが非常に重要である。セット類似性結合のための2つのフィルタリング技術として、特にプレフィックスフィルタリング及び長さフィルタリングが以前から知られている。
【0045】
プレフィックスフィルタは、事前に、すなわち、選択されたクエリセットQに対するそれらの距離値を計算する前に、適格でないセットをプルーニングする技術である。プレフィックスフィルタは、セットのサブセット及び選択されたクエリセットQが、候補又は潜在的に類似するセットCとして適格であるために少なくとも1つのトークンを共有しなければならないという観察に基づく。事前定義されたサブセットはプレフィックスと呼ばれ、セットRの最初のいくつかのトークンによって形成される。Qは、すべてのセットRが完全な順序であるという仮定の下で計算される。したがって、プレフィックスフィルタは、セット全体ではなく少数のトークンのみを調査することによって、潜在的に類似するセットPを見つけることを可能にする。
【0046】
プレフィックスフィルタは、長さフィルタと組み合わせることができる。すべての距離関数Dに対して、選択されたクエリセットQに対する結合パートナーRの下限、及び選択されたクエリセットQに対する結合パートナーRの上限が定義される。次に、長さフィルタは、潜在的に類似するセットCがプルーニングされる基準、すなわち、要素の数が選択されたクエリセットQの下限と上限との間にない場合の基準を定義する。したがって、長さフィルタは、潜在的に類似するセットCの数を事前に更に低減する。
【0047】
プレフィックスフィルタリングに基づく正確な類似性結合のための最新のアルゴリズムは、長さフィルタリングと組み合わせたAllPairsアルゴリズムである。
【0048】
本質的に、AllPairsアルゴリズムは、プレフィックスインデックスの生成に基づいている。プレフィックスインデックスは、セットの集合のユニバース内の各トークンについて、プレフィックス内の対応するトークンを共有するセットの逆リストへのポインタを含むアレイである。逆リスト内のセットは、セットサイズを増加させることによってソートされる。したがって、小さなトークンユニバースを有する大きなデータセットの場合、逆リストは非常に長くなる可能性がある。インデックスが構築されると、選択されたクエリセットをインデックスに対して探索することができる。そうすることで、選択されたクエリセットのプレフィックスのトークンごとに、プレフィックスインデックス内の対応するトークンから指し示される逆リストのセットが、事前候補として選択される。更に、長さフィルタが適用されてもよく、事前候補集合から複製されたセットが除去されてもよい。結果として得られる候補について、選択されたクエリセットに対する類似するセットは、各候補セットと選択されたクエリセットとの間の距離値を評価することによって識別され得る。しかしながら、大きなデータセットでは、リンクされたリストが大きくなり、候補の有効数が依然として大きくなり、多くの、しばしば不必要な候補の検証につながる。
【0049】
大きなデータセットの場合における以前のフィルタリング技術の制限は、事前定義された距離関数Dと組み合わせてセットRのメトリック特性を利用するフィルタリング方法を用いてフィルタのリストを拡張することによって克服することができることを、本発明者らは最初に見出した。プレフィックスフィルタ及び長さフィルタはセットに合わせてカスタム調整されるが、メトリックベースのフィルタは、距離関数Dと組み合わせてセットRがメトリック空間を形成するという事実を活用する。
【0050】
したがって、セットRをベクトル空間Vに変換し、セットの集合から選択されたピボット要素Oのセットを使用して最大距離によって限界を定めることができる。ベクトル空間Vはn次元とすることができ、nは選択されたピボット要素Oの数である。セットの集合のセットRがn次元ベクトル空間Vにマッピングされると、範囲クエリを使用して潜在的に類似するセットCを見つけることができる。より具体的には、選択されたクエリセットQに対して、メトリック範囲クエリは、n次元ベクトル空間Vの事前定義された部分空間A内に位置する候補セットCを見つけることを目的とし、部分空間Oは、ベクトル空間内の選択されたクエリセットQの表現Φのε範囲としても示される。
【0051】
メトリック範囲クエリは、三角不等式に基づく。したがって、事前定義された距離関数Dは、メトリックである必要がある。しかしながら、本発明による方法は、ダイス又はコサインの候補生成をメトリック距離、例えば、ジャッカード距離に投影することによって、ダイス距離及びコサイン距離などの非メトリック距離関数にも機能する。
【0052】
最も単純な形態では、投影は以下の通りであり得る。結合は、候補のスーパーセットCが受信されるように、調整された閾値Tを有するジャッカード距離を使用して計算される。候補Cのこのスーパーセットは、それぞれダイス距離又はコサイン距離を用いて結合を計算することによって受信されるすべての類似するセットPを含む。最終的に、検証ステップにおいて、不要な候補Cが除去される。
【0053】
以下では、本発明による方法の一実施形態が、プロセスマイニングの領域から引き出された具体例によって提示される。
【0054】
この例で使用されるデータセットは、特定の顧客のプロセスの実行において、「注文」、「支払い」、「配送」、「返却」などのプロセスステップを仮定する。顧客プロセスの実行であるプロセスインスタンスは、2グラム、例えば、{(「注文」、「支払い」)、(「支払い」、「配送」)、(「配送」、「返却」)}を形成することによって表すことができる。2グラムは、いくつかのトークンを含むセットにマッピングすることができ、プロセスインスタンスが整数ベースのセット、例えば{1、2、3}によって表され得るように、複製トークンが移動される。
【0055】
この例のために、更に単純なデータモデルが仮定される。各プロセスステップは、一意のトークンに割り当てられる。表1は、トークンに対するプロセスステップの割り当てを要約している。例えば、プロセスステップ「注文」はトークン「1」に割り当てられ、プロセスステップ「引き出し」はトークン「2」に割り当てられるなどである。したがって、例示的なプロセス{「注文」、「支払い」、「配送」、「返却」}は、セット{1、7、9、8}によって表すことができる。
【0056】
【0057】
表2は、プロセスマイニングデータセットのサブセットを形成し、本発明による方法の一実施形態を実証するために使用されるレコード又はセットの集合を示す。特に、選択されたクエリレコードQに対する類似するセットPが表2のセットの集合からどのように見出されるかが以下に示される。
【0058】
【0059】
事前定義された距離関数Dは、2つのレコードR、すなわち、セットの集合の2つのセットRの間の類似性を決定する。直感的には、距離関数Dによって計算される距離値が大きいほど、2つのレコードRは互いに類似していない。
【0060】
本発明による方法は、一般に、距離関数Dがメトリックであること、すなわち、三角不等式などの追加の特性が満たされなければならないことを必要とする。しかしながら、この要件は、非メトリック距離関数Dも使用できるように、適切な近似を使用することによって克服することができる。
【0061】
本例では、ハミング距離が使用される。例えば、表2からレコードR1とR4との間のハミング距離を計算するために、距離値2を得る。
【0062】
本例では、簡単にするために、すべてのセットRが等しいサイズ、すなわちサイズ6であり、選択されたクエリレコードQがサイズ7であると仮定する。セットの集合から、ピボット要素Oのセットが{R1、R8}として選択される。正確なプレフィックスサイズ、すなわちプレフィックス内の要素の数は、事前定義された閾値Tと組み合わせて距離関数Dから導出することができる。この例では、プレフィックスサイズは2である。
【0063】
図1は、表2からの例に基づく本発明の一実施形態による逆メトリックインデックスを示す。
【0064】
図1に示される逆メトリックインデックスMは、本発明による方法の一実施形態を使用して構築される。
【0065】
セットの集合の各セットRは、ベクトル空間Vにおける表現Φに変換される。変換は、前処理ステップにおいて事前に、又はセットの集合を通して処理するときにオンザフライで実行することができる。セットRの表現Φ、Qは記憶装置、特にメインメモリに記憶される。
【0066】
ベクトル空間Vは、事前定義された数のピボット要素Oによって張られ、事前定義された数のピボット要素Oは、セットの集合から選択される。好ましくは、ピボット要素Oは、非常に高速でランダムに選択される。しかしながら、プルーニング能力に関して最適化されたピボット要素Oを見つけるために、任意の既存の方法を使用することもできる。この例では、グローバルピボット要素OはR1及びR8として選択される。
【0067】
逆メトリックインデックスMは、プレフィックス、長さ及びメトリック範囲フィルタリングを単一のデータ構造に抽象化する。インデックス構造Mは、固定サイズアレイとして表すことができる。データ構造Mは、複数の一意の要素Eを含み、各一意の要素Eは、セットの集合に含まれるトークンを表す。
【0068】
処理中、各セットR、Lは、そのプレフィックスの少なくとも1つのトークンを表すデータ構造Mの少なくとも1つの一意の要素Eにリンクされる。リンクされたセットLは、それらのトークンの数、すなわちそれらのセット長によって、各一意の要素について少なくとも1つのグループBにグループ化される。一実施形態では、グループは、対応する一意の要素Eにリンクされたバケットの逆リストに記憶され得る。バケットBは、それらのプレフィックス内の対応するトークンを共有する特定の長さのすべてのセットLを記憶する。セット長又はセットサイズは、セットR内のトークンの数によって与えられる。したがって、各バケットBは、トークンとセット長の組合せによって識別することができる。一意の要素Eにリンクされた逆リストにおいて、バケットBは、セット長によって昇順にソートされることが好ましい。
【0069】
この例では、各レコードRについて、最初の2つのトークンがプレフィックスを形成する。プレフィックス内のすべてのトークンについて、逆メトリックインデックスMの対応するバケットリストがアクセスされ、レコードRがセット長6を表すバケットBに挿入される。表2のすべてのレコードR1からR8は等しいサイズであるので、図1に示される逆メトリックインデックスMのすべてのトークンは、長さ6を表す単一のバケットBを指す。トークンを表す一意の要素EとバケットBとの間の関係は、図1の矢印によって表される。表2のレコードRが逆メトリックインデックスMのバケットBの間に分布されている状態で、バケットB内のすべてのレコードL、すなわち、グループのすべてのリンクされたセットLは、その対応する空間インデックスにバルクロードされる。
【0070】
多くの場合、トークンとセット長の特定の組合せを表すバケットBには、非常に少数のセットRしか入らない。空間インデックスは、ツリー構造の場合など、追加の計算オーバーヘッドを搬送することができるので、非常に少数のセットについてのみそのような複雑な構造を計算することを回避することが有益であり得る。例えば、Rツリーの場合、バケットB内のレコードの数は少ないが、最小数のノードが事前に割り当てられなければならない。少数のリンクされたセットLが割り当てられたバケットBも、その後、低負荷バケットとして定義される。
【0071】
逆メトリックインデックスM内の多くのバケットBが低負荷であることが判明した場合、メトリックインデックスMを構築するコストが上昇し、最終的にその利益を超える可能性がある。したがって、好ましくは、バケットBの空間インデックスは、少なくとも事前定義された数の挿入すべきレコードが存在する場合にのみ作成されてポピュレートされ、挿入すべき事前定義された数のレコードは、カットオフパラメータと更に呼ばれるハイパーパラメータである。そうでない場合、低負荷バケットBが作成される。
【0072】
しかしながら、本例では、カットオフパラメータは、0の値を搬送するように選択され、すなわち、すべてのバケットBについて、空間インデックスが作成され、ポピュレートされる。
【0073】
選択されたクエリセットQに対する類似するセットPは、以下のステップ、探索ステップS1及び候補検証ステップS2に従って識別される。
【0074】
探索ステップS1において、選択されたクエリレコードQは、逆メトリックインデックスMに対して探索される。選択されたクエリレコードQのプレフィックスのすべてのトークン、この場合はトークン「3」及び「4」について、逆メトリックインデックスMは、対応する一意の要素Eの位置においてアクセスされ、バケットのリンクリストが取り出される。この例では、トークン「3」及び「4」の両方のリストは、単一のエントリ、すなわち長さ6のバケットBのみを含む。様々なセット長の場合、長さフィルタを適用することができる。長さフィルタを使用して、それぞれ選択されたクエリレコードQのサイズ下限及びサイズ上限内にあるセット長を表すリンクリストのバケットを考慮するだけでよい。
【0075】
取り出されたバケットBのリンクされたセットLは、対応する空間インデックスを問い合わせる範囲によってフィルタリングされる。この例では、ベクトル空間Vは2次元であり、範囲クエリは、選択されたクエリレコードQの表現Φの周りにクエリ矩形Aを配置することによって実行される。クエリ矩形Aのサイズは、事前定義された閾値Tに関連し、この場合、Tは2に等しい。したがって、クエリ矩形Aは、2次元グリッド上の表現〈[1,5]、[1,5]〉によって与えられる。このクエリ矩形Aに含まれない、対応するバケットBのリンクされたセットLのすべての表現Φは、プルーニングされ得る。
【0076】
図2は、探索ステップS1において、本発明の一実施形態による範囲クエリを視覚化する。
【0077】
図2では、レコードR、Qは、読みやすさのために小文字でラベル付けされている。
【0078】
図2のパネル(a)に示されるように、この例では、レコードR4のみが、一意のトークン「3」にリンクされたバケットの候補として返される。代わりに、レコードR1、R7、及びR8をプルーニングすることができ、事前定義された距離関数Dを使用して評価する必要はない。
【0079】
選択されたクエリレコードQのプレフィックス内の第2のトークンに対応する、逆メトリックインデックスM内の位置「4」におけるバケットリストに対して、同じクエリ矩形Aが使用され、インデックスMから取り出されたバケットBの空間インデックスのグリッド上に配置される。図2のパネル(b)に示されるように、単一のレコードのみが矩形A内に位置し、レコードR5は潜在的に類似するセットCのセットに追加される。逆メトリックインデックスM内の一意のトークン「4」にリンクされたバケットBのレコードR2、R3、及びR6は、代わりにプルーニングされる。
【0080】
この例ではプレフィックスサイズが2であるので、探索ステップは終了し、最後に、生成された候補は、例えば、選択されたクエリレコードQまでの実際の距離値を計算することによって検証される。
【0081】
候補検証ステップS2では、空間インデックスの潜在的に類似する各セットCについて、選択されたクエリセットQまでの距離値が、事前定義された距離関数Dを使用して計算される。距離値が事前定義された閾値T以下である場合、潜在的に類似するセットCは類似するセットPとして識別される。この例では、選択されたクエリレコードQとレコードR4との間のハミング距離は5に等しく、したがって、事前定義された閾値2より大きい。選択されたクエリレコードQと第2の候補セットであるレコードR5との間のハミング距離は1に等しく、これは、R5が選択されたクエリセットQに類似するセットPと見なされるための基準を満たす。したがって、対(Q,R5)が結果対として報告される。
【0082】
この単純な例は、AllPairsアルゴリズムに対する本発明による方法の技術的利点を既に実証している。この特定の例について8つの候補、すなわち、対応するプレフィックスインデックス内のトークン「3」及び「4」のリスト内のすべてのリンクされたセットを報告するAllPairsとは対照的に、本発明による方法は、2つの候補R4及びR5のみを報告する。AllPairsアルゴリズムを用いて発見された8つの候補について8つの距離値を計算する代わりに、本発明による方法は、事前定義された距離関数Dを使用して2つの距離値のみを計算する。候補セットのこの低減は、セットの集合からの2つのピボット要素Oを使用することによって、事前定義された距離関数Dと組み合わせてセットRの汎用メトリック空間を2次元ベクトル空間Vに変換することによって達成される。
【0083】
当然ながら、ピボットベースのアプローチは、ピボット要素Oに基づく中間距離を事前計算されなければならないので、特定の計算オーバーヘッドを生成する。中間距離が事前計算されると、それらを利用して、2つのセットR、Qが類似しているかどうかを、それらの間の高価な距離値を計算する前に決定することができる。そうすることで、候補セットCの数を効果的に低減することができ、これは、特にトークンユニバースがセットの集合内のセットの数と比較して小さい場合に、AllPairsアルゴリズムに勝る全体的な利点を得る。
【0084】
ある程度まで、ピボットベースのアプローチは、より多くのピボット要素Oが使用されるにつれて改善し続けるが、より多くのピボット要素Oはまた、必要とされるメモリ空間の量を増加させる。ピボット要素Oを使用して事前計算された距離を活用することによって候補Cのセットの低減を効率的に得るためには、逆メトリックインデックスMなどの適切なインデックス構造が不可欠であることが、本発明者らによって見出された。
【0085】
本例では、単一の選択されたクエリレコードQのみが、逆メトリックインデックスMに対して探索された。セット類似性結合の結果を取得するために、すべてのセットR、QはインデックスMに対して探索される必要があり、結果として得られる候補Cはそれぞれ検証される必要がある。
【0086】
図3は、本発明の一実施形態による、逆メトリックインデックスの一部として所与のトークンに対する長さ3を表す例示的なレギュラーバケットをスケッチする。
【0087】
図3に示すようなレギュラーバケットは、B「spatial_index」属性を含み、バケットBに割り当てられたリンクされたセットLは、n次元範囲クエリが実行され得るような方法で記憶される。図3のこの特定の例では、リンクされたセットLは、2次元Rツリーに記憶される。一実施形態では、トークン及びセット長の特定の組合せを表すバケットB内の空間インデックスがクエリされるとき、(1)プレフィックス内の選択されたクエリレコードQと対応するトークンを共有し、(2)長さフィルタを通過し、(3)ベクトル空間のクエリ矩形内に位置する潜在的に類似するセットCのみが返される。理想的には、トークン及びセット長の特定の組合せを表すバケットBは、特定のサイズの特定のトークンに対して少なくとも1つのセットRが存在する場合、逆メトリックインデックスMにおいてのみ作成される。
【0088】
1つの好ましい実施形態では、選択されたクエリレコードQは、バケットBが表す長さがもはや必要とされない場合にバケットBを逆メトリックインデックスMから除去することができるように、セットサイズの昇順で逆メトリックインデックスMに対して探索される。
【0089】
上に示した例では、グローバルピボット要素Oは、セットの集合から最初に1回選択された。好ましくは、ピボット要素Oは、最初に一度グローバルに選択されず、すべてのレコードRの仮定に基づいてデータセット全体を変換するために使用される。セットの集合のQは単一のベクトル空間Vに存在する。代わりに、逆メトリックインデックスMは、個々のバケットBにグループ化されたリンクされたセットLが、それら自体のローカルベクトル空間Vを形成することを明らかにする。したがって、ピボット要素Oは、好ましくは、ローカルに選択される、すなわち、各バケットBについて別々に、バケットBに割り当てられたリンクされたレコードLから選択される。図3の例に示されるように、ローカルピボット要素O(R1、R4)は、バケットBの「local_pivot」属性に記憶され得る。そうすることで、各バケット内のすべてのセットLは、対応するローカルピボット要素Oを使用して、それらのベクトル空間V表現にマッピングされる。
【0090】
それにもかかわらず、この手順は、バケットBが最低n個のレコードを含むことを必要とし、ここでnは次元数を表す。バケットBがn個未満のレコードを含む場合、グローバルピボット要素Oをフォールバックソリューションとして使用して、対応するバケットB内のセットLを変換することができる。
【0091】
図4は、本発明の一実施形態に従ってグローバルにマッピングされたバケットの表現(a)及びローカルにマッピングされたバケットの表現(b)を視覚化する。
【0092】
図4に表されるバケットは、20のセット長を表し、プロセスマイニングデータセットから選択される。
【0093】
図4のパネル(a)は、グローバルピボット要素Oを使用して2次元ベクトル空間Vに変換されたバケットBに割り当てられたリンクされたセットLの表現Φを視覚化しており、グローバルピボット要素Oは2つの軸上の大きな円によって表されている。この例における距離関数Dは、ジャッカード距離であり、2つのピボット要素Oは、セットの集合からランダムに選択される。グローバルピボット要素Oは、選択されたバケット内で発生しないことに留意されたい。
【0094】
図4のパネル(b)には、同じバケットBのリンクされたセットLの表現Φが示されているが、表現Φは、ローカルピボット要素Oを使用して計算されたものである。ローカルピボット要素Oは、バケットBに割り当てられたセットLからランダムに選択されたものであり、二重円でマークされている。
【0095】
ローカルピボット要素Oは、バケットBの2次元ベクトル空間Vにおいて表現Φをより良好に分布し、したがって、プルーニングパワーを実質的に増加させる。この例は単に実証のために選択されたものであるが、本発明者らは、グローバルピボット要素よりもローカルピボット要素を選択することによってプルーニングパワーを増加させる効果は、更なるデータセットに対する実験に変換されるので、この特定のデータセットに限定されないことを見出した。
【0096】
ローカルピボット要素Oは各バケットBに対して個別に選択される必要があるので、各バケットBに対して最良のピボット要素Oを別々に計算する代わりに、非常に高速であるランダムにローカルピボット要素Oを選択することが好ましい。更に、選択されたクエリセットQをバケットBに対して探索することは、ローカルピボット要素Oを使用して選択されたクエリレコードQを再マッピングすることを必要とする。探索レコードQの再マッピングは、セットサイズが大きいほど費用がかかる。
【0097】
図5は、本発明の一実施形態による、逆メトリックインデックスの一部として所与のトークンに対する長さ3を表す例示的な低負荷バケットをスケッチする。
【0098】
上述したように、より少ないリンクされたセットLがバケットBに割り当てられる場合、低負荷バケットBが出現し、事前定義されたカットオフパラメータが出現する。したがって、低負荷バケットの場合、空間インデックスの作成及び投入は効果的ではない。代わりに、次元jは[1,n]からランダムに一様に引き出され、「records」属性に記憶されたレコードは、それらのベクトル空間表現におけるj番目の次元によってソートされる。このソートに基づいて、jによる順序付けのみを必要とする1次元範囲クエリを実行することができる。
【0099】
選択されたクエリセットQを低負荷バケットBに対して探索するために、まず、その表現の値が次元jにおいて抽出され、次元jは、単に、選択されたクエリセットQとj番目のピボット要素Oとの間の距離である。次いで、距離が、抽出された値、すなわち、抽出された値から事前定義された閾値Tを引いた値を中心とする1次元クエリ矩形A以上であるバケットの第1のレコードが探索され、抽出された値に事前定義された閾値Tを加えた値に1を加えた値に達するまで走査される。例えば、バイナリ探索を利用することができる。ほとんどの場合、1次元範囲クエリは、AllPairsによって行われるようにセットLのリスト全体を走査するよりも少ない低負荷バケットの候補を報告することが分かっている。
【0100】
図6は、本発明の2つの実施形態による方法のパフォーマンスを従来技術の2つの方法と対比しており、各方法は2つの異なるデータセットに対して評価されている。
【0101】
本発明による方法の実験的評価において、本発明者らは、セット類似性結合アルゴリズムによって報告される候補の数が実行時挙動と相関することを観察した。言い換えれば、セット類似性結合アルゴリズムが報告する候補Cが多いほど、セット類似性結合アルゴリズムが多くのデータセットに対して必要とする実行時間が長くなる。本発明による方法は、常に、最新のプレフィックス間隔のソリューションよりも少ない候補Cを報告するので、多くの場合、後者よりもパフォーマンスが優れている可能性がある。
【0102】
図6aでは、様々な方法の結果が、CELONIS2とラベル付けされたプロセスマイニングデータセット上に示されている。図6aの左側のパネルには、事前定義された閾値Tの異なる選択に対する方法の実行時間が示されている。より詳細には、菱形の記号は、本発明の一実施形態を表すMetricJoinアルゴリズムの実行時間を表す。四角形の記号は、最新のAllPairsアルゴリズムの実行時間を表す。すべての選択された事前定義された閾値Tについて、MetricJoinアルゴリズムは、プロセスマイニングデータセットCELONIS2についてAllPairsアルゴリズムよりもパフォーマンスが優れている。AllPairsアルゴリズムと比較したMetricJoinアルゴリズムの技術的利点は、図6aの右側パネルに視覚化されているように、候補の数を低減することができることに起因する。
【0103】
質的に類似の結果が、図6bに示されるように、DBLP-V12とラベル付けされた、デジタル書誌及びライブラリプロジェクト(DBLP)からのコンピュータ科学の分野における学術論文の書誌収集物である第2のデータセットに対して達成される。MetricJoinアルゴリズムの実行時間は、事前定義された閾値Tごとに、特に閾値Tが増加するにつれて、AllPairsアルゴリズムの実行時間よりも明らかにパフォーマンスが優れている。
【0104】
最も注目すべきことに、本発明者らによって実行された実験は、AllPairsなどの最新のアルゴリズムに適用された追加のフィルタでさえ、従来技術の欠点を単純に補償することができないことを示した。例えば、位置フィルタは、後にPPJoinと呼ばれるAllPairsアルゴリズムの上に適用され、その実行時間は、図6において三角形の記号によって表される。
【0105】
位置フィルタは、候補の数を更に低減するためにトークンの位置情報を利用するという点でプレフィックスフィルタを強化する。重要な考え方は、探索セットQ及びインデックスのセットRのプレフィックスにおいて重複するトークンを見つけ、トークンの残りの数が、2つのセットを類似していると見なすために最低限必要な重複の量に依然として達することができるかどうかを検証することである。トークンの残りの数が重複の最小必要量に達することができない場合、インデックスの対応するセットを安全にプルーニングすることができる。
【0106】
位置フィルタが候補Cの数を更に低減させるにつれて、図6に示すように、AllPairsの上のPPJoinに対するすべての事前定義された閾値Tに対して全体的な実行時間も減少する。しかしながら、PPJoinアルゴリズムは、候補の低減がセットRのメトリック特性を利用するときに判明するほど効率的ではないので、パフォーマンスに関してMetricJoinアルゴリズムに対するギャップを閉じることができない。Qと事前定義された距離関数Dとの組合せ。
【0107】
更に、位置フィルタとMetricJoinアルゴリズムとの組合せは、MetricJoinPosと呼ばれ、図6の星形記号によって表され、報告される候補の数を更に低減させる。したがって、MetricJoinに適用される追加のフィルタは、セット類似性結合の実行時間を更に低減することができる。結果として、MetricJoinとAllPairsとの間のパフォーマンスギャップは、MetricJoinPosとPPJoinとのパフォーマンスギャップに非常に類似している。
【符号の説明】
【0108】
A ベクトル空間Vの部分空間、特にクエリ矩形
B リンクされたセットLのグループ、特にバケットとして表される
C 潜在的に類似するセット又は候補セット
D 事前定義された距離関数
E データ構造Mの一意の要素
L データ構造Mの一意の要素Eにリンクされたセット
M データ構造、特に逆メトリックインデックス
O セットの集合から選択されたピボット要素
P 選択されたクエリセットに類似するセット
Q 選択されたクエリセット
R セットの集合のセット
S1 探索ステップ
S2 候補検証ステップ
T 閾値
V n次元ベクトル空間
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-08-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
セットの集合内の選択されたクエリセット(Q)に対する少なくとも1つの類似するセット(P)を見つけるためのコンピュータ実装方法であって、各セット(R)がいくつかのトークンを含み、
各セット(R)はプロセスを表し、各トークンはプロセスステップを表し、前記プロセスは、少なくとも1つのソースコンピュータシステムにおいて実行される一連のプロセスステップを含み、
各セット(R)は、ベクトル空間(V)における表現に変換され、前記表現は、記憶装置を用いて記憶され、
各セット(R)はプレフィックスを含み、前記プレフィックスは、事前定義された数のトークンまでの前記対応するセットの少なくとも1つのトークンを含み、
データ構造(M)が作成されて前記記憶装置に記憶され、前記データ構造は複数の一意要素(E)を含み、各一意要素(E)は前記セットの集合に含まれるトークンを表し、前記セットの集合の少なくともサブセットの各セット(R)は、そのプレフィックスの前記少なくとも1つのトークンを表す前記データ構造の少なくとも1つの一意要素(E)にリンクされ、前記リンクされたセット(L)は、トークンの数によって、対応する一意要素(E)の少なくとも1つのグループ(B)にグループ化され、
前記選択されたクエリセット(Q)に対する類似するセット(P)が、以下のステップに従って識別され、
-探索ステップ(S1)において、前記データ構造(M)の各グループ(B)について、前記リンクされたセット(L)から空間インデックスが構築され、各リンクされたセット(L)は、前記ベクトル空間(V)におけるその表現が前記ベクトル空間(V)の事前定義された部分空間(A)内に位置する場合、潜在的に類似するセット(C)の集合に排他的に挿入され、各グループ(B)についての潜在的に類似するセット(C)の集合は、前記潜在的に類似するセット(C)の集合が各グループ(B)の前記リンクされたセット(L)のサブセットを含むように、前記記憶装置に記憶され、
-候補検証ステップ(S2)において、前記空間インデックスの各潜在的に類似するセット(C)について、前記選択されたクエリセット(Q)に対する距離値が、事前定義された距離関数(D)を使用して計算され、前記距離値が事前定義された閾値(T)以下である場合、潜在的に類似するセット(C)が、前記少なくとも1つの類似するセット(P)のうちの1つとして識別され、
前記少なくとも1つの類似するセット(P)は、プロセスの集合内の選択されたプロセスに対する少なくとも1つの類似プロセスを表す、コンピュータ実装方法。
【請求項2】
前記事前定義された部分空間(A)はクエリ矩形であり、前記クエリ矩形のサイズは前記事前定義された閾値(T)に関連する、請求項1に記載の方法。
【請求項3】
前記プレフィックス内の前記事前定義された数のトークンは、前記事前定義された距離関数(D)及び前記閾値(T)に基づいて計算される、請求項1又は2に記載の方法。
【請求項4】
前記方法が繰り返され、各繰り返しにおいて、前記セットの集合のすべてのセット(R)が処理されるまで、前記セットの集合の異なるセット(R)が前記選択されたクエリセット(Q)である、請求項1に記載の方法。
【請求項5】
前記データ構造(M)及び前記潜在的に類似するセットの集合(C)が、前記記憶装置の揮発性メモリ、特に前記メインメモリに記憶される、請求項1に記載の方法。
【請求項6】
事前定義された数のピボット要素(O)が前記セットの集合から選択され、前記事前定義された数のピボット要素(O)は前記ベクトル空間(V)に及ぶ、請求項1に記載の方法。
【請求項7】
前記データ構造(M)の各グループ(B)について、前記事前定義された数のピボット要素(O)が、前記対応するグループ(B)の前記リンクされたセット(L)から選択される、請求項6に記載の方法。
【請求項8】
前記空間インデックスは、少なくとも事前定義された数のリンクされたセット(L)を含むグループ(B)に対してのみ構築され、前記事前定義された数未満のリンクされたセットを含む各グループ(B)に対して、前記リンクされたセット(L)は、それらの表現のランダム次元に従ってソートされる、請求項1に記載の方法。
【請求項9】
前記選択されたクエリセット(Q)について、上限及び下限が計算され、前記選択されたクエリセット(Q)の前記上限よりも多いトークン又は前記選択されたクエリセット(Q)の前記下限よりも少ないトークンを含む各セットがスキップされる、請求項1に記載の方法。
【請求項10】
前記探索ステップ(S1)において、前記グループ(B)は、それらのそれぞれのリンクされたセット(L)のトークンの増加する数に従って処理され、前記選択されたクエリセット(Q)のトークンの数よりも多くのトークンを含む各セット(R)はスキップされる、請求項1に記載の方法。
【請求項11】
前記探索ステップ(S1)において、前記選択されたクエリセットQ)の前記プレフィックス内のトークンと一致するプレフィックス内のトークンを有する各セット(R)は、前記一致するトークンが、前記事前定義された閾値(T)に従って、前記セットと前記選択されたクエリセットとの間の類似性のために必要とされるよりも少ないトークンが残る前記セット内の位置に位置する場合、スキップされる、請求項1に記載の方法。
【請求項12】
前記データ構造(M)の各グループ(B)は、少なくとも1つのリンクされたセット(L)を含む、請求項1に記載の方法。
【請求項13】
前記事前定義された距離関数(D)は、
-限界距離関数、特にジャッカード距離関数であって、距離値が制限されていない距離値にスケーリングされる、距離関数、
-制限されていない距離関数、特にハミング距離関数、
-特にダイス距離関数又はコサイン距離関数である非メトリック距離関数であって、前記事前定義された閾値はパラメータによってスケーリングされ、前記パラメータは各セット内のトークンの数に基づいて計算される、非メトリック距離関数を含むグループのいずれかである、請求項1に記載の方法。
【請求項14】
前記セットの集合は、類似の数のトークンを含むセット(R)の大部分を含む、請求項1に記載の方法。
【請求項15】
前記データ構造(M)における一意の要素(E)の数は、セットの前記集合のカーディナリティと比較して小さい、請求項1に記載の方法。
【国際調査報告】