(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023165068
(43)【公開日】2023-11-15
(54)【発明の名称】予測プログラム、予測方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20231108BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022075670
(22)【出願日】2022-05-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】稲冨 絃志郎
(57)【要約】
【課題】精度の高い予測結果を取得することを課題とする。
【解決手段】情報処理装置は、入力された条件を表すベクトルと、複数の項目を表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得する。情報処理装置は、第1の予測結果に含まれる複数の項目の第1の項目に関する一又は複数の属性のうち第1の属性の選択を受け付ける。情報処理装置は、条件を表すベクトルと、複数のベクトルのうち第1の項目を表す第1のベクトルを除く他のベクトルと、第1の属性を表す第2のベクトルとを、機械学習モデルへ入力して、第2の予測結果を取得する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力された条件を表すベクトルと、複数の項目を表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得し、
前記第1の予測結果に含まれる前記複数の項目の第1の項目に関する一又は複数の属性のうち第1の属性の選択を受け付け、
前記条件を表すベクトルと、前記複数のベクトルのうち前記第1の項目を表す第1のベクトルを除く他のベクトルと、前記第1の属性を表す第2のベクトルとを、前記機械学習モデルへ入力して、第2の予測結果を取得する、
処理をコンピュータに実行させることを特徴とする予測プログラム。
【請求項2】
前記第1の予測結果を取得する処理は、
前記機械学習モデルから出力された前記複数の項目それぞれに対応する各出力ベクトルに対して、各項目の特徴空間における前記出力ベクトルと各項目に属する各属性のベクトルとの距離に基づく、前記各項目の予測結果を含む前記第1の予測結果を取得し、
前記受け付ける処理は、
前記第1の予測結果に含まれる前記第1の項目について選択された前記第1の属性を表す前記第2のベクトルを、前記第1の項目の特徴空間を用いて特定し、
前記第2の予測結果を取得する処理は、
前記条件を表すベクトルと前記他のベクトルと前記第2のベクトルとを前記機械学習モデルへ入力して得られた各出力ベクトルに対して、前記各項目の特徴空間において前記出力ベクトルと各項目に属する各属性のベクトルとの距離に基づく、前記各項目の予測結果を含む前記第2の予測結果を取得する、
処理を含むことを特徴とする請求項1に記載の予測プログラム。
【請求項3】
前記機械学習モデルは、
複数の層を有し、
前記複数の層の先頭の層に、前記条件を表すベクトルと、前記複数の項目のうち一又は複数の項目の正解情報を表す第3のベクトルと、前記複数の項目のうち前記一又は複数の項目以外の各項目を表す第4のベクトルとを含む入力ベクトルを入力し、前記先頭の層以降の層については前段の層の出力結果を入力する、自己注意機構を用いた機械学習により生成された機械学習モデルである、
ことを特徴とする請求項1に記載の予測プログラム。
【請求項4】
前記機械学習モデルは、
前記複数の層それぞれにおいて、前記入力ベクトル内の各ベクトルから、前記自己注意機構の要素であるクエリ、キー、バリューのそれぞれに対応するクエリベクトル、キーベクトル、バリューベクトルを生成し、
前記入力ベクトル内の各ベクトルの各キーベクトルと、前記各ベクトルの各クエリベクトルとの類似度を算出し、
前記各ベクトルについて、各類似度と前記バリューベクトルとを乗算して合計した合計ベクトルを生成し、
前記各ベクトルの前記合計ベクトルを連結させた出力ベクトルを、前記入力ベクトルして後段の層に入力する、
ことを特徴とする請求項3に記載の予測プログラム。
【請求項5】
前記入力ベクトルと正解情報とを含む訓練データを前記機械学習モデルに入力し、
前記機械学習モデルの最終層から出力された前記出力ベクトルに基づく予測結果と、前記正解情報との誤差が小さくなるように、前記機械学習モデルの前記複数の層のパラメータを更新する、処理を前記コンピュータに実行させることを特徴とする請求項4に記載の予測プログラム。
【請求項6】
入力された条件を表すベクトルと、複数の項目を表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得し、
前記第1の予測結果に含まれる前記複数の項目の第1の項目に関する一又は複数の属性のうち第1の属性の選択を受け付け、
前記条件を表すベクトルと、前記複数のベクトルのうち前記第1の項目を表す第1のベクトルを除く他のベクトルと、前記第1の属性を表す第2のベクトルとを、前記機械学習モデルへ入力して、第2の予測結果を取得する、
処理をコンピュータに実行することを特徴とする予測方法。
【請求項7】
入力された条件を表すベクトルと、複数の項目を表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得し、
前記第1の予測結果に含まれる前記複数の項目の第1の項目に関する一又は複数の属性のうち第1の属性の選択を受け付け、
前記条件を表すベクトルと、前記複数のベクトルのうち前記第1の項目を表す第1のベクトルを除く他のベクトルと、前記第1の属性を表す第2のベクトルとを、前記機械学習モデルへ入力して、第2の予測結果を取得する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習モデルを用いた予測プログラムに関する。
【背景技術】
【0002】
入力された文字列をセルフアテンションモデル(自己注意機構)に入力し、セルフアテンションモデルの出力結果に基づき予測を実行する技術が知られている。例えば、複数の単語をセルフアテンションモデルに入力して文章を予測する技術や、質問文をセルフアテンションモデルに入力して回答を予測する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001-60233号公報
【特許文献2】特開2014-203228号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、コーパス内のデータ、経験等により作成したデータ、適用対象の分野に特化したデータなどを教師データに用いてセルフアテンションモデルが生成される。このため、教師データに用いた分野や予測に適用する分野などの様々な要因の影響を受けて、予測性能が低下することがある。
【0005】
一つの側面では、精度の高い予測結果を取得することができる予測プログラム、予測方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1の案では、予測プログラムは、入力された条件を表すベクトルと、複数の項目を表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得し、前記第1の予測結果に含まれる前記複数の項目の第1の項目に関する一又は複数の属性のうち第1の属性の選択を受け付け、前記条件を表すベクトルと、前記複数のベクトルのうち前記第1の項目を表す第1のベクトルを除く他のベクトルと、前記第1の属性を表す第2のベクトルとを、前記機械学習モデルへ入力して、第2の予測結果を取得する、処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0007】
一実施形態によれば、精度の高い予測結果を取得することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図3】
図3は、参考技術の問題点を説明する図である。
【
図4】
図4は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図6】
図6は、予測対象データを説明する図である。
【
図7】
図7は、機械学習モデルの入力ベクトルの生成を説明する図である。
【
図8】
図8は、機械学習モデルの入力ベクトルの生成の別例を説明する図である。
【
図9】
図9は、機械学習モデルの機械学習を説明する図である。
【
図10】
図10は、機械学習モデルを用いた第1の予測を説明する図である。
【
図11】
図11は、第1の予測結果を用いた入力の置き換えを説明する図である。
【
図12】
図12は、機械学習モデルを用いた第2の予測を説明する図である。
【
図13】
図13は、実施例1にかかる情報処理装置の全体的な処理の流れを示すフローチャートである。
【
図14】
図14は、実施例1にかかる機械学習処理の詳細な流れを示すフローチャートである。
【
図15】
図15は、実施例1にかかる予測処理の詳細な流れを示すフローチャートである。
【
図16】
図16は、予測結果の取得処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本願の開示する予測プログラム、予測方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0010】
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示す情報処理装置10は、例えば、入力に条件を表すベクトル、出力を部品データベースに登録された部品を表すベクトルとする機械学習モデルを用いて、受注生産を行う業界の見積自動化を実行するコンピュータ装置の一例である。情報処理装置10は、このような機械学習モデルを用いた見積自動化を実行する際に、出力部品の傾向が大きく間違うことを抑制し、クライアントの確度の高い部品を逐次的に確定することで、機械学習モデルを用いた精度の高い予測結果の取得を実現する。
【0011】
このような見積自動化の分野では、要求仕様などを用いたセルフアテンションモデル(自己注意機構)により予測を行うことが多いが、予測精度を向上させるために、部品のカテゴリ(以下では単に「カテゴリ」と記載する場合がある)をさらに用いることも行われている。ここで、カテゴリを用いた見積自動化の参考技術を説明する。
【0012】
図2は、参考技術を説明する図である。
図2に示すように、参考技術では、生成済みのエンコーダなどを用いて、「タイプ、グレード、要求事項」の各項目に「GGG、6世代、傾斜強めと悪天候用」が設定された要求仕様を、各項目に対応する要求仕様ベクトルに変換する。また、参考技術では、部品のカテゴリを示す各カテゴリ(カテゴリA、カテゴリB、カテゴリC)について、各カテゴリの特徴を表すカテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトルを取得する。
【0013】
そして、参考技術では、N層を有するセルフアテンションを用いたセルフアテンションモデルの一例である機械学習モデルに、要求仕様ベクトルと各カテゴリベクトルとを入力し、要求仕様に対応するインデックスとカテゴリに対応するインデックスとを含む出力ベクトルとを取得する。
【0014】
その後、参考技術では、入力時の各カテゴリのインデックスで、出力ベクトルとカテゴリ別の特徴空間(部品空間)における部品ごとのベクトルとの対応関係を分析し、部品予測を行う。例えば、参考技術では、出力ベクトルに含まれるカテゴリCベクトル(以降では、「予測カテゴリCベクトル」と記載する場合がある)をカテゴリCの部品空間にマッピングする。同様に、参考技術では、カテゴリCに属する部品「三角キャタピラ、四角キャタピラ、五角キャタピラ」それぞれを生成済みのエンコーダ等を用いてベクトル化し、上記カテゴリCの部品空間にマッピングする。参考技術では、「三角キャタピラ、四角キャタピラ、五角キャタピラ」の各部品ベクトルのうち、予測カテゴリCベクトルとの距離が最も近い「三角キャタピラ」を選択する。
【0015】
このようにして、参考技術では、各カテゴリについて、部品空間のマッピングを行うことにより、各カテゴリに対応する「部品」を予測し、「カテゴリA、カテゴリB、カテゴリC」について「本体GGG、15mアーム、三角キャタピラ」を出力する。
【0016】
ところが、参考技術では、機械学習モデルがカテゴリ間の共起、非共起関係を強く学習するので、部品が一つの目的に偏る傾向となる。
図3は、参考技術の問題点を説明する図である。
図3に示すように、参考技術では、カテゴリごとに、予測結果と予測スコア(確率)が出力される。
図3の例では、カテゴリAについて、部品「重機本体」および予測スコア「0.99」が表示される。カテゴリBについて、部品「林業用アーム」および予測スコア「0.52」と、部品「破砕用アーム」および予測スコア「0.48」とが表示される。カテゴリCについて、部品「林業用キャタピラ」および予測スコア「0.54」と、部品「破砕用キャタピラ」および予測スコア「0.46」とが表示される。この結果、参考技術では、各カテゴリにおいて予測スコアが最も高い、部品「重機本体」、部品「林業用アーム」、部品「林業用キャタピラ」を予測結果として出力する。
【0017】
しかし、正解は、林業用ではなく粉砕用の部品であることがある。これは、部品が一つの目的に偏るように機械学習が行われることから、1つの部品の予測が間違うと、他の部品の予測も間違う可能性が高くなるためである。例えば、上記例で説明すると、機械学習モデル内の各層の入力と出力を繰り返すことにより、部品のカテゴリCに関連する要求仕様等の情報がカテゴリCベクトルとして集約されつつ、カテゴリCに共起する他カテゴリの情報がカテゴリCベクトルとして集約される。
【0018】
このように、部品が一つの目的に偏ること自体は、機械学習が正確に実行されたことを示しているが、これにより1つの予測が間違うときは根本的に全体の予測精度が低下し、予測結果が役に立たない場合がある。例えば、正確な機械学習が実行されると、カテゴリ間の共起関係も機械学習されることとなる。このため、訓練データに含まれていなかった新たな条件や新たな組合せが入力に対する予測が実行された場合に、1つのカテゴリの予測が間違うと、共起する他のカテゴリの予測も間違うことが多く、全体として予測精度の低下が発生する。
【0019】
そこで、実施例1にかかる情報処理装置10は、出力部品の傾向が大きく間違うことを抑制するために、出力部品の中で、クライアントにとって確度の高い部品カテゴリの部品を逐次的に確定することで、確定済みの部品カテゴリとは異なる他部品カテゴリの出力部品のスコアを動的に更新する。
【0020】
具体的には、情報処理装置10は、入力された条件の一例である要求仕様を表すベクトルと、複数の項目の一例であるカテゴリを表す複数のベクトルとを機械学習モデルに入力して、第1の予測結果を取得する。そして、実施例1にかかる情報処理装置10は、第1の予測結果に含まれる複数の項目の第1の項目に関する一又は複数の部品のうち第1の属性の選択を受け付ける。その後、実施例1にかかる情報処理装置10は、要求仕様を表すベクトルと、複数のベクトルのうち第1の項目を表す第1のベクトルを除く他のベクトルと、第1の属性を表す第2のベクトルとを、機械学習モデルへ入力して、第2の予測結果を取得する。
【0021】
例えば、
図1に示すように、情報処理装置10は、入力された要求仕様1、要求仕様2、要求仕様3それぞれに対応する要求仕様1ベクトル、要求仕様2ベクトル、要求仕様3ベクトルを取得する。また、情報処理装置10は、カテゴリA、カテゴリB、カテゴリCそれぞれに対応するカテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトルを取得する。
【0022】
続いて、情報処理装置10は、各要求仕様ベクトルと各カテゴリベクトルとを用いた入力ベクトルを、セルフアテンションモデルの一例である機械学習モデルに入力し、第1の予測結果を取得する。第1の予測結果には、要求仕様に対応する予測結果「要求仕様1、要求仕様2、要求仕様3」と、カテゴリに対応する予測結果「カテゴリAの部品、カテゴリBの部品、カテゴリCの部品」が含まれる。
【0023】
そして、情報処理装置10は、上述した各部品空間のマッピングを行うことで特定される各カテゴリの予測結果を出力し、予測結果の正誤をユーザから受け付ける。例えば、情報処理装置10は、カテゴリCについて「部品C1、予測結果(〇)」と「部品C2、予測結果(×)」とを表示し、ユーザから、正解が予測結果(〇)の「部品C1」ではなく「部品C2」である選択を受け付ける。
【0024】
すると、情報処理装置10は、入力データのカテゴリCに対応する「カテゴリCベクトル」を、ユーザに選択された「部品C2ベクトル」に置き換えて、予測を実行する。例えば、情報処理装置10は、「要求仕様1ベクトル、要求仕様2ベクトル、要求仕様3ベクトル、カテゴリAベクトル、カテゴリBベクトル、部品C2ベクトル」を機械学習モデルに入力し、第2の予測結果を取得する。そして、情報処理装置10は、ユーザ選択を考慮した再予測により得られた第2の予測結果を、最終的な予測結果として出力する。
【0025】
このように、情報処理装置10は、ユーザの確度の高いカテゴリの部品を逐次的に確定することで、予測スコアを動的に更新することができる。したがって、情報処理装置10は、高精度に機械学習が行われた後、訓練データに含まれない情報や新製品による部品の最適な組み合わせ等に変化があっても、精度の高い予測結果を取得することができる。
【0026】
図4は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図4に示すように、情報処理装置10は、通信部11、記憶部12、制御部20を有する。
【0027】
通信部11は、他の装置との間の通信を制御する。例えば、通信部11は、管理者等が利用する管理端末から各種指示やデータを受信し、後述する制御部20による処理結果を管理端末に送信する。
【0028】
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する。この記憶部12は、機械学習モデル13、訓練データDB14、予測対象データDB15を記憶する。
【0029】
機械学習モデル13は、要求仕様の関する入力データが入力された場合に、当該要求仕様を満たす重機の部品を予測するモデルである。例えば、機械学習モデル13は、N層を有するセルフアテンションモデルを用いた機械学習モデルであり、要求仕様等を表す入力データに応じてカテゴリごとに部品の予測結果を出力する。
【0030】
訓練データDB14は、機械学習モデル13の機械学習に用いる訓練データを記憶する。具体的には、訓練データDB14は、説明変数と目的変数とを対応付け教師データである各訓練データを記憶する。
【0031】
図5は、訓練データを説明する図である。
図5に示すように、訓練データは、要求仕様に関するデータと、カテゴリを表すベクトルとを有する。要求仕様に関するデータは、要求仕様を特定する「タイプ、グレード、要求事項」と、正解情報を示す「カテゴリAの正解部品、カテゴリBの正解部品、カテゴリCの正解部品」とを記憶する。ここで、「タイプ」は、重機のタイプを示し、「グレード」は、重機のグレードを示し、「要求事項」は、状況や環境などの重機を使用する具体的な要求を示す。「カテゴリAの正解部品」は、重機に使用するカテゴリAの部品、「カテゴリBの正解部品」は、重機に使用するカテゴリBの部品、「カテゴリCの正解部品」は、重機に使用するカテゴリCの部品を示す。
【0032】
図5の例では、「タイプ、グレード、要求事項、カテゴリAの正解部品、カテゴリBの正解部品、カテゴリCの正解部品」として「本体G、6世代、傾斜強めかつ悪天候、部品A-1、部品B-2、部品C-1」が設定される。
【0033】
カテゴリを表すベクトルは、訓練データとして用いるカテゴリごとに用意されるベクトルデータである。例えば、「カテゴリA」は、カテゴリAに属する部品の特徴量を表すベクトルであり、「カテゴリB」は、カテゴリBに属する部品の特徴量を表すベクトルであり、「カテゴリC」は、カテゴリCに属する部品の特徴量を表すベクトルである。この各カテゴリベクトルは、機械学習に用いる重みの初期値や乱数などを用いることもできる。また、カテゴリAの部品とは、例えば重機の種類であり、カテゴリBの部品とは、例えば重機に取り付けるアームの種類であり、カテゴリCの部品とは、例えば重機に取り付けるキャタピラの種類である。
【0034】
「タイプ、グレード、要求事項」および「カテゴリ」を表すベクトルが説明変数であり、「カテゴリAの正解部品、カテゴリBの正解部品、カテゴリCの正解部品」が目的変数である。カテゴリの数、カテゴリの種類、要求仕様の内容や数や種類などは、任意に設定変更することができる。
【0035】
予測対象データDB15は、機械学習により生成された機械学習モデル13を用いて、重機に使用する部品の予測対象である予測対象データを記憶する。この予測対象データは、要求仕様として「本体GGG、6世代、傾斜強めかつ悪路対応」が与えられた場合に、機械学習モデル13を用いて要求仕様を満たす重機の部品予測に用いられる。
【0036】
図6は、予測対象データを説明する図である。
図6に示すように、予測対象データは、訓練データの要求仕様を特定する情報と同様に、「タイプ、グレード、要求事項」を有する。
図6の例では、「タイプ、グレード、要求事項」として「本体GGG、6世代、傾斜強めかつ悪路対応」が設定されている。
【0037】
制御部20は、情報処理装置10全体を司る処理部であり、機械学習部30と予測処理部40を有する。
【0038】
機械学習部30は、訓練データを用いて、機械学習モデル13の機械学習を実行する。具体的には、機械学習部30は、訓練データから入力ベクトルを生成し、生成した入力ベクトルを機械学習モデル13に入力し、機械学習モデル13の出力結果と正解情報との誤差が小さくなるように、機械学習モデル13のパラメータ更新を行う。
【0039】
ここで、
図7から
図9を用いて、機械学習モデル13の機械学習を具体的に説明する。
図7は、機械学習モデル13の入力ベクトルの生成を説明する図である。
図7に示すように、機械学習部30は、訓練データの要求仕様「タイプ=本体G、グレード=6世代、要求事項=傾斜強めかつ悪天候」それぞれを、機械学習済みのエンコーダ等に入力し、ベクトルデータである「タイプベクトル、グレードベクトル、要求事項ベクトル」を生成する。
【0040】
また、機械学習部30は、訓練データDB14から、訓練データに含まれるカテゴリデータ「カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」を取得する。
【0041】
そして、機械学習部30は、要求仕様ベクトルの後にカテゴリベクトルを連結させた入力ベクトルを生成する。例えば、機械学習部30は、「タイプベクトル、グレードベクトル、要求事項ベクトル、カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」を連結させた入力ベクトルを生成する。
【0042】
ここで、入力ベクトルの生成の別例を説明する。例えば、機械学習部30は、訓練データに用いるカテゴリベクトルを、具体的な部品のベクトルに置き換えることもできる。より詳細には、例えば、機械学習部30は、任意にもしくランダムに選択した1つ以上のカテゴリについて、汎用的な特徴量を表すベクトルではなく、図示しない部品データベースなどに登録されている具体的な部品を表すベクトルに置き換える。
【0043】
図8は、機械学習モデルの入力ベクトルの生成の別例を説明する図である。
図8では、一例として、カテゴリCを具体的な部品のベクトルに置き換える例を説明する。
図8に示すように、機械学習モデル13は、機械学習済みのエンコーダに、カテゴリCの部品「破砕用キャタピラ」を入力し、カテゴリCの部品空間上のベクトル「破砕用キャタピラベクトル」を生成する。そして、機械学習モデル13は、入力ベクトル内のカテゴリCベクトルを、生成された「破砕用キャタピラベクトル」に置き換える。
【0044】
例えば、機械学習部30は、機械学習部30は、入力ベクトルとして、「タイプベクトル、グレードベクトル、要求事項ベクトル、カテゴリAベクトル、カテゴリBベクトル、破砕用キャタピラベクトル」を生成する。このように、機械学習部30は、具体的な部品のベクトルを用いることで、より具体的な訓練が実行できるので、機械学習モデルの精度の向上や学習速度の高速化を実現できる。
【0045】
次に、機械学習モデル13の機械学習を説明する。
図9は、機械学習モデル13の機械学習を説明する図である。
図9に示すように、機械学習部30は、N層を有する機械学習モデル13の第1層に入力ベクトルを入力し、第1層の出力ベクトルを第2層に入力し、第2層の出力ベクトルを第3層に入力することを繰り返し、N層から出力される出力ベクトルと、訓練データの正解情報とを用いた機械学習を実行する。
【0046】
例えば、機械学習部30は、入力ベクトルに含まれる要求仕様ベクトルとカテゴリベクトルとのそれぞれについて、「セルアテンションモデルの要素であり、セルアテンションモデルで利用されるQuery、Key、Value」に対応するベクトルを生成する(S1)。
【0047】
例えば、機械学習部30は、入力ベクトル内のカテゴリAベクトルを、Query用に生成されたエンコーダに入力して、カテゴリAのQベクトルを生成する。同様に、機械学習部30は、入力ベクトル内のカテゴリAベクトルを、Key用に生成されたエンコーダに入力して、カテゴリAのKベクトルを生成し、カテゴリAベクトルを、Value用に生成されたエンコーダに入力して、カテゴリAのVベクトルを生成する。
【0048】
このようにして、機械学習部30は、「タイプベクトル、グレードベクトル、要求事項ベクトル、カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」のそれぞれについて、Qベクトル、Kベクトル、Vベクトルを生成する。
【0049】
例えば、機械学習部30は、「タイプベクトル」についてQ_1ベクトル、K_1ベクトル、V_1ベクトルを生成し、「グレードベクトル」についてQ_2ベクトル、K_2ベクトル、V_2ベクトルを生成し、「要求事項ベクトル」についてQ_3ベクトル、K_3ベクトル、V_3ベクトルを生成する。同様に、機械学習部30は、「カテゴリAベクトル」についてQ_Aベクトル、K_Aベクトル、V_Aベクトルを生成し、「カテゴリBベクトル」についてQ_Bベクトル、K_Bベクトル、V_Bベクトルを生成し、「カテゴリCベクトル」についてQ_Cベクトル、K_Cベクトル、V_Cベクトルを生成する。
【0050】
次に、機械学習部30は、入力ベクトル「タイプベクトル、グレードベクトル、要求事項ベクトル、カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」について算出された各QベクトルとKベクトルとの類似度を算出し(S2)、類似度にVベクトルを乗算して出力ベクトルを生成する(S3)。なお、類似度の算出には、コサイン類似度、ユークリッド距離などを採用することができる。
【0051】
上記例の「グレードベクトル」を用いた例で説明すると、機械学習部30は、「K_2ベクトル」と、「Q_1ベクトル」、「Q_2ベクトル」、「Q_3ベクトル」、「Q_Aベクトル」、「Q_Bベクトル」、「Q_Cベクトル」のそれぞれとの類似度として、「0.11、0.68、0.21、・・・」を算出する。
【0052】
そして、機械学習部30は、算出した各類似度に、算出に用いられたQベクトルに対応するVベクトルを乗算する。例えば、機械学習部30は、「Q_1ベクトル」を用いた「0.11」に「V_1ベクトル」を乗算し、「Q_2ベクトル」を用いた「0.68」に「V_2ベクトル」を乗算し、「Q_3ベクトル」を用いた「0.21」に「V_3ベクトル」を乗算する。すなわち、機械学習部30は、「(0.11×V_1ベクトル)+(0.68×V_2ベクトル)+(0.21×V_3ベクトル)+(類似度×V_Aベクトル)+(類似度×V_Bベクトル)+(類似度×V_Cベクトル)」を算出し、算出結果を「出力ベクトル_2」とする。
【0053】
その後、機械学習部30は、「要求仕様ベクトル数+カテゴリベクトル数」個の出力ベクトルを次の自己注意機構へ投入する(S4)。例えば、機械学習部30は、「タイプベクトル」の「K_1」に対応する「出力ベクトル_1」を生成し、「グレードベクトル」の「K_2」に対応する「出力ベクトル_2」を生成し、「要求事項ベクトル」の「K_3」に対応する「出力ベクトル_3」を生成する。同様に、機械学習部30は、「カテゴリAベクトル」の「K_A」に対応する「出力ベクトル_A」を生成し、「カテゴリBベクトル」の「K_B」に対応する「出力ベクトル_B」を生成し、「カテゴリCベクトル」の「K_C」に対応する「出力ベクトル_C」を生成する。
【0054】
そして、機械学習部30は、「出力ベクトル_1」、「出力ベクトル_2」、「出力ベクトル_3」、「出力ベクトル_A」、「出力ベクトル_B」、「出力ベクトル_C」の順番で連結させたベクトルを生成し、機械学習モデルの第1層の活性化層、正規化層、全結合層などに入力して出力ベクトルを取得する。続いて、機械学習部30は、出力ベクトルを入力ベクトルとして機械学習モデルの第2層に入力し、上述したS1からS4の処理を実行する。
【0055】
このようにして、機械学習部30は、訓練データから入力ベクトルを生成して、機械学習モデル13の各層に入力して、上記S1からS4を繰り返し、機械学習モデル13の最終層から出力結果を取得する。そして、機械学習部30は、機械学習モデルの出力結果と、訓練データの正解情報との誤差が小さくなるように、機械学習モデル13の各パラメータを更新する。
【0056】
例えば、機械学習部30は、機械学習モデルの出力結果を、各ベクトルのインデックスに分割して、「カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」を抽出する。そして、機械学習部30は、訓練データに含まれる各カテゴリの正解情報(正解部品)に対応する正解部品ベクトルと、出力結果に含まれる各カテゴリベクトルとの距離の距離を損失する機械学習により、機械学習モデル13を生成する。
【0057】
一例を挙げると、機械学習部30は、各カテゴリに対応する各特徴空間において、出力結果に含まれるカテゴリAベクトルとカテゴリAの正解部品ベクトルとの距離と、出力結果に含まれるカテゴリBベクトルとカテゴリBの正解部品ベクトルとの距離と、出力結果に含まれるカテゴリCベクトルとカテゴリCの正解部品ベクトルとの距離とがそれぞれ近づくように、機械学習モデル13の機械学習を実行する。
【0058】
図4に戻り、予測処理部40は、第1予測部41と第2予測部42を有し、機械学習済みの機械学習モデル13を用いた部品の予測を実行する。
【0059】
第1予測部41は、入力され要求仕様を表すベクトルと、複数のカテゴリを表す複数のベクトルとを機械学習モデル13に入力して、第1の予測結果を取得する。具体的には、第1予測部41は、予測対象データに対応するベクトルとカテゴリごとのベクトルとを連結させた入力ベクトルを機械学習モデル13に入力し、部品の予測結果を取得する。
【0060】
図10は、機械学習モデル13を用いた第1の予測を説明する図である。
図10に示すように、第1予測部41は、予測対象データ「タイプ=本体GGG、グレード=6世代、要求事項=傾斜強めかつ悪路対応」を取得し、機械学習済みのエンコーダを用いて、「タイプベクトル、グレードベクトル、要求仕様ベクトル」を生成する。また、第1予測部41は、予め用意されたカテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトルを訓練データDB14等から取得する。
【0061】
そして、第1予測部41は、各ベクトルを連結させた「タイプベクトル、グレードベクトル、要求仕様ベクトル、カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」を機械学習モデル13に入力し、出力結果を取得する。
【0062】
例えば、第1予測部41は、出力結果として出力ベクトルを取得し、出力ベクトルを、入力データの各ベクトルのインデックスに分割して、「カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」を抽出する。そして、第1予測部41は、部品データベース等に登録されている各カテゴリの部品に対応するベクトルと、出力結果に含まれる各カテゴリベクトルとの距離に基づき、カテゴリの予測結果を生成して出力する。
【0063】
具体的には、第1予測部41は、1つのカテゴリに属するすべての部品について、例えばコサイン類似度などの類似度を算出し、softmax関数(正規化指数関数: Normalized exponential function)などを用いて、各類似度を足し合わせて1になるように、各類似度を変換する。そして、第1予測部41は、変換後の値を「予測スコア」として出力する。このように、第1予測部41は、カテゴリ内で使用する部品は一つであることから、ある部品のスコアが高いとき他部品のスコアが低くなるようにするために、類似度変換を実行する。
【0064】
例えば、第1予測部41は、カテゴリBについて、部品データベース等に登録されているカテゴリBの部品「林業用アーム」と「破砕用アーム」とを、機械学習済みのエンコーダを用いて、「林業用アームベクトル」と「破砕用アームベクトル」を生成する。そして、第1予測部41は、カテゴリBの部品空間に、出力結果のカテゴリBベクトル、林業用アームベクトル、破砕用アームベクトルをマッピングする。第1予測部41は、カテゴリBベクトルと「林業用アームベクトル」とのコサイン類似度1、カテゴリBベクトルと「破砕用アームベクトル」とのコサイン類似度2を算出する。
【0065】
続いて、第1予測部41は、上記コサイン類似度1とコサイン類似度2とを足し合わせて1になるように、softmax関数により各類似度の変換を行い、「林業用アームベクトル」について「予測スコア=0.52」、「破砕用アームベクトル」について「予測スコア=0.48」を算出する。この結果、第1予測部41は、予測スコアが最も高い、言い換えると、出力結果のカテゴリBベクトルに最も近い「林業用アームベクトル」を予測結果として出力する。
【0066】
第2予測部42は、第1の予測結果に含まれる複数のカテゴリの第1のカテゴリに関する一又は複数の部品のうち第1の部品の選択を受け付ける処理部である。そして、第2予測部42は、要求仕様ベクトルと、複数のベクトルのうち第1の部品を表す第1のベクトルを除く他のベクトルと、第1の部品を表す第2のベクトルとを、機械学習モデル13へ入力して、第2の予測結果を取得する処理部である。そして、第2予測部42は、第2の予測結果をディスプレイ等に表示したり、管理端末に送信したりする。
【0067】
具体的には、第2予測部42は、第1の予測結果として、カテゴリごとに、「部品、予測スコア、予測」を含む画面を出力表示する。第2予測部42は、その画面上で、予測結果が異なるカテゴリの「部品」の選択を受け付けると、選択された部品のベクトルである正解部品ベクトルを生成する。そして、第2予測部42は、第1の予測に用いられた入力ベクトルのうち、選択された部品のベクトルを「正解部品ベクトル」に置き換えた入力ベクトルを生成する。その後、第2予測部42は、置き換え後の入力ベクトルを機械学習モデル13に入力して、第2の予測を実行する。
【0068】
図11は、第1の予測結果を用いた入力の置き換えを説明する図であり、
図12は、機械学習モデル13を用いた第2の予測を説明する図である。なお、予測スコアは、第1予測部41で説明した手法により算出される。
【0069】
図11に示すように、第2予測部42は、第1の予測結果として、「カテゴリ、部品、予測スコア、予測」を表示する。例えば、第2予測部42は、「カテゴリA、本体G、0.99、〇」、「カテゴリB、林業用アーム、0.52、〇」、「カテゴリB、破砕用アーム、0.48、×」、「カテゴリC、林業用キャタピラ、0.54、〇」、「カテゴリC、破砕用キャタピラ、0.46、×」を表示する。つまり、この例では、各部品について、林業用が予測されている。
【0070】
この状態で、第2予測部42は、カテゴリBについて、予測された「林業用アーム」ではなく「破砕用アーム」が正しいことを示すユーザ選択を受け付ける。すると、第2予測部42は、機械学習済みのエンコーダを用いて、「破砕用アーム」から「破砕用アームベクトル」を生成する。その後、第2予測部42は、第1の予測で用いられた「タイプベクトル、グレードベクトル、要求仕様ベクトル、カテゴリAベクトル、カテゴリBベクトル、カテゴリCベクトル」のうち、カテゴリBベクトルを「破砕用アームベクトル」に置き換える。
【0071】
そして、
図12に示すように、第2予測部42は、置き換え後の入力データ「タイプベクトル、グレードベクトル、要求仕様ベクトル、カテゴリAベクトル、破砕用アームベクトル、カテゴリCベクトル」を機械学習モデル13に入力して、出力結果を取得する。その後、第2予測部42は、第1の予測と同様、各カテゴリについて、カテゴリの部品空間上でマッピングを行って、予測結果を生成する。
【0072】
例えば、第2予測部42は、第2の予測結果として、「カテゴリA、本体G、0.99、〇」、「カテゴリB、林業用アーム、0.22、×」、「カテゴリB、破砕用アーム、0.78、〇」、「カテゴリC、林業用キャタピラ、0.32、×」、「カテゴリC、破砕用キャタピラ、0.68、〇」を表示する。つまり、各部品ついて、第1の予測では林業用が予測されたが、第2の予測では破砕用に更新されている。
【0073】
ここで、第2予測部42は、ユーザから
図11に示した選択を受け付けない場合、ユーザが予測に満足したと判定し、第2の予測結果を最終的な予測結果として出力する。一方、第2予測部42は、ユーザから
図11に示した選択を受け付けた場合、
図11と
図12の処理を再度実行し、ユーザが満足するまで繰り返す。
【0074】
次に、情報処理装置10が実行する処理の流れについて説明する。ここでは、全体的な処理の流れ、機械学習処理の流れ、予測処理の流れについて説明する。なお、ここでは、機械学習処理の後に予測処理が実行される例で説明するが、情報処理装置10は、機械学習処理と予測処理とは別々のフローで実行することもできる。
【0075】
図13は、実施例1にかかる情報処理装置10の全体的な処理の流れを示すフローチャートである。
図13に示すように、情報処理装置10は、処理開始時が指示されると(S101:Yes)、訓練データDB14から訓練データを取得する(S102)。
【0076】
続いて、情報処理装置10は、訓練データをベクトルに変換し(S103)、ベクトルを用いて機械学習モデル13の機械学習を実行する(S104)。ここで、情報処理装置10は、機械学習を継続する場合(S105:No)、次の訓練データについてS104以降を繰り返す。
【0077】
一方、情報処理装置10は、機械学習を終了すると(S105:Yes)、予測対象データDB15から予測対象データを取得する(S106)。続いて、情報処理装置10は、予測対象データをベクトルに変換し(S107)、変換したベクトルを入力ベクトルとして機械学習モデル13に入力して第1の予測を取得する(S108)。
【0078】
そして、情報処理装置10は、第1の予測を表示し(S109)、予測結果の修正を行うカテゴリの選択を受け付ける状態となる(S110)。ここで、情報処理装置10は、カテゴリの選択を受け付けない場合(S110:No)、第1の予測を最終的な予測結果として出力する(S111)。
【0079】
一方、情報処理装置10は、カテゴリの選択を受け付けたい場合(S110:Yes)、選択されたカテゴリベクトルを生成する(S112)。続いて、情報処理装置10は、予測対象データのベクトルのうち、選択されたカテゴリに対応するベクトルを、S111で生成したベクトルに置き換えた置き換え後の入力ベクトルを生成する(S113)。
【0080】
その後、情報処理装置10は、置き換え後の入力ベクトルを機械学習モデル13に入力して第2の予測を取得し(S114)、第2の予測結果を出力する(S115)。
【0081】
図14は、実施例1にかかる機械学習処理の詳細な流れを示すフローチャートである。ここでは、自然文、ラベル情報(正解情報)、数値情報などの入力情報をベクトル化したデータを要求仕様ベクトルと記載する。また、入力情報の数をNとし、N個の要求仕様ベクトルが生成される。例えば、要求仕様ベクトルがN個、カテゴリベクトルがM個あった場合、入力ベクトル数はN+M個となり、入力ベクトルのN+1個目はカテゴリベクトルの1つ目となるように結合される。
【0082】
図14に示すように、機械学習部30は、事前設定を実行する(S201)。例えば、機械学習部30は、カテゴリ毎に用意されたベクトルであるカテゴリベクトルを取得し、初期値を設定する。なお、各カテゴリベクトルは、機械学習の対象である。
【0083】
続いて、機械学習部30は、無作為に選ばれた変数iに対して、カテゴリベクトル(i)を正解部品ベクトル(i,正解部品に対応するインデックス)で置き換える(S202)。
【0084】
続いて、機械学習部30は、変数iが自己注意機構の層の数に達するまで、iを1ずつ増加させてS203からS212までのループ処理を実行する。
【0085】
具体的には、機械学習部30は、変数iが入力ベクトル数に達するまで、iを1ずつ増加させてS204からS206のループ処理を実行する。すなわち、機械学習部30は、入力ベクトル(i)を、Queryベクトル用の全結合ニューラルネットに投入してQベクトル(i)を生成し、入力ベクトル(i)を、Keyベクトル用の全結合ニューラルネットに投入してKベクトル(i)を生成し、入力ベクトル(i)を、Valueベクトル用の全結合ニューラルネットに投入してVベクトル(i)を生成する。
【0086】
続いて、機械学習部30は、変数iが入力ベクトル数に達するまで、iを1ずつ増加させてS207からS211のループ処理を実行し、変数jが入力ベクトル数に達するまで、jを1ずつ増加させてS208からS210のループ処理を実行する。すなわち、機械学習部30は、Qベクトル(i)とKベクトル(j)の類似度ijを算出する。例えば、機械学習部30は、0から1を範囲(1の方が類似している)のスカラー値で類似度を算出する。そして、機械学習部30は、0で初期アされた出力ベクトル(i)に対して、出力ベクトル(i)を類似度ijで重み付けされたVベクトル(j)で足しこむことで、「出力ベクトル(i)=類似度ij×Vベクトル(j)+出力ベクトル(i)」を算出する。
【0087】
このようにしてS203からS212までのループ処理を実行した後、機械学習部30は、変数iがカテゴリベクトル数(M個)に達するまで、iを1ずつ増加させてS213からS218のループ処理を実行する。
【0088】
具体的には、機械学習部30は、変数jが変数i番目のカテゴリに属する部品種類数に達するまで、jを1ずつ増加させてS214からS217のループ処理を実行する。すなわち、機械学習部30は、カテゴリ(i)用のエンコーダでi番目のカテゴリに属するj番目の部品をベクトル化し、正解部品ベクトル(i,j)を生成する。そして、機械学習部30は、正解部品ベクトル(i,j)と出力ベクトル(N+i)の類似度を算出し、i番目のカテゴリに属するj番目の部品のスコアを算出する。なお、出力ベクトル(N+i)は、M個のカテゴリの中のi番目のカテゴリと対応する。その後、機械学習部30は、各カテゴリの正解部品と出力ベクトル(N+i)の距離を損失として、機械学習モデル13の機械学習を実行する。
【0089】
次に、予測処理を説明する。
図15は、実施例1にかかる予測処理の詳細な流れを示すフローチャートである。
図15に示すように、予測処理部40は、後述する予測結果の取得処理を実行する(S301)。
【0090】
続いて、予測処理部40は、S302からS306の部品逐次確定のループ処理を実行する。具体的には、予測処理部40は、カテゴリごとに予測された部品の中で、確定したい部品をユーザが少なくとも1つ選択する(S303)。そして、予測処理部40は、i番目のカテゴリに属する部品jが選択されると、入力ベクトル(N+i)を正解部品ベクトル(i,j)で置き換える(S304)。その後、予測処理部40は、S301と同様の予測結果の取得処理を実行する(S305)。ここで、予測処理部40は、ユーザが予測結果に満足した場合は処理を終了し、ユーザが予測結果に満足しない場合はループ処理を継続する(S306)。
【0091】
次に、S301とS305で実行される予測結果の取得処理を説明する。
図16は、予測結果の取得処理の流れを示すフローチャートである。
図16に示すように、予測処理部40は、S201と同様の処理であるS401を実行した後、S203からS212と同省の処理であるS402からS411を実行する。
【0092】
その後、予測処理部40は、変数iがカテゴリベクトル数(M個)に達するまで、iを1ずつ増加させてS412からS417のループ処理を実行し、変数jが変数i番目のカテゴリに属する部品種類数に達するまで、jを1ずつ増加させてS413からS415のループ処理を実行する。
【0093】
すなわち、予測処理部40は、カテゴリ(i)用のエンコーダでi番目のカテゴリに属するj番目の部品をベクトル化し、正解部品ベクトル(i,j)を生成する。そして、予測処理部40は、正解部品ベクトル(i,j)と出力ベクトル(N+i)の類似度を算出し、i番目のカテゴリに属するj番目の部品のスコアを算出する。なお、出力ベクトル(N+i)は、M個のカテゴリの中のi番目のカテゴリと対応する。その後、予測処理部40は、カテゴリi番目に属する部品の中で、最もスコアが大きい部品を予測結果の部品と特定する。
【0094】
上述したように、情報処理装置10は、要求仕様を表すベクトルと、カテゴリを表す複数のベクトルとをセルフアテンションモデルに入力して、第1の予測結果を取得する。情報処理装置10は、第1の予測結果に含まれる複数のカテゴリの第1のカテゴリに関する一又は複数の部品のうち第1の部品の選択を受け付ける。情報処理装置10は、要求仕様を表すベクトルと、複数のベクトルのうち第1の部品を表す第1のベクトルを除く他のベクトルと、第1の部品を表す第2のベクトルとを、セルフアテンションモデルへ入力して、第2の予測結果を取得する。したがって、情報処理装置10は、精度の高い予測結果を取得することができる。特に、膨大な部品数の中から正確な組み合わせの選択が要求される場合に、上記情報処理装置10は、誤った組合せの選択を抑制し、手動で選択する場合や公知の技術を用いる場合と比較しても、高速かつ正確な部品選択を実現することができる。
【0095】
上述したように、情報処理装置10は、自然文、数値、ラベルなどを表す要求仕様ベクトルに変換する。情報処理装置10は、部品カテゴリの種類数だけベクトルを生成する。情報処理装置10は、要求仕様ベクトルと部品カテゴリのベクトルと結合して多層のセルフアテンションモデルに投入する。情報処理装置10は、カテゴリごとに空間を分けて各部品をベクトル化し、セルフアテンションモデルの出力ベクトルとカテゴリごとに空間が分けられた部品ベクトルに距離関数を適用し、カテゴリごとに部品を予測する。したがって、情報処理装置10は、カテゴリ間の共起、非共起関係を強く学習することができる。
【0096】
上述したように、情報処理装置10は、受注生産を行うような業界の見積自動化を行うのに際して、入力を要求仕様、出力を部品データベースに登録された部品の組み合わせとするような機械学習モデルを用いる。情報処理装置10は、出力部品の中で、確度の高い部品カテゴリの部品を逐次的に確定することで、確定済み部品カテゴリとは異なる他部品カテゴリの出力部品のスコアを動的に更新することができる。したがって、情報処理装置10は、出力部品の傾向が大きく間違うことを抑制することができる。
【0097】
上記実施例で用いたデータ例、カテゴリ名やカテゴリ数、要求仕様、部品名等は、あくまで一例であり、任意に変更することができる。また、機械学習部30と予測処理部40とを別々の情報処理装置で実現することもできる。
【0098】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更されてもよい。
【0099】
また、各装置の構成要素の分散や統合の具体的形態は図示のものに限られない。例えば、機械学習部30と予測処理部40とが統合されてもよい。つまり、その構成要素の全部または一部は、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合されてもよい。さらに、各装置の各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0100】
図17は、ハードウェア構成例を説明する図である。
図17に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図17に示した各部は、バス等で相互に接続される。
【0101】
通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、
図4に示した機能を動作させるプログラムやDBを記憶する。
【0102】
プロセッサ10dは、
図4に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図4等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、機械学習部30と予測処理部40等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、機械学習部30と予測処理部40等と同様の処理を実行するプロセスを実行する。
【0103】
このように、情報処理装置10は、プログラムを読み出して実行することで機械学習方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
【0104】
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。
【符号の説明】
【0105】
10 情報処理装置
11 通信部
12 記憶部
13 機械学習モデル
14 訓練データDB
15 予測対象データDB
20 制御部
30 機械学習部
40 予測処理部
41 第1予測部
42 第2予測部