個人名の形式化

このデータフロー テンプレートは、個人名 (例えば "John P. Smith") を受け取り、同じ名前の共通のニックネームを識別し、その名前の正規化バージョンを作成する方法を示します。正規化バージョンは、冗長なレコードの整理統合に利用できます。また、性別データに基づいて敬称データを追加する方法も示します。

ビジネス シナリオ

ある NPO が、ガラ イベントの招待状を発送しようとしています。入力データには名前がフルネームで記録されていますが、これを [First]、[Middle]、[Last] の各名前フィールドにパースし、さらに [Title of Respect] フィールドを追加して招待状をフォーマルな体裁にすることを考えています。また、名前データにニックネームがある場合は、それをもっとフォーマルな表記の名前に置き換える必要があります。

以下のデータフローは、このビジネス シナリオの解決策を示しています。



このデータフロー テンプレートは Enterprise Designer で使用できます。[ファイル] > [新規作成] > [データフロー] > [テンプレートから作成] に移動し、[StandardizePersonalNames] を選択します。このデータフローでは、Data Normalization モジュールと Universal Name モジュールが必要です。

入力ファイルの各データ行に以下の操作を行います。

Read from File

このステージでは、パースする名前が記録されているファイルの名前、格納場所、およびレイアウトを識別します。ファイルには、男性と女性の両方の名前が含まれています。

Name Parser

このテンプレートでは、Name Parser ステージを Parse Personal Name という名前で呼びます。Parse Personal Name ステージでは、名前フィールドがチェックされ、Spectrum™ Technology Platform 名前データベース ファイルに格納されている名前データと比較されます。この比較結果に基づいて、名前データが [First]、[Middle]、[Last] の各名前フィールドに分割され、エンティティ タイプと性別がすべての名前に割り当てられます。また、名前データに加えて、パターン認識も使用されます。

このテンプレートでは、Parse Personal Name ステージは次のように設定されています。

  • [個人名をパース] が選択され、[企業名をパース] が選択されていません。このようにオプションを設定すると、名が評価されて性別、順序、および句読文字が判別されますが、企業名の評価は実行されません。
  • [性別判定ソース] はデフォルトに設定されています。たいていのケースで、デフォルトは性別の判定に最適な設定であり、さまざまな名前に対応できます。ただし、特定のカルチャーに属する名前を処理する場合は、そのカルチャーを選択します。特定のカルチャーを選択すると、名前の性別が適切に判定される確率が高くなります。例えば、デフォルトのままで設定した場合、Jean という名前は女性と判定されます。しかし、[フランス系] を選択した場合は、男性と判定されます。
  • 順序は [正順序] に設定されています。名前フィールドの順序は、[敬称]、[名]、[ミドル ネーム]、[姓]、[接尾語] となります。
  • [ピリオドを残す] は選択されていません。名前データに含まれる句読文字は残されません。

Transformer

このテンプレートでは、Transformer ステージを Assign Titles と呼びます。Assign Titles ステージでは、カスタム スクリプトを使って、Parse Personal Name ステージからのデータ ストリーム出力中に各行を検索し、GenderCode 値に基づいて TitleOfRespect 値を割り当てます。

使用するカスタム スクリプトを以下に示します。

if (row.get('TitleOfRespect') == '')
{
	if (row.get('GenderCode') == 'M')
		row.set('TitleOfRespect', 'Mr')
	if (row.get('GenderCode') == 'F')
		row.set('TitleOfRespect', 'Ms') 

Assign Titles ステージでは、GenderCode フィールドで M を検出するたびに TitleOfRespect の値を Mr に設定します。Assign Titles ステージでは、GenderCode フィールドで F を検出するたびに TitleOfRespect の値を Ms に設定します。

正規化

このテンプレートでは、正規化ステージを Standardize Nicknames と呼びます。Standardize Nicknames ステージでは、Nicknames.xml データベースに名を検索し、その名前にフォーマルな表記があればそれでニックネームを置き換えます。例えば、Tommy という名前は Thomas で置き換えます。

Write to File

このテンプレートには、1 つの Write to File が含まれます。入力フィールドだけでなく、出力ファイルにも [TitleOfRespect]、[FirstName]、[MiddleName]、[LastName]、[EntityType]、[GenderCode]、および [GenderDeterminationSource] の各フィールドがあります。