以下に図面を参照して、本発明にかかる評価支援プログラム、評価支援方法および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる評価支援方法の一実施例を示す説明図である。図1において、情報処理装置101は、機械学習に基づく手法により得られる判断結果の妥当性についての評価を支援するコンピュータである。機械学習は、様々なデータから学習モデル(予測モデル)を作成し、結果を予測する学習である。
ここで、AIを用いて業務判断を自動化する事例が増えている。業務判断の例としては、経理担当者が、購入依頼品X1に対して経費コードY1を付与したり、購買受付担当者が、購入案件X2に対して担当者Y2を設定したりするものがある。このような業務判断について、過去の入力データを特徴量として表現し、判断結果をラベルとした教師あり学習を行うことで、新規の入力データに対するラベル付けを自動化できる。上述した例では、購入依頼品X1や購入案件X2が「入力データ」に相当し、経費コードY1や担当者Y2が「ラベル」に相当する。
機械学習による自動化で100%の正解率を出すことは困難であるが、判断により得られたラベルが正しいか否かを人間が確認する作業を経ることで、業務への適用が可能となり、人間が一から判断する場合と比較して業務の効率化が期待できる。人が確認した際に、ラベルが間違っていると判断した場合はラベルの修正作業が必要となる。
しかし、機械学習でラベルを判断した根拠となる情報が提示されなければ、人間が判断結果の妥当性を評価することが難しい場合がある。人間が判断結果の妥当性を適切に評価することができなければ、ラベルが間違って修正されたり、ラベルの間違いが見逃されたりする可能性がある。
なお、判断結果の根拠を提示可能な機械学習アルゴリズムとして、決定木を用いたクラス分類が考えられる。決定木を用いたクラス分類では、各ノードがルール(論理式)を持つ木構造として学習モデルを表現できるため、根拠をルールの列として説明することが可能である。
しかし、ルールはあくまで機械が分類するために作成されるものであり、各々のルールは人間が見てわかりやすいものではないことが多い。また、ある入力データに対して、最大で木の深さ分のルールが適用されるため、根拠を理解するために把握しなければいけないルールの数が膨大となる。
また、決定木を用いる手法自体が機械学習アルゴリズムの一実装であるため、この手法で精度がでない場合には、根拠となるルール自体が信頼できず適用することができない。したがって、機械学習により得られる判断結果の精度を確保しつつ、判断結果の妥当性について人間による評価を可能にする技術が望まれる。
そこで、本実施の形態では、判断対象として入力されるデータに対して、機械学習により得られたカテゴリを出力する際に、当該カテゴリに属すると判断される他の事例を示すことで、機械学習により得られる判断結果の妥当性についての評価を支援する評価支援方法について説明する。以下、情報処理装置101の処理例について説明する。
(1)情報処理装置101は、学習モデル110を用いて、判断対象の入力データが属するカテゴリを判断する。ここで、学習モデル110は、入力データの特徴量から当該入力データが属するカテゴリを判断する予測モデルである。学習モデル110は、例えば、数式や決定木の木構造データによって表される。
入力データは、どのカテゴリに属するかの判断対象として入力されるデータであり、例えば、上述した購入依頼品X1や購入案件X2である。カテゴリは、入力データを分類する種別であり、例えば、上述した経費コードY1や担当者Y2である。入力データの特徴量は、入力データの特徴を数値化したものである。例えば、入力データの特徴量は、N-gramの特徴量ベクトルによって表現される。
図1の例では、判断対象の入力データを「入力データX」とし、入力データXが属するカテゴリとして「カテゴリY」が判断された場合を想定する。
(2)情報処理装置101は、学習済みデータ120から、判断したカテゴリに属する、判断対象の入力データとは異なる入力データを抽出する。ここで、学習済みデータ120は、学習モデル110を生成する際に用いた学習済みの入力データを含む。
具体的には、学習済みデータ120は、学習モデル110の生成に用いられた教師データの集合である。教師データは、教師あり学習において与えられる「例題」と「答え」についてのデータであり、入力データ(例題)と、当該入力データが属するカテゴリ(答え)とのペアである。
図1の例では、学習済みデータ120から、カテゴリYに属する、判断対象の入力データXとは異なる「入力データX’」が抽出された場合を想定する。
(3)情報処理装置101は、判断対象の入力データと対応付けて、判断したカテゴリと、抽出した入力データとを出力する。具体的には、例えば、情報処理装置101は、判断対象の入力データXと対応付けて、判断したカテゴリYと、抽出した入力データX’とを出力する。
このように、情報処理装置101によれば、判断対象の入力データに対して、機械学習により得られたカテゴリを出力する際に、当該カテゴリに属すると判断される他の事例(学習済みの入力データ)を示すことができる。これにより、カテゴリを判断した根拠となる情報を提示することができ、機械学習により得られた判断結果の妥当性についての評価を支援することができる。
図1の例では、判断対象の入力データXと対応付けて、カテゴリYと入力データX’とが出力される。これにより、ユーザは、例えば、入力データX,X’それぞれの正確なカテゴリは知らなくても、入力データXと入力データX’とが同じ種別のものではないと判断できれば、入力データXに対する判断結果(カテゴリY)が誤っている可能性があることに気付くことができる。この結果、ユーザが判断結果を注意して確認することができ、ラベル(カテゴリ)の間違いが見逃されるのを防ぐことができる。なお、以下の説明では、「カテゴリ」を「ラベル」と表記する場合がある。
(情報処理システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む情報処理システム200のシステム構成例について説明する。情報処理システム200は、例えば、企業における様々な業務判断を自動化するためのコンピュータシステムに適用される。
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、情報処理装置101と、クライアント装置201と、を含む。情報処理システム200において、情報処理装置101およびクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ここで、情報処理装置101は、学習データDB(Database)220を有する。情報処理装置101は、例えば、サーバである。なお、学習データDB220の記憶内容については、図4を用いて後述する。
クライアント装置201は、情報処理システム200のユーザが使用するコンピュータである。情報処理システム200のユーザは、例えば、企業における経理担当者や購買受付担当者などの各種業務判断を行う者である。クライアント装置201は、例えば、PC(Personal Computer)、タブレット型PCなどである。
なお、上述した説明では、情報処理装置101とクライアント装置201とが別体に設けられることにしたが、これに限らない。例えば、情報処理装置101は、クライアント装置201により実現されることにしてもよい。また、図2の例では、クライアント装置201を1台のみ表示したが、これに限らない。例えば、情報処理システム200には、ユーザごとのクライアント装置201が含まれていてもよい。
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。図3において、情報処理装置101は、プロセッサ301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、プロセッサ301は、情報処理装置101の全体の制御を司る。プロセッサ301は、複数のコアを有していてもよい。プロセッサ301は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)である。
メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがプロセッサ301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、プロセッサ301にロードされることで、コーディングされている処理をプロセッサ301に実行させる。
ディスクドライブ303は、プロセッサ301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したクライアント装置201)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
可搬型記録媒体I/F306は、プロセッサ301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F306、可搬型記録媒体307を有していなくてもよい。また、図2に示したクライアント装置201についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、クライアント装置201は、上述した構成部のほかに、入力装置、ディスプレイ(例えば、後述の図8に示すディスプレイ810)などを有する。
(学習データDB220の記憶内容)
つぎに、図4を用いて、情報処理装置101が有する学習データDB220の記憶内容について説明する。学習データDB220は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図4は、学習データDB220の記憶内容の一例を示す説明図である。図4において、学習データDB220は、品名および種別のフィールドを有し、各フィールドに情報を設定することで、学習データ(例えば、学習データ400-1~400-3)をレコードとして記憶する。
ここで、品名は、品物の名称であり、教師あり学習に用いる入力データ(例題)に相当する。種別は、品名が属するカテゴリ、すなわち、当該品名の品物が属するカテゴリであり、教師あり学習に用いるラベル(答え)に相当する。例えば、学習データ400-1は、品名「Pサーバ」および種別「ハードウェア」を含み、「Pサーバ」が属する種別(カテゴリ)が「ハードウェア」であることを示す。
(情報処理装置101の機能的構成例)
図5は、情報処理装置101の機能的構成例を示すブロック図である。図5において、情報処理装置101は、取得部501と、学習処理部502と、受付部503と、予測処理部504と、抽出部505と、出力部506と、更新部507と、記憶部510と、を含む。具体的には、例えば、取得部501~更新部507は、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをプロセッサ301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。また、記憶部510は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
取得部501は、学習データを取得する。ここで、学習データは、機械学習(教師あり学習)に用いられる情報であり、入力データと、当該入力データが属するカテゴリとを含む。例えば、学習データは、品名(入力データ)と、当該品名が属する種別(カテゴリ)との組である。
具体的には、例えば、取得部501は、クライアント装置201から学習データ(品名、種別)を受信することにより、受信した学習データ(品名、種別)を取得する。また、取得部501は、情報処理装置101の不図示の入力装置を用いたユーザの操作入力により、学習データ(品名、種別)を取得することにしてもよい。
取得された学習データ(品名、種別)は、例えば、図4に示した学習データDB220に記憶される。
学習処理部502は、取得された学習データに基づいて、学習モデルMDを生成する。ここで、学習モデルMDは、入力データの特徴量から当該入力データが属するカテゴリを判断する予測モデルである。すなわち、学習モデルMDは、入力データに対するラベル付け(多クラス分類)を行う。学習モデルMDは、数式で表現されてもよく、また、決定木の木構造データで表現されてもよい。図1に示した学習モデル110は、例えば、学習モデルMDに相当する。
具体的には、例えば、まず、学習処理部502は、ベースとなる学習モデルMDを取得する。ベースとなる学習モデルMDは、例えば、予め作成されて、メモリ302、ディスク304などの記憶装置に記憶されている。つぎに、学習処理部502は、学習データDB220から学習データを取得する。そして、学習処理部502は、取得した学習データの品名(入力データ)の特徴量ベクトルを算出する。
つぎに、学習処理部502は、取得した学習データを、特徴量ベクトルとラベルの組として表現する。そして、学習処理部502は、特徴量ベクトルとラベルとの組を入力情報IN_Dに格納する。この際、学習処理部502は、例えば、各品名(入力データ)と対応付けて、各品名(入力データ)の特徴量ベクトルとラベルとの組を入力情報IN_Dに格納する。
ここで、図6を用いて、品名(入力データ)の特徴量ベクトルの算出例について説明する。ここでは、品名(入力データ)の特徴量ベクトルとして、Tri-gramの特徴量ベクトルを算出する場合を例に挙げて説明する。
図6は、特徴量ベクトルの算出例を示す説明図である。図6において、品名(入力データ)の例として、「Pサーバ」、「Qソフト」および「Pサーバー」が示されている。ここでは、学習データDB220内の品名(入力データ)が、「Pサーバ」、「Qソフト」および「Pサーバー」の3つである場合を想定する。
この場合、学習処理部502は、各品名(入力データ)における部分文字列の存在の有無に応じて「0」または「1」を取ることで、各品名(入力データ)の特徴量ベクトルを算出する。各部分文字列は、各品名(入力データ)を3文字区切りで分割したものである。ただし、$は、空白文字を示す。
「Pサーバ」を例に挙げると、「$$P,$Pサ,Pサー,サーバ,ーバ$,バ$$,$$Q,$Qソ,Qソフ,ソフト,フト$,ト$$,$$P,$Pサ,Pサー,サーバ,ーバー,バー$,ー$$」の各部分文字列の存在の有無に応じて特徴量ベクトルを算出する。なお、図6では、一部の部分文字列を省略している。
例えば、部分文字列「$$P」は、「Pサーバ」に含まれる。このため、「Pサーバ」の特徴量ベクトルのうち、部分文字列「$$P」に対応する値は「1」となる。また、部分文字列「$$Q」は、「Pサーバ」に含まれない。このため、「Pサーバ」の特徴量ベクトルのうち、部分文字列「$$Q」に対応する値は「0」となる。
このように、各部分文字列の存在の有無に応じて「0」または「1」を取ることにより、「Pサーバ」の特徴量ベクトル「1,1,1,1,1,1,0,…」を算出することができる。同様にして、「Qサーバ」の特徴量ベクトル「0,0,0,0,0,0,1,…」および「Pサーバー」の特徴量ベクトル「1,1,1,1,0,1,0,…」を算出することができる。
また、学習処理部502は、各品名(入力データ)の特徴量ベクトルを疎ベクトルとして表現してもよい。例えば、各品名(入力データ)の特徴量ベクトルは、「1」の要素に比べて「0」の要素が多い傾向にある。そこで、全品名(入力データ)の特徴量ベクトルを行列(図6参照)で表現した場合に、各品名(入力データ)の特徴量ベクトルを、「1」が何行何列目にあるかという情報として表現することにしてもよい。
例えば、「Pサーバ」の特徴量ベクトルを、「(1,1),(1,2),(1,3),…,(1,6)」というリスト構造で表現することにしてもよい。これにより、各品名(入力データ)の特徴量ベクトルの全要素を記憶する場合に比べて、各品名(入力データ)の特徴量ベクトルを記憶する際の使用メモリを抑えることができる。
図5の説明に戻り、学習処理部502は、入力情報IN_Dに格納された特徴量ベクトルとラベルとの組(教師データ)に基づいて、教師あり学習を行って、学習モデルMDを更新する。より詳細に説明すると、例えば、学習処理部502は、重回帰分析やロジスティック回帰等を行って数式内のパラメータを調整したり、木構造データの各ノードが持つルールを更新(修正、追加、削除など)したりすることにより、学習モデルMDを更新する。
受付部503は、判断対象の入力データを受け付ける。ここで、判断対象の入力データは、どのカテゴリ(ラベル)に属するかを判断する対象となるデータである。判断対象の入力データは、例えば、品名である。カテゴリは、例えば、品名が属する種別である。
具体的には、例えば、受付部503は、クライアント装置201から判断対象の入力データ(品名)を受信することにより、受信した判断対象の入力データ(品名)を受け付ける。また、取得部501は、情報処理装置101の不図示の入力装置を用いたユーザの操作入力により、判断対象の入力データ(品名)を受け付けることにしてもよい。
予測処理部504は、学習モデルMDを用いて、判断対象の入力データが属するカテゴリを判断する。具体的には、例えば、予測処理部504は、受け付けた判断対象の入力データの特徴量ベクトルを算出する。より具体的には、例えば、予測処理部504は、判断対象の入力データの特徴量ベクトルとして、Tri-gramの特徴量ベクトルを算出する。
一例として、判断対象の入力データを「APサービス」とする。この場合、予測処理部504は、「$$P,$Pサ,Pサー,サーバ,ーバ$,バ$$,$$Q,…,ー$$」の各部分文字列の存在の有無に応じて、判断対象の入力データ「APサービス」の特徴量ベクトルを算出する。なお、この部分文字列は、上述した学習済みの入力データ(Pサーバ、Qソフト、Pサーバー)の部分文字列である。
例えば、部分文字列「$$P」は、「APサービス」に含まれない。このため、「APサービス」の特徴量ベクトルのうち、部分文字列「$$P」に対応する値は「0」となる。また、部分文字列「Pサー」は、「APサービス」に含まれる。このため、「APサービス」の特徴量ベクトルのうち、部分文字列「Pサー」に対応する値は「1」となる。このように、各部分文字列の存在の有無に応じて「0」または「1」を取ることにより、判断対象の入力データ「APサービス」の特徴量ベクトル「0,0,1,0,0,0,0,…」を算出することができる。
そして、予測処理部504は、学習処理部502によって更新された学習モデルMDを用いて、算出した判断対象の入力データの特徴量ベクトルに対するラベルを予測する。すなわち、予測処理部504は、判断対象の入力データ(品名)の特徴量ベクトルを学習モデルMDに入力することで、判断対象の入力データが属するカテゴリ(ラベル)を判断する。
以下の説明では、判断対象の入力データが属するカテゴリを「カテゴリ#」と表記する場合がある。
抽出部505は、学習モデルMDを生成する際に用いた学習済みの入力データから、判断されたカテゴリ#に属する、判断対象の入力データとは異なる他の入力データを抽出する。具体的には、例えば、抽出部505は、学習済みの入力データのうちのカテゴリ#に属する入力データの中から、K個の他の入力データをランダムに抽出することにしてもよい。Kは、任意に設定可能であり、例えば、1~10程度の値に設定される。
また、抽出部505は、判断対象の入力データと学習済みの入力データそれぞれとの類似度を算出することにしてもよい。そして、抽出部505は、算出した類似度に基づいて、学習済みの入力データから、カテゴリ#に属する他の入力データを抽出することにしてもよい。
ここで、類似度とは、入力データ同士の類似度合いを示す指標値である。類似度としては、例えば、判断対象の入力データの特徴量ベクトルと、学習済みの入力データの特徴量ベクトルとのコサイン類似度を用いることができる。コサイン類似度は、データとデータとのベクトルの向きの近さ(角度)により、データ同士の類似度合いを評価するものである。
より詳細に説明すると、例えば、抽出部505は、特徴量ベクトルの全要素のうち、両方の入力データの値が1である数aを算出する。また、抽出部505は、特徴量ベクトルの全要素のうち、いずれか一方の入力データの値が1である数bを算出する。そして、抽出部505は、算出した数aを数bで割ることにより、判断対象の入力データの特徴量ベクトルと、学習済みの入力データの特徴量ベクトルとのコサイン類似度(a/b)を算出する。この場合、類似度の最大値は「1」となり、最小値は「0」となる。
なお、学習済みの入力データの特徴量ベクトルは、例えば、入力情報IN_Dから特定される。また、学習済みの入力データの特徴量ベクトルが疎ベクトルとして表現されている場合には、抽出部505は、疎ベクトルを特徴量ベクトルに復元してから、判断対象の入力データの特徴量ベクトルと、学習済みの入力データの特徴量ベクトルとのコサイン類似度を算出する。
算出された類似度は、例えば、図7に示すような類似度テーブル700に記憶される。類似度テーブル700は、例えば、メモリ302、ディスク304などの記憶装置により実現される。ここで、類似度テーブル700の記憶内容について説明する。
図7は、類似度テーブル700の記憶内容の一例を示す説明図である。図7において、類似度テーブル700は、品名、種別、コサイン類似度および類似順位のフィールドを有し、各フィールドに情報を設定することで、類似度情報(例えば、類似度情報700-1~700-3)をレコードとして記憶する。
ここで、品名は、学習済みの入力データである。種別は、品名(学習済みの入力データ)が属するカテゴリである。コサイン類似度は、判断対象の入力データの特徴量ベクトルと、学習済みの入力データの特徴量ベクトルとのコサイン類似度である。図7の例では、判断対象の入力データを、品名「Aサーバ」とする。類似順位は、各学習済みの入力データを、判断対象の入力データとのコサイン類似度が降順となるように並べたときの順位である。
例えば、類似度情報700-1は、学習済みの入力データ「Pサーバ」の種別「ハードウェア」、コサイン類似度「0.500」および類似順位「1」を示す。
図5の説明に戻り、抽出部505は、例えば、学習済みの入力データから、判断されたカテゴリ#に属する入力データのうち判断対象の入力データとの類似度が大きい上位N個(N:自然数)の他の入力データを抽出することにしてもよい。Nは、任意に設定可能であり、例えば、1~5程度の値に設定される。
具体的には、例えば、抽出部505は、図7に示した類似度テーブル700を参照して、学習済みの入力データ(品名)から、カテゴリ#に属する入力データのうち判断対象の入力データとのコサイン類似度が大きい上位N個の他の入力データ(品名)を抽出する。例えば、Nを「N=1」とすると、抽出部505は、カテゴリ#に属する入力データのうち判断対象の入力データとのコサイン類似度が最大の他の入力データを抽出する。
出力部506は、判断対象の入力データと対応付けて、判断されたカテゴリ#と、抽出された他の入力データとを出力する。また、出力部506は、判断対象の入力データと対応付けて、さらに、抽出された他の入力データと判断対象の入力データとの類似度を出力することにしてもよい。
出力部506の出力形式としては、例えば、通信I/F305による他のコンピュータ(例えば、クライアント装置201)への送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
具体的には、例えば、クライアント装置201から判断対象の入力データ(品名)を受け付けたとする。この場合、出力部506は、クライアント装置201に予測結果画面を表示することにしてもよい。ここで、予測結果画面は、判断対象の入力データと対応付けて、予測処理部504によって判断されたカテゴリ#と、抽出部505によって抽出された他の入力データとを表示する画面である。
予測結果画面の画面例については、図8を用いて後述する。
また、出力部506は、抽出された他の入力データと判断対象の入力データとの類似度が閾値α以下の場合、判断対象の入力データと対応付けて、さらに、所定のアラートALを出力することにしてもよい。閾値αは、任意に設定可能である。例えば、類似度をコサイン類似度(0以上1以下)とすると、閾値αは、0.3程度の値に設定される。
具体的には、例えば、出力部506は、類似度テーブル700を参照して、カテゴリ#に属する入力データのうち、判断対象の入力データとのコサイン類似度が最大の他の入力データのコサイン類似度を特定する。そして、出力部506は、特定したコサイン類似度が閾値α以下の場合、判断対象の入力データと対応付けて、さらに、所定のアラートALを出力する。
アラートALは、判断対象の入力データが属するカテゴリの判断結果が誤っている可能性があることを伝えて、注意を促すものである。例えば、アラートALは、警告メッセージであってもよいし、警告画像であってもよい。すなわち、判断対象の入力データとの類似度が最大の他の入力データの類似度が低いほど、判断結果が誤っている可能性が高くなる傾向があるため、ユーザに注意を促す。
アラートALの出力例については、図9を用いて後述する。
また、出力部506は、抽出された他の入力データが、学習済みの入力データのうち、判断対象の入力データとの類似度が大きい上位M個(M:自然数)の入力データに含まれない場合、判断対象データと対応付けて、さらに、所定のアラートALを出力することにしてもよい。Mは、例えば、1~5程度の値に設定される。
具体的には、例えば、出力部506は、類似度テーブル700を参照して、カテゴリ#に属する入力データのうち、判断対象の入力データとのコサイン類似度が最大の他の入力データの類似順位を特定する。そして、出力部506は、特定した類似順位が閾値β以下の場合(ただし、β=M)、判断対象の入力データと対応付けて、さらに、所定のアラートALを出力する。
すなわち、判断対象の入力データとの類似度が最大の他の入力データの類似順位が低いほど、判断結果が誤っている可能性が高くなる傾向があるため、ユーザに注意を促す。類似順位が閾値β以下の場合に出力されるアラートALは、例えば、「類似順位が低いため注意してください」といった警告メッセージである。
また、受付部503は、予測処理部504によって判断されたカテゴリ#が判断対象の入力データと対応付けて出力された結果、カテゴリ#が正しいか否かを示す正誤情報を受け付けることにしてもよい。具体的には、例えば、受付部503は、クライアント装置201から正誤情報を受信することにより、受信した正誤情報を受け付ける。また、取得部501は、情報処理装置101の不図示の入力装置を用いたユーザの操作入力により、正誤情報を受け付けることにしてもよい。
そして、受付部503は、抽出された他の入力データと判断対象の入力データとの類似度を、受け付けた正誤情報と対応付けて記憶部510に記録することにしてもよい。他の入力データは、例えば、カテゴリ#に属する入力データのうち、判断対象の入力データとの類似度が最大の他の入力データである。
更新部507は、記憶部510に記録された類似度と正誤情報とのペアに基づいて、閾値αを更新する。具体的には、例えば、更新部507は、記憶部510に記録された類似度と正誤情報とのペアを教師データとして、教師あり学習(機械学習)を行うことにより、閾値αを更新する。
一例として、閾値αが「α=0.3」の場合において、類似度と正誤情報とのペアとして、<0.144,誤>、<0.188,正>、<0.8,正>が記録されているとする。この場合、更新部507は、<0.144,誤>、<0.188,正>、<0.8,正>の各ペアを教師データとして、教師あり学習を行って、例えば、閾値αを「α=0.18」に変更する。
(予測結果画面の画面例)
つぎに、図8~図10を用いて、クライアント装置201に表示される予測結果画面の画面例について説明する。予測結果画面は、例えば、情報処理装置101の制御により、クライアント装置201から受け付けた判断対象の入力データに応じて、クライアント装置201のディスプレイ810に表示される。
ディスプレイ810は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ810としては、例えば、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。
図8は、予測結果画面の画面例を示す説明図(その1)である。図8において、予測結果画面800は、入力品名「APサービス」と対応付けて、当該入力品名「APサービス」の予測種別「ハードウェア」を表示する画面である。ここで、入力品名は、判断対象の入力データに対応する。予測種別は、判断対象の入力データが属すると判断されたカテゴリに対応する。
予測結果画面800には、入力品名「APサービス」と対応付けて、品名「Pサーバ」および類似度「0.500」が表示されている。また、予測結果画面800には、入力品名「APサービス」と対応付けて、品名「Pサーバー」および類似度「0.154」が表示されている。
ここで、品名「Pサーバ」および「Pサーバー」は、カテゴリ「ハードウェア」に属する学習済みの入力データ(品名)のうち、判断対象の入力データ「APサービス」との類似度が大きい上位2個の入力データである。類似度「0.500」および「0.154」は、判断対象の入力データ「APサービス」と品名「Pサーバ」および「Pサーバー」とのコサイン類似度である。
なお、予測結果画面800内の判定結果(予測種別、予測根拠)は、クライアント装置201の不図示の入力装置を用いたユーザの操作入力により、入力ボックス801に判断対象の入力データを入力し、判定ボタン802を選択することにより表示される。
予測結果画面800によれば、判断対象の入力データ「APサービス」に対して、機械学習により得られたカテゴリ「ハードウェア」を出力する際に、当該カテゴリに属する他の事例(Pサーバ、Pサーバー)を示すことができる。これにより、カテゴリを判断した根拠となる情報を提示して、機械学習により得られた判断結果の妥当性についての評価を支援することができる。
例えば、ユーザが、入力品名「APサービス」が、品名「Pサーバ」や品名「Pサーバー」とは異なる種別のものであるとわかれば、予測種別「ハードウェア」が誤っている可能性があることに気付くことができる。
図9は、予測結果画面の画面例を示す説明図(その2)である。図9において、予測結果画面900は、入力品名「APサービス」と対応付けて、当該入力品名「APサービス」の予測種別「ハードウェア」を表示する画面である。
また、予測結果画面900には、入力品名「APサービス」と対応付けて、品名「Pサーバ」、類似度「0.144」および類似順位「1」が表示されている。ここで、品名「Pサーバ」は、カテゴリ「ハードウェア」に属する学習済みの入力データ(品名)のうち、判断対象の入力データ「APサービス」との類似度が最大の入力データである。
類似度「0.144」は、判断対象の入力データ「APサービス」と品名「Pサーバ」とのコサイン類似度である。類似順位「1」は、品名「Pサーバ」が、学習済みの入力データのうち、判断対象の入力データ「APサービス」との類似度が最大であることを示す。なお、ここでは説明のため、判断対象の入力データ「APサービス」と品名「Pサーバ」との類似度として、図8に示した例とは異なる値を用いている。
また、予測結果画面900には、アラートAL1が表示されている。アラートAL1は、入力品名と最も類似する過去のデータ(Pサーバ)の類似度が低いため、予測種別が誤っている可能性があることを伝えて、ユーザに注意を促すものである。
予測結果画面900によれば、入力品名との類似度が一定の水準を満たさない場合に、ユーザに対する警告を出して、機械学習により得られた判断結果が誤っている可能性があることを示唆することができる。これにより、ユーザが機械学習により得られた判断結果を注意して確認することができ、ラベル(カテゴリ)の間違いが見逃されるのを防ぐことができる。
図10は、予測結果画面の画面例を示す説明図(その3)である。図10において、予測結果画面1000は、入力品名「APサービス」と対応付けて、当該入力品名「APサービス」の予測種別「ハードウェア」を表示する画面である。
予測結果画面1000には、入力品名「APサービス」と対応付けて、品名「Pサーバ」、類似度「0.144」、類似順位「1」およびアラートAL1が表示されている。
予測結果画面1000によれば、入力品名との類似度が一定の水準を満たさない場合に、ユーザに対する警告を出して、機械学習により得られた判断結果が誤っている可能性があることを示唆することができる。例えば、ユーザは、品名「Pサーバ」、類似度「0.144」、類似順位「1」を参照しながら、予測種別「ハードウェア」が正しいか否かを確認することができる。
予測結果画面1000において、ユーザの操作入力により、正ボタン1001を選択すると、予測種別が正しいことを示す正誤情報を、クライアント装置201から情報処理装置101に送信することができる。また、予測結果画面1000において、ユーザの操作入力により、誤ボタン1002を選択すると、予測種別が誤っていることを示す正誤情報を、クライアント装置201から情報処理装置101に送信することができる。
これにより、入力品名(判断対象の入力データ)に対する予測種別(カテゴリ#)の正誤を、情報処理装置101に通知することができ、ユーザからのフィードバックにより閾値αを調整可能となる。なお、正ボタン1001、誤ボタン1002は、図8および図9に示した予測結果画面800,900に含まれていてもよい。
(情報処理装置101の各種処理手順)
つぎに、情報処理装置101の各種処理手順について説明する。まず、図11を用いて、情報処理装置101の学習処理手順について説明する。
図11は、情報処理装置101の学習処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、情報処理装置101は、ベースとなる学習モデルMDを取得する(ステップS1101)。つぎに、情報処理装置101は、学習データDB220から取得していない未取得の学習データを取得する(ステップS1102)。
そして、情報処理装置101は、取得した学習データの品名(入力データ)の特徴量ベクトルを算出する(ステップS1103)。つぎに、情報処理装置101は、品名(入力データ)と対応付けて、算出した特徴量ベクトルと、学習データのラベル(種別)との組を入力情報IN_Dに格納する(ステップS1104)。
そして、情報処理装置101は、入力情報IN_Dに格納された特徴量ベクトルとラベルとの組に基づいて、教師あり学習を行って、学習モデルMDを更新する(ステップS1105)。つぎに、情報処理装置101は、学習データDB220から取得していない未取得の学習データがあるか否かを判断する(ステップS1106)。
ここで、未取得の学習データがある場合(ステップS1106:Yes)、情報処理装置101は、ステップS1102に戻る。一方、未取得の学習データがない場合(ステップS1106:No)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
これにより、入力データの特徴量から当該入力データが属するカテゴリを判断する学習モデルMDを生成することができる。
つぎに、図12および図13を用いて、情報処理装置101の第1の予測処理手順について説明する。第1の予測処理手順は、判断対象の入力データと対応付けて、当該入力データが属すると判断されたカテゴリ、当該入力データと最も類似する学習済みの入力データ、所定のアラートALなどを出力する処理である。
図12および図13は、情報処理装置101の第1の予測処理手順の一例を示すフローチャートである。図12のフローチャートにおいて、まず、情報処理装置101は、判断対象の入力データを受け付けたか否かを判断する(ステップS1201)。ここで、情報処理装置101は、判断対象の入力データを受け付けるのを待つ(ステップS1201:No)。
そして、情報処理装置101は、判断対象の入力データを受け付けた場合(ステップS1201:Yes)、受け付けた判断対象の入力データの特徴量ベクトルを算出する(ステップS1202)。つぎに、情報処理装置101は、更新した学習モデルMDを用いて、算出した判断対象の入力データの特徴量ベクトルに対するラベル(カテゴリ)を判断する(ステップS1203)。
そして、情報処理装置101は、判断対象の入力データと学習済みの入力データそれぞれとの類似度を算出する(ステップS1204)。具体的には、例えば、情報処理装置101は、判断対象の入力データの特徴量ベクトルと、入力情報IN_Dに格納された各特徴量ベクトルとのコサイン類似度を算出する。
つぎに、情報処理装置101は、「i」を「i=1」として(ステップS1205)、学習済みの入力データから、i番目に類似度が高い学習済みの入力データを抽出する(ステップS1206)。そして、情報処理装置101は、判断したラベルと、抽出した学習済みの入力データのラベルとが一致するか否かを判断する(ステップS1207)。
ここで、ラベルが一致する場合(ステップS1207:Yes)、情報処理装置101は、図13に示すステップS1301に移行する。一方、ラベルが一致しない場合には(ステップS1207:No)、情報処理装置101は、学習済みの入力データのうち抽出されていない未抽出の学習済みの入力データがあるか否かを判断する(ステップS1208)。
ここで、未抽出の学習済みの入力データがある場合(ステップS1208:Yes)、情報処理装置101は、「i」をインクリメントして(ステップS1209)、ステップS1206に戻る。一方、未抽出の学習済みの入力データがない場合(ステップS1208:No)、情報処理装置101は、予測結果画面を出力して(ステップS1210)、本フローチャートによる一連の処理を終了する。
なお、ステップS1210において出力される予測結果画面は、判断対象の入力データと対応付けて、ステップS1203において判断されたラベル(カテゴリ#)を表示する画面である。
図13のフローチャートにおいて、まず、情報処理装置101は、ステップS1206において抽出された学習済みの入力データの類似度が閾値α以上であるか否かを判断する(ステップS1301)。ここで、類似度が閾値α未満の場合(ステップS1301:No)、情報処理装置101は、ステップS1304に移行する。
一方、類似度が閾値α以上の場合(ステップS1301:Yes)、情報処理装置101は、「i」が閾値β以下であるか否かを判断する(ステップS1302)。ここで、「i」が閾値β以下の場合(ステップS1302:Yes)、情報処理装置101は、抽出された学習済みの入力データを正常値としてセットして(ステップS1303)、ステップS1305に移行する。
一方、「i」が閾値βより大きい場合(ステップS1302:No)、情報処理装置101は、抽出された学習済みの入力データを異常値としてセットする(ステップS1304)。そして、情報処理装置101は、予測結果画面を出力して(ステップS1305)、本フローチャートによる一連の処理を終了する。
ステップS1305において出力される予測結果画面は、判断対象の入力データと対応付けて、ステップS1203において判断されたラベル(カテゴリ#)と、ステップS1206において抽出された学習済みの入力データとを表示する画面である。また、学習済みの入力データが異常値としてセットされた場合には、予測結果画面には、アラートALが表示される。
これにより、判断対象の入力データに対して、機械学習により得られたカテゴリを出力する際に、当該カテゴリに属すると判断される他の事例を示すことができる。また、判断対象の入力データとの類似度や類似順位が一定の水準を満たさない場合に、ユーザに対する警告(アラートAL)を出して、機械学習により得られた判断結果が誤っている可能性があることを示唆することができる。
つぎに、図14および図15を用いて、情報処理装置101の第2の予測処理手順について説明する。第2の予測処理手順は、判断対象の入力データと対応付けて、当該入力データが属すると判断されたカテゴリ、当該入力データとの類似度が大きい上位N個の学習済みの入力データを出力する処理である。
図14および図15は、情報処理装置101の第2の予測処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、情報処理装置101は、判断対象の入力データを受け付けたか否かを判断する(ステップS1401)。ここで、情報処理装置101は、判断対象の入力データを受け付けるのを待つ(ステップS1401:No)。
そして、情報処理装置101は、判断対象の入力データを受け付けた場合(ステップS1401:Yes)、受け付けた判断対象の入力データの特徴量ベクトルを算出する(ステップS1402)。つぎに、情報処理装置101は、更新した学習モデルMDを用いて、算出した判断対象の入力データの特徴量ベクトルに対するラベル(カテゴリ)を判断する(ステップS1403)。
そして、情報処理装置101は、判断対象の入力データと学習済みの入力データそれぞれとの類似度を算出して(ステップS1404)、図15に示すステップS1501に移行する。具体的には、例えば、情報処理装置101は、判断対象の入力データの特徴量ベクトルと、入力情報IN_Dに格納された各特徴量ベクトルとのコサイン類似度を算出する。
図15のフローチャートにおいて、まず、情報処理装置101は、「i」を「i=1」として(ステップS1501)、学習済みの入力データから、i番目に類似度が高い学習済みの入力データを抽出する(ステップS1502)。そして、情報処理装置101は、ステップS1403において判断したラベルと、抽出した学習済みの入力データのラベルとが一致するか否かを判断する(ステップS1503)。
ここで、ラベルが不一致の場合(ステップS1503:No)、情報処理装置101は、ステップS1506に移行する。一方、ラベルが一致する場合(ステップS1503:Yes)、情報処理装置101は、抽出した学習済みの入力データをリストに追加する(ステップS1504)。そして、情報処理装置101は、リスト内のデータ数が「N」となったか否かを判断する(ステップS1505)。
ここで、リスト内のデータ数が「N」となった場合(ステップS1505:Yes)、情報処理装置101は、ステップS1508に移行する。一方、リスト内のデータ数が「N」となっていない場合(ステップS1505:No)、情報処理装置101は、学習済みの入力データのうち抽出されていない未抽出の学習済みの入力データがあるか否かを判断する(ステップS1506)。
ここで、未抽出の学習済みの入力データがある場合(ステップS1506:Yes)、情報処理装置101は、「i」をインクリメントして(ステップS1507)、ステップS1502に戻る。一方、未抽出の学習済みの入力データがない場合(ステップS1506:No)、情報処理装置101は、予測結果画面を出力して(ステップS1508)、本フローチャートによる一連の処理を終了する。
ステップS1507において出力される予測結果画面は、判断対象の入力データと対応付けて、ステップS1403において判断されたラベルと、リストに登録された最大でN個の学習済みの入力データとを表示する画面である。
これにより、判断対象の入力データに対して、機械学習により得られたカテゴリ(ラベル)を出力する際に、当該カテゴリに属すると判断される他の事例(類似度が高い順に最大でN個の学習済みの入力データ)を示すことができる。
以上説明したように、実施の形態にかかる情報処理装置101によれば、学習モデルMDを用いて、判断対象の入力データが属するカテゴリを判断することができる。学習モデルMDは、入力データの特徴量から当該入力データが属するカテゴリを判断する予測モデルである。また、情報処理装置101によれば、学習モデルMDを生成する際に用いた学習済みの入力データから、判断したカテゴリに属する、判断対象の入力データとは異なる他の入力データを抽出することができる。そして、情報処理装置101によれば、判断対象の入力データと対応付けて、判断したカテゴリと、抽出した他の入力データとを出力することができる。
これにより、判断対象の入力データに対して、機械学習により得られたカテゴリ(ラベル)を出力する際に、当該カテゴリに属すると判断される他の事例を示すことができる。このため、カテゴリを判断した根拠となる情報をユーザに提示することができ、機械学習により得られた判断結果の妥当性についての評価を支援することができる。
また、情報処理装置101によれば、判断対象の入力データと学習済みの入力データそれぞれとの類似度を算出し、算出した類似度に基づいて、学習済みの入力データから、判断したカテゴリに属する他の入力データを抽出することができる。
これにより、判断対象の入力データが属するカテゴリを判断した根拠とする学習済みの入力データを、判断対象の入力データとの類似度合いを考慮して選択することができる。
また、情報処理装置101によれば、学習済みの入力データから、判断したカテゴリに属する入力データのうち判断対象の入力データとの類似度が大きい上位N個の他の入力データを抽出することができる。
これにより、判断対象の入力データが属するカテゴリを判断した根拠とする学習済みの入力データとして、判断対象の入力データとの類似度合いが高い入力データを選択することができる。このため、人間にとって直感的にわかりやすい根拠を提示することができ、機械学習により得られた判断結果の妥当性を評価しやすくすることができる。
また、情報処理装置101によれば、学習済みの入力データから、判断したカテゴリに属する入力データのうち判断対象の入力データとの類似度が最大の他の入力データを抽出することができる。そして、情報処理装置101によれば、抽出した他の入力データと判断対象の入力データとの類似度が閾値α以下の場合、判断対象の入力データと対応付けて、さらに、所定のアラートALを出力することができる。
これにより、判断対象の入力データに対して、機械学習により得られたカテゴリを出力する際に、当該カテゴリと同じカテゴリに属し、かつ、判断対象の入力データに最も類似する学習済みの入力データを提示することができる。また、判断対象の入力データとの類似度が一定の水準を満たさない場合に、ユーザに対する警告を出して、機械学習により得られた判断結果が誤っている可能性があることを示唆することができる。このため、ユーザが機械学習により得られた判断結果を注意して確認することができ、ラベル(カテゴリ)の間違いが見逃されるのを防ぐことができる。
また、情報処理装置101によれば、学習済みの入力データから、判断したカテゴリに属する入力データのうち判断対象の入力データとの類似度が最大の他の入力データを抽出することができる。そして、情報処理装置101によれば、抽出した他の入力データが、学習済みの入力データのうち、判断対象の入力データとの類似度が大きい上位M個の入力データに含まれない場合、判断対象データと対応付けて、さらに、所定のアラートALを出力することができる。
これにより、判断対象の入力データに対して、機械学習により得られたカテゴリを出力する際に、当該カテゴリと同じカテゴリに属し、かつ、判断対象の入力データに最も類似する学習済みの入力データを提示することができる。また、提示する学習済みの入力データの類似順位が一定の水準を満たさない場合に、ユーザに対する警告を出して、機械学習により得られた判断結果が誤っている可能性があることを示唆することができる。このため、ユーザが機械学習により得られた判断結果を注意して確認することができ、ラベル(カテゴリ)の間違いが見逃されるのを防ぐことができる。
また、情報処理装置101によれば、判断したカテゴリを判断対象の入力データと対応付けて出力した結果、判断したカテゴリが正しいか否かを示す正誤情報を受け付け、抽出した他の入力データと判断対象の入力データとの類似度と対応付けて、受け付けた正誤情報を記憶部510に記録することができる。そして、情報処理装置101によれば、記憶部510に記録された類似度と正誤情報とのペアに基づいて、閾値αを更新することができる。
これにより、判断対象の入力データに対する判断結果(カテゴリ)の妥当性についてユーザが評価した結果をもとに、閾値αを調整することができる。
また、情報処理装置101によれば、判断対象の入力データと対応付けて、さらに、抽出した他の入力データと判断対象の入力データとの類似度を出力することができる。
これにより、根拠として提示された学習済みの入力データと判断対象の入力データとの類似度から、根拠の信頼性を判断することが可能となる。例えば、ユーザは、判断対象の入力データとの類似度が高いほど、根拠を信頼できると判断することができる。
これらのことから、実施の形態にかかる情報処理装置101によれば、任意の機械学習アルゴリズムを適用可能にして機械学習により得られる判断結果の精度を確保しつつ、判断結果の妥当性について人間による評価を可能にすることができる。これにより、企業等における業務判断にかかるユーザの負荷を軽減しつつ、ラベルが間違って修正されたり、ラベルの間違いが見逃されたりするのを防ぐことができる。
なお、本実施の形態で説明した評価支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本評価支援プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本評価支援プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)入力データの特徴量から当該入力データが属するカテゴリを判断する学習モデルを用いて、判断対象の入力データが属するカテゴリを判断し、
前記学習モデルを生成する際に用いた学習済みの入力データから、判断した前記カテゴリに属する、前記判断対象の入力データとは異なる他の入力データを抽出し、
前記判断対象の入力データと対応付けて、判断した前記カテゴリと、抽出した前記他の入力データとを出力する、
処理をコンピュータに実行させることを特徴とする評価支援プログラム。
(付記2)前記判断対象の入力データと前記学習済みの入力データそれぞれとの類似度を算出する、処理を前記コンピュータに実行させ、
前記抽出する処理は、
算出した前記類似度に基づいて、前記学習済みの入力データから、判断した前記カテゴリに属する、前記判断対象の入力データとは異なる他の入力データを抽出する、ことを特徴とする付記1に記載の評価支援プログラム。
(付記3)前記抽出する処理は、
前記学習済みの入力データから、判断した前記カテゴリに属する入力データのうち前記判断対象の入力データとの類似度が大きい上位N個(N:自然数)の他の入力データを抽出する、ことを特徴とする付記2に記載の評価支援プログラム。
(付記4)前記抽出する処理は、
前記学習済みの入力データから、判断した前記カテゴリに属する入力データのうち前記判断対象の入力データとの類似度が最大の他の入力データを抽出し、
前記出力する処理は、
抽出した前記他の入力データと前記判断対象の入力データとの類似度が閾値以下の場合、前記判断対象の入力データと対応付けて、さらに、所定のアラートを出力する、ことを特徴とする付記2または3に記載の評価支援プログラム。
(付記5)前記抽出する処理は、
前記学習済みの入力データから、判断した前記カテゴリに属する入力データのうち前記判断対象の入力データとの類似度が最大の他の入力データを抽出し、
前記出力する処理は、
抽出した前記他の入力データが、前記学習済みの入力データのうち、前記判断対象の入力データとの類似度が大きい上位M個(M:自然数)の入力データに含まれない場合、前記判断対象の入力データと対応付けて、さらに、所定のアラートを出力する、ことを特徴とする付記2~4のいずれか一つに記載の評価支援プログラム。
(付記6)判断した前記カテゴリを前記判断対象の入力データと対応付けて出力した結果、判断した前記カテゴリが正しいか否かを示す正誤情報を受け付け、
抽出した前記他の入力データと前記判断対象の入力データとの類似度と対応付けて、受け付けた前記正誤情報を記憶部に記録し、
前記記憶部に記録された前記類似度と前記正誤情報とのペアに基づいて、前記閾値を更新する、
処理を前記コンピュータに実行させることを特徴とする付記4に記載の評価支援プログラム。
(付記7)前記出力する処理は、
前記判断対象の入力データと対応付けて、さらに、抽出した前記他の入力データと前記判断対象の入力データとの類似度を出力する、ことを特徴とする付記2~6のいずれか一つに記載の評価支援プログラム。
(付記8)前記判断対象の入力データと前記学習済みの入力データそれぞれとの類似度は、コサイン類似度によって表される、ことを特徴とする付記2~7のいずれか一つに記載の評価支援プログラム。
(付記9)入力データの特徴量から当該入力データが属するカテゴリを判断する学習モデルを用いて、判断対象の入力データが属するカテゴリを判断し、
前記学習モデルを生成する際に用いた学習済みの入力データから、判断した前記カテゴリに属する、前記判断対象の入力データとは異なる他の入力データを抽出し、
前記判断対象の入力データと対応付けて、判断した前記カテゴリと、抽出した前記他の入力データとを出力する、
処理をコンピュータが実行することを特徴とする評価支援方法。
(付記10)入力データの特徴量から当該入力データが属するカテゴリを判断する学習モデルを用いて、判断対象の入力データが属するカテゴリを判断する予測処理部と、
前記学習モデルを生成する際に用いた学習済みの入力データから、前記予測処理部によって判断された前記カテゴリに属する、前記判断対象の入力データとは異なる他の入力データを抽出する抽出部と、
前記判断対象の入力データと対応付けて、前記予測処理部によって判断された前記カテゴリと、前記抽出部によって抽出された前記他の入力データとを出力する出力部と、
を有することを特徴とする情報処理装置。