Resolve

「Resolve」は、「Parse」の最後のサブプロセッサです。このステップでは、各レコードの選択されたトークン・パターンを使用して、パースの結果(「Pass」、「Review」または「Fail」)、およびデータの出力方法(たとえば、新しい構造への出力)を決定します。選択されたパターンが同じレコードは、すべて同じ方法で解決されます。

用途

「Parse」を使用してデータを検証したり、データを新しい構造に変換する場合に、「Resolve」ステップは不可欠です。

データのタイプによっては、単純なルール・セットを使用して初期の「Parse」プロセッサを構成するのが適切な場合があるため、最も頻出するパターンを解決したり、トークンを出力属性にマップしてデータを新しい構造に解決できます。次に、残りのレコードを「Review」のままにして、より複雑な構成を使用する2番目の「Parse」プロセッサに渡します。これにより、すでに解決済のレコードに影響を与えずに、2番目のパーサーの処理を迅速に繰り返すことができます。

結果の解決

パースでレコードを解決する方法は3つあります。

これらの3つの方法は優先度順に処理されます。つまり、完全一致ルールはファジー・マッチ・ルールより優先され、ファジー・マッチ・ルールは自動抽出より優先されます。パターンが完全一致ルールとマッチした場合は、ファジー・マッチ・ルールで処理されません。パターンがファジー・マッチ・ルールとマッチした場合は、自動抽出で処理されません。

分類および再分類を使用して、トークンを適切な出力属性に実質的に解決した場合、特定の解決ルールは必要なく、自動抽出で十分です。ただし、解決ルールは、特定のトークン・パターンに従ってデータの出力方法を決定できるため、よく使用されます。この場合、使用する解決ルールのタイプ(完全一致またはファジー・マッチ)は、処理対象のデータ量、および解決が必要なトークン・パターンの数によって決定できます。パターンの数が少ない場合は、完全一致ルールを使用して簡単に解決できます。パターンの数が多い場合、最多パターンを完全一致で解決し、残りのパターンはファジー・マッチ・ルールを使用して解決できます。

構成

完全一致ルール

完全一致ルールを作成するには、選択されたトークン・パターンを「Selection」ビュー(「Select」サブプロセッサで作成)で参照し、右クリックして「Resolve」を選択します。複数のパターンを一度に解決することもできます。

これにより、完全一致ルールの構成ダイアログが起動します。左下にある「Result」「Comment」を指定し、ボタンまたはドラッグ・アンド・ドロップを使用してパターン内のトークンを右側の出力属性にマップすることにより、各トークン・パターンを順番に解決できます。

別のトークン・パターンに移動するには、上部にある矢印ボタンを使用します。

マジック・ワンド・ボタンを使用すると、トークンのマッピングをデフォルト属性にリセットできます。つまり、出力属性名とマッチするトークン・タグを含むすべてのトークンはマッチする出力属性にマップされ、その他のトークンはすべて「UnclassifiedData」出力属性(削除されていない場合)にマップされます。

出力属性を追加したり削除するには、「Output」タブに移動し、属性を追加または削除します。次に、「Exact」タブに戻り、パターンのトークンをそれらの属性にマップします。

パーサーが再実行されると、完全一致ルールによって解決されたパターンがルール識別子への参照とともに結果ブラウザに表示され、緑色の背景色を使用してパターンが解決済であることが強調表示されます。

ファジー・マッチ・ルール

各ファジー・マッチ・ルールでは、構成された式を使用して、複数のトークン・パターンを照合します。構成された式は、「Reclassify」で使用する式と似ていますが、次の2つの点が異なります。

1. ファジー・マッチ解決ルールと照合する際に、特定のレコードのデータ自体を使用するための引用符「" "」は使用できません。これは、解決がトークン・パターンごとに実行される必要があるためです。

2. 再分類ルールで再分類するパターンの一部を示すために使用する通常のカッコ「( )」は使用できません。解決は、全入力属性のパターン全体に対して実行されます。

次の表では、ファジー・マッチ解決ルールで使用する式の構文を説明します。

文字

用途

