曖昧結合

Concept Information

FUZZYJOIN コマンド

Analytics 曖昧結合は、キー フィールドと値の曖昧一致を使用して、2 つの Analytics テーブルを新しい 3 番目のテーブルに結合します。ほとんどの点において、曖昧結合は標準の Analytics 結合に似ています(テーブルの結合を参照)。主な違いは、曖昧結合は、キー フィールド値の完全一致に基づくレコードの結合のほかに、近似一致に基づくレコードの結合ができることです。

曖昧結合は、主キーおよび副キーに同じ種類のデータが少し異なる形式で含まれているときに役立ちます。あるいは、キーのデータに、完全一致を妨げる可能性がある誤字などの少しの不規則性があります。

シナリオ

考えられる不適切な報酬のデータを分析する方法の 1 つとして、従業員でもある業者を特定する必要があります。

アプローチ

ベンダー マスター テーブルと従業員テーブルが、共通キーとして各テーブルの住所フィールド(Vendor_Street、および Emp_Address)を使用して結合されます。ただし、キー フィールドの住所データの形式は少し異なります。このため、標準の結合ではなく、曖昧結合を使用します。

データの一部の概要

重要なデータ クレンジングと調整作業がないと、以下に示す主キーおよび副キー値は、非常に一致の確率が高い住所であっても、標準の Analytics 結合では結合されません。

主キー値 副キー値
605 3rd Avenue 605 Third Avenue
400 High St SE 400 High Street S.E.
2203 Rowan Street 2203 Rowen St

データ クレンジングと調整を行ったとしても、"Rowan" や "Rowen" といった綴りにわずかな違いがあるキー値はおそらく一致しません。

キー値は、曖昧結合設定に応じて、曖昧結合で結合できます。

出力結果

以下の結合されたテーブルの例では、正確なキー フィールド一致は紫でハイライトされています。曖昧キー フィールド一致は緑でハイライトされています。

曖昧結合と曖昧重複

曖昧結合は 2 つのテーブルのキー フィールドの値を分析します。ほぼ同一の値の単一の Analytics テーブルの単一のフィールドをテストするには、あいまい重複分析を参照してください。

曖昧結合の効果の改善

次の手法を 1 つ以上取り入れると、曖昧結合の効果を大幅に高めることができます。

  • 主キーおよび副キー フィールド値の個別の要素を並べ替える
  • 主キーおよび副キー フィールド値から汎用要素を削除する
  • 主キーおよび副キーフィールド値を調整する

これらの手法では、より厳密な曖昧設定を使用して、同じ曖昧一致を取得しながら、誤検出一致の数を減らすことができます。これらの手法は別々に使用するか組み合わせて使用できます。

式または演算フィールドを作成する

これらの手法のいずれかを使用するには、適切な Analytics 関数といずれかまたは両方のキー フィールドを使用して、式または演算フィールドを作成する必要があります。

式の詳細については、式の使用を参照してください。

演算フィールドの詳細については、演算フィールドの定義を参照してください。

メモ

曖昧結合]ダイアログボックスでは、副キー フィールドに対して式を作成できません。ただし、Analytics コマンドラインまたはスクリプトでは、手動で副キー フィールド式を作成できます。別のオプションは、副キー フィールドとして使用する演算フィールドを作成することです。

キー フィールド値の個別の要素を並べ替える

SORTWORDS( ) 関数では、主キー フィールド値と副キー フィールド値の個別の要素を連続する順序に並べ替えることで、曖昧結合の効果を改善することができます。

アドレスの構成要素などの要素を並べ替えると、同じ情報を含む、形式が異なり、相互により密接に類似したキー フィールド値を作成できます。より密接な類似性により、キー フィールド値が相互の曖昧一致として選択される確率が上がります。

詳細については、SORTWORDS( ) 関数を参照してください。

SORTWORDS( ) の概要を説明する動画については、「Fuzzy Matching Using SORTWORDS()」(英語のみ)をご覧ください。

メモ

キー フィールド値の要素の並べ替えは、レーベンシュタイン距離アルゴリズムを使用した曖昧一致に最適です。

ダイ係数アルゴリズムを使用しているときには、要素の並べ替えが有効な場合とそうでない場合があります。本番設定でダイ係数アルゴリズムと SORTWORDS( ) を使用するかどうかを決定する前に、サンプル データのセットをテストしてください。

注意

曖昧結合と SORTWORDS( ) を使用する場合は、SORTWORDS( ) を比較対象の両方の文字列または両方のフィールドに適用する必要があります。

キー フィールド値から汎用要素を削除する

OMIT( ) は、主キー フィールド値および副キー フィールド値から "Corporation" や "Inc."、カンマ、ピリオド、アンパサンド(&)文字などの一般的要素を除去することによって、 曖昧結合の効果を高めることができます。

一般的要素と句読点の除去により、曖昧一致は、意味のある違いが発生する可能性のあるキー フィールド値の部分だけに集中されます。

