解決

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

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

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

結果の解決

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

  • 完全ルール - 1つのトークン・パターンが完全に一致します。該当するパターンを含むレコードは、1つの結果およびコメント(オプション)によって解決され、ルールで指示されている方法で出力されます。

  • あいまいルール - 複数のトークン・パターンが一致する場合があります。一致するトークン・パターンを含むレコードは、1つの結果およびコメント(オプション)によって解決され、ルールで指示されている方法で出力されます。

  • 自動抽出 - 特定の完全ルールまたはあいまいルールと一致しなかったパターンのトークンは、対応する出力属性に自動的に抽出されます。これらの不一致パターンを含むレコードに関連付けられた結果やコメントはありません。デフォルトでは自動抽出が使用されますが、必要に応じてオフにできます。

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

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

完全ルール

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

上部の矢印ボタンを使用して、トークン・パターン間を移動します。

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

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

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

あいまいルール

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

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

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

次の表では、あいまい解決ルールで使用される式の構文のガイドを示しています。

文字 使用

[ ]

シーケンスが発生する回数を指定するために、トークンのシーケンスをグループ化するために使用されます。必ず範囲(中カッコで囲む)か、*または+が続きます。

グループにピリオド(.)が含まれている場合、これはトークン(1つまたは複数)を表します。

[<A>]

トークン<A>と一致します

{ }

前のグループ(大カッコで囲む)のインスタンスがパターンつまりシーケンスで出現する回数を表す範囲を指定します。範囲は最小値と最大値で指定し、カンマで区切ります。

[<A>]{1,3}

シーケンス内でトークン<A>が1から3回出現する場合に一致します

[<A>]{2,2}

シーケンス内でトークン<A>が2回出現する場合に一致します

?

グループがオプションであることを示します。これは{0,1}と指定するのと同じ意味です。つまり、グループが出現しないか、1回のみ出現する場合に一致します。

[<title>]?

タイトル・トークンが出現しないか、1回出現する場合に一致します

+

中カッコ(前述)の中で数字のかわりに使用し、前のグループが1回以上出現する必要があり、何回出現してもよいことを示します。

[<A>]+

シーケンス内でトークン<A>が出現(任意の回数)する場合に一致します

*

中カッコの中で数字のかわりに使用し、前のグループが任意の回数出現するか、まったく出現しないことを示します。

[.]*

[.]

ワイルドカードを表し、任意のトークンに一致します。

これは、トークンの回数に関するルールと一緒に使用します。たとえば、[.]*とすると、任意の回数出現するトークンを表します。

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

<A><valid Surname>を含むすべてのパターンと一致します

その他の注意点

次の注意事項が、あいまいルールに適用されます。

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

  • ルールは順序に依存します。トークン・パターンが上位のあいまいルールと一致した場合は、下位のあいまいルールで処理されません。

  • 区切り文字または空白文字を表す基本のトークン(「トークン化」ステップの構成から導出される)を、あいまい解決ルールで指定するかどうかを選択できます。これを含めないと、ルールに対してパターンを照合するときに無視されます。これをルールに含める場合は、完全に一致する必要があります。たとえば、ルール<A><valid Surname>は<A>_<valid Surname>と<A>___<valid Surname>の両方と一致しますが、ルール<A>_<valid Surname>は前者のパターンとのみ一致します。

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

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

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

あいまい解決ルールの例

この例では、あいまい解決ルールを使用して、Company Namesを含む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)

接尾辞をBusiness Suffix出力属性に出力し、名前の残りはBusiness Name出力に出力するなど、単純にこれらすべてのパターンを解決したいとします。

これを実行するには、次のあいまい解決ルールを使用します。<valid Suffix>トークンの前に、未分類の語が最大4つあり、すべてがBusiness Name出力にマップされると想定しています。

これは次のように動作します(「解決ルール」ビューでルールをドリルダウン)。

入力属性または出力属性を削除した場合の、解決に対する影響について

入力属性または出力属性を「解析」プロセッサから削除すると、その属性を使用している解決ルールに影響します。

出力属性を削除した場合は、完全またはあいまいの解決ルールからも削除されます。ただし、ルール自体は削除されません。これは、ユーザーの指定に応じてレコードを解決しようとする試みを保持し、まだ有効な可能性がある他の属性に対するマッピングを削除しないためです。

極端な場合は、すでに存在しない属性に対するトークン・マッピングしか含まれていないため、解決ルールが空になることがあります。ルールで一部のデータがマップされないのが一般的です。

入力属性を削除した場合は、当然ながらデータで生成されたトークン・パターンに影響するため、解決ルールが有効である可能性は低くなります。

一般的には、分類と再分類がすべて完了したときに解決ルールの作成と変更を始めるようにする必要があります。出力属性を追加する(または名前を変更する)必要があるのは普通ですが、解決ルール内で使用してからは、削除することはほとんどありません。

自動抽出

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

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

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

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

自動抽出の例

デフォルトでは、つまり完全解決ルールまたはあいまい解決ルールを使用しない場合、自動抽出によって分類済のトークンはすべて同じ名前の出力属性にマップされ(NAME属性で「解析」プロセッサによるチェックとデータの分割を行うため)、残りの未分類トークンはすべて、Parse.UnclassifiedDataにマッピングされます。

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

ドリルダウンして、「解析」プロセッサからの出力データを確認するときは、結果ブラウザでフラグを表示のトグルを使用し、選択したトークン・パターンと割り当てられた結果およびコメントを含め、パーサーで追跡されるフラグ属性をすべて確認すると便利です。