Watson Knowledge Catalog for CP4DaaS の Metadata Enrichment でビジネス用語を自動アサインしてみた

# はじめに

Watson Knowledge Catalog for CP4DaaS で使用できる、Metadata Enrichment機能について試してみました。
Metadata Enrichmentを使うと、自動でビジネス用語をアサインしてくれるようなのでその機能を試しました。

- Metadata Enrichmentのマニュアルは[こちら](https://dataplatform.cloud.ibm.com/docs/content/wsj/governance/metadata-enrichment.html?context=cpdaas&audience=wdp&locale=en)
- ビジネス用語の自動アサインに関するマニュアルは[こちら](https://dataplatform.cloud.ibm.com/docs/content/wsj/governance/term_assignment.html?context=cpdaas&audience=wdp&locale=en)
- Metadata Enrichmentがサポートするデータソースは[こちら](https://dataplatform.cloud.ibm.com/docs/content/wsj/governance/connections-mdi-mde.html?context=cpdaas&audience=wdp&locale=en)

ここで紹介する画面キャプチャは2022年7月時点のものです。
実際の画面と異なる部分もあるかもしれませんがご了承ください。

# 前提

Metadata Enrichmentの詳細な手順については以下のQiita記事に記載されているため、ここでは割愛します。

https://qiita.com/n_321/items/070703e0a85fd68328e0


# ビジネス用語の自動アサイン：3つの方式
ビジネス用語を自動的にアサインする方式には3つあります。
1. 名前マッチングによる自動アサイン
1. データ・クラス・マッチングによる自動アサイン
1. 機械学習による自動アサイン

実際にやってみたのは「2」と「3」です。

まず、それぞれの自動アサインについて少しだけ解説します。
詳細は[マニュアル](https://dataplatform.cloud.ibm.com/docs/content/wsj/governance/term_assignment.html?context=cpdaas&audience=wdp&locale=en)を参照してください。

### 1. 名前マッチングによる自動アサイン
ビジネス用語とデータ資産（テーブル）やカラムの「名前」が似ていれば用語がアサインされるという方式です。
例えば、「CREDNUM」というカラム名があり、「Credit Card Number」というビジネス用語がある場合は、名前がお互い似ているのでビジネス用語がアサイン/推奨される可能性があるそうです。


### 2. データ・クラス・マッチングによる自動アサイン
ビジネス用語にデータ・クラスが紐づいている場合に動作します。
例えば、データを分析した結果、特定のカラムがメールアドレスと分類されて Email Address のデータ・クラスが選択されたとします。
すると、ビジネス用語の中から、Email Address のデータ・クラスが紐づいているものを探し、該当するものがあればそのビジネス用語をカラムにアサインする、というものです。

「電子E」のビジネス用語に「Email Address」のデータ・クラスが紐づいている様子。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/d184157d-88c5-3430-0384-9e075a1c8b22.png)


EMAIL列が「Email Address」データ・クラスに分類され、その結果「電子E」のビジネス用語がアサインされた様子。
（他の列にアサインされているビジネス用語は手動でアサインしたものなのでここでは無視してください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/e5e85f59-3d68-f88a-19e3-5318987b50de.png)


### 3. 機械学習による自動アサイン
機械学習によってビジネス用語をアサインする方式です。
表やカラムに対してビジネス用語を手動でアサインすると、その情報を元に学習が行われ、次回から同じカラム名に対して同じビジネス用語が推奨される/アサインされるものです。
上記Qiita記事にある初回のMetadata Enrichmentでは機械学習によるトレーニングは行われません。
この後に、トレーニングを動作させるためにはいつくかのポイントがあります。（:star:は重要ポイント）

- Metadata Enrichmentで指定されたカテゴリーに紐づく公開されたビジネス用語を使ってトレーニングされる
- :star: ビジネス用語がアサインされたReview済みのカラムを使ってトレーニングされる
- 最後にトレーニングされてから20カラムReviewするごとに再トレーニングが行われる
- 新しくビジネス用語を公開することでも再トレーニングが行われる
    - :star: 既存のビジネス用語の説明文を編集して公開するだけでも良い

機械学習によって用語が自動的にアサインされた様子。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/4cd8d266-13a1-50e1-52dc-a282b92007d5.png)


# 機械学習によるビジネス用語の自動アサインの流れ

機械学習によるビジネス用語の自動アサインの流れについて手順を紹介します。

#### 1. まずは手動でビジネス用語をアサイン
カラム名が英語で、ビジネス用語が日本語の場合は、初回の Metadata Enrichment ではデータ・クラス・マッチングのみが行われるため、それ以外のビジネス用語については自動的にアサインされません。
そのため、まずは手動で、各カラムに対してビジネス用語をアサインしていきます。

EMPLOYEE表の全てのカラムに手動でビジネス用語をアサインした様子。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/ed511746-b2d0-0ad5-0bfc-318cb37691c9.png)

#### 2. カラムをReview
ビジネス用語をアサインしたEMPLOYEE表のカラムに対して「レビュー済みのマークをつける」を選択します（1つ目の:star:の部分）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/96ef6ded-78f3-2525-d067-98af08d4f0be.png)

#### 3. ビジネス用語を公開
Metadata Enrichmentで指定したカテゴリのビジネス用語の説明文を編集して公開します（2つ目の:star:の部分）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/ad2deda6-ae9e-050b-643b-0af1dd68d599.png)

#### 4. Metadata Enrichmentを再実行
手動でビジネス用語をアサインした EMPLOYEE表 とよく似た EMPINFO表 の Metadata Enrichment を実行した結果が以下です。

「FIRST_NAME」に対して「名」のビジネス用語が「信頼性スコア：100%」でアサインされていて、「MLベースの用語の割り当て」が使われたことがわかります。
加えて、「推奨されるビジネス用語」として「名英語」が「82%」の信頼性で提案されました。
カラム名が似ているからかもしれませんね。
その他のカラムについても、EMPLOYEE表と同じカラム名に対して自動的にビジネス用語がアサインされました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/2418d7ac-9228-28f5-4420-3fe95f18f79e.png)



# まとめ
Metadata Enrichmentを使って、ビジネス用語の自動アサインができました。
カラム名が全く同じ場合、ビジネス用語が自動でアサインされました。
カラム名が多少異なっている場合は、ビジネス用語が推奨されました（「FIST_NAME」と「FIRST_NAME_EN」の例）。

「多少」がどの程度か気になりますが、以下のように「EMP_CODE」と「EMPLOYEE_CODE」や「GENDER」と「GENDER_CODE」の場合は、デフォルトではビジネス用語は推奨されませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/62c8258c-a35f-2a1f-17a8-724c02657629.png)

メタデータのエンリッチメント設定から「用語の割り当て」の閾値を変更すると出てくるかもしれません。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/148302/8117c2b8-eb40-3db2-2c1e-7238bc224cab.png" width=250 />



# お断り
このサイトの掲載内容は私自身の見解であり、必ずしも所属会社の立場、戦略、意見を代表するものではありません。 記事は執筆時点の情報を元に書いているため、必ずしも最新情報であるとはかぎりません。 記事の内容の正確性には責任を負いません。自己責任で実行してください。