InformaticaのデータカタログサービスCDGCにてAIを使ってデータ品質を可視化してみた（前編）

# はじめに
はじめまして。 [NTTデータ ソリューション事業本部 デジタルサクセスソリューション事業部](https://www.nttdata.com/jp/ja/services/data-and-intelligence/) の nttd-nagano です。

[Informatica（インフォマティカ）](https://www.informatica.com/jp/) のクラウドデータマネージメントプラットフォームとして、「[Intelligent Data Management Cloud](https://www.informatica.com/jp/platform.html)」（※1。以下IDMCと記載）というものがあります。

今回は、その「IDMC」のうち、 **データカタログソリューション「Cloud Data Governance and Catalog」** （※2。以下CDGCと記載）にて、 **AIを使ってデータ品質を可視化してみました** ので、ご報告します。

<details><summary>※1. Intelligent Data Management Cloud</summary>
略称はIDMC。旧称はIICS。クラウドデータマネジメントプラットフォーム。以下IDMCと記載。
</details>

<details><summary>※2. Cloud Data Governance and Catalog</summary>
略称はCDGC。データガバナンスとデータカタログを統合したas-a-Serviceソリューション。以下CDGCと記載。
</details>

![idmc_summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/59f389ea-2330-e77a-2cf6-a359f654f0ae.png)

# データ品質とその重要性

はじめに、**データ品質** とはどういうものであり、 **なぜ重要なのか** を振り返っておきましょう。

まず、国際的なデータ専門家で組織された非営利団体 [DAMA International](https://www.dama.org/cpages/home) が策定した「**DAMA-DMBOK** : Data Management Body of Knowledge: 2nd Edition」（日本語版タイトル「 **[データマネジメント知識体系ガイド 第二版](https://www.dama-japan.org/)** 」）を見てみましょう。同資料は、第13章「データ品質」において次のように述べています。
> データ品質の度合いはデータ利用者の期待と要求を満たす度合いである。つまりデータが果たすべき目的に合致しているかどうかである。目的に合致していない場合は低品質である。従ってデータ品質は目的とデータ利用者の要求によって決まる。

> データが価値を持つ前提条件は、データそのものが確かで信頼できるということである。言い換えれば高品質なデータである。

次に、 **[デジタル庁が公開している「データ品質管理ガイドブック」](https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/890e5d96-d63c-4b77-bd3e-cc89487393e3/ee18364c/data_strategy_gif_468-1_guidebook_dataquality.docx)** を見てみましょう。同資料は、1.「背景と課題、目的、価値、方針」において次のように述べています。

> データは、当該データそのものだけでなく、二次、三次と加工されて活用されます。元のデータの品質に問題があると、それを加工したデータの品質もその影響を受け、結果としてデータを利用したサービス自体の品質も低下してしまいます。

> データ利活用が社会活動の基盤となる中で、品質に問題のあるデータがあると、新たなサービスの創出にかかる時間やコストに悪影響を及ぼします。

また、コンピュータサイエンス分野には、昔から **「Garbage In, Garbage Out」** という格言があります。
この格言は、「欠陥のある、または無意味な入力データは無意味な出力を生み出す」ということを端的に表現しています。

このように、 **データの価値というものは、単に膨大なデータを集めればそこから生まれてくるのではなく、確かであり、信頼できるデータ（＝高品質なデータ）からこそ生まれうるのだということが言えます。** 逆に言えば、不確かであり、信頼できないデータ（＝低品質なデータ）には誤った意思決定やコスト増加などのリスクがあるとも言えるでしょう。

# データ品質の評価軸にはどんなものがあるか

さて、ここで、「確かである」ことや、「信頼できる」ことは、どのようにすればその度合いを計測することができるのでしょうか。

前述の「 **[データマネジメント知識体系ガイド 第二版](https://www.dama-japan.org/)** 」では、第13章「データ品質」において次のような評価軸（dimension）を紹介しています。
> 1. 正確性
> 2. 完全性
> 3. 一貫性
> 4. 整合性
> 5. 妥当性
> 6. 適時性
> 7. 一意性 / 重複排除
> 8. 有効性

また、前述の 「 **[データ品質管理ガイドブック](https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/890e5d96-d63c-4b77-bd3e-cc89487393e3/ee18364c/data_strategy_gif_468-1_guidebook_dataquality.docx)** 」では、2.「データ品質評価モデル」にて、（国際標準ISO/IEC 25012を引用する形で）次のような評価軸（dimension）を紹介しています。

> 1. 正確性 （Accuracy）
> 2. 完全性 （Completeness）
> 3. 一貫性 （Consistency）
> 4. 信憑性 （Credibility）
> 5. 最新性 （Currentness）
> 6. アクセシビリティ （Accessibility）
> 7. 標準適合性 （Compliance）
> 8. 機密性 （Confidentiality）
> 9. 効率性 （Efficiency）
> 10. 精度 （Precision）
> 11. 追跡可能性 （Traceability）
> 12. 理解性 （Understandability）
> 13. 可用性 （Availability）
> 14. 移植性 （Portability）
> 15. 回復性 （Recoverability）

データ品質の評価軸には、上記をはじめ、様々な定義が存在しますが、ここでは、本記事で紹介するインフォマティカの **「CDGC」と関係する評価軸を、私自身の言葉で説明してみます。**

|評価軸|説明|
|---|---|
|正確性 （Accuracy）| **データが現実の実態を正しく表しているか。** より具体的には、誤った情報や不正確な値が含まれていないか。|
|完全性（Completeness）|**必要なデータが揃っているか。** たとえば、列単位の完全性というのは、列の値が非Nullであること（欠損していないこと）。また、データセット単位での完全性というのは、必要とされるすべての列の値が非Nullであること。|
|一貫性（Consistency）|**データが一貫しているか。** 一貫性は一般的に、2種類ある（データセット内での一貫性、データセット間での一貫性）。データセット内での一貫性というのは、たとえば1つのデータセットの中で男性を意味する値が、ある行では"男"、別の行では"male"と記録されている場合、一貫性がない状態と言える。また、データセット間での一貫性というのは、Aシステムを源泉とするデータセット内の行では男性を意味する値が"男"として記録されており、Bシステムを源泉とするデータセット内の行では男性を意味する値が"male"と記載されている場合、一貫性がない状態と言える。|
|適時性（Timeliness）|**データが最新であり、必要な時にいつでもすぐに利用できるか。** システム観点で言えば、「データの公開サイクルが源泉側データの更新サイクルに対して適切か」と言い換えることもできる。|
|一意性（Uniqueness）|**行の重複がないか。**|
|有効性（Validity）|**データが既定のフォーマット（形式）と合致しているか** 、あるいは **取りうる値の範囲内であるか** 、など。|

データ品質を保つためには、これらの評価軸にもとづいてデータの品質を測定し、監視と改善を継続的におこなっていく必要があります。

# データカタログとは

さて、本題に入る前に、 **「データカタログ」とは何であり、どんな利点があるのかをご説明します。**


[独立行政法人 情報処理推進機構の「DX白書2023」](https://www.ipa.go.jp/publish/wp-dx/dx-2023.html) では次のように説明されています。

> （キ） データカタログ
> 
> （a） 概要
> データの値そのものではなく、そのデータの意味や構造、特性などといった、データに関する付随情報をメタデータという。そのメタデータを登録・管理し、データ利用者に公開する仕組みを、データカタログという。データ分析・活用の民主化を目指す企業が増える中、データカタログはビジネス部門も含めた企業全体のデータ活用を促進し、その品質を確保する技術として注目を集めている。
> 
> （b） 特徴
> データカタログでは、大きくメタデータを登録・管理する機能と検索・参照する機能がある。
> データカタログの導入により、メタデータの自動収集や一元管理といったメタデータ登録・管理負荷の軽減や、さまざまな切り口でメタデータの検索・参照が可能となる

自分の言葉でも利点を説明してみます。

十数年前にデータレイクという概念が登場し、大量かつ多様なデータを格納することができるようになりました。しかし、 **無作為にデータを収集した結果、どのようなデータが存在するのか把握できなくなっているケースも少なくありません。**

また、データレイクがない場合でも、オンプレミスのデータベースや、クラウドのデータベース / データウェアハウス / オブジェクトストレージにデータが分散しており、データを発見できなくなっているケースもあります。

**データカタログを利用し、適切に運用すれば、そうした状況を解消できます！**

# インフォマティカの「CDGC」の概要

次に、この「データカタログ」を提供するソリューションである、 **インフォマティカの「CDGC」とは何であり、どんな利点があるかをご説明します。**

「CDGC」はクラウドデータマネジメントプラットフォーム「IDMC」上のサービスとして提供されています。

![idmc_summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/59f389ea-2330-e77a-2cf6-a359f654f0ae.png)

「CDGC」は、2種類の **メタデータ** （※3）を管理します。

<details><summary>※3. メタデータ</summary>
メタデータとは、データに関するデータを指す。 [DMBOK](https://www.dama-japan.org/) では、メタデータには、ビジネスメタデータとテクニカルメタデータとオペレーショナルメタデータがあるとされている。
</details>

![cdgc_dq_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/8d6ce8de-e415-4044-bb08-3a956eadf1d3.png)

はじめに、「CDGC」は、データの源泉システムをスキャンし、 **テクニカルメタデータ** （※4）を自動的に抽出・収集します。（上図の左側）

<details><summary>※4. テクニカルメタデータ</summary>
テクニカルメタデータとは、「CDGC」においては、データベースのテーブルの物理名称、カラムの物理名称、カラムの物理型、ストアドプロシージャの定義、オブジェクトストレージ上のファイルの物理名称、データ統合ツール（ETL/ELT）の処理の定義などを指す。
</details>

次に、「CDGC」の管理側ユーザー（データオーナーやデータスチュワード）は、これまでExcelファイルなどとして定義・管理していたビジネス用語などのビジネスデータを、 **ビジネスメタデータ** （※5）として「CDGC」に登録できます。（上図の右側）

<details><summary>※5. ビジネスメタデータ</summary>
ビジネスメタデータとは、「CDGC」においては、ビジネス用語、ポリシー、業務プロセス、業務上の意味を示す説明などを指す。
</details>

こうして「CDGC」に集積されたメタデータを、管理側ユーザーの操作や、あるいは次節でご紹介するAIエンジン「 **CLAIRE** 」の処理で、 **組み合わせて拡充し、可視化** していきます。（上図の中心部）

**「CDGC」の利点は、上記により、「CDGC」の利用者側ユーザー（データ分析者やデータサイエンティスト）が、アナリティクスに「使える」データを発見しやすくなることです。**

次に、「CDGC」の特徴をご説明します。

![cdgc_dq_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/392637e5-38b2-fbdf-59a5-4f22782a5856.png)

前述のように「CDGC」は、データの源泉システムからテクニカルメタデータを抽出するのですが、このデータの源泉として、 **多種多様なシステムに接続することができます。**

一例を挙げれば、以下のようなシステムに接続できます。（詳細は [公式ドキュメント](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration.html) 参照。）

* Oracle
* Microsoft SQL Server
* PostgreSQL
* IBM Db2 for LUW
* Amazon RDS for Oracle/SQL Server/PostgreSQL
* Azure SQL Server
* Amazon Redshift
* Azure Synapse
* Snowflake
* Databricks
* SAP BW/4HANA
* Amazon S3
* Azure Blob Storage
* Salesforce
* Tableau Server
* AWS Glue
* Azure Data Factory

（詳細は、公式ドキュメント「 [Catalog Source Configuration](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration.html) 」をご覧ください。）

こうして抽出したテクニカルメタデータにもとづいて、 **実際のデータを取得・分析し、その特徴や品質を明らかにする機能もあります。** （「 [データプロファイリング](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/administration/data-profiling.html) 」機能、「 [データ品質](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/administration/data-quality.html) 」機能）

![cdgc_searchquery_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/ecd7b311-bacc-0b0a-4834-fdafa9e9ef5f.png)

![cdgc_searchquery_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/f04fc98b-7a75-fa57-809c-bb78fd5d9462.png)

また、ビューやストアドプロシージャや各種ETLツール/ELTツールなどの定義を抽出し、 **どのような経路でデータが伝搬してきているかを可視化する機能もあります。** （「 [データリネージュ](https://docs.informatica.com/data-governance-and-quality-cloud/data-governance-and-catalog/current-version/working-with-assets/data-lineage.html) 」機能）

![cdgc_searchquery_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/29f32d64-62e5-386f-1426-85b07e56c4d5.png)

さらに、AIエンジン「 **CLAIRE** 」によって、 **テクニカルメタデータを自動的に分類** したり（「 [データ分類](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/administration/data-classification.html) 」機能）、本記事でご紹介する **データ品質ルールのロジックを自動的に生成したりします。** （ [「データ品質」機能の一部](https://docs.informatica.com/data-governance-and-quality-cloud/data-governance-and-catalog/current-version/working-with-assets/view-data-quality-scores/run-data-quality-rules-on-assets/guidelines-for-entering-rule-descriptions.html) ）

# CLAIREとは何か

さて、先ほどから本記事で言及している「CLAIRE」とは何かと申しますと、「CDGC」を提供しているインフォマティカのクラウドデータマネージメントプラットフォーム **「IDMC」に搭載されたAIエンジン** です。

![claire_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/e69caec0-60ec-6788-ea42-5f6c79b47b79.png)

インフォマティカ公式サイトの「 [CLAIREエンジン](https://www.informatica.com/jp/about-us/claire.html) 」ページでは次のように説明しています。
> CLAIREは、統合メタデータインテリジェンスを活用することで、さまざまなデータマネジメントタスクを自動化し、効率性と生産性を向上させるAIコパイロット（copilot）機能を提供します。

「CLAIRE」は、本記事でご紹介している「CDGC」の他にも、「IDMC」上の各サービスで活用されています。

# 後編へ続きます
記事が長くなってしまったので、続きは **「 [InformaticaのデータカタログサービスCDGCにてAIを使ってデータ品質を可視化してみた（後編）](https://qiita.com/nttd-nagano/items/ba67cdd10862eafd39e8) 」** をご覧ください。

後編では、いよいよ本題の「CLAIREの自然言語処理によるデータ品質評価ロジックの自動生成」をご説明します。

![cdgc_dq_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/c953e3ca-fb95-965b-f96a-df0149cb3c5b.png)

## 仲間募集

NTTデータ ソリューション事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata-career.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata-career.jposting.net/u/job.phtml?job_code=898

</details>

## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://www.nttdata.com/jp/ja/lineup/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://www.nttdata.com/jp/ja/lineup/tdf_am/
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://www.nttdata.com/jp/ja/lineup/informatica/

</div></details>

<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://www.nttdata.com/jp/ja/lineup/tableau/

</div></details>

<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://www.nttdata.com/jp/ja/lineup/alteryx/

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://www.nttdata.com/jp/ja/lineup/datarobot/

</div></details>

<details><summary>NTTデータとDatabricksについて </summary><div>
NTTデータでは、Databricks Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Databricks」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Databricksは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://www.nttdata.com/jp/ja/lineup/databricks/

</div></details>