機械学習プロジェクトの成功要因分析について

#背景
これまで、金融機関のお客様を中心に機械学習技術を適用するプロジェクトに関わってきました。主にオフィス業務への適用において、プロジェクトの成功要因についての分析結果を共有します。

機械学習技術をはじめとした AI技術をオフィス業務に適用するプロジェクトを対象とし、開発するシステムをAI実践システムと呼美ます。このようなシステム開発では対象となる業務 の担当者の参画が必要です。しかしながら、担当者は非技術者であることが多く、AIというものに対する期待値は高いものの機械学習技術を適用プロジェクトに参画して行う作業について十分に理解していないことが多く、プロジェクトが成功しない一因となっています。
そこで、機械学習技術を活用したAI実践システムの開発プロジェクトの成功要因を保証ケースを用いて同定しました。

#AI実践システム
オフィス業務において人間は様々な知的活動を行っています。Sternbergによると人間の知能には分析知能・創造知能・実践知能があると考えられており、ここでは、分析知能を用いるオフィス業務をAI技術を使って支援することを考えます。
分析知能とは、与えられた入力に対して、複数ある選択肢の中から最適なものを選択する知能であると定義されます。すると、分析知能の実現手段は機械学習技術となります。
対象業務に基づき選択肢に定義し、例題を付与し、学習データを作ることができますので、それを機械学習エンジンに学習させることで、様々な入力に対して選択肢を自動的に選び、出力することができるわけです。
このような分析知能を実現するAI実践システムは以下のように表されます。
![AISystem.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/fd2c2228-ec8d-e338-fc72-ac7643f7b011.jpeg)

#分析手法
AI実践システムを開発するプロジェクトを評価する分析手法を紹介します。AI実践システムが機能性を特性を満たしていることを最上位のゴールとして保証ケースを作成します。保証ケースはGSN(Goal Structuring Notation)を用いて記述します。
品質特性の機能性はさらに品質副特性に分かれ、それぞれについてソフトウェアシステムとして満たすべき特性として定義されています。ここでは、AI実践システムの開発に対応する形で品質副特性の定義を以下のように拡張しました。
![Functionality.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/a33f68b4-9db9-533d-87fa-c3f50dc4a21d.jpeg)


そしてこの品質副特性を用いてサブゴールに分解しゴール分解木を作成します。
![GoalTree.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/bf29e301-def1-6287-2d29-bed3c9e84dfb.jpeg)

保証ケースの作成では、各サブゴールに根拠を付与します。分解木の末端のサブゴール(G5, G6, G7,$¥ldots$,G15)に対して、プロジェクト開始までの議論内容を分析し，その内容を根拠として付与するのですが、プロジェクト開始時に議論されないサブゴールもありますので、その場合は未展開記号を付与します。ただし、サブゴールの中には開発者の判断で議論不要とする場合があります。例えば、機械学習エンジンの仕様により，ゴールが自動的に満たされる場合が相当します。この場合、点線の楕円記号を新たな記法として導入し、そこに議論が不要である理由を記載し未展開記号に付与します。これにより、プロジェクト開始までの段階で議論が不要と判断したことを明示的に示すことができるようになります。根拠の付与例を以下に示します。
![evidence.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/868136db-15dc-a736-7858-beed6c4997ef.jpeg)

こうして作成された保証ケースを用いて，プロジェクト開始時点での準備状況を評価します。具体的には、プロジェクト開始時の情報を元に作成された保証ケースに対して、
根拠が付与されていないサブゴールの数を元に評価を行います。作成された保証ケースの例を以下に示します。

![ACExample.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/b807f717-669a-3bf4-c7cf-48a58d72bcfb.jpeg)

#機械学習プロジェクトの成功要因の同定とプロジェクトの導入準備評価への活用
機械学習技術を適用しオフィス業務を支援するAI実践システムの開発を行う実施済みの6プロジェクトについて分析手法を適用しました。それぞれのプロジェクトで保証ケースを作成し、根拠の有無を分析しました。
![ProjectsAnalysis.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/928495c7-127e-afb8-56f5-c10f85ea441b.jpeg)

これらのプロジェクトには成功、課題がありプロジェクトの成功に影響があった、大きな課題がありプロジェクト遂行に大きな影響があった、の３段階の結果が付与でき、それらと根拠の有無の関係を調べました。その結果、プロジェクトの成功に相関が高いサブゴールが同定されました。
![highCorrSubGoals.jpg](https://qiita-image-store.s3.amazonaws.com/0/311323/6bfc3b64-b7f9-23a1-f5e3-4aa6337eb289.jpeg)

この結果から、分析知能をシステム化するプロジェクトの成功要因として以下が導かれました。
- 各選択肢に対して十分な例題を準備可能である(G12)
- 出力が正確でない場合において，ユーザーによる対応も含め，システム全体として対応できる(G15)
- 選択肢となるデータが機械処理が容易な形式で準備されている(G8,9)
- 定義した選択肢に対して，網羅性を確認する準備ができている(G10)

つまり、プロジェクト導入時に保証ケースを作成し、これら4つの成功要因を満たしているかどうかを指標とすることでプロジェクトを開始するべきかの判断ができる可能性があります。

#まとめ
成功要因の1つである学習データの作成における選択肢の網羅性と各選択肢に対する十分な数の例題は機械学習を適用する上で必要不可欠な要素ですが、その作成において適用対象のビジネス担当者の作業が必要という当たり前の事実が同定できています。また、正解が得られなかった時のシステムとしての対応方法についても成功要因のひとつであるが、これはビジネス担当者が見落としがちになる項目だと思います。対象方法の検討に加わる重要性が導かれていると考えられます。
このように，機械学習技術を活用したAI実践システムの開発では利用者側組織の担当者が開発プロジェクトにより積極的に参加する必要があることが分析結果からも示されています。したがって、どの組織の誰が、どのようなタイミングで、どのようなワークアイテムを担当するのかを定型化することが重要となってくると考えます。

興味ある方は、以下もご覧ください。
- Hironori Takeuchi, Shiki Akihara, Shuichiro Yamamoto, Deriving Successful Factors for Practical AI System Development Projects using Assurance Case, Springer Smart Innovation, Systems and Technologies 108, pp.22-32, 2018
- 竹内広宜，秋原史記，山本修一郎:保証ケースを用いた AI 実践プロジェクトの成功要因分析，信学技報 KBSE2017-22， pp. 7–12 (2017).