[ ]

トークンの配列の出現回数を指定する場合に、配列をグループ化するために使用します。この後には常に、範囲(中カッコで囲む)、*または+が続きます。

グループに含まれるのがピリオド[.]のみの場合は、すべてのトークン(1つまたは複数)を意味します。

[<A>]

トークン<A>とマッチします。

{ }

大カッコで囲まれた前のグループのインスタンスが、配列内のパターンで出現する回数の範囲を指定するために使用します。範囲は、最小数と最大数をカンマで区切って指定します。

[<A>]{1,3}

配列内でトークン<A>が1回から3回まで出現する場合にマッチします。

[<A>]{2,2}

配列内でトークン<A>が2回出現する場合にマッチします。

+

中カッコで囲まれた数字(前述)のかわりに使用し、前のグループが最低1回出現する必要があるが、最大出現回数に制限はないことを示します。

[<A>]+

配列内でトークン<A>が出現(任意の回数)するとマッチします。

*

中カッコで囲まれた数字のかわりに使用し、前のグループは1回も出現しないか、または何回でも出現できることを示します。

[.]*

 

[.]

ワイルド・カード(つまり、他のトークン)を示すために使用します。

これは、トークンの数を指定するルールとともに使用します。たとえば、[.]*はすべてのトークンが何回でも出現できることを意味します。

[.]*(<A><valid Surname>)[.]*

<A><valid Surname>を含むすべてのパターンがマッチします。

ファジー・マッチ解決ルールに関する追加の注意

1. ワイルド・カードを使用しないかぎり、各ルールではすべての属性のトークン・パターン全体を照合します。パターンは順序に依存しますが、各トークンが出現した属性には依存しません。

2. ルールは順序に依存します。トークン・パターンが上位のファジー・マッチ・ルールとマッチした場合は、下位のファジー・マッチ・ルールで処理されません。

3. デリミタまたは空白文字を表すベース・トークン(「Tokenize」ステップの構成から導出される)を、ファジー・マッチ解決ルールで指定するかどうかを選択できます。これを含めないと、ルールに対してパターンを照合するときに無視されます。これをルールに含める場合は、完全にマッチする必要があります。たとえば、ルール<A><valid Surname>は<A>_<valid Surname>と<A>___<valid Surname>の両方とマッチしますが、ルール<A>_<valid Surname>は前者のパターンとのみマッチします。

3. 照合するトークンの分類信頼レベルを指定するかどうかを選択できます。たとえば、ルール<A><Surname>は<A><valid Surname>と<A><possible Surname>の両方とマッチします。

4. 属性タグを使用して、トークンが出現する属性を指定できます。属性タグは、マッピング時に自動的に割り当てられ、a1、a2、a3のような形式です。「surname」(姓)入力属性のタグが「a3」の場合、この属性内で検出された有効な姓は、他の属性内で検出された有効な姓より信頼するとします。これを行うには、<valid a3.Surname>トークンを使用してルールを指定します。詳細は、「属性タグの使用」を参照してください。

パーサーが再実行されると、ファジー・マッチ・ルールによって解決されたパターンがルール識別子への参照とともに結果ブラウザに表示され、黄色の背景色を使用してパターンが解決済であることが強調表示されます。

ファジー・マッチ解決ルールの例

この例では、会社名が含まれる「BUSINESS」属性をパースするときに、ファジー・マッチ解決ルールを使用して、複数の類似するトークン・パターンを照合します。

次のすべてのパターンがデータ内に存在します。

<A>_<valid Suffix>(例: Dixie Associates)

<A>_<A>_<valid Suffix>(例: Payless Tyres Ltd)

<A>_<A>_<A>_<valid Suffix>(例: B W P Partners)

<A>_<A>_<A>_<A>_<valid Suffix>(例: Shire Support and Services Ltd)

ユーザーは、「Suffix」(接尾辞)を「Business Suffix」出力属性に出力し、名称の残りの部分を「Business Name」出力に出力して、すべてのパターンを解決します。

