AI(機械学習)プロジェクトの進行の勘所

2020.06.25

Share

現在 AI(機械学習)活用がブームになっています。様ざまな業態で、多様な活用事例が活発に発信されています。 一方でAI(機械学習)を利用したシステムを作る側が、「実際どのようにプロジェクトを進めて行くのか?」についてはあまり語られていないのが現状です。そこで、これから導入を進めていこうとしている方向けに、どのようにプロジェクトを進めていったらよいかの参考となるような記事を配信させていただこうと思います。

プロジェクトの工程について

一般的なプロジェクト開発は以下のように進められます。

30525021587_2

開発するプロダクトの性質によってアジャイル型や、ウォーターフォール型の開発など 様ざまな方式での開発が行われるかと思います。

AI(機械学習)を利用したシステムを構築する場合は、PoCフェーズを挟みます。

PoCとは、Proof of Conceptの略で、「概念実証」という意味です。 新しい概念や理論、原理、アイディアの実証を目的とした、試作開発の前段階における検証やデモンストレーションを指します。

PoCは企画と要件定義の間の工程として入ります。

30525021587_3

機械学習やAIを利用したシステムの場合、実際にモデルを構築してみないと本当に答えが出るかわかりません。事前にしっかりと時間をとって、設定したテーマが解決可能なのか調べて大体の初期モデルを作ったうえでビジネス適用を検討していく。プロジェクト成功の鍵を握っている重要な工程です。
場合によっては、思ったような成果が出ないため、プロジェクトを進めていくかどうかを判断する必要があります。 機械学習はデータがないと予測をすることができないので、人間が暗黙のルールでデータを判断している。データ化されていない知識を元に行われている業務があったとするとそもそも予測をすることができないですし、 学習に必要なデータが十分でないと、予測モデルの精度が出なくなってしまうことがあります。

PoCフェーズでの主なタスクは、CRISP-DMと呼ばれるプロセスモデルで理解すると分かりやすくなります。CRISP-DM(CRoss-Industry Standard Process for Data Mining)は、同名のコンソーシアムによって提唱されたデータ分析プロジェクトのプロセスモデルです。現在多くの専門家がこのモデルを採用しています。最近、日本語の解説記事も増えてきており、徐々に広がりつつあります。

参照:CRISP-DM公式ページ

公式ページによれば、プロセス概要と詳細タスクの説明の記載があります。

 

30525021587_4

(図1:提唱されているプロセスモデル)

 

こちらの図に書かれている、主なプロセスと概要について説明します。

プロセス

・ビジネスの状況の把握(Bussiness Understanding)
ビジネスの主要な目的を把握します。システム構築して何を解決したいのかを定義します。

・データの理解(Data Understanding)
実際に取り扱うデータについて知ります。基本的にはデータ項目、量、品質を調査します。 通常データ自体には欠損や異常値などもあるので、それを加味したうえで、本当に使えるデータなのか判断をします。 使えないという判断をした場合は、新たにデータを探索して使えるデータを探していくことになります。一般公開されているAPIの利用や、データの購入などを検討する必要があります。

・データの準備(Data Preparation)
データを実際に分析しやすい形に整形していく作業です。前処理と言われているもので、どういった解析(モデル作成)をするかによっても整形方法は変わってきます。
探索的に様ざまな前処理を試しながら前処理方法を決定していくことになります。ここで検討した前処理は実際のプロダクトで定常的に処理を回すことになりますので、 保守性・パフォーマンスなどを検討材料に入れながら最適な方法を探していきます。

・モデル作成(Modeling)
ここまでやってきてやっとAI(機械学習)の登場となります。 学術論文や最新の事例に基づいてどういった統計数学や、機械学習のモデルを利用して解析するのかなどを専門家の監修のもとで実装していくことになります。最近はPythonなどのライブラリ集で提供されている関数を利用することで簡単に実現することが可能となっていますので、実はこのフェーズではあまり工数はかかりません。

・評価(Evaluation)
設定したテーマを達成するに十分な精度が出ているのかをビジネスの観点から評価していきます。例えば、作成した予測モデルに対して結果の予測精度が業務で求められている精度(具体的な数値)に達しているのかを確認します。

・展開/共有(Deployment)
評価結果に基づき、 システムへ展開していく計画を行います。
ここからが要件定義スタートといった意味合いとなります。

今回説明した内容は概要レベルですが、プロセス・タスクを理解するには非常に良い手法となっていますので、 プロジェクトを進める際に参考にしています。

 

まとめ

このように、PoCのフェーズを経ることで初めて、プロダクト開発のスタートラインに立つことができます。 ただし、気をつけなければならないのは、AI(機械学習)はシステム全体から見るとひとつの機能に過ぎないため、プロダクトを作るうえでは利用者のことを考えて、システム全体を設計していくことが必要となります。そのためにこの後は通常のシステム開発のプロセスに戻って、開発を進めていきます。

この記事の著者

DIGIFUL編集部

「DIGIFUL(デジフル)」は、株式会社Hakuhodo DY ONEが運営する「デジタル時代におけるマーケティング」をテーマにした、企業で活躍するマーケティング担当者のためのメディアです。

当社がこれまでに得たデータや経験から、具体的事例・将来展望・業界の最新注目ニュースなどについて情報を発信しています。ニュースやコラムだけでなく、日常業務や将来のマーケティング施策を考えるときに役立つダウンロード資料や、動画で学べるウェビナーコンテンツも随時追加していきます。

デジタルマーケティングの最新情報や知見を得るための信頼できる情報源の1つとしてお役立てください。

「DIGIFUL(デジフル)」は、株式会社Hakuhodo ...

Share

一覧に戻る