はじめに
現在、様々な業界でデータドリブンによる意思決定が注目を浴びており、特にAIを使った意思決定は様々なところで検討されています。
しかし、最先端のAIを使えば、どんな問題でも必ず解決できると極端な解釈をしている人もいますが、いくらAIを使っても、うまくビジネスの仕組みの中に組み込めないと、確かな成果を得ることはできません。
今回は、AIをどうビジネスの成果につなげるかに着目し、BIツールの有用性を見ていきたいと思います。
PoCで終わってしまうAI活用の現状
PoCとは、「Proof of Concept」という、言葉の略です。日本語では「概念実証」、「実証実験」などと言います。
簡単に言うと、机上で検討した構想が本当にできるのか、効果が出そうかなどを、本格的なプロジェクトを立ち上げる前に、小スケールで実験・検証しておくことです。
例えばある工場で、AIを使った外観検査の自動化を検討する場合、特定のラインの特定の製品について検査できるシステムを作ってラインに投入し、机上の検討結果と同じくらいに精度よく検査できるかどうかを、実験で検証するような場合が該当します。
具体的には、PoCは次のように進めることが多いようです。
STEP1. 構想を検証するための試作や実装
机上で検討した構想の有効性を検証するために、試作品を作って現物で確認します。あまり時間をかけられず、うまくいくかも分からないので、簡易的なシステムで済ますのが一般的です。
STEP2. 試作品での検証
STEP1で試作したシステムで、構想の良し悪しを検証します。現物で確認することで、机上検討の段階で気付かなかった問題を見つけたり、改善の方向性を決めたりすることができます。
STEP3. 実用化に向けて本格的に取り組むかの判断
試作品での検証結果を基に、実用化に向けて本格的なプロジェクトを立ち上げるか否かの判断をします。
今後の投資に対して、十分なリターンを得られるかどうかが、判断基準になることが多いと思います。
実用化すると判断したら、導入に向けてプロジェクトを作って本格的に取り組むことになりますし、実用化しないと判断したら、ここで終了ということになります。
もし、構想を修正することで実現の可能性が高まるのであれば、構想を練り直して、再度STEP1からPoCを行うことになります。
よほどひどい構想でない限り、1回のみのPoCでその構想を断念することはないと思いますので、何度もPoCのサイクルを回すことになるはずです。
さて、PoCではうまくいきそうに見えても、実用化に向けた本格的なプロジェクトに入ると、立ち行かなくなることが多々あります。
これは、AI導入の目的がはっきりしていなかったり、社内の支援体制が整っていなかったりなど、企画や体制の問題なので、別の機会に述べたいと思います。
今回は、PoCでの失敗を防ぐためのBIツールの活用について、見ていきたいと思います。
BIツールの「BI」とは、「ビジネス・インテリジェンス(Business Intelligence)」の略です。ビジネス・インテリジェンスとは、組織に日々蓄積されていく膨大なデータを分析し、その分析結果を意思決定に活用することを言います。
このBIを助けるシステムを「BIツール」と呼びます。データを基にして次の行動を決定していく、データドリブンな意思決定を実現したいときに、BIツールの出番となるわけです。
BIツールの有効性について
これからはAI活用だ!と意気込んで、AIベンチャーに問い合わせをして、このようなことが出来そうである、と分かっても、PoCで失敗するパターンも数多いのが実情です。
特に、自社開発にこだわってしまうと、失敗しやすいようです。それは、情報漏洩やコスト低減のために、外部のBIツールを使おうとしない依頼者側の意向であったり、自社開発の実績を作ってビジネスを拡大したいAIベンチャーの意向であったりします。
もちろん、すべてを自分たちだけで簡単に開発できれば問題ないのですが、ここでうまくいかないとPoCでつまづいてしまうことになります。
頑なにBIツールの採用を拒んだ結果、PoC自体がうまくいかなくなってしまうのは、本末転倒と言えるでしょう。自社開発するかどうかは、本格的なプロジェクトに入ってから検討すればよい話です。
PoCの段階では、構想が上手くいきそうかどうかを素早く判断しないといけないので、実績のあるBIツールを使うのが近道ではないでしょうか。
さて、AIをプロダクトや機能に反映するには、
データ抽出→データ前処理→AIアルゴリズム適用
のサイクルを何度も回して、アウトプットの質を高めていく必要があります。
そのためには、データパイプラインとBIツールが必要なのです。
BI活用の前に整備されたデータパイプラインが必要
AIを活用するためには下記の2点が重要です。
・綺麗なデータを揃える
・大量のデータを抽出できるDBを構築する
これを可能にするのがデータパイプラインの考え方です。
ところで、机上のPCで機械学習などで予測モデルを作ろうとする場合、最も大切なことの一つは、データの前処理です。データ解析の8割は前処理とも言われるように、データの前処理は大変ですが非常に重要なプロセスです
同じように、BIツールを使ったAIアルゴリズムを構築する場合にも、事前にデータを適切なフォーマットに処理しておく必要があります。
実務で得られるデータは、「汚いデータ」であることが多く、何らかの前処理が必ず必要となります。
例えば、データベースのデータの中身がぐちゃぐちゃで、性別のカラムに年齢が入っていたりする会社さんもあります。AIを適用したシステムを構築するためには、こういった乱雑なデータベースを整理して、使えるものに分けていく必要があります。
また、大量のデータになるとデータ処理能力を超えてしまい、抽出に数時間かかるという場合もあります。
そうならないために、データ処理能力・関数が揃っているデータベース(最近はBigqueryの人気が高いです)へデータを移動する必要があります。
例えばBigqueryであれば、データの取得、前処理から分析まで、シームレスな「データパイプライン」の構築が可能となります。
各変数のデータの関係性を知るのはBIツールが早い
データパイプラインが整備されて、前処理を済ませた綺麗なデータが抽出出来るようになったら、BIツールで各データの関係性をクロス集計やグラフ化でき、意思決定につなげることができます。クロス集計を正しくやるだけで、各データの特徴を掴むことができます。
なおクロス集計とは、質問項目を2つ以上かけ合わせて集計する手法のことで、結果をまとめたものを「クロス集計表」と言います(表1)。統計学の世界では「分割表」と呼ぶことが多いです。
もちろん、Pythonでもデータを抽出した後、各変数の関係性確認・グラフ化をすることは可能です。しかし、スピードはBIツールの方が圧倒的に早いです。
例えば、Pythonでのグラフ化にはこれだけのコードを書く必要があります。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.rand(5,4),
index=["Company_A", "Company_B", "Company_C", "Company_D", "Company_E"],
columns=pd.Index(["Product_1", "Product_2", "Product_3", "Product_4"], name="Sales"))
df.plot.barh(stacked=True, alpha=0.5)
plt.xlim([0,4])
plt.show()
BIツールであれば、クリックアンドドロップでこのようなグラフを容易に作成することができ、速やかな意思決定につなげることができます。
結論
AIや機械学習を活用してビジネスで成果を出そうとする際、すべて自前で整備するには大変な困難が伴います。したがって、AIや機械学習の基盤に当たるデータパイプラインとBIツールの導入が、どうしても必要になります。
そのゆな基盤が無い状態でのAI活用は、データ抽出、データ前処理に多大な時間を必要とするため、成果を出すまでにとても長い時間がかかってしまいます。データベースの構造を全て把握出来ていないことによる、データ抽出や、データ前処理のやり直しが必要になることはよくあります。
データ抽出→データ前処理→AIアルゴリズム適用
というサイクルを素早く回すことでPoCの状態を抜けて、新しいプロダクトや新しい機能としてオープンすることが出来ます。そのために、データパイプラインとBIツールの活用が必要になるというお話でした。