IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-127186ドメイン知識活用システム、ドメイン知識活用方法及びドメイン知識活用プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023127186
(43)【公開日】2023-09-13
(54)【発明の名称】ドメイン知識活用システム、ドメイン知識活用方法及びドメイン知識活用プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230906BHJP
   G06Q 10/04 20230101ALI20230906BHJP
   G06N 5/022 20230101ALI20230906BHJP
   G06N 3/08 20230101ALI20230906BHJP
【FI】
G06N20/00
G06Q10/04
G06N5/02 120
G06N3/08
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022030811
(22)【出願日】2022-03-01
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】堀脇 一樹
(72)【発明者】
【氏名】武藤 和夫
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
【課題】得られる学習データが少ない場合においても、対象とする系のドメイン知識を機械学習に活用し、高精度な予測モデルを構築可能なシステムを提供する。
【解決手段】グラフにより記述されたドメイン知識を予測モデルの構築及び学習に活用する活用アルゴリズムが選択可能なドメイン知識活用システムであって、アルゴリズム選択部で選択可能な活用アルゴリズムとして、予測モデルの説明変数としてグラフから導出される特徴量を使用する第1の活用アルゴリズム、予測モデルの説明変数間の関係性にグラフのノード間の関係性を適用する第2の活用アルゴリズム、及び予測モデルの学習条件にグラフのノードの定義を適用する第3の活用アルゴリズムのうち、少なくとも1つ以上を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
対象とする系についてのドメイン知識を、ノードとノード間の関係性を示すエッジにより構成されるグラフにおけるノードまたはエッジの定義として記述するグラフ記述部と、
前記対象とする系について、説明変数から目的変数を予測する予測モデルの構築及び学習を行うモデル構築部と、
前記グラフにより記述されたドメイン知識を前記予測モデルの構築及び学習に活用する活用アルゴリズムが選択されるアルゴリズム選択部とを有し、
前記アルゴリズム選択部で選択可能な活用アルゴリズムとして、前記予測モデルの説明変数として前記グラフから導出される特徴量を使用する第1の活用アルゴリズム、前記予測モデルの説明変数間の関係性に前記グラフのノード間の関係性を適用する第2の活用アルゴリズム、及び前記予測モデルの学習条件に前記グラフのノードの定義を適用する第3の活用アルゴリズムのうち、少なくとも1つ以上を含むことを特徴とするドメイン知識活用システム。
【請求項2】
請求項1において、
前記グラフ記述部により記述された前記グラフのノード及びエッジの定義をグラフデータとして記憶するグラフ記憶部と、
前記グラフにおけるノードに紐づけられた前記対象とする系のデータを対象データとして記憶するデータ記憶部とを有し、
前記予測モデルの説明変数として、前記対象データのデータ項目を含むことを特徴とするドメイン知識活用システム。
【請求項3】
請求項2において、
前記アルゴリズム選択部により選択された活用アルゴリズムに応じて、前記グラフ記憶部に記憶された前記グラフデータ及び/または前記データ記憶部に記憶された前記対象データの前処理を行うアルゴリズム処理部を有し、
前記アルゴリズム選択部により前記第1の活用アルゴリズムが選択された場合には、前記アルゴリズム処理部は、前記グラフデータ及び前記対象データを用いて前記グラフの潜在変数を、前記特徴量として抽出することを特徴とするドメイン知識活用システム。
【請求項4】
請求項1において、
前記グラフのノードとして、前記対象とする系から観測可能なデータ項目を表現する観測変数ノード、前記対象とする系で制御項目として使用されているデータ項目を表現する観測変数ノード、前記対象とする系の外乱を表現する外乱ノード、及び前記対象とする系内でノード間の関係性を表現するブロックノードを含むことを特徴とするドメイン知識活用システム。
【請求項5】
対象とする系についてのドメイン知識を、ノードとノード間の関係性を示すエッジにより構成されるグラフにおけるノードまたはエッジの定義として記述する第1のステップと、
前記対象とする系について、説明変数から目的変数を予測する予測モデルの構築及び学習を行う第2のステップと、
前記グラフにより記述されたドメイン知識を前記予測モデルの構築及び学習に活用する活用アルゴリズムが選択される第3のステップとを有し、
前記第3のステップで選択可能な活用アルゴリズムとして、前記予測モデルの説明変数として前記グラフから導出される特徴量を使用する第1の活用アルゴリズム、前記予測モデルの説明変数間の関係性に前記グラフのノード間の関係性を適用する第2の活用アルゴリズム、及び前記予測モデルの学習条件に前記グラフのノードの定義を適用する第3の活用アルゴリズムのうち、少なくとも1つ以上を含むことを特徴とするドメイン知識活用方法。
【請求項6】
請求項5において、
前記第1のステップにより記述された前記グラフのノード及びエッジの定義をグラフデータとして記憶し、
前記グラフにおけるノードに紐づけられた前記対象とする系のデータを対象データとして記憶し、
前記予測モデルの説明変数として、前記対象データのデータ項目を含むことを特徴とするドメイン知識活用方法。
【請求項7】
請求項6において、
前記第3のステップで選択された活用アルゴリズムに応じて、前記グラフデータ及び/または前記対象データの前処理を行う第4のステップを有し、
前記第3のステップで前記第1の活用アルゴリズムが選択された場合には、前記第4のステップにおいて、前記グラフデータ及び前記対象データを用いて前記グラフの潜在変数を、前記特徴量として抽出することを特徴とするドメイン知識活用方法。
【請求項8】
請求項5において、
前記グラフのノードとして、前記対象とする系から観測可能なデータ項目を表現する観測変数ノード、前記対象とする系で制御項目として使用されているデータ項目を表現する観測変数ノード、前記対象とする系の外乱を表現する外乱ノード、及び前記対象とする系内でノード間の関係性を表現するブロックノードを含むことを特徴とするドメイン知識活用方法。
【請求項9】
対象とする系についてのドメイン知識を、ノードとノード間の関係性を示すエッジにより構成されるグラフにおけるノードまたはエッジの定義として記述する第1の手順と、
前記対象とする系について、説明変数から目的変数を予測する予測モデルの構築及び学習を行う第2の手順と、
前記グラフにより記述されたドメイン知識を前記予測モデルの構築及び学習に活用する活用アルゴリズムが選択される第3の手順とを計算機に実行させ、
前記第3の手順で選択可能な活用アルゴリズムとして、前記予測モデルの説明変数として前記グラフから導出される特徴量を使用する第1の活用アルゴリズム、前記予測モデルの説明変数間の関係性に前記グラフのノード間の関係性を適用する第2の活用アルゴリズム、及び前記予測モデルの学習条件に前記グラフのノードの定義を適用する第3の活用アルゴリズムのうち、少なくとも1つ以上を含むことを特徴とするドメイン知識活用プログラム。
【請求項10】
請求項9において、
前記第1の手順により記述された前記グラフのノード及びエッジの定義をグラフデータとして記憶し、
前記グラフにおけるノードに紐づけられた前記対象とする系のデータを対象データとして記憶し、
前記予測モデルの説明変数として、前記対象データのデータ項目を含むことを特徴とするドメイン知識活用プログラム。
【請求項11】
請求項10において、
前記第3の手順で選択された活用アルゴリズムに応じて、前記グラフデータ及び/または前記対象データの前処理を行う第4の手順を前記計算機に実行させ、
前記第3の手順で前記第1の活用アルゴリズムが選択された場合には、前記第4の手順において、前記グラフデータ及び前記対象データを用いて前記グラフの潜在変数を、前記特徴量として抽出することを特徴とするドメイン知識活用プログラム。
【請求項12】
請求項9において、
前記グラフのノードとして、前記対象とする系から観測可能なデータ項目を表現する観測変数ノード、前記対象とする系で制御項目として使用されているデータ項目を表現する観測変数ノード、前記対象とする系の外乱を表現する外乱ノード、及び前記対象とする系内でノード間の関係性を表現するブロックノードを含むことを特徴とするドメイン知識活用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ドメイン知識活用システム、ドメイン知識活用方法及びドメイン知識活用プログラムに関する。
【背景技術】
【0002】
特開2004-334841号公報(特許文献1)には、電子アンケートなどの形式で個人の経験から得た知識に関する情報を入力し、知識と経験した活動とを関連づけた知識情報をデータベースに蓄積することが開示されている。
【0003】
特開2021-2126号公報(特許文献2)には、製品の設計に関する項目及び項目値を表現したグラフ構造をユーザが描画し、受け付けたグラフ構造に含まれる項目の一部を説明変数とする多次元モデルを学習することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004-334841号公報
【特許文献2】特開2021-2126号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
産業分野では、業務上で重要な場面での意思決定に機械学習が利用されることが期待されている。このためには、予測モデルがより高精度な予測結果を導くことができること、また予測モデルから導き出せる結論が、機械学習が利用される個々の産業分野において知られている分野固有の知識と整合していることが求められる。
【0006】
予測モデルの精度を向上するには、一般に、質の高い大量の学習データにより予測モデルを学習させる必要がある。しかしながら、産業分野では予測モデルの学習に使用できる学習データを取得するコストが高く、学習データの量も限られていることが多い。
【0007】
特許文献1では、データベースに蓄積された情報に基づいて、活動及び知識創造プロセスを2軸とした知識総数の二元表や、知識の伝播状況グラフなどを表示出力するにとどまり、蓄積した知識を機械学習のような予測モデルに活用することについては検討されていない。また、二元表や伝播グラフは特定のデータ項目に関する情報は可視されるが、データ項目間の関連性や制約を顕在化することは難しいと考えられ、これらの表示から産業分野において知られている分野固有の知識と整合しているかどうかの判断も困難である。
【0008】
特許文献2では、ユーザが描画したグラフ構造の項目を多次元モデルの説明変数と目的変数として設定することで、重要性の低い変数を排除できるものの、多次元モデルの予測精度を向上させるにはなお、大量の学習データが必要であると考えられる。
【0009】
本発明は、ユーザが判読可能なグラフという表現形式によりドメイン知識をグラフにおけるノードまたはエッジの定義として記述し、グラフとして記述したドメイン知識を数理表現に変換し、機械学習を行う予測モデルのデータ項目、データ項目についての制約、データ項目間の関係性などに反映させることにより、ドメイン知識を機械学習に反映させるシステム、方法、プログラムを提供する。
【課題を解決するための手段】
【0010】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【0011】
本願は上記課題を解決する手段を複数含んでいるが、その一例をあげるならば、対象とする系についてのドメイン知識を、ノードとノード間の関係性を示すエッジにより構成されるグラフにおけるノードまたはエッジの定義として記述するグラフ記述部と、対象とする系について、説明変数から目的変数を予測する予測モデルの構築及び学習を行うモデル構築部と、グラフにより記述されたドメイン知識を予測モデルの構築及び学習に活用する活用アルゴリズムが選択されるアルゴリズム選択部とを有し、アルゴリズム選択部で選択可能な活用アルゴリズムとして、予測モデルの説明変数としてグラフから導出される特徴量を使用する第1の活用アルゴリズム、予測モデルの説明変数間の関係性にグラフのノード間の関係性を適用する第2の活用アルゴリズム、及び予測モデルの学習条件にグラフのノードの定義を適用する第3の活用アルゴリズムのうち、少なくとも1つ以上を含むことを特徴とするドメイン知識活用システムである。
【発明の効果】
【0012】
得られる学習データが少ない場合においても、対象とする系のドメイン知識を機械学習に活用し、高精度な予測モデルを構築可能なシステムを提供する。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0013】
図1】ドメイン知識活用システムの機能ブロック図である。
図2】グラフ記述画面の例である。
図3】アルゴリズム選択画面の例である。
図4】モデル構築画面の例である。
図5A】モデル結果表示画面の例である。
図5B】モデル詳細表示画面の例である。
図6】モデル管理画面の例である。
図7】機械学習にドメイン知識を活用する全体処理フローを示す図である。
図8】グラフの変換処理フローを示す図である。
図9】活用アルゴリズムの選択処理フローを示す図である。
図10】活用アルゴリズムに応じた前処理フローを示す図である。
図11】予測モデルの構築・評価処理フローを示す図である。
図12】対象データのデータ構造例である。
図13A】エッジデータのデータ構造例である。
図13B】エッジラベルデータのデータ構造例である。
図13C】エッジ重みデータのデータ構造例である。
図13D】ノードデータのデータ構造例である。
図13E】ノード制約データのデータ構造例である。
図13F】ブロックノードデータのデータ構造例である。
図14A】予測モデルデータのデータ構造例である。
図14B】予測モデルの概要図である。
図15】活用アルゴリズムの詳細が登録されるアルゴリズムデータのデータ構造例である。
図16】活用アルゴリズムに応じた前処理結果を管理する管理データのデータ構造例である。
図17A】予測モデルを学習及び評価した結果を管理する管理データのデータ構造例である。
図17B】パラメータファイルのデータ構造例である。
図17C】学習評価ファイルのデータ構造例である。
図18】数理表現形式として解釈したときのグラフデータを示す図である。
図19】変分オートエンコーダを用いる生成モデルの例である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【0015】
図1は、ドメイン知識活用システムの構成例を機能ブロック図により示している。ドメイン知識活用システム1は、一般的な情報処理装置(PCやサーバなどの計算機)で構成でき、ソフトウェアプログラムの実行処理により本実施例の特徴的な処理を実現する。本システムの機能を一台の計算機ではなく、複数のサーバによる分散システムやクラウドに実装することも可能である。
【0016】
ドメイン知識活用システム1は、入出力部11、通信部12、表示部20、制御部30、記憶部40を有している。
【0017】
入出力部11は、ユーザに情報を提示するディスプレイなどの出力装置、ユーザが指示や情報を入力するためのキーボード、マウス、ポインティングデバイスなどの入力装置を含む。後述するグラフィカルユーザインターフェース(GUI)を介して、ユーザとインタラクティブにシステムの処理を実行することを可能にする。
【0018】
通信部12は、ドメイン知識活用システム1の外部の通信網に対する通信インタフェース装置を含み、外部のサーバや製造装置等と通信する。通信部12は、制御部30からの制御に従って、外部のサーバ、ストレージ、制御対象の装置等から、必要なデータ等を取得、参照するために用いられる。
【0019】
表示部20は、各種GUI画面を入出力部11の出力装置に表示する。本システムが使用するGUI画面については後述する。
【0020】
制御部30は、例えばRAMのような主メモリに呼び出された命令(プログラム)をプロセッサ(CPU)が実行することによって、それぞれの機能を実現する。制御部30は、グラフ記述部31、グラフ変換処理部32、グラフ保存部33、アルゴリズム選択部34、アルゴリズム処理部35、アルゴリズム処理結果保存部36、モデル構築部37、モデル評価部38、モデル処理結果保存部39を有し、本実施例の特徴的な機能を実現する処理を実行する。
【0021】
記憶部40は、HDD、SSD、フラッシュメモリなどの不揮発メモリに格納され、本システムに対してアップロードされたデータや本システムの処理において生成されたデータを記憶する。記憶部40は、データ記憶部41、グラフ記憶部42、モデル記憶部43、アルゴリズム記憶部44、アルゴリズム処理記憶部45、モデル処理結果記憶部46を有している。
【0022】
ドメイン知識活用システム1は、ユーザのドメイン知識をグラフとして記述し、グラフとして記述されたドメイン知識を、機械学習による予測モデルの構築及び学習に利用する。
【0023】
図7に沿って、機械学習にドメイン知識を活用する処理フローを説明する。
【0024】
ステップS01:グラフ記述部31により実行される、ドメイン知識をグラフにおけるノードまたはエッジの定義として記述する処理である。
【0025】
本ステップにおいて、ユーザは、自身のもつドメイン知識をグラフという表現形式により記述する。グラフ記述画面表示部21によりページまたはウィンドウとして表示されるグラフ記述画面210の例を図2に示す。グラフ記述画面210には、機械学習モデルにて解くべき課題ごとに割り振られたタスクID211が表示されている。グラフの作成には、主にキャンパス212と呼ばれる、ユーザがグラフを作成する画面と、パレット213と呼ばれる、ユーザがグラフを作成する際に使用するグラフの部品が表示される画面とを使用する。
【0026】
ユーザはまず、キャンパス212において、パレット213から選択した部品を組み合わせてグラフ214を作成する。パレット213に並べられる部品には以下のようなものがある。システムボックス213aは機械学習モデルにて解くべき課題が対象とする系を表現する。観測変数ノード213bは、対象とする系から観測可能なデータ項目を表現する。制御変数ノード213cは、対象とする系で制御項目として使用されているデータ項目を表現する。外乱ノード213dは対象とする系の外乱を表現する。ブロックノード213eは、対象とする系内でノード間の関係性を表現するノードである。エッジ213fは、ノード間の関係性を示す矢印である。パレット213内に、ユーザが各種ノード、エッジの内容や意義を理解しやすいように、簡単な説明文を付してもよい。
【0027】
ユーザはパレット213からアイコン215を用いて部品を選択して、キャンパス212上に移動させて組み合わせることにより、ドメイン知識を記述するグラフ214を作成する。このとき、それぞれのノードの名称(ラベル)または概要を、該当するノードとともに表示することができる。これにより、図2に例示されたグラフ214が金属プレス工程に係るものであることが把握できる。なお、ユーザは常に一からグラフ214を作成するのではなく、グラフアップロードボタン216aを押下してグラフアップロード画面(図示せず)に遷移し、既に作成済みのグラフをアップロードして再利用することも可能である。
【0028】
続いて、ユーザは、キャンパス212上に作成したグラフ214のノードやエッジに対してユーザが保有している当該分野固有の知識に基づく情報を付加する。例えば、グラフ214のいずれかのノードとアップロードしたデータのデータ項目とを紐づける。また、グラフ214のノードがとりうる値についての分布推定や制約等の情報、グラフ214のエッジの属性情報を設定する。属性情報は、エッジで接続されるノード間の関係性を表す情報であり、具体例を後述する。ただし、ユーザがドメイン知識としてグラフ214に付加し得る情報は多様であり、本実施例において例示するものに限定されるものではない。
【0029】
図12は、ノードに対して紐づけられる対象データの例である。図12はデータ記憶部41に記憶されているデータのデータ構造例を示している。データは、グラフ記述画面210のデータアップロードボタン216bを押下することにより遷移するデータアップロード画面(図示せず)からアップロードされてデータ記憶部41に保存される。対象データ410は、データを識別するためのデータID411とテーブルデータ412を有する。この例では、テーブルデータ412は、取得時刻413と取得データ414を有し、取得データ414の各レコードには取得時刻413に示される時刻に取得されたデータ項目それぞれの値が格納されている。
【0030】
図13A~Fを用いて、グラフに付加されるユーザの知識に基づく情報の例について説明する。図13A~Fは、グラフ記憶部42(図1参照)に記憶されているデータのデータ構造例である。詳細は後述するが、ステップS01で作成されたグラフは、後述するステップS02において表形式のデータに変換されて記憶部40のグラフ記憶部42に保存される。図13A~Fは同じ1つのグラフについてのノード及びエッジの定義を保存するグラフデータであって、それぞれグラフを識別するためのグラフID421とテーブルデータ422a~fを有している。
【0031】
図13Aは、エッジデータ420aを示す。エッジデータ420aには、エッジの始点ノード423sと終点ノード423eとの間のエッジの有無が登録されている。始点ノード423sと終点ノード423eとの交点となるフィールドに1が登録されているときにはエッジがある(接続)ことを示し、0が登録されているときにはエッジがない(非接続)ことを示す。エッジデータ420aはグラフ理論における隣接行列である。
【0032】
図13Bは、エッジラベルデータ420bを示す。エッジラベルデータ420bには、エッジの始点ノード423sと終点ノード423eとの間に定義されたエッジのラベル(属性)が登録されている。ラベルは、文字列または数値により定義できる。
【0033】
図13Cは、エッジ重みデータ420cを示す。エッジ重みデータ420cには、エッジの始点ノード423sと終点ノード423eとの間のエッジの重みが登録されている。
【0034】
図13Dは、ノードデータ420dを示す。ノードデータ420dには、グラフに含まれるノードのラベルと分布仮説とが登録されている。ノードのラベルには、例えば対象とする系を観測して得られる観測値と対象とする系を制御するための制御値とを含む。さらにノードのラベルが観測値である場合には、その期待値についてユーザが推定した確率分布情報(分布仮説という)が登録されている。
【0035】
図13Eは、ノード制約データ420eを示す。ノード制約データ420eには、ノードがとりうる値についての制約条件が登録されている。制約条件として、例えば、最大値、最小値などがある。
【0036】
図13Fは、ブロックノードデータ420fを示す。ブロックノードデータ420fは、ブロックノードが表現する、ノード間の関係性を登録する。ブロックID424は、ブロックノードを識別するIDである。関連ノードID425は、当該ブロックノードが関係性を示すノードの組み合わせを、ノードを識別するノードIDにより登録する。この例では、ブロックID1のブロックノードは、ノードID1の始点ノードとノードID2の終点ノードとの間の関係性を登録していることを示している。
【0037】
本実施例では、ノード間の関係性をその関係性に適した形式で表現する。ラベル426は関係性の表現形式を表す。この例では、「方程式」、「IF-THENルール」、「因果関係」といった表現形式を例示している。関係性ID427には、具体的な関係式やルールを識別する関係性IDが登録されている。この例では、ブロックID1のブロックノードは関係性ID E1に規定されている具体的な方程式を用いて関係性が記述されることを示しており、ブロックID3のブロックノードは関係性ID R1に規定されている具体的なIF-THENルールを用いて関係性が記述されることを示している。
【0038】
このように、ステップS01では、GUI画面上でグラフを作成し、作成したグラフのノード及びエッジに対して図12図13A~Fとして例示したような情報を付加することにより、ドメイン知識をグラフにおけるノードまたはエッジの定義として記述する。
【0039】
ステップS02:図7のフローチャートの説明に戻る。グラフ変換処理部32は、グラフ記述部31によって記述されたグラフ(ステップS01)を隣接行列やベクトルに変換し、グラフ保存部33は、変換した隣接行列やベクトルをグラフデータとしてグラフ記憶部42に記憶する。グラフ記述画面210の変換ボタン216cを押下することにより、ステップS02の処理が開始される。図8にステップS02の詳細な処理フローを示す。
【0040】
ステップS11:グラフ変換処理部32は、ステップS01において作成されたグラフ214とグラフのノード及びエッジに付加された情報を取得する。
【0041】
ステップS12:ステップS11で取得した情報のうち、エッジに対する情報をエッジに関するグラフデータに変換する。エッジの有無はグラフの構造から隣接行列として表現できる(図13A)。エッジに付加されたラベル情報や重み情報は、エッジの始点ノードと終点ノードとのベクトルとして表現できる(図13B,C)。
【0042】
ステップS13:ステップS11で取得した情報のうち、観測変数、制御変数や外乱といったノードに対する情報やノード間の関係性を定義するブロックノードに対する情報をグラフデータに変換する。ノードに付加される情報としては、例えば観測変数や制御変数、外乱の上下限値や分布の仮説情報、データの型、任意のラベル情報などがある(図13D,E)。またノード間の関係性を定義するブロックノードに付加される情報としては、IF-THENで表されるような判断規則、数学的な方程式、関係性を表す任意のラベル情報などがある(図13F)。なお、以上はユーザが定義した情報についての例示であり、これらに限定されるものではない。
【0043】
ステップS14:ユーザが、グラフ記述画面210の保存ボタン216dを押下すると、グラフ保存部33はノードとエッジに関して変換されたグラフデータをグラフ記憶部42に保存する。保存されたグラフデータが図13A~Fに例示したデータである。
【0044】
このように、ドメイン知識を記述するグラフを行列やベクトル形式に変換することにより、グラフとして記述されたドメイン知識を数理モデルで扱うことが可能になる。図18に数理表現形式として解釈したときのグラフのデータを示す。グラフGは、グラフの構造を示すノード集合V及びエッジの隣接行列表現A、ノードに紐づけられた対象データX、グラフに付加された付加情報Rの総体として表される。これにより、ドメイン知識を数理モデルにおいて扱うことが可能になる。なお、ステップS02で保存されたグラフGに相当するデータを以下では数理グラフデータと総称する。
【0045】
ステップS03:図7のフローチャートの説明に戻る。本ステップでは、予測モデル構築時に使用するデータの前処理を行う。予測モデルは、説明変数から目的変数を予測するモデルであって、機械学習による学習が行われる。
【0046】
ユーザはまず、予測モデル構築時にドメイン知識を活用する活用アルゴリズムを選択する。ユーザがグラフ記述画面210におけるアルゴリズム選択ボタン217を押下すると、アルゴリズム選択部34は、グラフ記述画面210から、活用アルゴリズムを選択するGUI画面に遷移させる。アルゴリズム選択画面表示部22が表示するアルゴリズム選択画面220を図3に示す。
【0047】
アルゴリズム選択画面220は、活用アルゴリズムのリストと活用アルゴリズムを選択するためのチェックボックス221とを含む。この例では、ドメイン知識を含むグラフを機械学習モデルに活用する方法として、特徴量222、モデル構造223、学習アルゴリズム224と3つの活用アルゴリズムを表示している。チェックボックス221をクリックすることでボックス内にチェックが入り、該当する活用アルゴリズムが選択される。
【0048】
3つの活用アルゴリズムは、予測モデル構築時にドメイン知識を反映させる方法が異なる。特徴量222は数理グラフデータから予測モデルへの入力データ(特徴量)を作成することでドメイン知識を反映させる活用方法である。モデル構造223は、予測モデルの構造、すなわち説明変数間の関係性にグラフデータが示すグラフの構造、すなわちノード間の関係性を反映させる活用方法である。学習アルゴリズム224は、予測モデルの学習に対する制約条件や収束条件(総称して学習条件という)に数理グラフデータの付加情報、例えばブロックノードとして定義されるノード間の関係性の情報を反映させる活用方法である。なお、活用アルゴリズムは、例示した3つの活用アルゴリズムの全てが選択可能にされる必要はなく、少なくとも1つ以上が選択可能とされていればよい。
【0049】
図15に、アルゴリズム記憶部44(図1参照)に記憶されているアルゴリズムデータ440のデータ構造例を示す。活用アルゴリズム441ごとに、活用するグラフデータの内容を示す活用情報442、その詳細である活用情報詳細443、具体的に活用するグラフデータを特定する活用グラフデータ444を含む。活用アルゴリズム441はアルゴリズム選択画面220(図3参照)に表示されるリストに対応する。活用情報442はグラフ記述画面210のパレット213(図2参照)に表示される部品の他、数理グラフデータから抽出される潜在変数を含む。潜在変数の例については後述する。なお、活用グラフデータ444は、図15ではフォーマットとして記載しているが、必要な付加情報の内容などが具体的に特定されている。
【0050】
このようにドメイン知識を活用するには数理グラフデータに活用アルゴリズムに応じた必要なデータが揃っている必要があるため、アルゴリズム処理部35は、アルゴリズム選択画面220で選択された活用アルゴリズムに応じた数理グラフデータが揃っているか確認の上、活用アルゴリズムに応じた数理グラフデータの前処理を行う。図9にアルゴリズム処理部35の詳細な処理フローを示す。
【0051】
ステップS21:アルゴリズム選択画面220にて選択された項目情報(活用アルゴリズム)を取得する。
【0052】
ステップS22:アルゴリズム処理部35は、ドメイン知識を記述した数理グラフデータが、選択した活用アルゴリズムに応じた処理を行うために必要な情報を有しているかチェックする。活用アルゴリズムに必要な情報は、図15で示したアルゴリズム記憶部44に記憶されているので、数理グラフデータとアルゴリズム記憶部44に登録された活用アルゴリズムごとの活用情報442、活用グラフデータ444を照合すればよい。
【0053】
情報が十全であると判定される場合には(ステップS23でYes)、選択された活用アルゴリズムに応じた前処理を実行し、アルゴリズム処理結果保存部36は処理結果をアルゴリズム処理記憶部45に保存する(ステップS24)。一方、情報が十全でない場合(ステップS23でNo)、例えば活用アルゴリズムに必要な情報が不完全、または存在しない場合、不足のデータをユーザに表示し、情報の補充を求める(ステップS25)。
【0054】
一例として、活用アルゴリズムとして「特徴量」が選択された場合に、アルゴリズム処理部35が実行するステップS24の処理フローの詳細を図10に示す。図10の例は特徴量として潜在変数を抽出するため、潜在変数を抽出するための生成モデルを作成する例である。潜在変数とは、観測変数と異なり実際に観測される変数ではないが、観測された他の変数から推定される変数である。潜在変数は、高次元のデータをより低次元の変数で表現することができるので、ドメイン知識を記述するグラフの特徴を表す変数とみなすことができる。したがって、ユーザがドメイン知識に基づき選択したデータから抽出される潜在変数を予測モデルの入力データとして使用することで、ドメイン知識を予測モデルに反映することができる。
【0055】
ここでは生成モデルとして変分オートエンコーダを用いる手法を例に説明する。変分オートエンコーダを用いる生成モデルを図19に示す。変分オートエンコーダを用いる生成モデルは、エンコーダとデコーダとを有し、エンコーダにより入力された情報Xを低次元の潜在空間Zで表現し、表現された潜在空間上のデータzをデコーダにより、元のデータXの次元にて表現する構造を持つ。エンコーダでは潜在空間上でデータ分布p(z)が連続(多次元標準正規分布)となるように学習し、デコーダでは潜在空間上のデータzをデコードして得られるデータが元のデータに近くなるように、構造上の重みを計算する。なお、モデルならびに学習方法は一例でありこの限りではない。
【0056】
ステップS31:数理グラフデータからノードに紐づけられた対象データXのデータ項目数を入力数とする生成モデルを作成する。
【0057】
ステップS32:生成モデルを学習させる。変分オートエンコーダを用いる生成モデルでの学習方法は図19に記載した通りである。
【0058】
その後、学習した生成モデルをアルゴリズム処理結果としてアルゴリズム処理記憶部45に保存し(ステップS33)、学習が終了した旨を画面上に出力する(ステップS34)。
【0059】
アルゴリズム処理結果保存部36がアルゴリズム処理記憶部45に記憶する前処理結果を管理する管理データ450のデータ構造例を図16に示す。処理ID451は該当するタスクID/データID/グラフID/モデルIDを使用したときの処理を一意に示すIDである。タスクID452は図2等のタスクID211、データID453は図12のデータID411、グラフID454は図13A~FのグラフID421、モデルIDは後述する図14AのモデルID431に相当する。ドメイン知識活用アルゴリズム456にはアルゴリズム選択画面220で選択された活用アルゴリズムが登録されている。処理結果457には、活用アルゴリズムに応じた前処理を行った結果(例えば、図10の処理フローで作成された生成モデルなど)が保存されているアドレスやデータパスを示している。これにより、数理グラフデータとして記述されたドメイン知識がどのように利用されたか、把握することができる。
【0060】
ステップS04:図7のフローチャートの説明に戻る。本ステップでは、グラフデータとステップS03で作成した前処理データとを用いて、予測モデルを構築・評価する。予測モデルの構築・評価の例として、「特徴量」アルゴリズムを選択した場合の詳細な処理フローを図11に示す。
【0061】
ステップS41:データ記憶部41及びグラフ記憶部42から数理グラフデータを取得する。
【0062】
ステップS42:アルゴリズム処理記憶部45から生成モデルを取得し、生成モデル及び数理グラフデータから潜在変数を取得する。
【0063】
ステップS43:ユーザは予測モデル構築画面上で予測モデルを構築する。モデル構築画面表示部23が表示するモデル構築画面230を図4に示す。モデル構築画面230は、対象とする課題に対して予測モデルを構築し、学習を行う画面である。モデル構築画面230は、タスクID211で管理され、予測モデル構築に使用する予測アルゴリズムを選択する選択画面231、予測モデルの学習パラメータを設定するパラメータ設定画面232及びパラメータ設定変更ボタン233、ドメイン知識を記述するグラフ、データ及び予測モデルの概要を表す予測モデル表示画面234、予測モデルの学習状況を表示する学習状況表示画面235、学習開始ボタン236、学習結果表示ボタン237を有している。
【0064】
選択画面231には事前に設定された予測アルゴリズムが表示され、ユーザは構築に使用する予測アルゴリズムを選択する。パラメータ設定画面232の値はパラメータ設定変更ボタン233を押下することにより、各学習パラメータの設定値を変更することが可能である。設定される学習パラメータの項目は使用する予測アルゴリズムによって異なり、その都度更新される。選択された活用アルゴリズムが学習アルゴリズムである場合には、学習パラメータの設定値にドメイン知識を記述するグラフのノードの定義が反映される。
【0065】
予測モデル表示画面234には、ドメイン知識を記述するグラフ234a、データ234b、予測モデル構造234cが表示される。グラフ234aとしては、例えばグラフ記述画面210のキャンパス212にて作成されたグラフが表示される。データ234bとしては、グラフ記述画面210にてユーザがアップロードしたデータが表または概要形式で表示される。予測モデル構造234cとしては、選択画面231で選択された予測アルゴリズムに基づく予測モデルの概要図が表示される。選択された活用アルゴリズムがモデル構造である場合には、予測モデルの構造にドメイン知識を記述するグラフの構造が反映される。
【0066】
モデル構築部37は、このようにモデル構築画面230にて選択された予測アルゴリズムをもとに、数理グラフデータを用いて予測モデルを構築する。予測モデルにはグラフに紐づけられた対象データを含む入力データが入力されるが、活用アルゴリズムとして特徴量が選択された場合には、予測モデルの入力としてさらに数理グラフデータから導出された潜在変数も使用される。図19に示した例であれば、元のデータXと潜在空間上のデータzを説明変数として入力し、目的変数である予測データyを出力する予測モデルを構築する。
【0067】
図14Aにモデル記憶部43に記憶されている予測モデルデータ430のデータ構造例を示し、図14Bに対応する概要図を示す。ここでは、予測モデルをニューラルネットワークとした例を示している。
【0068】
概要図(図14B)において、ニューラルネットワークで表現されるモデルの入力層437iならびに出力層437oに存在するノードをそれぞれ黒丸で表現し、中間層438のノードをそれぞれ白丸で表現している。層番号は中間層の順序を表し、入力層に最も近い中間層の層番号を1とする。この例では中間層は第1層から第M層までを有する。入力層のノードと中間層第1層のノードとの間、隣接する中間層のノード同士の間、中間層第M層のノードと出力層のノードとの間にはエッジ439が設けられている。エッジ439にはそれぞれ重みが設定されている。
【0069】
図14Bに示すような予測モデルの構造が、図14Aの表形式のデータとしてモデル記憶部43に記憶されている。モデルID431は予測モデルを識別するIDである。テーブルデータ432は、ノード情報を登録するノードテーブルデータ432aとエッジ情報を登録するエッジテーブルデータ432bとを含む。
【0070】
ノードテーブルデータ432aは、層番号433と層内ノード数434を含み、層内ノード数434には層番号433に指定される層に含まれるノードの数が登録されている。エッジテーブルデータ432bは、層番号433、エッジ番号435、重み436を含み、エッジ番号435には、層番号433に指定される層に含まれるノードを終点ノードとするエッジを特定するエッジ番号、重み436には、エッジ番号435で指定されるエッジの重みが登録されている。
【0071】
ステップS44:モデル評価部38は、モデル構築部37にて学習中の予測モデルを評価する。モデル構築画面230(図4参照)において予測モデルの学習パラメータを設定し、学習開始ボタン236を押下することにより、モデル構築部37は、予測モデルの学習を開始する。例えば、元のデータXと潜在空間上のデータzを入力し、予測データyを出力する予測モデルであれば、教師データy’と予測データyとが等しくなるように予測モデルのパラメータ、例えば、図14Bに示されるエッジの重みを調整する。モデル評価部38により予測モデルの予測データyが教師データy’に十分近似した値を出力するようになったという評価が得られれば、モデル構築部37は予測モデルの学習を終了する。モデル構築画面230の学習状況表示画面235には予測モデルの学習の進行状況が表示される。例えば、予測モデルの訓練ステップにおける訓練時間やその進捗状況が表示される。
【0072】
ステップS45:モデル評価部38は予測モデルの学習が終了した旨をGUI画面上に出力する。この表示を受け、ユーザがモデル構築画面230(図4参照)の学習結果表示ボタン237を押下することにより、図5Aに示すモデル結果表示画面240に遷移する。
【0073】
モデル結果表示画面表示部24が表示するモデル結果表示画面240は、モデル構築画面230で構築した、対象とする課題の予測モデルを、設定した学習条件で学習させた結果を表示する。モデル結果表示画面240はタスクID211で管理され、学習及び検証時の予測モデルの予測精度について、折れ線グラフ242、箱ひげ図243、混合行列244、テキスト245等により表示する。
【0074】
モデル詳細表示ボタン241を押下することで、図5Bに示すモデル詳細表示画面246に遷移する。モデル詳細表示画面246では、予測モデルについての詳細な情報が表示され、ユーザは予測モデルの内容を把握できる。
【0075】
モデル詳細表示画面246は、予測モデルを識別するモデルID247、予測モデルが使用したドメイン知識を記述するグラフを表示する表示画面248、及び予測モデルに関するパラメータ等を表示する画面に遷移するパラメータ表示ボタン249を有している。表示画面248には、グラフ記述画面210で作成したグラフを機械学習モデルで利用するときに変換したグラフを表示する。パラメータ表示ボタン249が押下されると、予測モデルの構築時に使用したモデルアルゴリズムやパラメータ等を表示する画面に遷移する。
【0076】
ステップS05:図7のフローチャートの説明に戻る。本ステップでは、モデル処理結果保存部39(図1参照)が、ステップS04で構築した予測モデル、予測モデル構築時に使用したデータ(学習パラメータ等)、予測モデルの学習評価結果データを保存する。予測モデルの学習に使用したパラメータや学習評価結果はモデル処理結果記憶部46に記憶される。
【0077】
図17A~Cに、モデル処理結果記憶部46に記憶されている、予測モデルを学習及び評価した結果を管理する管理データ460のデータ構造例を示している。管理データ460は、学習/評価された予測モデルを管理している。モデルID461には図14A等に示したモデルIDが登録され、モデルID461で指定された予測モデルについての予測アルゴリズム462、パラメータファイル463、学習評価ファイル464が登録されている。予測アルゴリズム462には、予測モデル構築時に選択した予測アルゴリズム名称が登録され、パラメータファイル463には、予測モデル構築時に設定した学習パラメータファイルへのリンクが登録され、学習評価ファイル464には、予測モデルの学習と評価を行ったときの学習結果ファイルへのリンクが登録される。
【0078】
図17Bにパラメータファイルのデータ構造例を示す。パラメータファイル470はパラメータ名471とパラメータ名471で指定されるパラメータについての設定値を登録する設定値472を含む。
【0079】
図17Cに学習評価ファイルのデータ構造例を示す。学習評価ファイル480はエポック481とエポック481で指定されるエポックにおける訓練ロス482、検証ロス483、訓練精度484、検証精度485が登録されている。なお、一般的に、機械学習においては学習データを繰り返し予測データに学習させ、エポックとはすべての学習データについて1回学習し終えた段階のことを指し、繰り返し回数をエポック数という。学習評価ファイル480に基づいて、図5Aに示したモデル結果表示画面240に学習した予測モデルの予測精度の評価情報が表示される。
【0080】
モデル管理画面表示部25は、図7のフローにしたがって作成され、ドメイン知識活用システム1に蓄積されている予測モデルを管理する管理画面を表示する。図6に示すモデル管理画面250は、学習及び評価を行った予測モデルの情報をレコードとして表示する。モデル管理画面250には、表形式で学習及び評価した予測モデルについての情報を表示する。具体的には、モデル管理画面250は、予測モデルを識別するためのモデルID251、予測モデルの内容を示すラベル252、予測モデルが使用するアップロードデータのデータ項目の数を示すデータ項目数253、予測モデルの構築、学習及び評価を行った日時を示す作成日時254、予測モデルの詳細を示すモデル詳細表示画面246(図5B参照)に遷移するための遷移ボタンを表示する詳細リンク255を含む。詳細リンク255の遷移ボタンを押下することで、当該予測モデルに対応するモデル詳細表示画面246が表示される。
【0081】
以上、本発明者によってなされた発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【0082】
1:ドメイン知識活用システム、11:入出力部、12:通信部、20:表示部、21:グラフ記述画面表示部、22:アルゴリズム選択画面表示部、23:モデル構築画面表示部、24:モデル結果表示画面表示部、25:モデル管理画面表示部、30:制御部、31:グラフ記述部、32:グラフ変換処理部、33:グラフ保存部、34:アルゴリズム選択部、35:アルゴリズム処理部、36:アルゴリズム処理結果保存部、37:モデル構築部、38:モデル評価部、39:モデル処理結果保存部、40:記憶部、41:データ記憶部、42:グラフ記憶部、43:モデル記憶部、44:アルゴリズム記憶部、45:アルゴリズム処理記憶部、46:モデル処理結果記憶部、210:グラフ記述画面、211:タスクID、212:キャンパス、213:パレット、213a:システムボックス、213b:観測変数ノード、213c:制御変数ノード、213d:外乱ノード、213e:ブロックノード、213f:エッジ、214:グラフ、215:アイコン、216a:グラフアップロードボタン、216b:データアップロードボタン、216c:変換ボタン、216d:保存ボタン、217:アルゴリズム選択ボタン、220:アルゴリズム選択画面、221:チェックボックス、222:特徴量、223:モデル構造、224:学習アルゴリズム、230:モデル構築画面、231:選択画面、232:パラメータ設定画面、233:パラメータ設定変更ボタン、234:予測モデル表示画面、234a:グラフ、234b:データ、234c:予測モデル構造、235:学習状況表示画面、236:学習開始ボタン、237:学習結果表示ボタン、240:モデル結果表示画面、241:モデル詳細表示ボタン、242:折れ線グラフ、243:箱ひげ図、244:混合行列、245:テキスト、246:モデル詳細表示画面、247:モデルID、248:表示画面、249:パラメータ表示ボタン、250:モデル管理画面、251:モデルID、252:ラベル、253:データ項目数、254:作成日時、255:詳細リンク、410:対象データ、411:データID、412:テーブルデータ、413:取得時刻、414:取得データ、420a:エッジデータ、420b:エッジラベルデータ、420c:エッジ重みデータ、420d:ノードデータ、420e:ノード制約データ、420f:ブロックノードデータ、421:グラフID、422a~422f:テーブルデータ、423s:始点ノード、423e:終点ノード、424:ブロックID、425:関連ノードID、426:ラベル、427:関係性ID、430:予測モデルデータ、431:モデルID、432:テーブルデータ、432a:ノードテーブルデータ、432b:エッジテーブルデータ、433:層番号、434:層内ノード数、435:エッジ番号、436:重み、437i:入力層、437o:出力層、438:中間層、439:エッジ、440:アルゴリズムデータ、441:活用アルゴリズム、442:活用情報、443:活用情報詳細、444:活用グラフデータ、450:管理データ、451:処理ID、452:タスクID、453:データID、454:グラフID、455:モデルID、456:ドメイン知識活用アルゴリズム、457:処理結果、460:管理データ、461:モデルID、462:予測アルゴリズム、463:パラメータファイル、464:学習評価ファイル、470:パラメータファイル、471:パラメータ名、472:設定値、480:学習評価ファイル、481:エポック、482:訓練ロス、483:検証ロス、484:訓練精度、485:検証精度。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図13C
図13D
図13E
図13F
図14A
図14B
図15
図16
図17A
図17B
図17C
図18
図19