(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】モデル訓練プログラム、モデル訓練方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20231205BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022527336
(86)(22)【出願日】2020-05-26
(86)【国際出願番号】 JP2020020814
(87)【国際公開番号】W WO2021240664
(87)【国際公開日】2021-12-02
【審査請求日】2022-08-03
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 浩史
(72)【発明者】
【氏名】後藤 啓介
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2012-073761(JP,A)
【文献】特開2020-017112(JP,A)
【文献】鈴木浩史ほか,ユーザーの納得感を考慮した線形モデルの重み付きLassoによる定式化と一解法,第112回人工知能基本問題研究会資料,一般社団法人人工知能学会,2020年03月01日,pp.67-72
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
判定モデルの訓練に利用された訓練データセットに含まれる複数の訓練データのうち、前記判定モデルが正しく判定できた訓練データを選択し、
選択された前記訓練データに含まれるデータ項目のうち判定に寄与したデータ項目と判定結果とをユーザに提示し、
提示された前記データ項目に対する解釈のしやすさの評価を受付け、
評価結果に基づいて調整されたロス関数をもとに、前記訓練データセットを用いて前記判定モデルの訓練を実行する
処理を実行させることを特徴とするモデル訓練プログラム。
【請求項2】
訓練された前記判定モデルがユーザ要件を満たすまで、前記判定に寄与したデータ項目と判定結果とのユーザへの提示、前記データ項目に対する解釈のしやすさの評価の受付、前記ロス関数の調整、前記評価結果に応じた前記判定モデルの訓練、を繰り返し実行し、
訓練された前記判定モデルがユーザ要件を満たした場合に、訓練された前記判定モデルを出力する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載のモデル訓練プログラム。
【請求項3】
前記選択する処理は、前記訓練データセットに含まれる前記複数の訓練データのうち、前記判定モデルによる判定結果とラベルが一致し、評価対象として前記ユーザに提示されたデータ項目の数が少なく、前記判定結果に基づく予測値の絶対値が最大である訓練データを優先的に選択することを特徴とする請求項2に記載のモデル訓練プログラム。
【請求項4】
前記提示する処理は、選択された前記訓練データに含まれるデータ項目のうち、前記判定モデルに含まれる重みの符号がラベルと一致し、評価対象として前記ユーザに提示された評価回数が少ないデータ項目を優先的に前記ユーザに提示することを特徴とする請求項2に記載のモデル訓練プログラム。
【請求項5】
前記訓練を実行する処理は、前記ロス関数に含まれる分類誤差と重みペナルティに対して、解釈しやすいと評価された前記データ項目について重みペナルティを小さい値に変更し、解釈しにくいと評価された前記データ項目について重みペナルティを大きい値に変更して、変更後の前記ロス関数の最適化により、前記判定モデルの訓練を実行することを特徴とする請求項1に記載のモデル訓練プログラム。
【請求項6】
コンピュータが、
判定モデルの訓練に利用された訓練データセットに含まれる複数の訓練データのうち、前記判定モデルが正しく判定できた訓練データを選択し、
選択された前記訓練データに含まれるデータ項目のうち判定に寄与したデータ項目と判定結果とをユーザに提示し、
提示されたデータ項目に対する解釈のしやすさの評価を受付け、
評価結果に基づいて調整されたロス関数をもとに、前記訓練データセットを用いて前記判定モデルの訓練を実行する
処理を実行することを特徴とするモデル訓練方法。
【請求項7】
判定モデルの訓練に利用された訓練データセットに含まれる複数の訓練データのうち、前記判定モデルが正しく判定できた訓練データを選択する選択部と、
選択された前記訓練データに含まれるデータ項目のうち判定に寄与したデータ項目と判定結果とをユーザに提示する提示部と、
提示されたデータ項目に対する解釈のしやすさの評価を受付ける受付部と、
評価結果に基づいて調整されたロス関数をもとに、前記訓練データセットを用いて前記判定モデルの訓練を実行する実行部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル訓練プログラム、モデル訓練方法および情報処理装置に関する。
【背景技術】
【0002】
AI(Artificial Intelligence)技術が普及し、ブラックボックスなモデルの判断を鵜呑みにできない、人間にとって解釈可能な判断の根拠を示してほしいなど、説明可能な機械学習モデルの需要が増加している。このことから、ルールリスト、決定木、線形モデルなどのホワイトボックスモデルを予め用いることも行われるが、ホワイトボックスなモデルを単に用いるだけでは、人間にとって解釈可能なモデルとは限らない。
【0003】
そのため、近年では、モデル生成と人間へのフィードバックとを繰り返す対話型アプローチにより、人間が納得できて精度がよいモデルを生成することが行われている。例えば、「ある入力に対するモデルの出力を予測する」タスクをユーザに表示し、反応時間により解釈可能性を評価する。そして、評価にしたがって、モデルを最適化する際のパラメータを変更してモデルを更新する。このような処理を繰り返すことで、人間が納得できて精度がよいモデルを生成することが行われている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Isaac Lage,et al.,“Human-in-the-loop interpretability prior”,In proceedings of the 32nd International Conference on Neural Information Processing Systems (NIPS‘18),pages 10180-10189,2018
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記技術は、決定木やルールリストなど、人間が分岐を追うことで出力を予測できるモデルが対象であり、線形モデルへの適用が困難である。例えば、100個のデータ項目がモデルに出現する場合、ユーザが100個のデータ項目すべてに目を通してモデルの予測値を概算するのは、ユーザにとって負担が大きく、非現実的である。
【0006】
また、線形モデルの解釈可能性は、出力の説明として提示されるデータ項目の解釈しやすさにより決まるので、上記タスクへの応答時間の長さからは解釈可能性を評価できない。
【0007】
一つの側面では、モデルの解釈のしやすさの向上を図ることができるモデル訓練プログラム、モデル訓練方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の案では、モデル訓練プログラムは、コンピュータに、判定モデルの訓練に利用された訓練データセットに含まれる複数の訓練データのうち、前記判定モデルが正しく判定できた訓練データを選択する処理を実行させる。モデル訓練プログラムは、コンピュータに、選択された前記訓練データに含まれるデータ項目のうち判定に寄与したデータ項目と判定結果とをユーザに提示し、提示された前記データ項目に対する解釈のしやすさの評価を受付ける処理を実行させる。モデル訓練プログラムは、コンピュータに、評価結果に基づいて調整されたロス関数をもとに、前記訓練データセットを用いて前記判定モデルの訓練を実行する処理を実行させる。
【発明の効果】
【0009】
一実施形態によれば、モデルの解釈のしやすさの向上を図ることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図2】
図2は、一般技術の問題点を説明する図である。
【
図3】
図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図4】
図4は、訓練データセットの一例を説明する図である。
【
図6】
図6は、データ項目の推薦を説明する図である。
【
図7】
図7は、具体例のループ1回目を説明する図である。
【
図8】
図8は、問い合わせ画面例を説明する図である。
【
図9】
図9は、具体例のループ2回目を説明する図である。
【
図10】
図10は、具体例のループ2回目を説明する図である。
【
図11】
図11は、具体例のループ3回目を説明する図である。
【
図12】
図12は、具体例のループ3回目を説明する図である。
【
図13】
図13は、具体例のループ4回目を説明する図である。
【
図14】
図14は、具体例のループ4回目を説明する図である。
【
図15】
図15は、具体例のループ5回目を説明する図である。
【
図16】
図16は、具体例のループ5回目を説明する図である。
【発明を実施するための形態】
【0011】
以下に、本発明にかかるモデル訓練プログラム、モデル訓練方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0012】
[情報処理装置の説明]
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示す情報処理装置10は、解釈可能性の高い判定モデルを生成するコンピュータ装置である。この情報処理装置10は、ユーザ(人間)との対話により、人間による評価のフィードバックとモデル生成を繰り返し、なるべく人間に手間をかけさせないで、人が納得できて精度良いモデルを生成する。実施例1にかかる情報処理装置10は、説明可能な機械学習モデルとして、ホワイトボックスモデルの一例である線形モデルを例にして説明する。
【0013】
ここで、線形モデルの一例としては、式(1)に示すロス関数を最小化して得られる回帰式(式(2)参照)による判定モデル(学習モデル)が考えられる。なお、ロス関数は、訓練データと分類誤差(判定誤差)と重みペナルティを含む目的関数の一例であり、回帰式は、データ項目がd個あると仮定した例を示している。回帰式は、m(x)>0のとき正例、それ以外では負例と判定するモデルである。
【0014】
【0015】
一般的に、訓練された判定モデルにおいて、入力データに合致して重みが「0」でないデータ項目を説明としてユーザに提示する。例えば、判定モデルがm(x)=7x1-2x3-6x5であるときに、入力x=(0,1,1,0,1)を入力した場合、判定モデルによる予測値m(x)は「-8」となる。このとき、x3とx5に起因して負例と判定されていることから、特に「x5」が重要としてユーザに提示することができる。このように、対話的アプローチにより訓練が進むと、ロス関数内のペナルティの調整により重みが「0」のデータ項目が増えて簡潔な説明になるが、説明の簡潔さと判定精度はトレードオフの関係にある。
【0016】
図2は、一般技術の問題点を説明する図である。
図2に示すように、データ項目を増やせば判定精度は向上するが、回帰式が長くなるので、ユーザによる「ある入力に対するモデルの出力を予測する」タスクにかかる時間が長くなる。つまり、ユーザが各データ項目について解釈可能か否かを判定し、ユーザによる評価を取得するまでの時間が長くなり、判定モデルの生成に時間がかかる。一方、回帰式を短くすると、ユーザが解釈することが難しいデータ項目x
2、x
5、x
8(解釈しやすさ=×)などが多く使用されることもあり、ユーザによるタスクの処理時間が短縮できるとも限らない。
【0017】
そこで、実施例1にかかる情報処理装置10は、各データ項目にモデル生成時のペナルティ係数を用意し、「提示されたデータ項目を評価する」タスクの結果に応じてペナルティ係数を更新する。そして、情報処理装置10は、更新されたペナルティ係数を用いてモデルの最適化を実行することで、ロス関数の更新とモデルの訓練を実行する。
【0018】
具体的には、情報処理装置10は、判定モデルの訓練に利用された訓練データセットに含まれる訓練データのうち、判定モデルが正しく判定できた訓練データを選択する。そして、情報処理装置10は、選択された訓練データに含まれるデータ項目のうち判定に寄与したデータ項目と判定結果とをユーザに提示し、提示されたデータ項目に対する解釈のしやすさの評価を受付ける。その後、情報処理装置10は、評価結果に基づいて調整されたロス関数をもとに、訓練データセットを用いて前記判定モデルの訓練を実行する。
【0019】
つまり、
図1に示すように、情報処理装置10は、訓練済みの線形モデル(判定モデル)を用いて、ユーザに推薦するデータ項目の探索を実行し、探索されたデータ項目をユーザに推薦する。そして、情報処理装置10は、推薦されたデータ項目に対するユーザ評価を取得して、ユーザ評価を考慮して判定モデル(線形モデル)の訓練を実行し、ユーザに提示する。また、情報処理装置10は、提案された判定モデルに対するユーザ評価を取得して、ユーザに提案するデータ項目の探索を再度実行する。
【0020】
つまり、情報処理装置10は、訓練履歴に基づいてデータ項目をユーザに推薦する際に、データ項目数を減らしてタスクを平易化し、ユーザ評価とその評価に基づく訓練を繰り返すことで、データ項目の解釈しやすさを考慮したモデル生成を実現する。このようにして、情報処理装置10は、モデルの解釈のしやすさの向上を図ることができる。なお、本実施例で使用する「データ項目が解釈しやすい」とは、「モデルへの出現しやすさ」と同義である。
【0021】
[機能構成]
図3は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図3に示すように、情報処理装置10は、通信部11、表示部12、記憶部13、制御部20を有する。
【0022】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースにより実現される。例えば、通信部11は、管理者端末などから訓練データセットや処理開始などの各種指示を受信し、訓練後の判定モデルを管理者端末に送信する。
【0023】
表示部12は、制御部20により生成される各種情報を出力する処理部であり、例えばディスプレイやタッチパネルなどにより実現される。
【0024】
記憶部13は、各種データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクにより実現される。この記憶部13は、訓練データセット14と判定モデル15を記憶する。
【0025】
訓練データセット14は、判定モデル15の訓練に使用された訓練データである。
図4は、訓練データセット14の一例を説明する図である。
図4に示すように、訓練データセット14は、説明変数である複数のデータ項目と目的変数である正解情報(ラベル)とが対応付けられた複数の訓練データから構成される。
【0026】
具体的には、
図4に示すように、訓練データの一例であるデータa、b、c、d、e、fのそれぞれは、特徴を示すデータ項目x
i(i=1から8)とラベルとから構成される。例えば、データaは、「データ項目x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8」として「1,0,0,0,0,0,1,1」が設定されており、ラベルとして「正例」が設定されている。
【0027】
判定モデル15は、訓練データセット14を用いて訓練された訓練済みのモデルである。例えば、判定モデル15は、式(3)等に示される線形モデルm(x)であり、入力に対する予測値m(x)が0より大きければ「正例」、予測値m(x)が0以下であれば「負例」と判定(分類)される。なお、判定モデル15は、後述する訓練部21によって生成される。
【0028】
【0029】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、訓練部21、対話処理部22、出力部26を有する。なお、訓練部21、対話処理部22、出力部26は、プロセッサなどの電子回路として実現することもでき、プロセッサが実行するプロセスとして実現することもできる。
【0030】
訓練部21は、判定モデル15の訓練(学習)を実行する処理部である。具体的には、訓練部21は、訓練データセット14を用いて判定モデル15を訓練し、訓練が完了すると、訓練済みである判定モデル15を記憶部13に格納する。
【0031】
ここで、訓練に使用するロス関数と分類モデルについて説明する。式(4)に示すロス関数Lは、分類誤差(判定誤差)と重みペナルティとの和により定義される。ここで、Xは、訓練データの説明変数であり、yは、訓練データの目的変数(ラベル)である。また、ρiは、d個の各データ項目に対して設定される係数であり、初期値はユーザ指定のひとつの実数値パラメータで統一する。なお、データ項目iが解釈しやすい場合、モデルに出現しやすくなるようにρiをγρiで更新され、データ項目iが解釈しにくい場合、モデルに出現しにくくなるようにρiをδρiで更新されて、訓練が実行される。ここで、γおよびδは、ユーザが設定可能な実数値パラメータであり、例えば0<γ<1、1<δである。
【0032】
【0033】
図5は、ロス関数を説明する図である。
図5に示すように、訓練部21は、ロス関数Lの「X」に、訓練データセット14の各データの説明変数(データ項目)を行とする6行8列の行列を代入する。例えば、Xの1行目にデータaの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=1,0,0,0,0,0,1,1」、2行目にデータbの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=1,1,1,1,0,0,1,1」、3行目にデータcの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=0,0,0,0,1,1,1,1」、4行目にデータdの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=1,1,1,1,0,0,0,0」、5行目にデータeの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=0,1,1,1,1,1,0,0」、6行目にデータfの「x
1,x
2,x
3,x
4,x
5,x
6,x
7,x
8=0,1,1,1,1,1,1,1」が設定される。
【0034】
また、ロス関数Lの「y」には、訓練データセット14の各データのラベルを行とする6行1列の行列が代入される。例えば、yの1行目にデータaの「ラベル=正例」、2行目にデータbの「ラベル=正例」、3行目にデータcの「ラベル=正例」、4行目にデータdの「ラベル=負例」、5行目にデータeの「ラベル=負例」、6行目にデータfの「ラベル=負例」が設定される。計算上、正例は「1」、負例は「0」に変換される。
【0035】
また、ρiは、データ項目ごとに設定される値(重み)であり、各データ項目の解釈しやすさにより定義される。例えば、データ項目x1に対してρ1が設定され、データ項目x2に対してρ2が設定され、データ項目x3に対してρ3が設定され、データ項目ρ4に対してρ4が設定され、データ項目x5に対してρ5が設定され、データ項目x6に対してρ6が設定され、データ項目x7に対してρ7が設定され、データ項目x8に対してρ8が設定されて、ロス関数の最適化(最小化)が計算される。なお、訓練部21による訓練時は、ρiに対して任意の値を設定する。
【0036】
そして、訓練部21は、上述したように各変数に値を設定したロス関数Lの最適化を実行し、最適化して得られるaiを用いた、式(2)に示す判定モデルm(x)を生成する。すなわち、訓練部21は、ロス関数Lを最小化して得られる回帰式による判定モデルを生成して、判定モデル15として記憶部13に格納する。なお、ここでは、データ項目数がd個である例を示しているが、実施例1では、d=8となる。
【0037】
対話処理部22は、推薦部23、再訓練部24、画面表示部25を有し、ユーザとの対話アプローチによるデータ項目に対するユーザ評価の取得、および、ユーザ評価を考慮した判定モデル15の再訓練を実行する処理部である。
【0038】
具体的には、対話処理部22は、訓練データセット14の各訓練データに含まれる各データ項目の評価回数を管理し、訓練データ中から所定の優先基準で1つの訓練データを推薦対象に決定する。そして、対話処理部22は、推薦対象の訓練データ内のデータ項目のうち、入力(ラベル)に合致するデータ項目から任意のk個をユーザに提示して、提示されたデータ項目に対する評価を受け付ける。
【0039】
その後、対話処理部22は、ユーザ評価に応じて、ロス関数の重みペナルティを更新した上で、訓練データセット14を用いた判定モデル15の再訓練を実行して、判定モデル15の最適化を実行する。つまり、対話処理部22は、データ項目の推薦、ユーザ評価を反映したロス関数により再訓練、判定モデル15の生成を繰り返し、効果的にタスクを課すことで、少ないタスク回数で判定モデル15の最適化を実現する。
【0040】
推薦部23は、訓練済みの判定モデル15と訓練データセット14と用いて、訓練データが有する複数のデータ項目から、ユーザの評価対象のデータ項目を探索してユーザに提示(推薦)する処理部である。
【0041】
ここで、データ項目の推薦について詳細に説明する。
図6は、データ項目の推薦を説明する図である。
図6に示すように、推薦部23は、訓練データである各データaからデータfそれぞれいついて、「データ項目とラベル」に加えて、「予測値」、「平均評価回数」、「ペナルティ」、「評価回数」を管理する。
【0042】
「予測値」は、訓練データを判定モデル15に入力したときに、判定モデル15が出力した出力値である。「平均評価回数」は、モデルに含まれる各データ項目が評価された回数や割合であり、判定モデル15が再訓練されるたびに更新される。「ペナルティ」は、ロス関数の重みペナルティの「ρi」に設定するに設定する値であり、例えば初期値が「1.0」で、ユーザ評価により更新される。「評価回数」は、各データ項目が評価された回数である。例えば、推薦部23は、d個のデータ項目に対してc1,c2,c3・・・cdとしてそれぞれを初期化し、データ項目iがユーザによって選択されたときに「ci」を「ci+1」で更新する。
【0043】
このような情報を管理するとこで、推薦部23は、判定モデル15が再訓練されるたびに、推薦するデータ項目を決定してユーザに提示する。例えば、まず、推薦部23は、推薦対象のデータ項目を絞り込む。具体的には、推薦部23は、訓練データの中から、判定モデル15による判定結果が正しく、平均評価回数が最小で、判定モデル15による予測値の絶対値が最大である訓練データを、ユーザへの推薦対象として選択する。つまり、推薦部23は、正しく訓練された訓練データのうち評価回数が少なく重みが大きいデータ項目が多いものを優先的にユーザに推薦する。なお、推薦部23は、該当する訓練データが存在しない場合は、ランダムに選択する。
【0044】
次に、推薦部23は、入力に合致するデータ項目から所定の優先基準で選択したk個のデータ項目をユーザに提示して推薦する。具体的には、推薦部23は、重みの符号がラベルと一致しており、評価回数が少なく、重みの絶対値が大きいデータ項目をk個選択してユーザに推薦する。つまり、推薦部23は、判定結果に寄与しており、評価回数が少なく重みが大きいデータ項目を優先してユーザに提示する。そして、推薦部23は、提示したデータ項目が「解釈しやすい」、「解釈しにくい」、または、「どちらでもない」のいずれに該当するかの評価をユーザから受け付ける。
【0045】
再訓練部24は、推薦部23により得られたユーザの評価を考慮して、判定モデル15の再訓練を実行する処理部である。具体的には、再訓練部24は、訓練部21と同様の手法により、訓練データセット14と式(4)とを用いて、ロス関数Lを最小化して得られる回帰式による判定モデル15を生成する。
【0046】
このとき、再訓練部24は、推薦部23により取得されたユーザ評価をロス関数の「ρi」に反映させて最小化を実行する。具体的には、再訓練部24は、ユーザ評価に応じて、データ項目iが「解釈しやすい」と評価された場合には、データ項目iに対応する「ρi」を「γρi」で更新して、ロス関数の最適化を実行する。一方、再訓練部24は、ユーザ評価に応じて、データ項目iが「解釈しにくい」と評価された場合には、データ項目iに対応する「ρi」を「δρi」で更新して、ロス関数の最適化を実行する。
【0047】
例えば、γ=1/2、δ=0.5、各ρiの初期値が1.0の状態を例にして説明すると、再訓練部24は、データ項目x3が「解釈しやすい」と評価された場合は「ρ3」を「1.0」から「1.0×1/2=0.5」に更新し、他のデータ項目の「ρi」については「1.0」を設定したロス関数の最小化を計算する。一方、再訓練部24は、データ項目x3が「解釈しにくい」と評価された場合は「ρ3」を「1.0」から「1.0×2=2.0」に更新し、他のデータ項目の「ρi」については「1.0」を設定したロス関数の最小化を計算する。
【0048】
そして、再訓練部24は、ユーザ評価を「ρi」に反映させたロス関数を最小化して得られる回帰式による判定モデル15をユーザに提示して、判定モデル15そのものが解釈しやすいか否かを評価させる。
【0049】
ここで、判定モデル15そのものが解釈しやすいと評価された場合は、そのときの判定モデル15が最終的に得られた判定モデルと決定される。一方、判定モデル15そのものが解釈しにくいと評価された場合は、推薦部23によるデータ項目の探索および推薦と、再訓練部24による再訓練とが再度実行される。
【0050】
図3に戻り、画面表示部25は、ユーザの評価を受け付けるための問い合わせ画面を生成してユーザに表示する処理部である。例えば、画面表示部25は、推薦部23により探索されたデータ項目が「解釈しやすい」か「解釈しにくい」か「どちらでもない」かを問い合わせるための問い合わせ画面を生成してユーザに表示する。また、画面表示部25は、再訓練部24により生成された判定モデル15が「解釈しやすい」か「解釈しにくい」かを問い合わせるための問い合わせ画面を生成してユーザに表示する。
【0051】
なお、推薦部23や再訓練部24は、画面表示部25により生成される問い合わせ画面上でユーザ評価を受け付ける。また、画面表示部25は、問い合わせ画面を情報処理装置10の表示部12に画面を表示することもでき、ユーザ端末に送信することもできる。
【0052】
出力部26は、解釈しやすいと最終的に判定された判定モデル15を出力する処理部である。例えば、出力部26は、画面表示部25により生成された問い合わせ画面上で、表示されている判定モデル15が「解釈しやすい」と判定された場合、表示されている判定モデル15を記憶部13に格納したり、ユーザ端末に出力したり、任意の出力先に出力する。
【0053】
[具体例]
次に、
図7から
図16を用いて、ユーザ評価を考慮した判定モデル15の再訓練の具体例を説明する。ここでは、k=2、γ=1/2、δ=2とする。
【0054】
(ループ1回目)
図7は、具体例のループ1回目を説明する図である。
図7に示すように、対話処理部22は、
図4に示した訓練データセット14を、式(4)に代入し、再訓練を実行することで、判定モデル15「m(x)=x
1-2x
2-x
5+2x
8」を生成する。なお、
図7に示す「潜在評価」とは、各データ項目の潜在的な解釈のしやすさを表すものであり、具体例では説明を分かりやすくするために記載しているが、実際の処理においては不明な情報である。
【0055】
この状態で、対話処理部22は、データ項目のユーザ提示を実行する。例えば、対話処理部22は、各データaからデータfについてラベルと予測値が一致するので、すべての判定が正しい判定する。続いて、対話処理部22は、予測値が正しいデータのうち、平均評価回数が小さいデータを選択するが、ループ1回目であり平均評価回数がすべて等しいと判定する。そして、対話処理部22は、平均評価回数が小さいデータのうち、予測値の絶対値が大きいデータaとデータeとを特定し、ランダムにデータaを選択する。
【0056】
その後、対話処理部22は、データaの各データ項目x1からx8のうち、判定モデル15「m(x)=x1-2x2-x5+2x8」に含まれる「x1,x2,x5,x8」のうち、データaと合致するとともに、ラベルと重みが一致するデータ項目x1とデータ項目x8を特定する。例えば、対話処理部22は、判定モデル15に含まれる「x1,x2,x5,x8」のうち、データaのデータ項目で「1」が設定されるデータ項目x1とデータ項目x8を特定する。そして、対話処理部22は、特定したデータ項目x1に対応する判定モデル15の重みが「1」、データ項目x8に対応する判定モデル15の重みが「2」であり、いずれもデータaのラベル「正例」と一致するので、データ項目x1およびx8を推薦対象に決定する。すなわち、対話処理部22は、データaがデータ項目x1およびx8に起因(寄与)して正例と判定されたと推定する。
【0057】
そして、対話処理部22は、現在の判定モデル15と推薦対象のデータ項目とを表示する問い合わせ画面を生成して、ユーザに提示する。
図8は、問い合わせ画面例を説明する図である。
図8に示すように、対話処理部22は、現在のモデルを示す領域51と、データ項目の評価を受け付ける領域52と、データ詳細の領域53を有する問い合わせ画面50を生成してユーザに表示する。
【0058】
具体的には、対話処理部22は、現在のモデルを示す領域51には、現時点での判定モデル15(m(x))を表示するとともに、モデルを出力するか否かを選択させるボタンを表示する。また、対話処理部22は、データ項目の評価を受け付ける領域52には、推薦対象に決定された「データ項目」を表示するとともに、そのデータ項目が「解釈しやすい」か「解釈しにくい」か「どちらでもない」かを選択させるボタン等を表示する。また、対話処理部22は、データ詳細の領域53には、訓練データセット14を表示する。
【0059】
なお、この具体例においては、対話処理部22は、推薦されたデータ項目x1に対して、ユーザから「どちらでもない」との評価を取得し、データ項目x8に対して、ユーザから「解釈しにくい」との評価を取得したものとする。また、対話処理部22は、判定モデル15「m(x)=x1-2x2-x5+2x8」については、ユーザから「モデルを出力」の選択は受付けておらず、解釈しやすいモデルではないと判定したものとする。なお、ここでは、モデルとデータ項目との両方を同時に問い合わせる例で説明したが、モデルの評価を問い合わせて「解釈しにくい」と評価された後に、データ項目の推薦を実行することもできる。
【0060】
(ループ2)
図9と
図10は、具体例のループ2回目を説明する図である。
図9に示すように、対話処理部22は、データ項目x
1とデータ項目x
8がユーザに推薦されたので、評価回数を1だけ増加させて、それぞれの評価回数を「1」に変更する。また、対話処理部22は、データ項目x
8が「解釈しにくい」と評価されたことから、データ項目x
8のペナルティ「ρ
8」を、「δρ
i」に基づき「現在値(1.0)×2=2.0」に変更する。その後、対話処理部22は、各データ項目x
iのペナルティ「ρ
i」の値を設定したロス関数を用いて、判定モデル15の再訓練を実行して、判定モデル15「m(x)=x
1-2x
2-x
5+2x
7」を生成する。
【0061】
そして、対話処理部22は、問い合わせ画面50の現在のモデルを示す領域51を更新して、再訓練後の判定モデル15「m(x)=x1-2x2-x5+2x7」を表示してユーザ評価を問い合わせる。ここでは、対話処理部22は、判定モデル15について、ユーザから「モデルを出力」の選択は受付けておらず、解釈しやすいモデルではないと判定したものとする。
【0062】
再訓練後のモデルが解釈しにくい場合、
図10に示すように、対話処理部22は、平均評価回数の更新を実行する。具体的には、対話処理部22は、データaについて、判定モデル15に存在するデータ項目「x
1」、「x
2」、「x
5」、「x
7」のうち、データaと合致する2つのデータ項目x
1とx
7のうち、データ項目x
1に対してユーザ評価済みであることから、平均評価回数を「1/2=0.5」と算出して設定する。なお、合致するとは、判定モデル15に登場するデータ項目のうち、データaにおいて「1」が設定されるデータ項目を指す。
【0063】
同様に、対話処理部22は、データbについて、判定モデル15に存在するデータ項目「x1」、「x2」、「x5」、「x7」のうち、データbと合致する3つのデータ項目x1とx5とx7のうち、データ項目x1に対してユーザ評価済みであることから、平均評価回数を「1/3=0.33」と算出して設定する。
【0064】
また、対話処理部22は、データcについて、判定モデル15に存在するデータ項目のうち、データcと合致する2つのデータ項目x5とx7が未評価であることから、平均評価回数を「0/2=0」と算出して設定する。同様に、対話処理部22は、データdについて、判定モデル15に存在するデータ項目のうち、データdと合致する2つのデータ項目x1とx2のうち、データ項目x1に対してユーザ評価済みであることから、平均評価回数を「1/2=0.5」と算出して設定する。
【0065】
また、対話処理部22は、データeについて、判定モデル15に存在するデータ項目のうち、データeと合致する2つのデータ項目x2とx5のうち、いずれも未評価であることから、平均評価回数を「0/2=0」と算出して設定する。同様に、対話処理部22は、データfについて、判定モデル15に存在するデータ項目のうち、データfと合致する3つのデータ項目x2とx5とx7のうち、いずれも未評価であることから、平均評価回数を「0/2=0」と算出して設定する。
【0066】
この状態で、対話処理部22は、データ項目のユーザ提示を実行する。例えば、対話処理部22は、各データaからデータfについてラベルと予測値が一致するので、すべての判定が正しい判定する。続いて、対話処理部22は、予測値が正しいデータのうち、平均評価回数が小さいデータであるデータc、データe、データfを特定する。そして、対話処理部22は、平均評価回数が小さいデータのうち、予測値の絶対値が大きいデータeを選択する。
【0067】
その後、対話処理部22は、データeの各データ項目x1からx8のうち、判定モデル15「m(x)=x1-2x2-x5+2x7」に含まれる「x1,x2,x5,x7」のうち、データeと合致するとともに、ラベルと重みが一致するデータ項目x2とデータ項目x5を特定する。例えば、対話処理部22は、特定したデータ項目x2に対応する判定モデル15の重みが「-2」、データ項目x7に対応する判定モデル15の重みが「-1」であり、いずれもデータeのラベル「負例」と一致するとともに、一致した数がk(=2)以下であることから、データ項目x2およびx5を推薦対象に決定する。すなわち、対話処理部22は、データeがデータ項目x2およびx5に起因して負例と判定されたと推定する。
【0068】
そして、対話処理部22は、問い合わせ画面50を更新して、推薦対象のデータ項目を表示する問い合わせ画面50をユーザに提示する。ここでは、対話処理部22は、推薦されたデータ項目x2とデータ項目x5のそれぞれに対して、ユーザから「解釈しにくい」との評価を取得したものとする。
【0069】
(ループ3)
図11と
図12は、具体例のループ3回目を説明する図である。
図11に示すように、対話処理部22は、データ項目x
2とデータ項目x
5がユーザに推薦されたので、評価回数を1だけ増加させて、それぞれの評価回数を「1」に変更する。また、対話処理部22は、データ項目x
2およびx
8の両方が「解釈しにくい」と評価されたことから、データ項目x
2のペナルティ「ρ
2」とデータ項目x
8のペナルティ「ρ
8」を、「δρ
i」に基づき「現在値(1.0)×2=2.0」に変更する。その後、対話処理部22は、各データ項目x
iのペナルティ「ρ
i」の値を設定したロス関数を用いて、判定モデル15の再訓練を実行して、判定モデル15「m(x)=x
1-2x
3-x
6+2x
7」を生成する。
【0070】
そして、対話処理部22は、問い合わせ画面50の現在のモデルを示す領域51を更新して、再訓練後の判定モデル15「m(x)=x1-2x3-x6+2x7」を表示してユーザ評価を問い合わせる。ここでは、対話処理部22は、判定モデル15については、ユーザから「モデルを出力」の選択は受付けておらず、解釈しやすいモデルではないと判定したものとする。
【0071】
再訓練後のモデルが解釈しにくい場合、
図12に示すように、対話処理部22は、平均評価回数の更新を実行する。具体的には、対話処理部22は、データaについて、判定モデル15に存在するデータ項目「x
1」、「x
3」、「x
6」、「x
7」のうち、データaと合致する2つのデータ項目x
1とx
7を特定する。そして、対話処理部22は、特定した2つのデータ項目x
1とx
7のうち、データ項目x
1が現在までで評価済みであるデータ項目x
1、x
8、x
2、x
5に含まれていることから平均評価回数を「1/2=0.5」と算出して、データaに設定する。
【0072】
同様に、対話処理部22は、データbについて、判定モデル15に存在するデータ項目「x1」、「x3」、「x6」、「x7」のうち、データbと合致する3つのデータ項目x1とx3とx7を特定する。そして、対話処理部22は、特定した3つのデータ項目x1とx3とx7のうち、データ項目x1が現在までで評価済みであるデータ項目x1、x8、x2、x5に含まれていることから平均評価回数を「1/3=0.33」と算出して、データbに設定する。
【0073】
また、対話処理部22は、データcについて、判定モデル15に存在するデータ項目「x1」、「x3」、「x6」、「x7」のうち、データcと合致する2つのデータ項目x6とx7を特定する。そして、対話処理部22は、これらが現在までで評価済みであるデータ項目x1、x8、x2、x5に含まれていないことから平均評価回数を「0/2=0」と算出して、データcに設定する。
【0074】
また、対話処理部22は、データdについて、判定モデル15に存在するデータ項目「x1」、「x3」、「x6」、「x7」のうち、データdと合致する2つのデータ項目x1とx3を特定する。そして、対話処理部22は、特定した2つのデータ項目x1とx3のうち、データ項目x1が現在までで評価済みであるデータ項目x1、x8、x2、x5に含まれていることから平均評価回数を「1/2=0.5」と算出して、データdに設定する。
【0075】
また、対話処理部22は、データeについて、判定モデル15に存在するデータ項目「x1」、「x3」、「x6」、「x7」のうち、データeと合致する2つのデータ項目x3とx6を特定する。そして、対話処理部22は、これらが現在までで評価済みであるデータ項目x1、x8、x2、x5に含まれていないことから平均評価回数を「0/2=0」と算出して、データeに設定する。
【0076】
また、対話処理部22は、データfについて、判定モデル15に存在するデータ項目「x1」、「x3」、「x6」、「x7」のうち、データfと合致する3つのデータ項目x3とx6とx7を特定する。そして、対話処理部22は、これらが現在までで評価済みであるデータ項目x1、x8、x2、x5に含まれていないことから平均評価回数を「0/3=0」と算出して、データfに設定する。
【0077】
この状態で、対話処理部22は、データ項目のユーザ提示を実行する。例えば、対話処理部22は、各データaからデータfについてラベルと予測値が一致するので、すべての判定が正しい判定する。続いて、対話処理部22は、予測値が正しいデータのうち、平均評価回数が小さいデータであるデータc、データe、データfを特定する。そして、対話処理部22は、平均評価回数が小さいデータのうち、予測値の絶対値が大きいデータeを選択する。
【0078】
その後、対話処理部22は、データeの各データ項目x1からx8のうち、判定モデル15「m(x)=x1-2x3-x6+2x7」に含まれる「x1,x3,x6,x7」のうち、データeと合致するとともに、ラベルと重みが一致するデータ項目x3とデータ項目x6を特定する。例えば、対話処理部22は、特定したデータ項目x3に対応する判定モデル15の重みが「-2」、データ項目x6に対応する判定モデル15の重みが「-1」であり、いずれもデータeのラベル「負例」と一致するとともに、一致した数がk(=2)以下であることから、データ項目x3およびx6を推薦対象に決定する。すなわち、対話処理部22は、データeがデータ項目x3およびx6に起因して負例と判定されたと推定する。
【0079】
そして、対話処理部22は、問い合わせ画面50を更新して、推薦対象のデータ項目を表示する問い合わせ画面をユーザに提示する。ここでは、対話処理部22は、推薦されたデータ項目x3に対して、ユーザから「解釈しにくい」との評価を取得し、データ項目x6に対して、ユーザから「どちらでもない」との評価を取得したものとする。
【0080】
(ループ4)
図13と
図14は、具体例のループ4回目を説明する図である。
図13に示すように、対話処理部22は、データ項目x
3とデータ項目x
6がユーザに推薦されたので、評価回数を1だけ増加させて、それぞれの評価回数を「1」に変更する。また、対話処理部22は、データ項目x
3が「解釈しにくい」と評価されたことから、データ項目x
3のペナルティ「ρ
3」を、「δρ
i」に基づき「現在値(1.0)×2=2.0」に変更する。その後、対話処理部22は、各データ項目x
iのペナルティ「ρ
i」の値を設定したロス関数を用いて、判定モデル15の再訓練を実行して、判定モデル15「m(x)=x
1-2x
4-x
6+2x
7」を生成する。
【0081】
そして、対話処理部22は、問い合わせ画面50の現在のモデルを示す領域51を更新して、再訓練後の判定モデル15「m(x)=x1-2x4-x6+2x7」を表示してユーザ評価を問い合わせる。ここでは、対話処理部22は、判定モデル15について、ユーザから「モデルを出力」の選択は受付けておらず、解釈しやすいモデルではないと判定したものとする。
【0082】
再訓練後のモデルが解釈しにくい場合、
図14に示すように、対話処理部22は、平均評価回数の更新を実行する。具体的には、対話処理部22は、データaについて、判定モデル15に存在するデータ項目「x
1」、「x
4」、「x
6」、「x
7」のうち、データaと合致する2つのデータ項目x
1とx
7を特定する。そして、対話処理部22は、特定した2つのデータ項目x
1とx
7のうち、データ項目x
1が現在までで評価済みであるデータ項目x
1、x
8、x
2、x
5、x
3、x
6に含まれていることから平均評価回数を「1/2=0.5」と算出して、データaに設定する。
【0083】
同様に、対話処理部22は、データbについて、判定モデル15に存在するデータ項目「x1」、「x4」、「x6」、「x7」のうち、データbと合致する3つのデータ項目x1とx4とx7を特定する。そして、対話処理部22は、特定した3つのデータ項目x1とx4とx7のうち、データ項目x1が現在までで評価済みであるデータ項目x1、x8、x2、x5、x3、x6に含まれていることから平均評価回数を「1/3=0.33」と算出して、データbに設定する。
【0084】
また、対話処理部22は、データcについて、判定モデル15に存在するデータ項目「x1」、「x4」、「x6」、「x7」のうち、データcと合致する2つのデータ項目x6とx7を特定する。そして、対話処理部22は、特定した2つのデータ項目x6とx7のうち、データ項目x6が現在までで評価済みであるデータ項目x1、x8、x2、x5、x3、x6に含まれていることから平均評価回数を「1/2=0.5」と算出して、データcに設定する。
【0085】
また、対話処理部22は、データdについて、判定モデル15に存在するデータ項目「x1」、「x4」、「x6」、「x7」のうち、データdと合致する2つのデータ項目x1とx4を特定する。そして、対話処理部22は、特定した2つのデータ項目x1とx4のうち、データ項目x1が現在までで評価済みであるデータ項目x1、x8、x2、x5、x3、x6に含まれていることから平均評価回数を「1/2=0.5」と算出して、データdに設定する。
【0086】
また、対話処理部22は、データeについて、判定モデル15に存在するデータ項目「x1」、「x4」、「x6」、「x7」のうち、データeと合致する2つのデータ項目x4、x6を特定する。そして、対話処理部22は、特定した2つのデータ項目x4、x6のうち、データ項目x6が現在までで評価済みであるデータ項目x1、x8、x2、x5、x3、x6に含まれていることから平均評価回数を「1/2=0.5」と算出して、データeに設定する。
【0087】
また、対話処理部22は、データfについて、判定モデル15に存在するデータ項目「x1」、「x4」、「x6」、「x7」のうち、データfと合致する3つのデータ項目x4、x6、x7を特定する。そして、対話処理部22は、特定した3つのデータ項目x4、x6、x7のうち、データ項目x6が現在までで評価済みであるデータ項目x1、x8、x2、x5、x3、x6に含まれていることから平均評価回数を「1/3=0.33」と算出して、データeに設定する。
【0088】
この状態で、対話処理部22は、データ項目のユーザ提示を実行する。例えば、対話処理部22は、各データaからデータfについてラベルと予測値が一致するので、すべての判定が正しい判定する。続いて、対話処理部22は、予測値が正しいデータのうち、平均評価回数が小さいデータであるデータb、データfを特定する。そして、対話処理部22は、平均評価回数が小さいデータb、データfの予測値の絶対値が等しいことから、ランダムにデータbを選択する。
【0089】
その後、対話処理部22は、データbの各データ項目x1からx8のうち、判定モデル15「m(x)=x1-2x4-x6+2x7」に含まれる「x1,x4,x6,x7」のうち、データbと合致するとともに、ラベルと重みが一致するデータ項目x1、x7を特定する。例えば、対話処理部22は、特定したデータ項目x1に対応する判定モデル15の重みが「1」、データ項目x4に対応する判定モデル15の重みが「-2」、データ項目x7に対応する判定モデル15の重みが「2」であり、これらのうちデータbのラベル「正例」と一致するデータ項目x1とx7を特定する。そして、対話処理部22は、特定したデータ項目の数がk(=2)以下であることから、データ項目x1およびx7を推薦対象に決定する。すなわち、対話処理部22は、データbがデータ項目x1およびx7に起因して正例と判定されたと推定する。
【0090】
そして、対話処理部22は、問い合わせ画面50を更新して、推薦対象のデータ項目を表示する問い合わせ画面50をユーザに提示する。ここでは、対話処理部22は、推薦されたデータ項目x1に対して、ユーザから「どちらでもない」との評価を取得し、データ項目x7に対して、ユーザから「解釈しやすい」との評価を取得したものとする。
【0091】
(ループ5)
図15と
図16は、具体例のループ5回目を説明する図である。
図15に示すように、対話処理部22は、データ項目x
1とデータ項目x
7がユーザに推薦されたので、評価回数を1だけ増加させて、それぞれの評価回数を「2」と「1」に変更する。また、対話処理部22は、データ項目x
7が「解釈しやすい」と評価されたことから、データ項目x
7のペナルティ「ρ
7」を、「γρ
i」に基づき「現在値(1.0)×1/2=0.5」に変更する。その後、対話処理部22は、各データ項目x
iのペナルティ「ρ
i」の値を設定したロス関数を用いて、判定モデル15の再訓練を実行して、判定モデル15「m(x)=x
1-2.5x
4-x
6+3x
7」を生成する。
【0092】
その後、
図16に示すように、対話処理部22は、問い合わせ画面50の現在のモデルを示す領域51を更新して、再訓練後の判定モデル15「m(x)=x
1-2.5x
4-x
6+3x
7」を表示してユーザ評価を問い合わせる。ここでは、対話処理部22は、判定モデル15について、ユーザから「モデルを出力」の選択を受付けたので、解釈しやすいモデルが生成されたと判定し、現在の判定モデル15「m(x)=x
1-2.5x
4-x
6+3x
7」を出力する。なお、
図16に示す各平均評価回数は、ループ1からループ4と同様の手法により更新される。
【0093】
[処理の流れ]
次に、上述したモデル生成の処理について説明する。
図17は、処理の流れを示すフローチャートである。
図17に示すように、訓練部21は、モデル(判定モデル)の訓練を実行して記憶部13に格納する(S101)。続いて、対話処理部22は、モデルの再訓練に用いるペナルティ更新のための係数設定や推薦するデータ項目数の設定などの初期化を実行する(S102)。
【0094】
そして、対話処理部22は、推薦対象のデータ項目を選択してユーザに提示し(S103)、提示したデータ項目に対するユーザ評価を取得する(S104)。続いて、対話処理部22は、ユーザ評価を反映させたロス関数を用いて、モデルの再訓練を実行する(S105)。
【0095】
その後、対話処理部22は、再訓練後のモデルをユーザに提示して、モデルがユーザの条件を満たすと判定された場合(S106:Yes)、現在のモデルを出力する(S107)。一方、対話処理部22は、モデルがユーザの条件を満たさないと判定された場合(S106:No)、ユーザ評価の取得およびモデルの再訓練を実行(S108)、S103以降を繰り返して実行する。
【0096】
[効果]
上述したように、情報処理装置10は、人間に「ある入力に対するモデルの出力に寄与したデータ項目を評価する」というタスクを課す際に、タスクにおいて人間が見なければならないデータ項目数を減らしてタスクを平易化することができる。また、情報処理装置10は、タスクを介した人間の評価から、各データ項目の解釈しやすさを測りモデルへの出現しやすさを調整し、各データ項目の解釈しやすさを考慮してモデルを最適化することができる。この結果、情報処理装置10は、人間にとって少ない負担で、解釈可能性が高い分類モデルを生成することができる。
【実施例2】
【0097】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【0098】
[数値等]
上記実施例で用いた数値例、ロス関数、データ項目数、訓練データ数等は、あくまで一例であり、任意に変更することができる。また、モデルの生成に用いるロス関数は、式(4)に示したものに限らず、「解釈しやすい」または「解釈しにくい」により変化する重みペナルティを含む他の目的関数を採用することもできる。また、処理の流れも矛盾のない範囲内で適宜変更することができる。また、訓練部21を実行する装置と、対話処理部22および出力部26を実行する装置とを別々の装置で実現することもできる。
【0099】
[モデル等]
上記実施例では、一度訓練されたモデルに対して、ユーザ評価を反映させて再訓練する例を説明したが、これに限定されるものではなく、訓練前のモデルに対して、上記実施例の手法によりユーザ評価を反映させて訓練することもできる。また、線形モデルの生成(再訓練)を終了するタイミングは、ユーザ評価に限らず、所定回数実行した場合など任意に設定することができる。また、上記実施例では、目的関数の一例としてロス関数(損失関数)を用いた例で説明したが、これに限定されるものではなく、コスト関数など他の目的関数を採用することができる。
【0100】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。なお、推薦部23は、選択部と提示部と受付部の一例であり、再訓練部24は、実行部の一例である。また、ユーザ評価を受け付ける処理は、ユーザ要件の一例であり、ユーザ要件を予め定義しておき、自動でユーザ評価を受け付けることもできる。
【0101】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0102】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0103】
[ハードウェア]
次に、情報処理装置10のハードウェア構成例を説明する。
図18は、ハードウェア構成例を説明する図である。
図18に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図19に示した各部は、バス等で相互に接続される。
【0104】
プロセッサ10dは、
図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図3等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、訓練部21、対話処理部22、出力部26等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、訓練部21、対話処理部22、出力部26等と同様の処理を実行するプロセスを実行する。
【0105】
このように、情報処理装置10は、プログラムを読み出して実行することでモデル生成方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0106】
10 情報処理装置
11 通信部
12 表示部
13 記憶部
14 訓練データセット
15 判定モデル
20 制御部
21 訓練部
22 対話処理部
23 推薦部
24 再訓練部
25 画面表示部
26 出力部