Talend Data Preparationを使ってみる その３

#Talend Data PreparationとTalend Dictionary Serviceの連携#
前回まではTalend Data Preparation Desktop版を利用して機能を紹介しましたが、今回は有償版のTalend Data Preparationと同梱されるTalend Dictionary Serviceとの連携でできる機能を紹介します。

#Talend Data PreparationのSEMATIC TYPES#
有償版のTalend Data PreparationではSENATIC TYPES（辞書データ）の登録・更新・削除が可能になっており、SENATIC TYPESのデータはTalend Dictionary Serviceで管理されています。
今回はSEMANTIC TYPESの登録と更新によってDATASETSでのカラムの分析状況の変化について紹介します。

#DATASETSでのデータ取り込み#
まず用意した郵便番号データをDATASETSで取り込みます。
Data PreparationのメニューからDATASETSをクリックします。
![有償版メニュー_データセット.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/0671c87c-7433-d4d7-6b92-fb6729127fc9.jpeg)

DATASETS画面でADD DATASETボタンをクリックします。
![データセット画面01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/ab4a9c86-f55f-ea2b-2420-dc1ad3c14d7e.jpeg)

ファイル選択画面が表示されますので、取り込む郵便番号データを選択しOPENボタンをクリックします。
![データセット画面02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/3c19c9cc-bea3-9bb5-160f-86c2ce428944.jpeg)

DATSETSやPREPARATIONSでは標準の文字コードがUTF-8に設定されているため、日本語のデータを読み込むと文字化けして表示されます。
![データセット画面04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/239e9a40-9bc9-892a-27e7-aba625a157b8.jpeg)

表の右上にある歯車アイコンをクリックするとDATASETのパラメーター設定画面が表示されます。
![データセット画面05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/c8608af9-f40f-787f-f43c-eb9cd80a49fb.jpeg)

この画面ではEncodhingのほかにSepatatorなどが設定できるようになっています。
![データセット画面06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/0cc9b098-d17e-aa0f-c175-43151d490e6e.jpeg)

EncodingをShift_JISに変更してCONFIRMボタンをクリックします。
![データセット画面07.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/35aa5f64-8dab-60a7-e420-2aab3197de39.jpeg)

文字化けしていた日本語が正常に表示されました。
この時点では全てのカラムがtextとして分析されています。
![データセット画面08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/85981d2c-3efc-a0bb-ab10-c9d9ea924847.jpeg)

#SEMATIC TYPESでの辞書データ登録#
メインメニューに戻りSEMANTIC TYPESをクリックします。
![有償版メニュー_セマンティックタイプ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/11fefbbd-eb56-1f5e-c9d1-373627037c0a.jpeg)

標準で登録されているSEMANTIC TYPEの一覧が表示されます。
一覧の上にあるADD SEMANTIC TYPEボタンをクリックします。
![セマンティック作成00.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/aec24123-4150-4856-bd1b-6d5162a3a38f.jpeg)

SEMANTIC TYPEの登録画面が表示されますので、Name、Description、Type、Validation Criterionを設定します。
ここでは、Nameを都道府県、Descriptionを都道府県名、タイプをDictionary、Validation CriterionをSimplified txet(most permissive)に設定します。
![セマンティック作成01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/2d7302ce-9b06-c1f7-52cb-5bae3cf6e2ea.jpeg)

Valuesに都道府県名を追加して右下のSAVE AND PUBLISHボタンをクリックします。
![セマンティック作成02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/ba9440fa-4504-bcbb-87f1-45b8db7d9040.jpeg)

SEMANTIC TYPESの一覧に都道府県が追加されました。
![セマンティック作成03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/5853981f-8b3e-4631-f8bf-fe058b0cb73a.jpeg)

#DATASET画面でSEMANTIC TYPEの変更#
先ほど登録した郵便番号データを開き、都道府県カラムの右上にある三本線のマークをクリックします。
すると緑枠のリストが表示されて一番上にはThis column is a textと表示されており、このカラムがtextと分析されていることがわかります。
![データセット画面10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/bdce5017-8dd3-ca95-84b3-db22f768792c.jpeg)

このThis column is a textの右端をクリックすると候補になるSEMANTIC TYPEが表示され、都道府県100%と分析されています。
このパーセンテージは、都道府県のSEMANTIC TYPEに登録されている内容が都道府県カラムのデータと一致している割合を示しています。
リストの都道府県をクリックしてカラムに適用します。
![データセット画面11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/380de690-010e-08a4-ab32-26743cd08c09.jpeg)

カラムに対して都道府県のSEMANTIC TYPEが適用されると、カラム名の右下に表示されていたtextが都道府県に変わりカラムのデータに対して再度分析が行われます。
分析結果はカラム名とデータ列の間にある色付きのバーで表示され、緑は一致、オレンジは不一致、白は空白となります。
![データセット画面13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/b19ffa31-a0b2-ee60-8235-90b0e60affe9.jpeg)

このオレンジ色をクリックするとフィルタに不一致データが適用されて表示されます。
データを見ると都道府県が埼玉県であるデータのみが表示されていますので、都道府県のSEMANTIC TYPEには埼玉県が登録されていないことがわかります。
![データセット画面14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/6db70f49-8932-bbcd-f7ef-fa82e7f7e270.jpeg)

#SEMANTIC TYPESでの辞書データ更新#
先ほど登録した都道府県のSEMANTIC TYPEを開いて値に埼玉県を追加します。
![セマンティック更新02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/164da97a-acba-e1c7-622a-8bedf20d7531.jpeg)

値に埼玉県が追加してあることを確認してSAVE AND PUBLISHボタンをクリックして保存します。
![セマンティック更新03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/6a675227-aa6f-1bad-e920-711d6dc40d6a.jpeg)

#DATASETSでSEMANTIC TYPE更新の確認#
DATASETSで郵便番号データを開くと、都道府県のカラムの下にあるバーは全て緑色になっており、SEMANTIC TYPEの更新が適用されて不一致データが無くなったことがわかります。
![データセット画面15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/d9675e37-57b0-5bda-592d-292db577a806.jpeg)

都道府県に埼玉県のフィルタをかけて表示すると全ての行が正常な値として表示されました。
![データセット画面16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/463924/81e91155-48f5-e9ec-b316-bd8b7af64759.jpeg)

#まとめ#
有償版のTalend Data PreparationではSEMANTIC TYPEの活用が大きく広がり、データクレンジングの作業効率が大幅にアップできることが期待できます。
まだ他にも連携できる機能がありますので引き続き紹介していきたいと思います。