メトリクスを選択してマッチングルールを定義
データを同じようなサイズのグループにブロッキングした後は、tMatchGroupコンポーネントで使用する前に、マッチングルールを作成してテストできます。
一致分析の作成については、一致分析を作成をご覧ください。
tMatchGroupコンポーネントでのマッチングファンクション
tMatchGroupを使用すれば、1つまたは複数のマッチングルールを使うことで、大量のデータが含まれている任意のデータソースで類似したデータレコードのグループを作成できます。
作成されたグループはそれぞれ、マスターレコードとそのマスターレコードに類似したレコードで構成されます。類似したレコードとマスターレコードの間の類似度を計算するため、次のようなマッチングファンクションが使われます。
- 音声アルゴリズム: SoundexやMetaphoneなどで、名前のマッチングに使われます。
- レーベンシュタイン距離: ある文字列を別の文字列に変換するために必要な最小編集回数を計算します。
- Jaro距離: 処理されたエントリーをスペルのずれに従ってマッチングさせます。
- Jaro-Winkler距離: Jaroの亜種で、文字列の先頭をより重視します。
標準ジョブやMap/ReduceジョブでtMatchGroupコンポーネントを使う詳細は、tMatchGroupをご覧ください。
シンプルVSRマッチャーアルゴリズムとT-Swooshアルゴリズム
tMatchGroupコンポーネントを使用する場合は、次のいずれかのアルゴリズムを選択できます。
- シンプルVSRマッチャー
- T-Swoosh
一致分析の詳細は、Talend Help Centerで「マッチングルールを作成」をご覧ください。
レコードはいつマッチングするのか
2つのレコードは、以下の条件を満たした時にマッチングされます。
- T-Swooshアルゴリズムを使用する場合は、各マッチングファンクションで返されるスコアが設定したしきい値より高いこと。
- グローバルスコア(さまざまなマッチングファンクションの加重スコアとして計算)がマッチングしきい値を超えていること。
複数のパス
通常、さまざまなパーティショニングスキームが必要となります。そのため、tMatchGroupコンポーネントを順次使用し、異なるブロッキングキーに対してデータをマッチングさせる必要があります。
複数のパスを通してデータをマッチングさせる方法の例は、複数のパスで顧客データをマッチングをご覧ください。
tRecordMatchingコンポーネントを使った作業
tRecordMatchingは、メインフローからの比較カラムとルックアップフローからの参照カラムを結合させます。定義されたマッチング戦略に従い、tRecordMatchingは、マッチングデータ、マッチング可能なデータ、拒否されたデータを出力します。マッチング戦略を調整する場合、ユーザ定義のマッチングスコアは対象データのマッチングレベルを決定するうえで重要です。
tRecordMatchingコンポーネントの詳細は、tRecordMatchingをご覧ください。