IBM Research

データの意味を活用したAIモデル構築〜これからの自動化が拓くAI

記事をシェアする:

IBM Researchが新たに開発を進めているSDS(Semantic Data Science)は、AIソリューション構築に必要となる熟練したデータ・サイエンティストの様々な作業を特定の専門分野や業界に関する「ドメイン知識」を用いて自動化するという新しくユニークなシステムです。

これは、今までのデータ分析ツールが提供していた自動化機能ではできなかったような、「データの意味」を活用した自動化であり、今後のデータ分析ツールが向かう方向性を示唆する新機能であると言えます。東京基礎研究所から研究開発に参画する筆者も、SDSによってAI活用がさらに加速するものと大いに期待しています。この記事では、SDSの可能性について解説していきます。

立石 孝彰
筆者:立石 孝彰
IBM東京基礎研究所 リサーチ・スタッフ・メンバー
ソフトウェア工学の側面からWebアプリケーションセキュリティ、モダナイゼーション、ブロックチェーン、機械学習などの研究開発活動に従事。
IBM Researchの研究員紹介ページ

AIモデルを作成するための面倒な作業の多くは、自動化によって効率化を図ることが可能です。しかし、用語の意味の理解を必要とする作業では、データ・サイエンティストによる手作業の関与が多くの場合で必要です。そのような作業の一つとして、与えられたデータから新しい特徴量を作成する「特徴量エンジニアリング」があります。データ・サイエンティストは、AIモデルを改善できる可能性のある特徴量を特定・追加するために、しばしばドメイン知識(業務知識)を用います。特に、SDSにおいて着目しているドメイン知識とは、データに対して特定業務における意味を見出し、さらにその意味に基づいてデータ変換を行うための知識です。例えば、郵便番号は数字に見えますが、郵便番号自体を足し算や引き算をすることに意味はありません。が、同じ数字でも年収ならどうでしょう?同居人ふたりの年収の合計には意味があります。ここでは、年収の持つ意味を把握していることがドメイン知識となります。

一方で昨今、経験豊富なデータ・サイエンティストでなくても予測や分類などのデータ分析が行えるような自動化技術が多くのツールで利用できるようになってきました。このような自動化技術は、AutoML(Automated Machine Learning)と呼ばれ、IBMではWatson Studio製品でこの機能を提供しています。このようなツールをユーザーが使うと、分析したいデータをCSVファイルとしてアップロードし予測したいカラムを指定するだけで、より良い精度の予測や分類を行えるAIモデルを自動的に作成することができます。この自動化と精度向上のための重要な技術の一つが特徴量エンジニアリングの自動化ですが、様々なデータ変換を繰り返し試すような試行錯誤に基づく手法が一般的に使われています。なぜなら、データが持つ意味を利用して関連する知識を発見するという、人間にとっては比較的簡単な作業が、従来のAIモデルを構築するシステムでは困難であるためです。

このような従来型のシステムにはいくつかの欠点があります。まず、偶然に頼る試行錯誤による手法では、組合せ爆発を起こしてしまうため発見が困難なデータ変換があります。また、関係のない二つの特徴量(気温と重さなど)を足し合わせるといったような、現実では意味を成さないデータ変換を提示してしまうこともあります。さらに、熟練したデータ・サイエンティストであれば知識ベース、Wikipedia、コード・リポジトリーなど外部データを利用して手作業でAIモデルを改善することができますが、従来型のシステムではそのようなことは自動ではできません。

IBM Researchが新たに開発したSDSを用いた特徴量エンジニアリングでは、AIモデル構築に伴う作業について、従来型のシステムではできなかった「意味」を考慮した自動化が可能です。世界トップクラスの人工知能学会であるアメリカ人工知能学会(AAAI)の2022年の国際会議において、与えられたデータ・セットに関連する概念(コンセプト)を発見し、それらの概念を外部の知識やコードと関連付け、新しく価値ある特徴量を特定するというSDSのデモを行いました。SDSによって新しく作成された特徴量はモデル精度の改善に貢献することが期待できるだけでなく、その特徴量の背後にある状況の理解にも役立ちます。人が解釈しやすい説明と共に、見込みのある特徴量を素早く明らかにすることによって、データ・サイエンティストがより良いAIモデルをより効率的に作成できるようになります。

