Reclassify |
「Parse」の「Reclassify」サブプロセッサはオプションのステップで、分類済および未分類のトークンの配列、または特定のコンテキストのトークンを認識し、特定の信頼レベル(「valid」または「possible」)を使用してそれらを新しいトークンに再分類することにより、データ内のトークンの各種パターンの合計数を減らすことができます。
「Reclassify」は、トークンの配列を出力でまとめる場合、および属性内のトークンの類似する複数のパターンを同じとみなす場合に使用します。
たとえば、住所をパースするとき、最初の分類後の「Address1」属性のデータは、次のような異なるパターンに分類されます。
<N>_<A>_<valid RoadHint>(例: 10 Harwood Street)
<N>_<A>_<A>_<valid RoadHint>(例: 15 Long End Road)
<A>_<valid RoadHint>(例: Nuttall Lane)
これらの異なるトークンの配列はすべて「valid Thoroughfares」(有効な大通り)として再分類できます。
また、「Classify」ステップではデータの特定の断片が検出される属性以外にコンテキストは考慮されないため、「Reclassify」ステップが役立ちます。再分類ルールを使用して、コンテキスト内で不正確に分類されたトークンを再分類できます。たとえば、データ「London Road」は、「<valid Town> <valid RoadHint>」に分類されます。このトークンの配列を「valid Thoroughfare」として再分類するか、または、ルール内で「<valid Town>」部分を大カッコで囲み、この部分を「ThoroughfareName」(大通り名)として再分類するかを選択できます。
各再分類ルールでは、構成された式を使用して、分類後のトークンのパターンを照合し、マッチした各パターンの一部を新しいトークンとして再分類します。
ルールは、「Reclassify Rules」ダイアログにあるチェック・ボックスを使用して、簡単に有効または無効にできます。ルールは、「Attributes」タブで、必要な入力属性に関連付ける必要があります。
次の表では、再分類で使用する式の構文を説明します。
文字 |
用途 |
例 |
[ ] |
トークンの配列の出現回数を指定する場合に、配列をグループ化するために使用します。この後には常に、範囲(中カッコで囲む)、*または+が続きます。 グループに含まれるのがピリオド[.]のみの場合は、すべてのトークン(1つまたは複数)を意味します。 |
[<A>] トークン<A>とマッチします。 |
{ } |
大カッコで囲まれた前のグループのインスタンスが、配列内のパターンで出現する回数の範囲を指定するために使用します。範囲は、最小数と最大数をカンマで区切って指定します。 |
[<A>]{1,3} 配列内でトークン<A>が1回から3回まで出現する場合にマッチします。 [<A>]{2,2} 配列内でトークン<A>が2回出現する場合にマッチします。 |
+ |
中カッコで囲まれた数字(前述)のかわりに使用し、前のグループが最低1回出現する必要があるが、最大出現回数に制限はないことを示します。 |
[<A>]+ 配列内でトークン<A>が出現(任意の回数)するとマッチします。 |
* |
中カッコで囲まれた数字のかわりに使用し、前のグループは1回も出現しないか、または何回でも出現できることを示します。 |
[.]*
|
[.] |
ワイルド・カード(つまり、他のトークン)を示すために使用します。 これは、トークンの数を指定するルールとともに使用します。たとえば、[.]*はすべてのトークンが何回でも出現できることを意味します。 |
[.]*(<N><valid RoadHint>)[.]* 配列<N><valid RoadHint>は出現した場合に再分類し、パターン内の他のトークンは再分類しません。 |
( )
|
パターンの中で実際に再分類する部分を囲むために使用します。再分類ルールと照合する際に(再分類する際ではなく)、パターンのコンテキストを使用できます。 |
(<N><valid RoadHint>)<valid Town> 配列<N><valid RoadHint>が「valid Town」トークンの前に出現した場合に、この配列を再分類します。 |
" " |
ルール内でトークンのかわりに使用されるデータ自体を囲むために使用します。 |
|
再分類ルールに関する追加の注意
1. ワイルド・カードを使用しないかぎり、各ルールでは属性内のトークン・パターン全体を照合します。
2. ルールを順序付ける必要はなく、すべてのルールがデータ・セットに適用されます。相互に依存するルールは自動的に順序付けされます。たとえば、<A>_<valid RoadHint>を<valid Thoroughfare>に再分類し、<N>_<valid Thoroughfare>を再分類する別のルールを追加すると、後者のルールは最初のルールの後に処理されます。循環するルールは許可されません。たとえば、あるルールで<A>を<B>に再分類し、別のルールで<B>を<A>に分類することはできません。
2. デリミタまたは空白文字を表すベース・トークン(「Tokenize」ステップの構成から導出される)を、再分類ルールで指定するかどうかを選択できます。これを含めないと、ルールに対してパターンを照合するときに無視されます。これをルールに含める場合は、完全にマッチする必要があります。たとえば、ルール<N><valid RoadHint>は<N>_<valid RoadHint>と<N>___<valid RoadHint>の両方とマッチしますが、ルール<N>_<valid RoadHint>は前者のパターンとのみマッチします。
3. 照合するトークンの有効性レベルを指定するかどうかを選択できます。たとえば、ルール<N><RoadHint>は<N><valid RoadHint>と<N><possible RoadHint>の両方とマッチします。
4. トークンの様々な配列を同じターゲット・トークンに再分類する、複数の再分類ルールを使用できます。
この例では、2つの再分類ルールを使用して、「Acacia Avenue」や「London Road」などの大通りを表すトークンの配列を認識することにより、住所をパースするときに解決するパターンの合計数を減らします。
Look for |
Reclassify as |
Result |
|
Thoroughfare |
[.]*([<A>]+<RoadHint>)[.]* |
thoroughfare |
valid |
Reclassify towns in road names |
[.]*([<Town>]+<RoadHint>)[.]*
|
thoroughfare |
valid |
この2つのルールは、両方とも「Address1」属性に適用されます。プロセスの実行後に、ルールの結果が「Reclassification Rules」ビューに表示されます。
レコード数および影響を受けるパターンをドリルダウンして、各ルールが正しく機能していることをチェックできます。各再分類ルールは、ルールが適用される属性内の複数のパターンに影響を与え、(複数の属性をパースする場合は)多くの分類パターン全体にも影響を与える場合があります。同じ入力レコードに複数の分類パターンが含まれる場合があるため(1つのトークンが複数の方法で分類されるため)、同じレコードに、同じルールの影響を受ける分類パターンが複数含まれる場合があります。これに関する説明と例は、「「Parse」の概要」を参照してください。
前述の再分類ルールが適用された後は、「Reclassification」ビューで、いくつかのパターン内の<thoroughfare>トークンの構造を確認できます。
「Parse」プロセッサの次の構成ステップは、入力データの最適な説明の選択です。
Oracle (R) Enterprise Data Qualityオンライン・ヘルプ バージョン8.1
Copyright (C) 2006,2011 Oracle and/or its affiliates.All rights reserved.