これを行うには、次のファジー・マッチ解決ルールを使用して、<valid Suffix>トークンの前にある4つ以内の未分類単語を、すべて「Business Name」出力にマップします。

これは、次のように機能します(「Resolution Rule」ビューでルールをドリルダウンした場合)。

「Suffix」分類子に対して「Use replacements in output」オプションを設定して参照データ・マップを使用した場合、出力内では接尾辞が標準化されます(たとえば、「Limited」は「Ltd」に、「Co」は「Company」になります)。

入力属性または出力属性を削除した場合の解決ルールへの影響に関する注意(クリックして開く)

「Parse」プロセッサから入力属性または出力属性を削除すると、その属性を使用する解決ルールに影響を与えます。
出力属性を削除すると、完全マッチ解決ルールまたはファジー・マッチ解決ルールからも削除されます。ただし、ルール自体は削除されません。これは、ユーザーのプリファレンスに従って実行されたレコードの解決を保持し、他の属性への有効なマッピングを削除しないためです。
極端な場合、すでに存在しない属性へのトークン・マッピングのみが含まれる「空」の解決ルールが生成される可能性があります。一般的には、一部のデータがマップされていないルールが生成されます。
入力属性を削除すると、必然的に、データ内で生成されるトークン・パターンに影響を与えるため、解決ルールが有効である可能性は低くなります。
通常は、すべての分類および再分類が完了してから、解決ルールの作成や変更を開始してください。出力属性は追加(または名称変更)されることが多く、解決ルール内で使用された後に削除されることはほとんどありません。

自動抽出

自動抽出は、特定の解決ルールを使用せずに、パースから有益な出力を作成するために使用するオプションの機能です。また、完全マッチ解決ルールまたはファジー・マッチ解決ルール(あるいはその両方)とともに使用すると、特定のルールとマッチしない残りのパターンについて可能な最適な出力を作成するのに役立ちます。自動抽出の目的は、入力データの各種トークン分類を「Parse」プロセッサの出力に直接反映させることです。

これを使用すると、「Classify」および「Reclassify」ステージで使用されるトークン分類タグごとに、出力属性が自動的に作成されます。いずれかのタグとマッチするトークンは、各トークン・パターンからこの出力属性に自動的に抽出されます。パターンに同じタグのトークンが複数含まれる場合(たとえば、<valid Forename><valid Forename>...)、これらはすべて同じ出力属性にマップされ、選択したデリミタ(デフォルトはカンマ)を使用して区切られます。

追加の出力属性(Parse.UnclassifiedData)も作成されます。分類ルールまたは再分類ルールを使用して分類されなかったすべてのトークンはこの属性に抽出され、選択したデリミタを使用して区切られます。

自動抽出は、「Resolve」サブプロセッサの「Outputs」タブから有効または無効にできます。特定のレコードの複数のトークンが同じタグで分類されている場合は、トークン間のデリミタも変更できます。

自動抽出の例

デフォルトでは(つまり、完全マッチ解決ルールまたはファジー・マッチ解決ルールを使用しない)、「Parse」プロセッサで「NAME」属性のデータをチェックして区切る場合に自動抽出は次に示すように機能して、分類されたすべてのトークンを同じ名称の出力属性にマップし、未分類の残りのトークンをすべて「Parse.UnclassifiedData」にマップします。

解決ルールの例

この例では、「Parse」プロセッサで複数の完全一致ルールを使用して、「NAME」属性のデータが新しい属性に解決されます。正常に解決されたパターンには「Pass」結果が割り当てられ、一部のパターンはさらに分析されて解決されます。

「Resolution Rule」ビュー

「Results」ビュー

「Pass」レコードのドリルダウン

ドリルダウンして「Parse」プロセッサからの出力データを表示するとき、結果ブラウザの「Show Flags」トグルを使用して、パーサーが追加したすべてのフラグ属性(選択されたトークン・パターン、および割り当てられた結果とコメントも含む)を表示すると役立ちます。

Oracle (R) Enterprise Data Qualityオンライン・ヘルプ バージョン8.1
Copyright (C) 2006,2011 Oracle and/or its affiliates.All rights reserved.