意味の利用方法

IBM ResearchのSDSシステムは、大きく二つの技術を活用し、与えられたデータのカラムに対して「意味のある」データ変換を行います。一つは、与えられた表形式データのそれぞれのカラムに対して、データの「意味」となる概念を見つけ、それらのカラム同士の関係や、カラムと外部データ間の関係を自動的に見つけるものです。

もう一つは、データの意味に応じてデータ変換を提案する技術です。この技術は、オンライン上の大規模なコード・リポジトリーを解析し、与えられたデータに対して適用できるデータ変換のための数式やコードを抽出し、ユーザーへ提示します。これらを利用することによって、人はデータの増強、さらには、作成対象のAIモデルの精度を改善するための新しい特徴量を自動的に得ることができるようになります。

カラムと概念の対応付け

ここでいう概念とはデータが持つ意味のことで、SDSシステムではあらかじめ蓄えられている知識グラフの中のノードを概念として扱います。たとえば果物の”apple”と会社名の”Apple” は文字としては同じですがそれぞれ異なる概念によって表現されますが、”Big Apple”や”NYC”は”New York City”の愛称や略称であり同じ概念によって表現されるといった具合です。

SDSが提供するカラムと概念の対応付け機能には次の2種類があります。
一つは、与えられたカラムの値から、そのカラムを最もよく表すような概念を発見する技術で、Wikipedia中のテーブル、WikiData、DBpediaの知識グラフ(ナレッジ・グラフ)など既存の構造化データの分析結果を利用しています。

二つ目は、値ではなくカラム名に基づいて概念を発見する技術で、カラム名と概念の類似度を利用しています。 この類似度の計算にも、WikipediaやWikiData, DBpedia中に存在するテキストを利用しています。

これらの方法を用いて、SDSは概念を識別し、識別した概念をアノテーションとしてカラムに付与します。アノテーションの内容はユーザーがより良いものに更新することができます。

コード・マイニング

特徴量エンジニアリングでは、与えられたデータに対してデータ変換を行うことによって新しい特徴量を生成して予測精度を上げることが一般的に行われています。IBM Researchが開発したSDSでは、以下の3つの方法によって、与えられたカラムと概念に関連するデータ変換を既存のコード中から発掘し特徴量を生成します。

一つ目は、静的解析です。これはプログラムを実行せずに、実行時に得られる可能性のある値や関係を分析することができる手法で、数百万というPythonプログラムから類似するカラムを特定できます。

二つ目は、動的解析です。プログラムを実行してモニタリングする動的解析により、データ操作とそれに付随するカラム名を抽出することができます。

三つ目は、Jupyter notebookのテキスト・セル中の数式を分析するものです。質問応答技術を応用してテキスト・セル中の用語を分析し、データ・セットに関連する可能性のある数式を識別します。

SDSでは、このようにして得られた数式やデータ変換を用いて特徴量を作成し、それら特徴量の元になったコードの周辺情報と共にユーザーへ提供することができます。ユーザーは、SDSによって提示された概念とコードの周辺情報を調査し、適切なデータ変換を選択・適用することによってデータを増強し、より良いAIモデルを構築することが可能となります。

COVID-19の実データに対するSDSの利用例

IBM Researchでは、SDSを利用してCOVID-19疾患に関連する公開データ・セットの特徴量エンジニアリングを行いました。このデータ・セットには、次のカラムが含まれています。

  • Date(日付)
  • Longitude(経度)、 Latitude(緯度)
  • Province/State(州), Country/Region(国/地域)
  • Recovered(回復した人数), Confirmed(確認された感染者数)
  • Deaths(死亡者数)

SDSは、まずこのデータに関連する最も顕著な意味である概念として「COVID」を抽出しました。「COVID」のような単語は、明示的にはデータ・セットに含まれていませんが、カラムと概念の対応付けの結果として推論されました。次に、得られた概念に関連する新しい数式を発見しました。そのいくつかは、データが揃えばそのまま計算できるものです。例えば、「Country/Region」と、「Confirmed」または「Deaths」のカラムを用いて、「confirmed_percent」(人口に対する感染者の割合)や「deaths_percent」(人口に対する死亡者の割合)を計算する数式です。

