ファジーマッチ編集一致オプション
ファジーマッチツールの設定ウィンドウの編集ボタンを使用して、一致オプション編集ウィンドウにアクセスします。
一致スタイルは、入力ファイルのレコード間で適切な一致を見つけるための所定の方法です。個々の一致スタイルの選択肢は、[ファジーマッチツール] ページで定義されています。
一致スタイル
このリストには、定義済みまたはカスタムのユーザー定義一致スタイルが表示されます。選択した一致スタイルに基づいて、ダイアログボックスの後続の仕様が選択されます。
定義済みの一致スタイルを編集すると、ドロップダウンリストの名前が「カスタム」に変わります。このカスタム一致スタイルで指定された設定は、ワークフローとともに保存されます。
既定のオプションを削除または編集するのではなく、新しいカスタム一致スタイルを追加します。
- 一致スタイルを削除するには、ドロップダウンから一致スタイルを選択し、削除を選択します。
- 一致スタイルを追加するには、新しい名前を入力し、OK を選択します。
前処理
前処理は、キー生成およびファジーマッチ関数の前に実行されるプロシージャを記述します。前処理はより良い一致結果をもたらすはずです。このリストの選択肢には以下が含まれます。
- なし: 前処理は実行されません。
- 句読点を取り除く: 指定されたデータフィールド内の句読点文字は、ツールが一致と判断している間は無視されます。
- 句読点と挨拶を取り除く: 指定されたデータフィールド内の任意の句読文字および「
Mr
」、「Ms
」、「Mrs
」などのタイトルは、ツールが一致と判断している間は無視されます。 - 句読点、AND、OF、THE を取り除く: 指定されたデータフィールド内の任意の句読文字および「
and
」、「of
」、「the
」の単語のインスタンスは、ツールが一致と判断している間は無視されます。 - 句読点を取り除き、米国の住所からユニットを削除する: 指定されたデータフィールド内の任意の句読文字およびユニット番号は、ツールが一致と判断している間は無視されます。
前処理の手動編集
前処理は、FuzzyMatchStyles.xml を編集することによってユーザー定義できます。このファイルは、次の Alteryx ランタイムディレクトリにあります: \Program Files\Alteryx\bin\RuntimeData\FuzzyMatch。このファイルは、XML および正規表現に精通した場合にのみ編集してください。
キーを生成する
キー生成は、潜在的な一致が識別される方法です。
Alteryx は指定されたフィールドを読み込み、そのフィールドのコンポーネントにキーを割り当てます。すべてのキーが生成されると、Alteryxは各一致フィールドの連結キーを比較します。生成されたキーが 2 つのレコードで等しい場合、潜在的な一致が識別され、ペアは一致プロセスの次のフェーズに進みます。関数の選択肢は次のとおりです。
- なし: このフィールドのキーは、どのレコードが一致するかを決定するときに考慮されます。
- 数字のみ: 指定したフィールドの同じ数字のレコードのみが一致します。たとえば、1-(800)555-1234 は 800-555-1234 と一致します。
数字以外の文字は無視され、数字は最後 (4) から最初 (8 または 1) まで一致します。このレコードを一致させるには、先頭の 1 を無視するために、最大キー長 = 10 を指定します。
- Double Metaphone: Double Metaphone が好ましいアルゴリズムです。これは、英語の単語 (および英語の単語で頻繁に聞かれる外国語) を 12 の子音に減らすことによって音声的に符号化するアルゴリズムです。これにより、スペルミスが原因で発生するマッチングの問題が減少します。ダブルメタフォンは、音に基づいてマッチングするための好ましい方法です。単語に 2 つの実行可能な発音がある場合 (たとえば、外国語の場合)、2 つのキーを返します。詳細については、「Double Metaphone」に移動してください。
既知の問題
*Double Metaphone 法では、最大キー長さを指定できますが、この設定は機能しません。Double Metaphone の最大キー長さは、この設定を介して指定した内容に関係なく 8 にハードコーディングされています。
- 数値付き Double Metaphone: 同じダブルメタフォンアルゴリズムを使用しますが、数字も含みます。この文字列に数字がある場合、最初のトークンの数字がキーになります。たとえば、文字列「1234 5th St」では、「1234」がキーになります。
-
Soundex: 姓を最初の文字と最大 3 桁まで減らして発音記号をコード化するアルゴリズム。ここで、各桁は 6 つの子音の 1 つです。これにより、異なるスペルからマッチングの問題が減少します。このアルゴリズムは、米国国勢調査記録に記録された名前をコードするように考案されました。標準アルゴリズムはヨーロッパの名前で最も効果的です。変種は他の文化の名前のために考案されています。詳細については、「Soundex」に移動してください。
先頭文字の置換: Alteryx は、一致キーを生成する前に、次の先頭文字と文字の組み合わせを自動的に置き換えます。先頭文字 置換 AV AF AH A AW A CAAN TAAN DG G D G HA A KN K K C MAC MC M N NST NS PF F PH F Q G SCH SH Z S - Soundex w/ Digits: 同じ Soundex アルゴリズムを使用しますが、数字も含みます。文字列に数字がある場合、最初のトークンの数字がキーになります。
- 全フィールド (大文字と小文字を区別しない): フィールド全体が一致するレコードのみが一致します。大文字と小文字の区別は無視されます
- 英数字のみ (大文字と小文字を区別しない): 英数字のみを検索して一致を行います。大文字と小文字の区別は無視されます
- アドレス番号 + Soundex: 文字列からアドレス番号を削除し、フィールドの残りの部分に Soundex アルゴリズムを適用します。Soundexコードは、ユニークなキーを作成するためにアドレス番号に追加されます。
各単語のキーを生成する: 各単語で個別のキーを生成します。
単語の順序が狂っていても、「john smith」と「smith john」は潜在的な一致として並べることができます。
- 以下の単語にキーを生成しない: キー割り当てから除外する単語を指定または選択します。これにより、潜在的な一致の数を制限することによって処理時間を短縮することができます。
- 1 文字の単語にはキーを生成しない: 選択すると、キー割り当てから 1 文字の単語を除外します。これにより、潜在的な一致の数を制限することによって処理時間を短縮することができます。
- 空の場合は無視: 指定された一致フィールドの空の値を無視します。フィールドが空の場合、キーは生成されず、レコードはスローアウトされます。
- 最大キー長さ: 一致のために考慮するキーの最大長を指定します。
一致関数
一致関数は、一致が識別され、スコアが適用される、より詳細なプロセスです。これは厳密に一致しなければならないキーとは異なります。選択肢は次のとおりです。
- なし - キー一致のみ: キー生成仕様のみを検索します。
- レーベンシュタイン距離: 1 つの文字列またはツリーを別の文字列またはツリーに変更するために必要な挿入、削除および置換の最小数。レーベンシュタイン距離が選択されると、差のために一致スコアが大幅に低下します。詳細については、「レーベンシュタイン距離」に移動してください。レーベンシュタイン距離のオプションには、以下が含まれます。
- キャラクター: レーベンシュタイン距離
- 文字 (スペースなし): レーベンシュタイン距離
- 単語: レーベンシュタイン距離
- 単語 & 数字: レーベンシュタイン距離
- ジャロ距離: 2 つの文字列間の類似性の尺度。ジャロ尺度は、一致する文字と必要な転置のパーセンテージの加重和です。ジャロ距離は、文字列の差に関してレーベンシュタイン距離よりも寛容です。詳細については、「ジャロ・ウィンクラー」ページを参照してください。ジャロ・ウィンクラーのオプションには、以下が含まれます。
- キャラクター: ジャロ距離
- 文字(スペースなし): ジャロ距離
- 単語: ジャロ距離
- 単語および数字: ジャロ距離
- 最適なジャロ & レーベンシュタイン距離: 両方の一致タイプが分析され、スコアが取得されます。最適なジャロ・ウィンクラーおよびレーベンシュタインのオプションには、以下が含まれます。
- 文字: 最適なジャロおよびレーベンシュタイン距離
- 文字 (スペースなし): 最適なジャロおよびレーベンシュタイン距離
- 単語: 最適なジャロおよびレーベンシュタイン距離
- 単語および数字: 最適なジャロおよびレーベンシュタイン距離
関数型
- 単語ベースの (一致関数は Words: で始まります) 関数は、単語の順序にかかわらず、指定されたフィールド内の任意の単語を検索します。
- 非単語ベースの関数は、全体として文字列全体と一致します。
- 単語と数字の関数の場合、数字を含むすべてのトークンは、一致を考慮するために両側にある必要があります。これらは通常、アドレスに使用されます。
単語ベースの関数オプション
- 単語ベースの一致を使用する場合は、以下も使用します: 追加のスコアを生成して最高のスコアを得て、ファジーマッチツールの 2 つのインスタンスを実行する必要性を排除する追加の一致方法を指定することができます。
- なし: 単語ベースのスコアのみを使用します。
- 文字: 文字一致関数に加えて単語ベースの一致スコアを使用します。2 つのスコアが生成され、最高の一致スコアが一致を識別するために使用されます。
- 文字 (スペースなし): 上記と同じですが、文字ベースの一致を生成する際にはスペースは無視されます。
- 単語頻度統計 (単語一致のみ): 事前定義された統計に基づいて単語度数分布表を指定できます。指定すると、データベースに表示される単語は、着信データに存在するとき重要度が低くなり、それに応じて一致スコアが調整されます。オプションには以下が含まれます。
- [なし]: 単語度数統計は使用されません。
- 名前: 名前フィールドに度数の高い単語が含まれています。度数は、これらの単語が一致スコアにどれくらい重要であるかに反比例します。
- US Address: 米国のアドレスフィールドに度数の高い単語が含まれています。度数は、これらの単語が一致スコアにどれくらい重要であるかに反比例します。
- US Company: 会社名フィールドに度数の高い単語が含まれています。度数は、これらの単語が一致スコアにどれくらい重要であるかに反比例します。
例:"Albert Commette" を "Albert Commette MD" と一致させます。
「名前」の単語度数分布統計表には「MD」という単語が含まれます。単語頻度: Nameが指定されている場合、結果の一致スコアは、単語度数で: 名前が指定されていない場合より約 5 ポイント高くなります。
単語頻度統計の場所
単語度数統計は、Alteryx データベースファイル *yxdb に含まれており、次のランタイムデータディレクトリにあります:\Program Files\Alteryx\bin\RuntimeData\FuzzyMatch\
また、同じディレクトリにあるワークフロー CollectStats.yxmd を編集して、独自の単語度数統計を作成することもできます。
- ニックネーム/略語テーブル (単語一致のみ): 共通ニックネームテーブルを使用して、重複を確認し、重複をさらに識別します。このオプションは、ファーストネームのみまたはファーストネームとラストネームの両方を含むフィールドで使用します。ニックネームと略語を追加する:
- \Program Files\Alteryx\bin\RuntimeData\FuzzyMatch\Nicknames\
にある共通ニックネーム.yxdb データベースを更新します - このディレクトリに配置されたどの .yxdb ファイルも、ファジーマッチツールのニックネームセクションのドロップダウンボックスから利用可能になります。
- \Program Files\Alteryx\bin\RuntimeData\FuzzyMatch\Nicknames\
- ペナルティ: ニックネームテーブルのデータと一致する場合に適用されるペナルティのパーセンテージを設定します。デフォルト値は15%です。ニックネーム一致はもう一つの潜在的なエラーの原因であるため、ペナルティが推奨されます。ペナルティパーセントは、一致しきい値との比較に先立って、一致スコアから差し引かれます。
-
一致閾値: 特定のフィールドの一致が返されるように、許容不確実性のパーセンテージを設定します。フィールド 1 のしきい値が 60% でフィールドが 55% 信頼度で一致する場合、レコードは無視されます。
-
一致重み: フィールドに重要度を適用し、フィールドをマッチング中により強く、またはより弱く考慮されるようにします。
"会社名" が "連絡先名" の2倍の重要度を持つ場合は、ここで重要度を設定できます。従って、会社名の一致重みは、連絡先名の一致重みの値の2倍にする必要があります。この重みは、全体的な一致スコアを計算する際に使用されます。
ファジーマッチの使用に関する追加の情報については、「ファジーマッチ FAQ」を参照してください。