メイン コンテンツをスキップする

T-Swooshアルゴリズム

T-SwooshアルゴリズムはシンプルVSRマッチャーアルゴリズムと同じ考え方に基づいていますが、既存のレコードをマスターレコードと見なすのではなく、マスターレコードを作成します。

入力レコードの順序はマッチングプロセスには影響しません。

マスターレコードを作成するには、どの属性を残すかを決めるためにサバイバーシップルールをデザインします。

サバイバーシップルールには次の2つのタイプがあります。

  • マッチングキーに関連するルール: マッチングするキーとして使用される各属性に特定のサバイバーシップルールを設定できます。
  • デフォルトのルール: データ型が等しいすべての属性に適用されます(ブール値、文字列、日付、数値)。

カラムがマッチングキーである場合は、このカラムに固有のマッチングキーに関連するルールが適用されます。

カラムがマッチングキーでない場合は、このデータ型のデフォルトサバイバーシップルールが適用されます。データ型のデフォルトサバイバーシップルールが定義されていない場合は、[Most common] (最も一般的)なサバイバーシップ機能が使用されます。

2つのレコードをマージして新しいマスターレコードを作成した時は毎回、この新しいマスターレコードが、検査するレコードのキューに追加されます。マージされた2つのレコードは、ルックアップテーブルから削除されます。

たとえば、以下のレコードのセットを入力として取り込みます。

id fullName
1 John Doe
2 Donna Lewis
3 John B. Doe
4 Johnnie B. Doe

サバイバーシップルールでは、[Concatenate] (連結)ファンクションと","が、値を区切るパラメーターとして使用されます。

プロセスの最初の段階では、キューにはすべての入力レコードが含まれており、ルックアップは空です。入力レコードを処理するために、アルゴリズムはキューが空になるまで反復されます。

  1. アルゴリズムはレコード1を取り、空のレコードセットと比較します。レコード1はどのレコードともマッチングしないため、マスターレコードのセットに追加されます。これで、キューにはレコード2、レコード3、レコード4が含まれています。ルックアップにはレコード1が含まれています。
  2. アルゴリズムはレコード2を取り、レコード1と比較します。レコード2はどのレコードともマッチングしないため、マスターレコードのセットに追加されます。これで、キューにはレコード3、レコード4が含まれています。ルックアップにはレコード1とレコード2が含まれています。
  3. アルゴリズムはレコード3を取り、レコード1と比較します。レコード3はレコード1とマッチングします。そのため、レコード1とレコード3がマージされて、レコード1,3という新しいマスターレコードが作成されます。これで、キューにはレコード4とレコード1,3が含まれています。ルックアップにはレコード2が含まれています。
  4. アルゴリズムはレコード4を取り、レコード2と比較します。マッチではないため、レコード4はマスターレコードのセットに追加されます。これで、キューにはレコード1,3が含まれています。ルックアップテーブルにはレコード2とレコード4が含まれています。
  5. アルゴリズムはレコード1,3を取り、レコード2、レコード4と比較します。レコード1,3はレコード4とマッチングします。そのため、レコード1,3とレコード4がマージされて、レコード1,3,4という新しいマスターレコードが作成されます。レコード4はルックアップテーブルから削除されます。レコード1,3は前のマージの結果であるため、テーブルから削除されます。これで、キューにはレコード1,3,4が含まれています。ルックアップにはレコード2が含まれています。
  6. アルゴリズムはレコード1,3,4を取り、レコード2と比較します。マッチではないため、レコード1,3,4はマスターレコードのセットに追加されます。現在、キューは空です。ルックアップにはレコード1,3,4とレコード2が含まれています。

出力は次のようになります。

id fullName GRP_ID GRP_SIZE MASTER SCORE GRP_QUALITY
1,3,4 John Doe, John B. Doe, Johnnie B. Doe 0 3 true 1.0 0.449
1 John Doe 0 0 false 0.72 0
3 John B. Doe 0 0 false 0.72 0
4 Johnnie B. Doe 0 0 false 0.78 0
2 Donna Lewis 1 1 true 1.0 1.0

このサンプルでわかるように、GRP_QUALITYカラムは[Match Threshold] (マッチングしきい値)パラメーターよりも小さくできます。これは、[Match Threshold] (マッチングしきい値)以上のマッチングスコアを持つレコードペアからグループが作成されますが、すべてのレコードが互いに比較されるわけではないためです。他方、GRP_QUALITYはグループ内のすべてのレコードペアを考慮に入れます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。