実施形態の説明に先立って、本開示の概要を説明する。図1は、本開示に係るAI実行支援装置を概略的に示す。AI実行支援装置10は、学習処理実行制御手段11、予測処理実行制御手段12、学習ログ加工手段13、予測ログ加工手段14、及び結果分析処理手段15を有する。
学習処理実行制御手段11は、学習に用いるAIエンジン及びアルゴリズムが選択された場合、AIエンジン20に、選択されたアルゴリズムで、学習データに基づく学習を実行させる。学習処理実行制御手段11は、学習処理において生成された学習ログを取得する。予測処理実行制御手段12は、AIエンジン20において学習が実行された後、予測データをAIエンジン20に与え、学習の結果を用いた予測を実行させる。予測処理実行制御手段12は、予測処理において生成された予測ログを取得する。
学習ログ加工情報31は、AIエンジン及びアルゴリズムと、学習ログに含まれる変数の変換処理とを対応付けて記憶する。予測ログ加工情報32は、AIエンジン及びアルゴリズムと、予測ログに含まれる変数の変換処理とを対応付けて記憶する。学習ログ加工手段13は、学習ログ加工情報を参照し、選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って学習ログを加工し、学習ログ加工データを生成する。予測ログ加工手段14は、予測ログ加工情報32を参照し、選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って予測ログを加工し、予測ログ加工データを生成する。
結果分析処理情報33は、AIエンジン及びアルゴリズムが属するデータ分析手法と、学習の結果を分析するための結果分析処理の内容とを対応付けて記憶する。結果分析処理手段15は、結果分析処理情報33を参照し、選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する結果分析処理の内容と、学習ログ加工データ及び予測ログ加工データとに基づいて、分析情報を生成する。生成された分析情報は、例えば表示装置に出力される。
ここで、AIエンジンの実行では、AIエンジン及びアルゴリズムごとに、フォーマットが異なるログ(学習ログ及び予測ログ)が出力される場合がある。一般に、ユーザが学習で得られる分析モデルなどの良し悪しを判断するためには、AIエンジン及びアルゴリズムごとに異なるフォーマットのログに対して、データマイニングに関する専門知識をベースとした指標選定と算出作業とが必要となる。
本開示では、学習ログ加工手段13及び予測ログ加工手段14は、選択されたAIエンジン及びアルゴリズムに応じた変換処理で、学習ログ及び予測ログから学習ログ加工データ及び予測ログ加工データを生成する。また、結果分析処理手段15は、学習ログ加工データ及び予測ログ加工データに対して、選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に応じた結果分析処理を行う。このようにすることで、AIエンジン及びアルゴリズムごとにログのフォーマットが異なる場合でも、その違いを吸収して結果分析処理を行うことができ、データ分析手法ごとに同じ基準で作成された、AIエンジンを用いた機械学習の分析結果を得ることができる。このため、ユーザは、データマイニングに関する専門知識をベースとした指標選定と算出作業とを必要とせずに、所望の性能を達成できる分析モデルなどが得られたか否かを判断できる。従って、本開示では、専門知識を有しないユーザでも、所望の性能を達成できるAIエンジン及びアルゴリズムを用いて機械学習を行うことが可能である。
以下、図面を参照しつつ、本開示の実施形態を詳細に説明する。図2は、本開示の一実施形態に係るAIエンジン実行支援装置を示す。AIエンジン実行支援装置100は、入力装置101、出力装置102、処理装置103、及びリポジトリ104を有する。本実施形態において、AIエンジン実行支援装置100は、外部システムであるAIエンジン109を利用する利用者の作業を支援する。より詳細には、AIエンジン実行支援装置100は、AIエンジン109を用いた分析処理の実行操作と、分析結果の確認作業において、実行操作を隠ぺいし、分析結果から特定の性能指標を算出することで、AIエンジン109を利用する利用者の作業を支援する。AIエンジン実行支援装置100は、図1のAI実行支援装置10に対応する。
ここで、AIエンジン109とは、所定のデータ分析手法に沿って、機械学習技術を用いた分析モデルを生成することで、予測や判別といった分析処理を実現するシステムを指す。AIエンジン109は、例えば商用のソフトウェアプログラム、又はオープンソースで提供されているソフトウェアプログラムである。AIエンジン109には、例えばscikit-learn(https://ja.wikipedia.org/wiki/Scikit-learn)やPyTorch(https://pytorch.org/)などが存在する。また、「データ分析手法」とは、データを分析するための所定のアルゴリズムを指す。データ分析手法には、例えば、「クラス分類」、「回帰」、及び「クラスタリング」といった手法が存在する。「機械学習」とは、所定のデータを入力とすることでデータ分析手法に基づいた予測や判別を実現する人工知能(AI)の技術の1つである。機械学習には、ディープラーニングなどが存在する。AIエンジン109は、図1のAIエンジン20に対応する。
図3は、入力装置101、及び出力装置102の構成例を示す。入力装置101は、利用者入力受付手段101A、及びデータ受付手段101Bを有する。利用者入力受付手段101Aは、例えばマウスなどのポインティングデバイスや、キーボードなどを用いた各種入力を受け付け、各種入力を処理装置103に渡す。データ受付手段101Bは、学習用データ118(図2を参照)、予測用データ119、及び目的・説明変数情報120を含む各種ファイル形式のデータを受け付け、受け付けたデータを処理装置103に渡す。
ここで、学習用データ(学習データ)118は、AIエンジン109の学習処理において使用されるデータである。予測用データ(予測データ)119は、AIエンジン109の予測処理において使用されるデータである。目的・説明変数情報120は、学習用データ118と予測用データ119とにおいて、学習処理や予測処理を行う際のカラム名から構成される。目的変数は1つのカラム名であり、説明変数は目的変数以外のカラム名から構成される。利用者は、入力装置101を通じて、これらデータを、あらかじめ処理装置103に入力する
出力装置102は、結果出力手段102A、及びファイル出力手段102Bを有する。結果出力手段102Aは、処理装置103にて実施された処理の結果を出力する。結果出力手段102Aは、例えば液晶ディスプレイ装置などの表示装置に、例えばリポジトリ104に登録されている各種の情報や、AIエンジンの実行の成否に関する情報などを表示する。ファイル出力手段102Bは、処理装置103から受け取ったデータをファイル形式で出力する。ファイル出力手段102Bは、処理装置103から、ハイパーパラメータファイル121(図2を参照)及びAIエンジン実行プログラム127を含む所定ファイル形式のデータを受け取り、受け取ったデータをAIエンジン109に出力する。
ここで、ハイパーパラメータファイル121は、AIエンジンの種別ごとに形式が定義されたデータである。ハイパーパラメータファイル121は、AIエンジン実行の設定情報を含む。AIエンジン実行プログラム127は、AIエンジン109において実行されるプログラムである。AIエンジン実行プログラム127は、学習処理用のプログラムと、予測処理用のプログラムとを含む。AIエンジン実行プログラム127は、例えばPythonなどのプログラミング言語を用いて記述される。
図4は、処理装置103の構成例を示す。処理装置103は、情報入力部105、情報分析部106、及び外部システム制御部107を有する。処理装置103は、入力装置101、出力装置102、及びリポジトリ104との間で情報の入出力を行う。また、処理装置103は、入力された情報の分析や、AIエンジン109などの外部システムに対する操作を行う。処理装置103は、例えばプロセッサとメモリとを含むコンピュータ装置として構成される。処理装置103内の各部の機能は、プロセッサが、メモリに格納されたコンピュータプログラム(ソフトウェアプログラム)を読み出して実行することで実現され得る。
情報入力部105は、入力取得手段105A、及びデータ取得手段105Bを有する。入力取得手段105Aは、入力装置101の利用者入力受付手段101A(図3を参照)が受け付けた情報を、リポジトリ104に渡す。データ取得手段105Bは、入力装置101のデータ受付手段101Bが受け付けた各種ファイル形式のデータを、情報分析部106及び外部システム制御部107に渡す。
情報分析部106は、情報入力部105及びリポジトリ104から各種情報を取得し、各種処理や判定などを行う。情報分析部106で実施される処理は、AIエンジン109で実行される学習処理の内容を作成する処理を含む。また、情報分析部106で実施される処理は、AIエンジン109で実行される予測処理の内容を作成する処理を含む。
外部システム制御部107は、外部システムであるAIエンジン109の実行制御を行う。外部システム制御部107は、学習処理実行制御手段107A、予測処理実行制御手段107B、及びエラー判断手段107Cを有する。学習処理実行制御手段107Aは、情報分析部106が作成した学習処理内容に基づいて、AIエンジン109に学習用データ118(図2を参照)を用いた学習処理を実行させる。AIエンジン109は、学習処理を実行し、学習ログ123及び分析モデル122を生成する。
ここで、学習ログ123は、目的・説明変数120で設定された目的変数に対し、学習用データ118に対して分析を行った結果を保持するデータである。分析モデル122は、例えば予測式やバイナリデータなどの形式のデータである。学習処理実行制御手段107Aは、AIエンジン109から学習ログ123を取得する。学習処理実行制御手段107Aは、図1の学習処理実行制御手段11に対応する。
予測処理実行制御手段107Bは、情報分析部106が作成した予測処理内容に基づいて、AIエンジン109に予測用データ119を用いた予測処理を実行させる。AIエンジン109は、予測処理を実行し、予測ログ124を生成する。ここで、予測ログ124は、目的・説明変数120で設定された目的変数に対し、予測用データ119対して分析を行った結果を保持するデータである。予測処理実行制御手段107Bは、AIエンジン109から予測ログ124を取得する。予測処理実行制御手段107Bは、図1の予測処理実行制御手段12に対応する。
エラー判断手段107Cは、学習処理及び予測処理において、エラーが発生したか否かを判断する。エラー判断手段107Cは、例えば学習処理の実行後、AIエンジン109から学習ログ123が取得できなかった場合はエラーが発生したと判断する。エラー判断手段107Cは、例えば予測処理の実行後、AIエンジン109から予測ログ124が取得できなかった場合はエラーが発生したと判断する。
情報分析部106は、外部システム制御部107を通じて、学習ログ123及び予測ログ124を取得する。情報分析部106で実施される処理は、学習ログ123及び予測ログ124から学習ログ加工データ125及び予測ログ加工データ126を生成する処理を含む。
図2に戻り、リポジトリ104は、処理装置103から受け取った情報を保持する。リポジトリ104は、例えばデータベースプログラムであり、Oracle DB(database)やPostgreSQLといったデータ管理を行う一般的なソフトウェアである。
リポジトリ104は、情報保持部108を有する。情報保持部108は、処理装置103の情報入力部105から出力された情報を、リポジトリ内の各データとして保持する。具体的に、情報保持部108は、基本情報110、ハイパーパラメータ情報111、学習処理情報112、予測処理情報113、ログ加工情報114、ログ加工フォーマット情報115、結果分析処理情報116、及びAIエンジン実行履歴117を保持する。情報保持部108は、処理装置103からデータが要求されると、要求されたデータを処理装置103に提供する。リポジトリ104において、情報の保持には、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置が用いられる。
図5は、基本情報110の具体例を示す。基本情報110は、例えば、データ分析手法・AIエンジンマップ#10-1を保持する。データ分析手法・AIエンジンマップ#10-1は、データ分析手法と、AIエンジン及びアルゴリズムとの対応関係を保持する。基本情報110は、例えばデータ分析手法「回帰」に対して、AIエンジン名「Scikit-learn」と、アルゴリズム「SVR」及び「Random Forest」とを対応付けた情報を保持する。基本情報110は、例えばデータ分析手法「クラス分類」に対して、AIエンジン名「Scikit-learn」と、アルゴリズム「Decision tree」とを対応付けた情報を保持する。
なお、基本情報110は、データ分析手法・AIエンジンマップ#10-1の他に、AIエンジンにおける各種データの配置先情報及びログの格納先情報を保持する。より詳細には、基本情報110は、例えば、AIエンジンごとに、学習用データ118(図2を参照)、予測用データ119、ハイパーパラメータファイル121、及びAIエンジン実行プログラム127の配置先情報を保持する。また、基本情報110は、学習ログ123及び予測ログ124の格納先情報を保持する。また、基本情報110は、AIエンジン及びアルゴリズムごとに、エラーが発生したか否かを判別するためのエラー判別情報を保持してもよい。外部システム制御部107のエラー判断手段107C(図4を参照)は、例えば、基本情報110に含まれるエラー判別情報に従って、エラー発生の有無を判断してもよい。
図6は、ハイパーパラメータ情報111の具体例を示す。ハイパーパラメータ情報111は、AIエンジン及びアルゴリズムと、AIエンジン及びアルゴリズムを用いた機械学習で使用されるハイパーパラメータの情報とを対応付けて記憶する。ハイパーパラメータ情報111は、例えば、AIエンジン・アルゴリズム名#11-1、ハイパーパラメータ書式#11-2、及びハイパーパラメータテーブル#11-2を保持する。ハイパーパラメータ情報111は、AIエンジンとアルゴリズムとの組み合わせごとに、これら情報を保持する。
AIエンジン・アルゴリズム名#11-1は、ハイパーパラメータ情報111が、どのAIエンジン及びアルゴリズムに対応した情報であるかを示す。図6の例では、AIエンジン・アルゴリズム名#11-1は、ハイパーパラメータ情報111が、AIエンジン名「Scikit-learn」、及びアルゴリズム「Decision tree」に対応した情報であることを示している。AIエンジンパラメータ書式#11-2は、AIエンジン・アルゴリズム名#11-1で示されるAIエンジン及びアルゴリズムに対応するハイパーパラメータの記述の書式を示す。ハイパーパラメータテーブル#11-3には、ハイパーパラメータ名と、デフォルト値及び設定値とが記述される。
図7は、学習処理情報112の具体例を示す。学習処理情報112は、AIエンジン及びアルゴリズムと、AIエンジン及びアルゴリズムを用いた学習を実施するためのプログラムを含む情報とを対応付けて記憶する。学習処理情報112は、例えば、AIエンジン・アルゴリズム名#12-1、コマンドライン#12-2、及びプログラム#12-3を保持する。学習処理情報112は、AIエンジンとアルゴリズムとの組み合わせごとに、これら情報を保持する。
AIエンジン・アルゴリズム名#12-1は、学習処理情報112が、どのAIエンジン及びアルゴリズムに対応した情報であるかを示す。図7の例では、AIエンジン・アルゴリズム名#12-1は、学習処理情報112が、AIエンジン名「Scikit-learn」、及びアルゴリズム名「Decision tree」に対応した情報であることを示している。コマンドライン#12-2には、AIエンジン109に学習処理を実行させるためのコマンドが記述される。プログラム#12-3には、学習処理時にAIエンジン109上で実行されるプログラムの本体が記述される。
図8は、予測処理情報113の具体例を示す。予測処理情報113は、AIエンジン及びアルゴリズムと、AIエンジン及びアルゴリズムを用いた学習で生成された分析モデルを使用した予測を実施するためのプログラムを含む情報とを対応付けて記憶する。予測処理情報113は、例えば、AIエンジン・アルゴリズム名#13-1、コマンドライン#13-2、及びプログラム#13-3を保持する。予測処理情報113は、AIエンジンとアルゴリズムとの組み合わせごとに、これら情報を保持する。
AIエンジン・アルゴリズム名#13-1は、予測処理情報113が、どのAIエンジン、及びアルゴリズムに対応した情報であるかを示す。図8の例では、AIエンジン・アルゴリズム名#13-1は、予測処理情報113が、AIエンジン名「Scikit-learn」、及びアルゴリズム名「Decision tree」に対応した情報であることを示している。コマンドライン#13-2には、AIエンジン109に予測処理を実行させる際のコマンドが記述される。プログラム#13-3には、予測処理時にAIエンジン109上で実行されるプログラムの本体が記述される。
図9は、ログ加工情報114の具体例を示す。ログ加工情報114は、AIエンジン及びアルゴリズムと、学習ログ123及び予測ログ124に含まれる変数の変換処理とを対応付けて保持する。ログ加工情報114は、例えば、AIエンジン・アルゴリズム名#14-1、学習ログ加工テーブル#14-2、及び予測ログ加工テーブル#14-3を保持する。ログ加工情報114は、AIエンジンとアルゴリズムとの組み合わせごとに、これら情報を保持する。
AIエンジン・アルゴリズム名#14-1は、ログ加工情報114が、どのAIエンジン、及びアルゴリズムに対応した情報であるかを示す。図9の例では、AIエンジン・アルゴリズム名#14-1は、ログ加工情報114が、AIエンジン名「Scikit-learn」、及びアルゴリズム名「Decision tree」に対応した情報であることを示している。
学習ログ加工テーブル#14-2は、AIエンジン109が学習処理を行った場合に生成される学習ログに含まれる情報を、どのように加工するかを示す情報である。学習ログ加工テーブル#14-2は、「入力元」、「変換処理」、及び「出力先」を含む。「入力元」は、学習ログの入力項目(変数)を示す。「変換処理」は、「入力元」で示される入力項目に対する変換処理(変換規則)の内容を示す。「出力先」は、変換処理された値の出力先の項目(学習ログ統一変数)を示す。学習ログ加工テーブル#14-2は、図1の学習ログ加工情報31に対応する。
予測ログ加工テーブル#14-3は、AIエンジン109が予測処理を行った場合に生成される予測ログに含まれる情報を、どのように加工するかを示す情報である。予測ログ加工テーブル#14-3の内容は、適用されるログが予測ログになる点を除けば、学習ログ加工テーブル#14-2の内容と同様でよい。つまり、予測ログ加工テーブル#14-3は、予測ログの変数を示す「入力元」、予測ログの変数に対する変換処理(変換規則)の内容を示す「変換処理」、及び変換された変数(予測ログ統一変数)を示す「出力先」を含む。予測ログ加工テーブル#14-3は、図1の予測ログ加工情報32に対応する。
図10は、ログ加工フォーマット情報115の具体例を示す。ログ加工フォーマット情報115は、データ分析手法と、上記学習ログ統一変数のフォーマット及び予測ログ統一変数のフォーマットとをそれぞれ対応付けて保持する。ログ加工フォーマット情報115は、例えば、データ分析手法名#15-1、学習ログ加工データフォーマット#15-2、及び予測ログ加工データフォーマット#15-3を保持する。ログ加工フォーマット情報115は、データ分析手法ごとに、これら情報を保持する。
データ分析手法名#15-1は、ログ加工フォーマット情報115が、どのデータ分析手法に対応した情報であるかを示す。図10の例では、データ分析手法名#15-1は、ログ加工フォーマット情報115が、分析手法名「クラス分類」に対応した情報であることを示している。
学習ログ加工データフォーマット#15-2は、「項目名」、「内容」、及び「データ形式」を含む。「項目名」は、学習ログ加工テーブル#14-2(図9を参照)の「出力先」の項目名を示す。「内容」は、「項目名」で示される項目の内容を示す。「データ形式」は、「項目名」で示される項目のデータフォーマットを示す。予測ログ加工データフォーマット#15-3は、適用されるログ加工データが予測ログ加工データになる点を除けば、学習ログ加工フォーマット#14-2の内容と同様でよい。
図11は、結果分析処理情報116の具体例を示す。結果分析処理情報116は、データ分析手法と、学習の結果を分析するための結果分析処理の内容とを対応付けて記憶する。結果分析処理情報116は、例えば、データ分析手法名#16-1、及び結果分析情報#16-2を保持する。結果分析処理情報116は、データ分析手法ごとに、これら情報を保持する。
データ分析手法名#16-1は、結果分析処理情報116が、どのデータ分析手法に対応した情報であるかを示す。図11の例では、データ分析手法名#16-1は、結果分析処理情報116が分析手法名「クラス分類」に対応した情報であることを示している。
結果分析情報#16-2は、結果分析処理の内容を示す。結果分析情報#16-2は、「項目名」、及び「算出式」を含む。「項目名」は、結果分析処理の項目名を示す。「算出式」は、「項目名」で示される項目の値の算出式を示す。図11の例では、結果分析情報#16-2には、「過学習確認」に対応する算出式の内容と、「学習時と予測時正答率際算出」に対応に対応する算出式とが記述されている。
図12は、汎化性能情報128の具体例を示す。汎化性能情報128は、AIエンジンを用いて作成された各分析モデルの汎化性能を確認するための手法、及び指標値を示すデータを含む。汎化性能情報128は、例えば、データ分析手法名#28-1、未学習判定情報#28-2、及び過学習判定情報#28-3を保持する。汎化性能情報128は、データ分析手法ごとに、これら情報を保持する。
ここで、「汎化性能」とは、分析モデルの未知のデータに対する予測性能を指す。機械学習を用いて生成された分析モデルは、学習不足(未学習)、つまり学習を行うデータが不足している状態、或いは過学習、つまり学習データ以外のデータが予測できない状態を起こすことがある。機械学習では、これら状態を防ぎ、汎化性能を確保した、未知のデータに対する予測ができる分析モデルを作成することが重要とされている。汎化性能情報128は、未学習判定及び過学習判定に用いられるグラフとそのグラフの出力方法とを対応付けて保持する。汎化性能情報128は、分析モデルの汎化性能の確認に用いられる。
データ分析手法名#28-1は、汎化性能情報128が、どのデータ分析手法に対応した情報であるかを示す。図12の例では、データ分析手法名#28-1は、汎化性能情報128が分析手法名「クラス分類」に対応した情報であることを示している。
未学習判定情報#28-2は、未学習の発生を判定するための情報を保持する。未学習判定情報#28-2は、「グラフ名」、「出力方法」、「チェック内容」、及び「対処」を含む。「グラフ名」は、未学習判定に用いられるグラフの名称を示す。「出力方法」は、「グラフ名」で示されるグラフの形式や書式などを示す。図12の例では、未学習判定情報#28-2は、グラフ名「学習曲線」のグラフの形式は折れ線グラフである旨を保持する。また、未学習判定情報#28-2は、折れ線グラフの縦軸は学習ログ加工データ125(図4を参照)及び予測ログ加工データ126から算出できる任意の指標値であり、横軸は学習サンプル数である旨を保持する。
「チェック内容」は、グラフ名で示されるグラフが表示された場合に、ユーザがどこをチェックすればよいかを記述した情報を保持する。図12の例では、「チェック内容」は、「両方の指標値が目標としている精度に達しているか」である。ユーザが汎化性能をチェックする場合、「チェック内容」に記述された情報(テキスト)は、例えばグラフと共に表示される。ユーザは、テキストを参照することで、表示されたグラフをどのようにチェックすればよいかを知ることができる。「対処」は、未学習と判定される場合に、ユーザが採りうる方策を記述した情報を保持する。「対処」に記述された情報(テキスト)も、例えばグラフと共に表示される。
過学習判定情報#28-3は、過学習の発生を判定するための情報を保持する。過学習判定情報#28-3は、「グラフ名」、「出力方法」、「チェック内容」、及び「対処」を含む。「グラフ名」は、過学習判定に用いられるグラフの名称を示す。図12の例では、過学習の判定に使用されるグラフとして、「学習曲線」と「検証曲線」の2つが保持されている。「出力方法」は、「グラフ名」で示されるグラフの形式や書式などを示す。図12の例では、過学習判定情報#28-3は、グラフ名「学習曲線」及び「検証曲線」のグラフの形式は折れ線グラフである旨を保持する。また、過学習判定情報#28-3は、「学習曲線」について、折れ線グラフの縦軸は学習ログ加工データ125及び予測ログ加工データ126から算出できる任意の指標値であり、横軸は学習サンプル数である旨を保持する。過学習判定情報#28-3は、「検証曲線」について、折れ線グラフの縦軸は学習ログ加工データ125及び予測ログ加工データ126から算出できる任意の指標値であり、横軸はハイパーパラメータである旨を保持する。
「チェック内容」は、グラフ名で示されるグラフが表示された場合に、ユーザがどこをチェックすればよいかを記述した情報を保持する。図12の例では、「学習曲線」の「チェック内容」は、「学習ログ加工データの指標値と予測ログ加工データの指標値がしきい値より離れていないか」である。また、「検証曲線」の「チェック内容」は、「学習ログ加工データの指標値と予測ログ加工データの指標値が最も近い箇所はどこか」である。ユーザが汎化性能をチェックする場合、「チェック内容」に記述された情報(テキスト)は、例えばグラフと共に表示される。ユーザは、テキストを参照することで、表示されたグラフをどのようにチェックすればよいかを知ることができる。「対処」は、過学習と判定される場合に、ユーザが採りうる方策を記述した情報(テキスト)を保持する。「対処」に記述された情報(テキスト)も、例えばグラフと共に表示される。
図13は、情報分析部106の構成例を示す。情報分析部106は、保有情報検索・取得手段161、ハイパーパラメータ情報生成手段162、学習処理生成手段163、予測処理生成手段164、ログ加工処理手段165、ログフォーマット確認手段166、結果分析処理手段167、AIエンジン実行履歴登録手段168、エラー判別手段169、及び汎化性能判定手段170を有する。
保有情報検索・取得手段161は、リポジトリ104が保持するデータのうち、情報分析部106内の各手段が必要とするデータを検索し、取得する。ハイパーパラメータ情報生成手段162は、保有情報検索・取得手段161を通じて、リポジトリ104が保持するハイパーパラメータ情報111(図2を参照)を取得する。ハイパーパラメータ情報生成手段162は、ハイパーパラメータ情報111に基づいて、ハイパーパラメータファイル121を生成する。ハイパーパラメータ情報生成手段162が生成したハイパーパラメータファイル121は、図13では図示されない出力装置102を通じて、AIエンジン109に与えられる。
学習処理生成手段163は、保有情報検索・取得手段161を通じて、リポジトリ104に保持される学習処理情報112を取得する。学習処理生成手段163は、学習処理情報112、学習用データ118、目的・説明変数情報120、及びハイパーパラメータファイル121の情報に基づいて、AIエンジンで実行される学習処理の内容(学習内容)を作成する。学習内容は、AIエンジン実行プログラム127、及び外部システム制御部107(図4を参照)を通じてAIエンジン109に与えられるコマンドラインを含む。
例えば、学習処理生成手段163は、学習処理情報112に含まれるプログラム#12-3(図7を参照)と、目的・説明変数情報とを組み合わせることで、AIエンジン実行プログラム(学習処理プログラム)127を生成する。また、学習処理生成手段163は、コマンドライン#12-2の予約語であるarg1、arg2、及びarg3を、学習用データ118及びハイパーパラメータファイル121の情報と組み合わせ、コマンドライン(学習処理コマンドライン)を生成する。なお、学習処理情報112、及び、学習用データ118の情報と目的・説明変数情報120とハイパーパラメータファイル121の情報とをどのように組み合わせるかは、専門知識を有する利用者が設定するものとする。
予測処理生成手段164は、保有情報検索・取得手段161を通じて、リポジトリ104に保持される予測処理情報113を取得する。予測処理生成手段164は、予測処理情報113、予測用データ119、及び目的・説明変数情報120の情報に基づいてAIエンジンで実行される予測処理の内容(予測内容)を作成する。予測内容は、AIエンジン実行プログラム127、及び外部システム制御部107を通じてAIエンジン109に与えられるコマンドラインを含む。
例えば、予測処理生成手段164は、予測処理情報113に含まれるプログラム#13-3(図8を参照)に基づいて、AIエンジン実行プログラム(予測処理プログラム)127を生成する。また、予測処理生成手段164は、コマンドライン#13-2の予約語であるarg1、arg2、及びarg3を、予測用データ119、ハイパーパラメータファイル121、及び分析モデル122の情報と組み合わせる。このようにすることで、予測処理生成手段164は、コマンドライン(予測処理コマンドライン)を生成する。なお、予測処理情報113、及び、予測用データ119の情報とハイパーパラメータファイル121の情報とをどのように組み合わせるかは、専門知識を有する利用者が設定するものとする。
ログ加工処理手段165は、保有情報検索・取得手段161を通じて、リポジトリ104に保持されるログ加工情報114を取得する。また、ログ加工処理手段165は、外部システム制御部107を通じて、AIエンジン109から学習ログ123及び予測ログ124を取得する。ログ加工処理手段165は、ログ加工情報114に基づいて学習ログ123及び予測ログ124を分析・編集し、学習ログ加工データ125及び予測ログ加工データ126を生成する。ログ加工処理手段165は、図1の学習ログ加工手段13及び予測ログ加工手段14に対応する。
ログフォーマット確認手段166は、保有情報検索・取得手段161を通じて、リポジトリ104に保持されるログ加工フォーマット情報115を取得する。ログフォーマット確認手段166は、ログ加工フォーマット情報115に定義された各項目のフォーマット情報と、学習ログ加工データ125及び予測ログ加工データ126に含まれる各項目のデータとを比較し、両者の整合性を確認する。
ログフォーマット確認手段166は、例えば学習ログ加工データ125における変数(学習ログ統一変数)の値が、ログ加工フォーマット情報115の学習ログ加工データフォーマット#15-2(図10を参照)の「データ形式」に適合しているか否かを調べる。ログフォーマット確認手段166は、学習ログ加工データ125に含まれる変数の値が「データ形式」に適合していない場合は、エラーを出力する。
また、ログフォーマット確認手段166は、例えば予測ログ加工データ126における変数(予測ログ統一変数)の値が、ログ加工フォーマット情報115の予測ログ加工データフォーマット#15-3の「データ形式」に適合しているか否かを調べる。ログフォーマット確認手段166は、予測ログ加工データ126に含まれる変数の値が「データ形式」に適合していない場合は、エラーを出力する。
エラー判別手段169は、ログフォーマット確認手段166からエラーが出力された場合、エラーが発生したと判断する。また、エラー判別手段169は、外部システム制御部107のエラー判断手段107C(図4を参照)からエラーが出力された場合、エラーが発生したと判断する。エラー判別手段169は、エラーの内容を、出力装置102を通じて出力する。
AIエンジン実行履歴登録手段168は、学習ログ加工データ125及び予測ログ加工データ126を取得する。AIエンジン実行履歴登録手段168は、取得した学習ログ加工データ125及び予測ログ加工データ126と、AIエンジン・アルゴリズム名とをリポジトリ104に出力する。リポジトリ104において、学習ログ加工データ125及び予測ログ加工データ126は、AIエンジン・アルゴリズム名と対応付けてAIエンジン実行履歴117に保持される。
結果分析処理手段167は、保有情報検索・取得手段161を通じて、リポジトリ104から結果分析処理情報116及びAIエンジン実行履歴117を取得する。結果分析処理手段167は、結果分析処理情報116の定義情報に基づいて、AIエンジン実行履歴117から学習ログ加工データ125及び予測ログ加工データ126を取得し、指定の指標値を含む分析情報を出力する。
例えば、結果分析処理手段167は、学習ログ加工データ125及び予測ログ加工データ126を用い、学習に用いられたデータ分析手法に応じた一般的な計算式を用いて、性能を示す指標値を算出する。例えば、結果分析処理手段167は、データ分析手法が「回帰」であれば、絶対平均誤差や決定係数などを、所定の指標値として算出する。結果分析処理手段167は、データ分析手法が「判別」であれば、正解率や再現率などを、所定の指標として算出する。結果分析処理手段167が算出する指標値は、ユーザが指定してもよい。データ分析手法に応じた指標値の計算式は、あらかじめ情報分析部106に登録されているものとする。
結果分析処理手段167は、例えばデータ分析手法が「クラス分類」であれば、図11に示される結果分析処理情報116の「算出式」に従って過学習判定を実施し、学習時と予測時の正解率の差異を計算する。結果分析処理手段167は、例えば、AIエンジン及びアルゴリズムごとに、所定のテーブル形式の分析結果(分析情報)を表示する。分析結果は、例えば、学習ログ加工データ125から算出した学習時正解率、予測ログ加工データ126から算出した予測時正解率、学習時と予測時の正解率の差異、及び、過学習判定の結果などを含む。
結果分析処理手段167は、AIエンジン実行履歴117から、同じデータ分析手法に属する複数のAIエンジン及びアルゴリズムに対応付けて記憶された複数の学習ログ加工データ125及び予測ログ加工データ126を取得してもよい。その場合、結果分析処理手段167は、複数のAIエンジン及びアルゴリズムのそれぞれについて分析情報を生成してもよい。AIエンジン及びアルゴリズムごとに生成された前記分析情報は、一覧形式で表示されてもよい。
汎化性能判定手段170は、保有情報検索・取得手段161を通じて汎化性能情報128及びAIエンジン実行履歴117を取得する。汎化性能判定手段170は、汎化性能情報128に登録された情報と、AIエンジン実行履歴117から取得した学習ログ加工データ125及び予測ログ加工データ126とに基づいて、分析モデル122における汎化性能を示すグラフを作成する。汎化性能判定手段170は、例えばデータ分析手法が「クラス分類」であれば、図12に示される汎化性能情報128の未学習判定情報及び過学習判定情報に基づいて、学習曲線や検証曲線を示すグラフを作成する。汎化性能判定手段170は、出力装置102を通じてグラフを利用者に出力する。このとき、汎化性能判定手段170は、汎化性能情報128の「チェック内容」及び「対処」の少なくとも一方を、グラフと共に表示してもよい。
以下、動作手順を説明する。まず、情報登録の手順を説明する。図14は、情報を登録する場合の動作手順を示す。情報登録は、AIエンジン109についての専門知識を有する有識者が行う。有識者である登録者は、登録対象のAIエンジン及びアルゴリズムに対応するデータ分析手法に関する情報が、基本情報110に登録済みであるか否かを調べる(ステップA1)。登録者は、ステップS1では、入力装置101の利用者入力受付手段101A(図3を参照)を利用して、対応するデータ分析手法が登録済みであるか否かを、処理装置103の保有情報検索・取得手段161(図13を参照)に問い合わせる。
保有情報検索・取得手段161は、基本情報110を参照し、問い合わせを受けたデータ分析手法に関する情報が登録済みであるか否かを調べ、その結果を登録者に通知する。登録者は、対応するデータ分析手法が登録済みでない場合、利用者入力受付手段101Aを利用してデータ分析手法に関する情報を入力し、リポジトリ104の基本情報110に登録する(ステップA2)。より詳細には、登録者は、利用者入力受付手段101Aを用いてAIエンジンマップ#10-1(図5を参照)の「データ分析手法」の名称などを入力する。処理装置103の情報入力部105(図4を参照)は、登録者が入力した情報を基本情報110に追加する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、基本情報110に、登録者が入力した情報を追加する。
次いで、登録者は、ステップA2で登録したデータ分析手法に関するログ加工フォーマット情報115をリポジトリ104に登録する(ステップA3)。登録者は、ステップA3では、入力装置101の利用者入力受付手段101Aを用いて、例えば図10に示されるログ加工フォーマット情報115の各項目の情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報をログ加工フォーマット情報115として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報をログ加工フォーマット情報115として登録する。
続いて、登録者は、ステップA2で登録したデータ分析手法に関する結果分析処理情報116をリポジトリ104に登録する(ステップA4)。登録者は、ステップA4では、入力装置101の利用者入力受付手段101Aを用いて、例えば図11に示される結果分析処理情報116の各項目の情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を結果分析処理情報116として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報を結果分析処理情報116として登録する。
さらに、登録者は、ステップA2で登録したデータ分析手法に関する汎化性能情報128をリポジトリ104に登録する(ステップA5)。登録者は、ステップA5では、入力装置101の利用者入力受付手段101Aを用いて、図12に示される汎化性能情報128の各項目の情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を汎化性能情報128として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報を汎化性能情報128として登録する。
登録者は、ステップA2で登録したデータ分析手法に属するAIエンジン及びアルゴリズムの情報を、基本情報110に登録する(ステップA6)。登録者は、ステップA6では、入力装置101の利用者入力受付手段101Aを用いて、AIエンジン名、及びアルゴリズム名などの情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を、基本情報110においてAIエンジン及びアルゴリズムが属するデータ分析手法に対応付けて登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報を基本情報110に登録する。ステップA1でデータ分析手法が登録済みであると判断された場合も、処理はステップA6へ進み、データ分析手法に属するAIエンジン及びアルゴリズムの情報が基本情報110に登録される。
登録者は、AIエンジン及びアルゴリズムを扱う際のハイパーパラメータ情報111を、リポジトリ104に登録する(ステップA7)。登録者は、ステップA7では、入力装置101の利用者入力受付手段101Aを用いて、例えば図6に示されるハイパーパラメータ情報111の各項目の情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を、ハイパーパラメータ情報111として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報をハイパーパラメータ情報111として登録する。
登録者は、AIエンジン及びアルゴリズムを扱うための学習処理情報112を、リポジトリ104に登録する(ステップA8)。また、登録者は、AIエンジン及びアルゴリズムを扱うための予測処理情報113を、リポジトリ104に登録する(ステップA9)。登録者は、ステップA8及びA9では、入力装置101の利用者入力受付手段101Aを用いて、例えば図7に示される学習処理情報112、及び図8に示される予測処理情報113の各項目の情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を、学習処理情報112及び予測処理情報113として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報を学習処理情報112及び予測処理情報113として登録する。
登録者は、学習処理及び予測処理で得られる学習ログ及び予測ログを加工するためのログ加工情報114を、リポジトリ104に登録する(ステップA10)。登録者は、ステップA10では、入力装置101の利用者入力受付手段101Aを用いて、例えば図9に示されるログ加工情報114の各項目の情報を入力する。このとき、登録者は、学習処理及び予測処理で得られる学習ログ123及び予測ログ124を、データ分析手法ごとに登録されるログ加工フォーマット情報115に定義されるフォーマットに従ったデータに変換するための情報を入力する。処理装置103の情報入力部105は、登録者が入力した情報を、ログ加工情報114として登録する旨の指示を、リポジトリ104に出力する。リポジトリ104の情報保持部108は、登録者が入力した情報をログ加工情報114として登録する。登録対象のデータ分析手法、並びにAIエンジン及びアルゴリズムが残っている場合は、ステップA1~A10、又はステップA6~A10が繰り返し実施される。ここまでの手順で、情報の登録が完了する。
次いで、AIエンジン実行処理を行う手順を説明する。図15は、AIエンジン実行処理の動作手順を示す。AIエンジン実行処理は、専門知識を有しないシステムエンジニアなどの利用者が実施する。利用者は、利用するAIエンジンを選択する(ステップB1)。利用者は、ステップB1では、例えば入力装置101を用いて、処理装置103に基本情報110の内容の表示を指示する。処理装置103内の保有情報検索・取得手段161は、リポジトリ104から、基本情報110のデータ分析手法・AIエンジンマップ#10-1(図5を参照)の「データ分析手法」、「AIエンジン名」、及び「アルゴリズム名」を取得する。出力装置102は、保有情報検索・取得手段161が取得した情報を表示する。利用者は、表示された情報を参照し、処理の目的に沿ったデータ分析手法に対応付けられるAIエンジン及びアルゴリズムから、所望のAIエンジン及びアルゴリズムを選択する。
利用者は、AIエンジン及びアルゴリズムの選択後、学習用データ118、予測用データ119、及び目的・説明変数情報120を、入力装置101のデータ受付手段101B(図3を参照)を通じて処理装置103に入力する(ステップB2)。処理装置103は、出力装置102のファイル出力手段102Bを通じて、学習用データ118及び予測用データ119を、AIエンジン109を実行する装置に配置する。別の言い方をすると、処理装置103は、学習用データ118及び予測用データ119を、AIエンジン109を実行する装置内の主メモリや補助記憶装置に格納する。AIエンジン109を実行する装置は、例えばクラウドサーバ、オンプレミスのコンピュータ装置、或いは処理装置103自身であってもよい。
ハイパーパラメータ情報生成手段162は、リポジトリ104に登録されたハイパーパラメータ情報111に基づいて、ハイパーパラメータファイル121を生成する(ステップB3)。ハイパーパラメータ情報生成手段162は、ステップB3では、保有情報検索・取得手段161に、利用者がステップB1で選択したAIエンジン及びアルゴリズムに対応するハイパーパラメータ情報111の取得を依頼する。保有情報検索・取得手段161は、AIエンジン及びアルゴリズムの名称をキーに、対応するハイパーパラメータ情報111のレコードを取得し、ハイパーパラメータ情報生成手段162に返却する。ハイパーパラメータ情報生成手段162は、ハイパーパラメータ情報111のレコードと、ステップB2で入力された目的・説明変数情報120とに基づいて、ハイパーパラメータファイル121を生成する。ハイパーパラメータ情報生成手段162は、出力装置102のファイル出力手段102Bを通じて、AIエンジン109を実行する装置にハイパーパラメータファイル121を配置する。
学習処理生成手段163は、リポジトリ104に登録された学習処理情報112を用いて、学習内容を生成する(ステップB4)。学習処理生成手段163は、ステップB4では、保有情報検索・取得手段161に、利用者がステップB1で選択したAIエンジン及びアルゴリズムに対応する学習処理情報112の取得を依頼する。保有情報検索・取得手段161は、AIエンジン及びアルゴリズム名をキーに、対応する学習処理情報112のレコードを取得し、学習処理生成手段163に返却する。また、学習処理生成手段163は、保有情報検索・取得手段161を通じて、基本情報110に含まれる学習用データ118の配置先情報、及びハイパーパラメータファイル121の配置先情報を取得する。学習処理生成手段163は、学習処理情報112のレコードと、学習用データ及びハイパーパラメータファイルの配置先情報とを用いて、AIエンジン109に学習処理を実行させるためのコマンドラインを生成する。また、学習処理生成手段163は、学習処理情報112のレコードと、目的・説明変数情報120とに基づいて、AIエンジン実行プログラム127とを生成する。学習処理生成手段163は、出力装置102のファイル出力手段102Bを通じて、AIエンジン109を実行する装置にAIエンジン実行プログラム127を配置する。
外部システム制御部107の学習処理実行制御手段107Aは、ステップB4で生成された学習内容に従って、AIエンジン109において学習処理を実行させる(ステップB5)。学習処理実行制御手段107Aは、ステップB5では、AIエンジン109を実行する装置上で、ステップB4で生成されたコマンドラインを実行することで、AIエンジン109にAIエンジン実行プログラム127の実行を開始させる。つまり、学習処理実行制御手段107Aは、AIエンジン109に学習処理を実行させる。AIエンジン109が学習用データ118を用いて学習処理を実行することで、分析モデル122が構築される。
エラー判断手段107Cは、学習処理の実行時に、AIエンジン109においてエラーが発生したか否かを判断する。エラー判断手段107Cは、例えば、基本情報110に含まれる学習ログの格納先情報で示される場所に学習ログ123が格納されていない場合、AIエンジン109においてエラーが発生したと判断する。エラー判断手段107Cは、エラーが発生したと判断した場合、情報分析部106のエラー判別手段169にエラーの発生を通知する。エラー判別手段169は、エラーの発生が通知されたか否かを判断する(ステップB6)。エラー判別手段169がエラーの発生を受け取った場合、処理は終了する。エラーの発生が通知されていない場合、情報分析部106は、学習処理実行制御手段107Aを通じて学習ログ123を取得する。
予測処理生成手段164は、リポジトリ104に登録された予測処理情報113を用いて、予測内容を生成する(ステップB7)。予測処理生成手段164は、ステップB7では、保有情報検索・取得手段161に、利用者がステップB1で選択したAIエンジン及びアルゴリズムに対応する予測処理情報113の取得を依頼する。保有情報検索・取得手段161は、AIエンジン及びアルゴリズム名をキーに、対応する予測処理情報113のレコードを取得し、予測処理生成手段164に返却する。また、予測処理生成手段164は、保有情報検索・取得手段161を通じて、基本情報110に含まれる予測用データ119の配置先情報、及びハイパーパラメータファイル121の配置先情報を取得する。予測処理生成手段164は、予測処理情報113のレコードと、予測用データ及びハイパーパラメータファイルの配置先情報とを用いて、AIエンジン109に予測処理を実行させるためのコマンドラインを生成する。また、予測処理生成手段164は、予測処理情報113のレコードと、目的・説明変数情報120とに基づいて、AIエンジン実行プログラム127を生成する。予測処理生成手段164は、出力装置102のファイル出力手段102Bを通じて、AIエンジン109を実行する装置にAIエンジン実行プログラム127を配置する。このとき、AIエンジン実行プログラム127は、ステップB4で作成されたAIエンジン実行プログラムとは別名称のプログラムとして配置される。
外部システム制御部107の予測処理実行制御手段107Bは、ステップB7で生成された予測内容に従って、AIエンジン109において予測処理を実行させる(ステップB8)。予測処理実行制御手段107Bは、ステップB8では、AIエンジン109を実行する装置上で、ステップB7で生成されたコマンドラインを実行することで、AIエンジン109にAIエンジン実行プログラム127の実行を開始させる。つまり、予測処理実行制御手段107Bは、AIエンジン109に予測処理を実行させる。AIエンジン109は、予測処理では、学習処理で構築された分析モデル122を予測用データ119に適用する。
エラー判断手段107Cは、予測処理の実行時に、AIエンジン109においてエラーが発生したか否かを判断する。エラー判別手段169は、例えば、基本情報110に含まれる予測ログの格納先情報で示される場所に予測ログ124が格納されていない場合、AIエンジン109においてエラーが発生したと判断する。エラー判断手段107Cは、エラーが発生したと判断した場合、情報分析部106のエラー判別手段169にエラーの発生を通知する。エラー判別手段169は、エラーの発生が通知されたか否かを判断する(ステップB9)。エラー判別手段169がエラーの発生を受け取った場合、処理は終了する。エラーの発生が通知されていない場合、情報分析部106は、予測処理実行制御手段107Bを通じて予測ログ124を取得する。
ログ加工処理手段165は、リポジトリ104に登録されたログ加工情報114に基づいて、学習ログ123及び予測ログ124を加工し、学習ログ加工データ125及び予測ログ加工データ126を生成する(ステップB10)。ログ加工処理手段165は、ステップB10では、保有情報検索・取得手段161に、ステップB1で選択されたAIエンジン及びアルゴリズムに対応するログ加工情報114の取得を依頼する。保有情報検索・取得手段161は、AIエンジン及びアルゴリズム名をキーにログ加工情報114のレコードを取得し、ログ加工処理手段165に返却する。ログ加工処理手段165は、例えば、ログ加工情報114の学習ログ加工テーブル#14-2(図9を参照)の「入力元」の変数の値を「変換処理」に従って変換し、「出力先」の変数の値とする。また、ログ加工処理手段165は、例えば、ログ加工情報114の予測ログ加工テーブル#14-3の「入力元」の変数の値を「変換処理」に従って変換し、「出力先」の変数の値とする。
ログフォーマット確認手段166は、リポジトリ104に登録されたログ加工フォーマット情報115に基づいて、学習ログ加工データ125及び予測ログ加工データ126のフォーマットをチェックする(ステップB11)。ログフォーマット確認手段166は、ステップB11では、保有情報検索・取得手段161に、ステップB1で選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応するログ加工フォーマット情報115の取得を依頼する。保有情報検索・取得手段161は、まず、AIエンジン及びアルゴリズム名をキーに基本情報110を検索し、データ分析手法を特定する。次いで、保有情報検索・取得手段161は、特定したデータ分析手法の名称をキーにログ加工フォーマット情報115のレコードを取得し、ログフォーマット確認手段166に返却する。ログフォーマット確認手段166は、例えば、学習ログ加工データ125において、学習ログ加工データフォーマット#15-2(図10を参照)の「項目名」で示される変数の値が、「データ形式」に適合しているか否かをチェックする。また、ログフォーマット確認手段166は、例えば、予測ログ加工データ126において、予測ログ加工データフォーマット#15-3の「項目名」で示される変数の値が、「データ形式」に適合しているか否かをチェックする。
ログフォーマット確認手段166は、チェックの結果、学習ログ加工データ125又は予測ログ加工データ126が、ログ加工フォーマット情報115のデータ形式に適合していないと判断した場合、エラーが発生した旨をエラー判別手段169に出力する。エラー判別手段169は、ログフォーマット確認手段166からエラーが通知されたか否かを判断する(ステップB12)。エラー判別手段169がエラーの発生を受け取った場合、処理は終了する。
ステップB12においてエラーの発生が通知されていないと判断された場合、AIエンジン実行履歴登録手段168は、AIエンジン実行履歴117に、学習ログ加工データ125及び予測ログ加工データ126を登録する(ステップB13)。このとき、AIエンジン実行履歴登録手段168は、AIエンジン及びアルゴリズム名と、学習ログ加工データ125及び予測ログ加工データ126とを対応付けて、AIエンジン実行履歴117に登録する。ここまでの処理で、1つのAIエンジン及びアルゴリズムに対するAIエンジンの実行が終了する。
続いて分析結果を確認する手順(AI実行支援方法)を説明する。図16は、分析結果を確認する際の動作手順を示す。分析結果の確認は、AIエンジン実行処理と同様に、専門知識を持たないシステムエンジニアなどが実施する。利用者は、ステップB1~B13(図15を参照)で示されるAIエンジン実行処理を実施する(ステップC1)。利用者は、更なるAIエンジン実行が必要か否かを判断する(ステップC2)。利用者は、更なるAIエンジン実行が必要と判断した場合、ステップC1に戻り、次のAIエンジン及びアルゴリズムで、AIエンジン実行処理を実施する。利用者は、AIエンジン実行処理では、同じデータ分析手法に属するAIエンジン及びアルゴリズムを選択する。利用者は、ステップC2において更なるAIエンジン実行が必要ないと判断するまで、ステップC1を繰り返し実行する。AIエンジン実行履歴117には、AIエンジン実行処理が実施されるたびに、学習ログ加工データ125及び予測ログ加工データ126が、AIエンジン及びアルゴリズム名と対応付けて登録される。
例えば、利用者は、ステップC2において更なるAIエンジン実行が必要ないと判断すると、処理装置103に結果分析処理の開始を指示する。結果分析処理手段167は、AIエンジン実行履歴117と結果分析処理情報116とに基づいて、結果分析処理を行う(ステップC3)。結果分析処理手段167は、ステップC3では、AIエンジン実行処理において選択されたAIエンジン及びアルゴリズムが属するデータ分析手法を特定する。結果分析処理手段167は、保有情報検索・取得手段161を通じて、リポジトリ104から、特定したデータ分析手法に対応する結果分析処理情報116を取得する。また、結果分析処理手段167は、保有情報検索・取得手段161を通じて、AIエンジン実行履歴117から、ステップC1において用いられたAIエンジン及びアルゴリズムに対応する学習ログ加工データ125及び予測ログ加工データ126を取得する。結果分析処理手段167は、結果分析処理情報116、学習ログ加工データ125、及び予測ログ加工データ126に基づいて結果分析処理を行い、分析結果を作成する。
図17は、ステップC3において作成される分析結果の例を示す。ここでは、データ分析手法「クラス分類」について、AIエンジン実行処理が計3回実施された場合を考える。試行回数「1」及び「2」では、AIエンジン「scikit-learn」のアルゴリズム「Decision tree」が用いられ、試行回数「3」では、AIエンジン「PyTorch」が用いられたとする。結果分析処理手段167は、データが統一された学習ログ加工データ125及び予測ログ加工データ126を用いて、各回のAIエンジン実行処理における学習時正解率及び予測時正解率を計算する。また、結果分析処理情報116を用いて、学習時正解率と予測時正解率との差異を算出し、また、過学習判定を行う。
結果分析処理手段167は、例えば、学習時正解率、予測時正解率、学習時と予測時の正解率の差異、及び過学習判定の結果を、テーブル形式でまとめた分析結果を作成する。システムエンジニアなどの専門知識を有しない利用者は、分析結果を参照することで、例えばAIエンジン「scikit-learn」のアルゴリズム「Decision tree」では過学習が発生することを知ることができる。また、利用者は、自身が希望する機械学習では、AIエンジン「PyTorch」を用いることで、よい分析モデルが作成できることを確認できる。
図16に戻り、利用者は、処理装置103に汎化性能の確認を指示することができる。汎化性能判定手段170は、AIエンジン実行履歴117と汎化性能情報128とに基づいて、汎化性能確認処理を行う(ステップC4)。汎化性能判定手段170は、ステップC4では、AIエンジン実行処理において選択されたAIエンジン及びアルゴリズムが属するデータ分析手法を特定する。汎化性能判定手段170は、保有情報検索・取得手段161を通じて、リポジトリ104から、特定したデータ分析手法に対応する汎化性能情報128を取得する。また、汎化性能判定手段170は、保有情報検索・取得手段161を通じて、AIエンジン実行履歴117から、ステップC1において用いられたAIエンジン及びアルゴリズムに対応する学習ログ加工データ125及び予測ログ加工データ126を取得する。汎化性能判定手段170は、汎化性能情報128、学習ログ加工データ125、及び予測ログ加工データ126に基づいて汎化性能確認を行い、汎化性能を確認するためのグラフを作成する。
図18は、汎化性能確認において作成されるグラフの一例(学習曲線)を示す。このグラフにおいて、横軸は学習時に分析モデルの構築に用いられた学習用データのサンプル数(学習サンプル数)を表し、縦軸は学習時及び予測時の分析モデルの性能示す任意の指標を表す。図18では、任意の指標として、精度(正解率)が用いられる例が示されている。図18において、グラフAは、学習ログ加工データ125から算出された精度(学習時精度)を表す。グラフBは、予測ログ加工データ126から算出された精度(予測時精度)を表す。
ここで、学習ログ加工データ125には、学習サンプルの数を変化させて分析モデル122を作成した場合のデータが含まれている。例えば、学習処理生成手段163は、学習用データ118のレコード数をN分割し、i/Nのデータ点数で学習を行って分析モデル122を生成するAIエンジン実行プログラム127を生成する。ここで、Nは2以上の任意の整数、iは1からNまでの間で変化する整数であるとする。AIエンジン109は、そのようなAIエンジン実行プログラム127を実行し、i/Nのデータ点数の学習で生成された各分析モデル122の学習結果を含む学習ログ123を生成する。そのような学習ログ123を加工した学習ログ加工データ125を用いることで、学習時の正解率が学習サンプル数に対してどのように変化するかをグラフ化できる。
また、予測ログ加工データ126には、学習サンプルの数を変化させて生成された分析モデル122に予測用データ119を適用した場合のデータが含まれている。例えば、予測処理生成手段164は、i/Nのデータ点数で学習を行って生成された分析モデル122のそれぞれに予測用データ119を適用するAIエンジン実行プログラム127を生成する。AIエンジン109は、そのようなAIエンジン実行プログラム127を実行し、i/Nのデータ点数の学習で生成された各分析モデル122の予測結果を含む予測ログ124を生成する。そのような予測ログ124を加工した予測ログ加工データ126を用いることで、予測時の正解率が、学習時の学習サンプル数に対してどのように変化するかをグラフ化できる。
汎化性能判定手段170は、図18に示すグラフと、汎化性能情報128に含まれる「チェック内容」(図12を参照)を表示する。そのようにすることで、利用者は、表示されたグラフを、「チェック内容」に記述された内容に従ってチェックすることができる。
図19(a)~(c)は、よい学習状態、未学習状態、及び過学習状態の場合の学習曲線を示す。これらグラフにおいて、横軸は学習サンプル数を表し、縦軸は学習時及び予測時の分析モデルの任意の性能指標を表す。図19(a)~(c)では、任意の性能指標として、精度(正解率)が用いられている。図19(a)~(c)において、グラフAは、学習ログ加工データ125から算出された精度(学習時精度)を表す。グラフBは、予測ログ加工データ126から算出された精度(予測時精度)を表す。
図19(a)は、よい学習状態の場合における学習サンプル数と学習時及び予測時の正解率との関係を示す。よい学習状態の場合、学習時の正解率(グラフA)は所望の正解率を超えており、かつ、学習時の正解率(グラフA)と予測時の正解率(グラフB)との差があまり大きくない。このような状態の場合、分析モデルは高い汎化性能を有すると判断できる。
図19(b)は、未学習の状態の場合の学習サンプル数と学習時及び予測時の正解率との関係を示す。未学習の状態の場合、学習時の正解率(グラフA)と予測時の正解率(グラフB)との差に着目すると、よい学習状態の場合と同様に、差があまり大きくない。しかしながら、学習時の正解率(グラフA)及び予測時の正解率(グラフB)は、共に所望の正解率に到達していない。利用者は、汎化性能情報128の未学習情報#28-2のチェック内容「両方の指標値が目標としている精度に達しているか」に従ってグラフをチェックすることで、未学習状態の発生の有無を判断できる。
図19(c)は、過学習の状態の場合の学習サンプル数と学習時及び予測時の正解率との関係を示す。過学習の状態の場合、よい学習状態の場合と同様に、学習時の正解率(グラフA)は所望の正解率を超えている。しかしながら、学習時の正解率(グラフA)と予測時の正解率(グラフB)との差が大きい。利用者は、汎化性能情報128の過学習情報#28-3の学習曲線のチェック内容「学習ログ加工データの指標値と予測ログ加工データの指標値がしきい値より離れていないか」に従ってグラフをチェックすることで、過学習状態の発生の有無を判断できる。
図20は、汎化性能確認において作成されるグラフの別の例(検証曲線)を示す。このグラフにおいて、横軸はCパラメータやEpoch数などのハイパーパラメータを表し、縦軸は学習時及び予測時の分析モデルの性能示す任意の指標を表す。図20では、任意の指標として、精度(正解率)を用いている。図20において、グラフAは、学習ログ加工データ125から算出された精度(学習時精度)を表す。グラフBは、予測ログ加工データ126から算出された精度(予測時精度)を表す。
ハイパーパラメータを変更した学習処理、及びその学習処理で得られた分析モデルを用いた予測処理は、例えば下記のように実施される。有識者は、図14に示される情報登録において、ハイパーパラメータの範囲指定を含むハイパーパラメータ情報111を登録する。学習処理生成手段163は、ハイパーパラメータが範囲指定を含む場合、その範囲指定ないでハイパーパラメータを変化させたAIエンジン実行プログラム127を生成する。例えば、ハイパーパラメータ情報に、1~5の範囲が指定され、かつ変化幅が「1」である旨が含まれていた場合、学習処理生成手段163は、ハイパーパラメータの値を、1、2、3、4、及び5としたAIエンジン実行プログラムをそれぞれ生成する。AIエンジン109は、それらAIエンジン実行プログラム127を実行し、異なるハイパーパラメータの値で学習された各分析モデル122の学習結果を含む学習ログ123を生成する。そのような学習ログ123を加工した学習ログ加工データ125を用いることで、学習時の正解率がハイパーパラメータの値に対してどのように変化するかをグラフ化できる。
予測処理については、予測処理生成手段164は、異なるハイパーパラメータの値で学習された各分析モデル122のそれぞれに予測用データ119を適用するAIエンジン実行プログラム127を生成する。AIエンジン109は、そのようなAIエンジン実行プログラム127を実行し、異なるハイパーパラメータの値で学習された各分析モデル122の予測結果を含む予測ログ124を生成する。そのような予測ログ124を加工した予測ログ加工データ126を用いることで、予測時の正解率が学習時のハイパーパラメータの値に対してどのように変化するかをグラフ化できる。
汎化性能判定手段170は、図20に示すグラフと、汎化性能情報128に含まれる過学習判定情報#28-3のチェック内容「学習ログ加工データの指標値と予測ログ加工データの指標値が最も近い箇所はどこか」を表示する。そのようにすることで、利用者は、どのハイパーパラメータの値が適切かを知ることができる。
本実施形態では、処理装置103は、ハイパーパラメータ情報111、学習処理情報112、及び予測処理情報113を用いて、ハイパーパラメータファイル121、及びAIエンジン実行プログラム127を生成し、AIエンジン109に与える。本実施形態では、専門知識を有する登録者が、ハイパーパラメータ情報111、学習処理情報112、及び予測処理情報113を事前にリポジトリ104に登録する。この場合、利用者は、AIエンジン及びアルゴリズムを選択することで、機械学習を利用できる。このように、本実施形態では、実行インターフェースやハイパーパラメータ設定を隠蔽したAIエンジン実行が可能ある。
また、本実施形態では、情報分析部106に含まれるログ加工処理手段165(図13を参照)は、学習ログ123及び予測ログ124を、ログ加工情報114に従って加工し、学習ログ加工データ125及び予測ログ加工データ126を生成する。AIエンジン109から得られる学習ログ123及び予測ログ124は、AIエンジン及びアルゴリズムごとにフォーマットが異なり得る。本実施形態では、ログ加工情報114を用いることで、学習ログ123及び予測ログ124を、データ分析手法単位で統一のフォーマットの学習ログ加工データ125及び予測ログ加工データ126に変換することができる。
本実施形態では、結果分析処理手段167は、選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する結果分析処理情報116と、学習ログ加工データ125及び予測ログ加工データ126とに基づいて、分析情報を生成する。本実施形態では、事前に専門知識を有する登録者が登録した結果分析処理情報116を用いることで、学習の結果として得られた分析モデル122の良し悪しに関する指標を含む分析情報を、利用者に理解可能な形式で出力できる。このため、利用者は、データマイニングに関する専門知識をベースとした指標選定と算出作業とを実施することなく、分析モデル122の良し悪しを判断することができ、所望の性能を達成できる分析モデル122が得られたか否かを判断できる。
また、本実施形態では、結果分析処理手段167は、学習ログ加工データ125及び予測ログ加工データ126から、データ分析手法ごとに統一の分析情報を生成する。このため、本実施形態では、例えば同じデータ分析手法に属する複数のAIエンジン及びアルゴリズムを用いた学習に対して、データ分析手法ごとに同じ基準で作成された、機械学習の分析結果を得ることができる。従って、本実施形態では、同じデータ分析手法に属する複数のAIエンジン及びアルゴリズムの間で、同じ基準を用いて分析モデル122の良し悪しを比較することができる。本実施形態では、利用者は、所望の性能を達成できるAIエンジン及びアルゴリズムを選択することで、分析目的に適したAIエンジン及びアルゴリズムで機械学習を行うことができる。このように、本実施形態では、AIエンジンに関する習熟コストや分析結果の評価コストを低減しつつ、専門知識を持たないシステムエンジニアなど利用者でもAIエンジンを活用することができる。
また、本実施形態では、汎化性能判定手段170は、データ分析手法に対応する汎化性能情報128と、学習ログ加工データ125及び予測ログ加工データ126とに基づいて、学習曲線や検証曲線などのグラフを生成する。汎化性能判定手段170を用いることで、利用者は、分析モデル122の良し悪しについての指標値だけでなく、汎化性能の面からも、適切によい分析モデルを選択することが可能となる。
なお、上記実施形態では、図15のステップB1において、利用者が、AIエンジン及びアルゴリズムを選択する例を説明したが、これには限定されない。例えば利用者がデータ分析手法を指定した場合、処理装置103が、基本情報110を参照して指定されたデータ分析手法に対応するAIエンジン及びアルゴリズムのうちの1つを選択することとしてもよい。また、処理装置103は、同じデータ分析手法に属するAIエンジン及びアルゴリズムを1つずつ選択しながら、複数のAIエンジン及びアルゴリズムで機械学習を実行させてもよい。
上記実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、CD(compact disc)、又はDVD(digital versatile disk)などの光ディスク媒体、及び、マスクROM(read only memory)、PROM(programmable ROM)、EPROM(erasable PROM)、フラッシュROM、又はRAM(random access memory)などの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
学習に用いるAI(artificial intelligence)エンジン及びアルゴリズムが選択された場合、学習データに基づいて、前記選択されたAIエンジンに、前記選択されたアルゴリズムで学習を実行させ、前記学習の学習ログを取得する学習処理実行制御手段と、
予測データに基づいて、前記AIエンジンに前記学習の結果を用いた予測を実行させ、前記予測の予測ログを取得する予測処理実行制御手段と、
前記AIエンジン及び前記アルゴリズムと、前記学習ログに含まれる変数の変換処理とを対応付けて記憶する学習ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記学習ログを加工し、学習ログ加工データを生成する学習ログ加工手段と、
前記AIエンジン及び前記アルゴリズムと、前記予測ログに含まれる変数の変換処理とを対応付けて記憶する予測ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記予測ログを加工し、予測ログ加工データを生成する予測ログ加工手段と、
前記AIエンジン及びアルゴリズムが属するデータ分析手法と、前記学習の結果を分析するための結果分析処理の内容とを対応付けて記憶する結果分析処理情報を参照し、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する結果分析処理の内容と、前記学習ログ加工データ及び前記予測ログ加工データとに基づいて、分析情報を生成する結果分析処理手段とを備えるAI実行支援装置。
[付記2]
前記学習ログ加工情報は、前記学習ログにおける変数と、前記データ分析手法ごとに統一の学習ログ統一変数と、前記学習ログにおける変数の値を前記学習ログ統一変数の値の変換するための変換規則とを含み、
前記予測ログ加工情報は、前記予測ログにおける変数と、前記データ分析手法ごとに統一の予測ログ統一変数と、前記予測ログにおける変数の値を前記予測ログ統一変数の値の変換するための変換規則とを含む、付記1に記載のAI実行支援装置。
[付記3]
前記データ分析手法と、前記学習ログ統一変数のフォーマット及び前記予測ログ統一変数のフォーマットとをそれぞれ対応付けて記憶するログ加工フォーマット情報を参照し、前記学習ログ加工データに含まれる学習ログ統一変数のフォーマットが、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する学習ログ統一変数のフォーマットに適合するか否かをチェックし、前記予測ログ加工データに含まれる予測ログ統一変数のフォーマットが、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する予測ログ統一変数のフォーマットに適合するか否かをチェックするログフォーマット確認手段を更に有する付記2に記載のAI実行支援装置。
[付記4]
前記選択されたAIエンジン及びアルゴリズムと、前記学習ログ加工データ及び予測ログ加工データとを対応付けてAIエンジン実行履歴に登録するAIエンジン実行履歴登録手段を更に有し、
前記結果分析処理手段は、前記AIエンジン実行履歴から前記学習ログ加工データ及び予測ログ加工データを取得する付記1から3何れか1つに記載のAI実行支援装置。
[付記5]
前記結果分析処理手段は、前記AIエンジン実行履歴から、属するデータ分析手法が同じ複数のAIエンジン及びアルゴリズムに対応付けて記憶された複数の学習ログ加工データ及び予測ログ加工データを取得し、前記複数のAIエンジン及びアルゴリズムのそれぞれについて前記分析情報を生成する付記4に記載のAI実行支援装置。
[付記6]
前記結果分析処理手段は、前記AIエンジン及びアルゴリズムごとに生成された前記分析情報を一覧形式で出力する付記5に記載のAI実行支援装置。
[付記7]
前記データ分析手法と、未学習判定及び過学習判定に用いられるグラフと該グラフの出力方法とを対応付けて記憶する汎化性能情報を参照し、前記学習ログ加工データ及び前記予測ログ加工データと、前記選択されたAIエンジン及びアルゴリズムに対応して記憶されるグラフの出力方法とに基づいてグラフを作成し、出力する汎化性能判定手段を更に有する付記1から6何れか1つに記載のAI実行支援装置。
[付記8]
前記汎化性能情報は、前記グラフにおけるチェック内容、及び未学習又は過学習と判断された場合の対処を含み、
前記汎化性能判定手段は、前記チェック内容及び対処の少なくとも一方を更に出力する付記7に記載のAI実行支援装置。
[付記9]
前記AIエンジン及び前記アルゴリズムと、前記AIエンジン及び前記アルゴリズムを用いた学習で使用されるハイパーパラメータの情報とを対応付けて記憶するハイパーパラメータ情報に基づいて、前記学習で使用されるハイパーパラメータを生成し、前記AIエンジンに与えるハイパーパラメータ生成手段を更に有する付記1から8何れか1つに記載のAI実行支援装置。
[付記10]
前記AIエンジン及び前記アルゴリズムと、前記AIエンジン及び前記アルゴリズムを用いた学習を実施するためのプログラムを含む情報とを対応付けて記憶する学習処理情報に基づいて、前記選択されたAIエンジン及びアルゴリズムを用いた学習を実施させるための学習処理プログラムを生成する学習処理生成手段と、
前記AIエンジン及び前記アルゴリズムと、前記AIエンジン及び前記アルゴリズムを用いた学習で生成された分析モデルを使用した予測を実施するためのプログラムを含む情報とを対応付けて記憶する予測処理情報に基づいて、前記選択されたAIエンジン及びアルゴリズムを用いた学習で生成された分析モデルを使用した予測を実施させるための予測処理プログラムを生成する予測処理生成手段とを更に有し、
前記学習処理実行制御手段は、前記学習処理生成手段が生成した学習処理プログラムを前記AIエンジンに実行させることで、前記AIエンジンに前記学習を実行させ、
前記予測処理実行制御手段は、前記予測処理生成手段が生成した予測処理プログラムを前記AIエンジンに実行させることで、前記AIエンジンに前記予測を実行させる付記1から9何れか1つに記載のAI実行支援装置。
[付記11]
前記学習処理情報は、更に、前記AIエンジン及び前記アルゴリズムと、前記学習処理プログラムを前記AIエンジンに実行させるコマンドラインを生成するための情報とを対応付けて記憶し、
前記学習処理生成手段は、更に、前記学習処理情報から、前記選択されたAIエンジン及びアルゴリズムに対応するコマンドラインを生成するための情報を取得し、該取得した情報を用いて前記AIエンジンに実行させる学習処理コマンドラインを生成し、
前記学習処理実行制御手段は、前記学習処理コマンドラインを実行することで、前記AIエンジンに前記学習処理プログラムの実行を開始させる付記10に記載のAI実行支援装置。
[付記12]
前記予測処理情報は、更に、前記AIエンジン及び前記アルゴリズムと、前記予測処理プログラムを前記AIエンジンに実行させるコマンドラインを生成するための情報とを対応付けて記憶し、
前記予測処理生成手段は、更に、前記予測処理情報から、前記選択されたAIエンジン及びアルゴリズムに対応するコマンドラインを生成するための情報を取得し、該取得した情報を用いて前記AIエンジンに実行させる予測処理コマンドラインを生成し、
前記予測処理実行制御手段は、前記予測処理コマンドラインを実行することで、前記AIエンジンに前記予測処理プログラムの実行を開始させる付記10又は11に記載のAI実行支援装置。
[付記13]
前記結果分析処理手段は、前記データ分析手法と、前記AIエンジン及び前記アルゴリズムとの対応関係を示すデータ分析手法・AIエンジンマップを含む基本情報を参照し、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法を特定する付記1から12何れか1つに記載のAI実行支援装置。
[付記14]
学習に用いるAI(artificial intelligence)エンジン及びアルゴリズムが選択された場合、学習データに基づいて、前記選択されたAIエンジンに、前記選択されたアルゴリズムで学習を実行させ、
前記学習の学習ログを取得し、
予測データに基づいて、前記AIエンジンに前記学習の結果を用いた予測を実行させ、
前記予測の予測ログを取得し、
前記AIエンジン及び前記アルゴリズムと、前記学習ログに含まれる変数の変換処理とを対応付けて記憶する学習ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記学習ログを加工して学習ログ加工データを生成し、
前記AIエンジン及び前記アルゴリズムと、前記予測ログに含まれる変数の変換処理とを対応付けて記憶する予測ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記予測ログを加工して予測ログ加工データを生成し、
前記AIエンジン及びアルゴリズムが属するデータ分析手法と、前記学習の結果を分析するための結果分析処理の内容とを対応付けて記憶する結果分析処理情報を参照し、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する結果分析処理の内容と、前記学習ログ加工データ及び前記予測ログ加工データとに基づいて、分析情報を生成するAI実行支援方法。
[付記15]
学習に用いるAI(artificial intelligence)エンジン及びアルゴリズムが選択された場合、学習データに基づいて、前記選択されたAIエンジンに、前記選択されたアルゴリズムで学習を実行させ、
前記学習の学習ログを取得し、
予測データに基づいて、前記AIエンジンに前記学習の結果を用いた予測を実行させ、
前記予測の予測ログを取得し、
前記AIエンジン及び前記アルゴリズムと、前記学習ログに含まれる変数の変換処理とを対応付けて記憶する学習ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記学習ログを加工して学習ログ加工データを生成し、
前記AIエンジン及び前記アルゴリズムと、前記予測ログに含まれる変数の変換処理とを対応付けて記憶する予測ログ加工情報を参照し、前記選択されたAIエンジン及びアルゴリズムに対応して記憶された変換処理に従って前記予測ログを加工して予測ログ加工データを生成し、
前記AIエンジン及びアルゴリズムが属するデータ分析手法と、前記学習の結果を分析するための結果分析処理の内容とを対応付けて記憶する結果分析処理情報を参照し、前記選択されたAIエンジン及びアルゴリズムが属するデータ分析手法に対応する結果分析処理の内容と、前記学習ログ加工データ及び前記予測ログ加工データとに基づいて、分析情報を生成するための処理をコンピュータに実行させるためのプログラム。