一方で、発見された数式の中には、式の計算に必要な変数がすべて揃っていないために値を計算できないものもあります。これらはそのままAIモデルに組み込むことはできませんが、データ・サイエンティストにデータへの洞察を与えたり、データ・サイエンティストが手作業を加えることで新しい特徴量の計算に利用できる可能性があります。今回このCOVID-19のデータについては、Wikipediaから見つかった、病気の広がり方を潜在的に関連のある特徴量とした疫学モデルの数式などがそのような数式に相当します。

以上のように、SDSを利用することによって、ユーザーは概念と特徴量の背後にある情報を容易に探索することができ、従来のツールが行っていることよりもはるかに多くの洞察と支援を得ることができます。

人の理解を助けるSDS

SDSは、特徴量を生成するだけでなく、新しく生成・追加される特徴量に対して人が理解できる説明を加えることにも活用できます。ニューラル・ネットワークによる新しい特徴量の導出過程をリバース・エンジニアリングするには途方もない多大な労力が必要です。IBM ResearchのSDSは、人が理解できる説明を加えることができるため、ユーザーは簡単に特徴量を解釈でき、それらの適切さを判断し誤りに対処することが可能となります。

データ・サイエンスの世界では、特徴量エンジニアリング以外の作業もドメイン知識に頼っているものが多く、それらの作業においてもSDSは大変有用です。 例えば、モデルの説明可能性の一部は、データに関する概念の解釈とデータに対して加えられる操作の意味に基づくものなので、概念の特定を自動化できれば説明可能性の改善に関わる作業を自動化することになり、ひいてはデータ・サイエンスの発展そのものに重要な役割を果たすと言えます。

まとめ

今日のAIにおいて、ドメイン知識の理解は依然として扱いが困難なものです。従来のAI開発 手法では、データ・サイエンティストやドメインの専門家の知識に頼ることで、データ・セットに対して重要な概念を特定し外部データや実世界の知識と関連付けてきました。これに対しIBM ResearchのSDSは、既存の知識やコードの解析技術を用いることによって概念を特定し、データの「意味」や「ドメイン知識」を活用する作業の自動化を可能にしました。このSDSの「AIが意味を活用する」ことによる自動化は、これまでとは明らかに異なるアプローチによる自動化であり、AIモデルの開発と展開の飛躍的な効率化を実現しデータ・サイエンティストの活動を強力に支援します。

AI技術を活用したセマンティックデータサイエンスについて学びましょう。
What is Semantic Data Science? (英語)

参考文献

  • Leveraging semantics to build better AI solutions
  • Srinivas, K., Tateishi, T., Weidele, D. K. I., Khurana, U., Samulowitz, H. Takahashi, T., Wang, D., and Amini, L. (2022, February 22–March 1).
  • Semantic Feature Discovery with Code Mining and Semantic Type Detection. 36th AAAI Conference on Artificial Intelligence, Vancouver, Canada.
More IBM Research stories
2022年5月17日

人間中心のAIとは?

AIは、営業、財務、人事など様々な領域で、ますます応用されています。本記事では、AIシステムの開発において、IBMリサーチが採用している人間中心のアプローチを紹介します。   自動車の自動運転、創薬、ニュースや […]

さらに読む

2019年11月21日

気象応用AIアプリケーション開発の勘所——技術者目線のランドスケープ

著者:藤尾 昇平 日本IBM、東京ラボラトリー、ストラテジー&オペレーションズ所属。 入社後、大和研究所に配属、メインフレーム用端末やThinkPadのハードウェア開発に従事。なかでも設計応用・高周波利用のための電磁解析 […]

さらに読む

2019年10月18日

AIプロセッサーの動向とそのソフトウェアの将来を予測

著者:小原 盛幹 IBM東京基礎研究所、コマーシャル・システムズ担当、IBMアカデミー会員、TEC-J バイスプレジデント 現在「AI Hardware Ecosystem」のIBM Research グローバル・リーダ […]

さらに読む