詳細については、OMIT( ) 関数を参照してください。

キー フィールド値を一致させる

REPLACE( ) または REGEXREPLACE( ) 関数は、主キー フィールド値と副キー フィールド値の同じ要素の変異形を一致させることで、曖昧結合の効果を改善できます。たとえば、"Street"、"St."、"St" を一致させ、単一の値 "St" を使用できます。

要素を一致させると、同じ情報を含む、形式が異なり、相互により密接に類似したキー フィールド値を作成できます。より密接な類似性により、キー フィールド値が相互の曖昧一致として選択される確率が上がります。

詳細については、REPLACE( ) 関数(簡単な置換)およびREGEXREPLACE( ) 関数(複雑な置換)を参照してください。

出力テーブル サイズとコマンド パフォーマンス

出力テーブル サイズ

曖昧結合は、Analytics 多対多結合と似ています。すべての主キー値は、すべての副キー値と一致する可能性があります。出力テーブルのサイズは、主または副入力テーブルのサイズの数倍の大きさになることがあります。

コマンド パフォーマンス

曖昧一致アルゴリズムは、指定された度合いの曖昧さのキー値または完全に一致する値のみが実際に結合されることを保証します。ただし、すべての考えられる主と副の一致はテストされる必要があります。つまり、曖昧結合処理は時間がかかることがあります。実行する必要がある個別のテスト数は、主テーブルのレコード数を副テーブルのレコード数で乗算した値です。

最初の副一致との一致を制限する

最初の副キー一致のみを結合]を選択すると、処理時間が大幅に短縮され、出力結果のサイズが小さくなります。このオプションを有効にすると、各主キー値が、最初に発生した一致する副キー値にのみ結合されることを指定します。

このオプションは、次のいずれかの状況でのみ有効にしてください。

  • 一致するかどうか 完全一致またはあいまい一致の一致が 2 つのテーブル間に存在するかどうかのみを確認し、すべての一致を特定するために必要な処理時間を減らしたい場合
  • 1 つ以下の一致各主キー値に対する一致が副テーブルで多くても 1 つだけであることが確実な場合

このオプションは、主キー値と副キー値の間のすべての考えられる結合を出力結果煮含める必要がある場合には使用しないでください。

メモ

最初の副キー一致のみを結合]を選択し、最初の一致が完全一致であった場合は、後続の主キー値のあいまい一致は、結合された出力テーブルに含まれません。

ベスト プラクティス

主および副入力テーブルを準備し、曖昧さの度合いを指定するときには、出力テーブル サイズとコマンド パフォーマンスに注意してください。

  • データのカスタマイズ 関連するレコードのみが主および副テーブルに含まれることを保証します。一部のレコードに一致の可能性がない場合は、曖昧一致を実行する前に、除外します。
  • テスト実行 大きいデータ セットの場合は、データの一部のみでテストを実行します。これは、曖昧一致アルゴリズムの適切な設定を得るためのより効率的な方法です。保守的な曖昧設定から開始し、必要に応じて、徐々に緩めて行きます。

曖昧一致アルゴリズム

曖昧結合を実行するときには、2 つの異なる曖昧一致アルゴリズムから選択します。

  • ダイス係数
  • レーベンシュタイン距離

このアルゴリズムは、相互に完全に独立しているため、異なる結果を生成することができます。1 つのアプローチは、曖昧結合を 2 回(各アルゴリズムで 1 回ずつ)実行し、結果を比較することです。一般的に、各結果セットの多数の曖昧一致は重複しますが、一部の一致は各結果セットに対して一意であることがあります。

曖昧度

各アルゴリズムの曖昧さの度合いを指定します。これにより、結果セットのサイズと構成を動的に変更することができます。「曖昧度」とは、2 つの値がどれほど近く一致しているのかを差します。

選択するアルゴリズムに応じて、次の設定を使用して、曖昧度を制御します。

アルゴリズム 設定

ダイス係数

  • N-gram
  • パーセント

レーベンシュタイン距離

  • 距離

異なる曖昧さの度合いで実験する保守的に開始し、小さい結果セットを生成します。次に、明らかに一致ではない(誤検出)結合された値が多くなりすぎるまで、徐々に設定を緩めます。

ダイス係数

ダイス係数アルゴリズムは、0.0000 ~ 1.0000 の尺度で、主キー値と副キー値の間の類似性の度合いを測定することで動作します。2 つの値のダイス係数が大きいほど、類似性が高くなります。

レーベンシュタイン距離

レーベンシュタイン距離アルゴリズムは、0 から開始する整数の尺度で、主キー値と副キー値の間の差異を測定して機能します。この尺度は、ある値を他の値と同一にするために必要な、1 文字の編集の回数を表します。2 つの値間のレーベンシュタイン距離がより大きければ、相違も大きくなります。

手順

曖昧結合を使用すると、キー フィールドと値の曖昧一致を使用して、2 つの Analytics テーブルを新しい 3 番目のテーブルに結合できます。