データ・クラスにデータ・マッチングを追加して、データ・クラスを自動的に割り当てる方法を指定できます。 データ分析中にデータ資産にデータ・クラスを自動的に割り当てる方法を指定するには、マッチング方式を選択してください。
デフォルトでは、マッチング・データは「自動マッチングなし」に設定されます。これは、列に手動でのみデータ・クラスを割り当てることができることを意味します。 データ・クラスが自動的に割り当てられるようにするには、データ・マッチングを定義する必要があります。
データ・クラスにデータ・マッチング・メソッドを追加するには:
データ・クラスを開き、データ・クラスの概要で データ・マッチング が有効になっていることを確認してください。
マッチング方式 フィールドの横にある 編集 をクリックして、マッチング基準の指定方法を選択してください。 大部分の方式には、データと列のマッチング基準が含まれています。 デプロイされたサービスに応じて、以下のマッチング方式を使用できます。
自動マッチングなし (No automatic matching)
有効な値のリストと一致する - データベース列の各値がデータ・クラスに属しているかどうかを判別するために、有効な値のディクショナリーが使用されます。
参照データとの一致 -データベース列の各値がデータ・クラスに属しているかどうかを判別するために、参照データ・セットからのコードが使用されます。
正規式の基準に一致する - データベース列の各値がデータ・クラスに属しているかどうかを判別するために正規式が使用されます。
その他のマッチング基準 -マッチングは、列名、列の指定されたデータ・タイプ、またはその両方に適用される正規表現にのみ基づいて行われます。 列の値を評価するための追加の基準はありません。 その他のマッチング基準は、メインのマッチング方式が適用される前に適用されます。 列の名前またはデータ・タイプ、あるいはその両方が他のマッチング基準として指定されたものと一致する場合にのみ、列の値はメインのマッチング基準に照らして評価されます。
選択したマッチング方式に応じて、マッチング・データおよびその他のマッチング基準を定義するための情報を入力し、 しきい値 値を選択してください。
オプション: 一致する優先順位を設定します。 -2147483648 から 2147483647 の範囲の値を選択して、データ・クラスの priority を決定します。
データ・クラスを公開します。
マッチング・データの有効化および無効化に関する注意事項:
- データ・クラスは、親データ・クラスでマッチング・データが無効になっている場合、無効になります。
- データ・クラスのマッチング・データを無効にすると、従属データ・クラスのマッチングも無効になります。
親データ・クラス
親データ・クラスは、データ・クラスを親/子関係で編成するために使用されます。 また、自動マッチング・データ・メソッドが使用されている場合は、これは一種の "プレ・フィルター" としても機能する。親データクラスがマッチング・データ・メソッドを持つ場合、子データクラスのデータ・マッチング・メソッドは、親データクラスのデータ・マッチング・メソッドが正のマッチングを返した場合にのみ評価されます。 つまり、親データ・クラスを定義すると、データ・クラスを分析済みデータ・フィールドに割り当てるかどうかを決定するためにデータ分類プロセスで使用される基準に影響を与えます。
しきい値
このフィールドは、データクラス候補が列に対して持つべき最小限の信頼度を表し、そのデータクラスは実際に列に割り当てられる。 例えば、クラスのしきい値を 90% に定義するとします。 分析中に 1 つの列が 95% の信頼性を持つデータ・クラスと一致し、別の列が 89% の信頼性を持つデータ・クラスと一致します。 しきい値は 90% であるため、データ・クラスは最初の列にのみ割り当てられます。
一部のデータがデータ・クラスと一致しない場合であってもデータ・クラスの割り当てが行われるようにしたい場合は、しきい値を下げます。 データ品質が完璧でない場合や、マッチング・メソッド定義がすべての可能な値の領域全体の 100% をカバーしていないことが分かっている場合にもこれは行うことができます。 都市名を検出するための分類子が良い例です。 最も小さい場所を含めた、世界中のすべての都市名を含む値の正確なリストを定義することは現実的ではありません。 より実用的なアプローチとしては、100 大都市のリストを入力し、列のすべての値がこれらの 100 大都市の 1 つであるとは期待していないが、その 100 大都市のリストに十分な値 (< 100%) がある場合でも分類が正の値であることを反映するようにしきい値を減らすことができます。
しきい値の設定はオプションです。 メタデータ・エンリッチの場合、データ・クラスにしきい値を直接設定しないと、プロジェクト・レベルで定義されたしきい値が使用されます。 データ・クラスに設定されたしきい値は、常にプロジェクト設定より優先されます。 データ・クラス割り当て設定を参照してください。
以下の事前定義データ・クラスには、データ・クラス定義にデフォルトのしきい値が設定されています。
データ・クラス | 閾値 |
---|---|
都市 | 50% |
個人名 (Person Name) | 50% |
名 | 50% |
ミドルネーム (Middle Name) | 50% |
姓 (Last Name) | 50% |
組織名 (Organization Name) | 60% |
優先順位
データ・クラスの優先順位によって、候補のデータ・クラスが推論されるデータ・クラスになる順序が決まります。 信頼度しきい値以上のデータクラスのみが割り当てられます。 データが複数のデータ・クラスと一致する場合、優先順位が最も高く、信頼度しきい値を超えるデータ・クラスが割り当てられます。
一部の事前定義データ・クラスには優先順位が設定されています。 それ以外の場合、スコープ valueが一致する事前定義データ・クラスのデフォルトの優先順位は 10 です。 有効範囲 columnが一致するデータ・クラスの場合、デフォルトの優先順位は 0 です。 カスタム・データ・クラスを事前定義データ・クラスより優先させるには、より高い優先順位で定義する必要があります。
データ・クラス | 優先順位 |
---|---|
住所行 1 (Address Line 1) | 12 |
住所行 2 (Address Line 2) | 12 |
住所行 3 (Address Line 3) | 12 |
ブール | 16 |
カナダの州コード (Canada Province Code) | 14 |
カナダの州名 (Canada Province Name) | 12 |
都市 | 7 |
コード | -10 |
国別コード | ※13 |
国名 | 12 |
名 | 10 |
性別 | 16 |
ID | -10 |
インジケーター | -10 |
姓 (Last Name) | 7 |
ミドルネーム (Middle Name) | 10 |
組織 | 7 |
個人名 (Person Name) | 7 |
数量 | -10 |
テキスト | -10 |
米国の郡 (US County) | 8 |
米国の州コード (US State Code) | 14 |
米国の州名 (US State Name) | 12 |
有効な値のリストと一致
データを有効な値のリストと一致させる場合、データベース列の値のレベルでデータを分類する有効な値のリストを作成します。 値は手動で 1 つずつ指定する必要があります。この方法は、小さな値セットに対して推奨されます。 リストを長くするには、 「参照データに一致」 メソッドを使用できます。
有効な値のリストに一致する セクションで、有効な値のリストを指定します。
テキスト・マッチング基準:
- 大 / 小文字の区別
- 選択した場合、指定された有効な値と大/小文字が同じ値のみが、データ・クラスに一致として分類されます。 選択しない場合、大/小文字は無視されます。
- 空白文字を削除しない
- 選択した場合、完全一致のみが正として分類されます。 選択しない場合、有効な値をテスト値と比較する前に、複数の空白文字が単一のスペースに縮小表示されます。 例えば、有効な値が
New York
であり、テスト値がNew York
の場合、有効な値にNew York
のように複数の空白文字があっても、テスト値は一致として分類されます。 しかし、テスト値が空白文字なしのNewYork
の場合、テスト値は一致として分類されません。 - 完全一致
- 選択した場合、完全一致のみが正として分類されます。 選択しない場合、サブストリングとして検出される値も、データ・クラスに一致として分類されます。 例えば、有効な値が
Paris
であり、テスト値がParisienne moonlight
の場合、テスト値は一致として分類されます。
その後、このデータ・クラスの割り当てに必要なデータ値の一致率を指定します。
参照データと一致
データを 参照データ・セットにマッチングするときに、データベース列の値のレベルでデータを分類するための参照データ・セットを選択してください。 参照データ・セットは、少なくとも以下の列で構成されます。
- コード
- 値
このマッチング方式では、参照データ・セット内のコード列を使用してデータ・クラスを判別することに注意してください。
国別コードのサンプルを含む CSV ファイルの例:
code,value
"AND","Andorra"
"ARE","United Arab Emirates"
"AFG","Afghanistan"
"ATG","Antigua And Barbuda"
"AIA","Anguilla"
"ALB","Albania"
"ARM","Armenia"
...
この例のコード ( AND
、 ARE
、 AFG
など) を使用して、データ・クラスを判別できます。
正規表現内の基準と一致
データベース列の各値がデータ・クラスに属するかどうかを判定するために正規表現を使用します。
正規表現の基準と一致させる場合、データベース列の値のレベルでデータを分類する正規表現を作成します。 正規な式は JavaScript 形式を使用する必要があります。
正規表現は、明確な構造を持つデータ資産 (データベース、表、列など) に適用されます。
以下の正規式の例のいずれかをコピーして 列名の基準に貼り付けることができます。 その後、その正規表現をテストする列名を指定します。 データ値のデータ・タイプと長さを選択することもできます。
例 - 電話番号 (北アメリカ)
この正規表現は、以下をマッチさせます。
- 3334445555
- 333.444.5555
- 333-444-5555
- 333 444 5555
- (333) 444 5555
- および、これらすべての組み合わせ
\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}
例 - DOB (生年月日)
この正規表現は、DOB (生年月日) をマッチさせます。
<tns:DataClass id="DOB" name="%DOB.name" description="%DOB.description" provider="IBM" example="12-30-2015">
<tns:JavaClassifier
className="com.ibm.infosphere.classification.impl.DOBClassifier" />:
<tns:ColumnNameFilter>
<tns:ColumnNameRegularExpression><![CDATA[dob$|birth(day)?|geburtsdatum|na(issance|cimiento|scita)|urodzenia|(生ま(れた日)?|誕生日)|出生(年月)?]]></tns:ColumnNameRegularExpression>
</tns:ColumnNameFilter>
</tns:DataClass>
他の一致基準
マッチングは、名前、列のデータ・タイプ、またはその両方に関する基準に基づいて行われます。 列の値を評価するための追加の基準はありません。 この基準は、最初に選択したマッチング方式の上に適用されます。
正規表現を指定して、マッチさせる列名を定義できます。また、テスト用のサンプル列名を指定できます。 列のデータ・タイプは、任意のタイプ、ブール、日付、または数値にできます。 データ値の最小長と最大長を定義することもできます。
アンカー指定の例
以下の例は、アンカー指定されています。 アンカー指定は、大抵のソフトウェア・プログラムの検索機能と同じ仕組みで機能します。つまり、単独のテキストを検索したり、他のテキスト内にネストされているテキストを検索したりします。 正規表現のストリングをアンカー指定する場合は、次の構文を使用します。
^
ストリング$
「^」と 「$」 は、 ストリング内の文字をアンカーします。 先頭と末尾でそれぞれ検出された場合、「^」は、 ストリング の先頭を表し、「$」は、末尾を表します。 「^」文字は、パターンの最初の文字である場合にのみ、この特殊な意味を持ちます。「$」は、パターンの最後の文字である場合にのみ、この意味を持ちます。
例えば、プロパティー値に特定のストリングがあるかどうか検査する場合は、そのストリングをアンカー指定するようにします。 オーダー・フォーム内のラベルは、顧客がオーダーを 1 つしか持っていない場合は「Order」であり、顧客が複数のオーダーを持っている場合は「Orders」であり、この顧客が 1 つのオーダーしか持っていないことを確認する必要があるとします。 ラベルのテキスト・プロパティーで、値を以下の正規表現に変更します。
^Order$
この場合、「Order」が一致する唯一の値です。 "Orders" は一致しません。
もっと見る
親トピック: データ・クラス