(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023130855
(43)【公開日】2023-09-21
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06N 20/10 20190101AFI20230913BHJP
【FI】
G06N20/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022035392
(22)【出願日】2022-03-08
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】多湖 真一郎
(72)【発明者】
【氏名】北島 正人
(57)【要約】 (修正有)
【課題】説得性や信頼性の高い推定根拠を提供する情報処理プログラム、情報処理方法及び情報処理装置を提供する。
【解決手段】情報処理装置1は、機械学習モデルを用いた推定処理の対象となる推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割する特徴量分割部12と、分割されたグループそれぞれについて、グループに含まれる入力データを基に、グループ毎の訓練済み機械学習モデルによる第1推定結果を取得する推定部14と、グループ毎の第1推定結果及び推定対象データの第2推定結果に基づいて、第2推定結果についての推定根拠を示す推定結果情報を出力する根拠生成部16と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
機械学習モデルを用いた推定処理の対象となる推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割し、
分割された前記グループそれぞれについて、前記グループに含まれる前記入力データを基に、前記グループ毎の訓練済み機械学習モデルによる第1推定結果を取得し、
前記グループ毎の前記第1推定結果及び前記推定対象データの全体に対する推定結果である第2推定結果に基づいて、前記第2推定結果についての推定根拠を示す推定結果情報を出力する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記グループ毎の前記第1推定結果を基に、前記第2推定結果を決定し、
前記第1推定結果と前記第2推定結果を基に、前記グループの中から推定根拠を取得する根拠グループを抽出し、
前記根拠グループの前記第1推定結果に基づいて前記推定結果情報を生成する
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第1推定結果における分類毎の正解となる確率を示す分類スコアを取得し、前記第2推定結果と一致する前記分類の前記分類スコアが閾値以上の前記第1推定結果を用いて前記推定根拠を生成することを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
類似する前記推定根拠となる項目の集合を規定する分割定義を基に、前記グループの分割を行なうことを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
【請求項5】
機械学習モデルの訓練に用いる学習データに関する前記複数項目の学習用入力データを前記所定条件に基づいて複数の学習グループに分類し、
分類された前記学習グループを用いて訓練を行って前記訓練済み機械学習モデルを生成する
ことを特徴とする請求項1~4のいずれか一つに記載の情報処理プログラム。
【請求項6】
機械学習モデルを用いた推定処理の対象となる推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割し、
分割された前記グループそれぞれについて、前記グループに含まれる前記入力データを基に、前記グループ毎の訓練済み機械学習モデルによる第1推定結果を取得し、
前記グループ毎の前記第1推定結果及び前記推定対象データの第2推定結果に基づいて、前記第2推定結果についての推定根拠を示す推定結果情報を出力する
処理をコンピュータに実行させることを特徴とする情報処理方法。
【請求項7】
機械学習モデルを用いた推定処理の対象となる推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割する特徴量分割部と、
前記特徴量分割部により分割された前記グループそれぞれについて、前記グループに含まれる前記入力データを基に、前記グループ毎の訓練済み機械学習モデルによる第1推定結果を取得する推定部と、
前記グループ毎の前記第1推定結果及び前記推定対象データの第2推定結果に基づいて、前記第2推定結果についての推定根拠を示す推定結果情報を出力する根拠生成部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、医療及び金融等の様々な分野で、AI(Artificial Intelligence)による推定を用いた各種システムの導入が盛んである。AIによる推定は、分類と呼ばれる場合もある。このようにAIによる推定を用いた技術が広まる中で、深層学習(Deep Learning)等のブラックボックス型のAIは、推定がどの様になされているのか推定根拠を理解することが難しいといった側面を有する。
【0003】
特定の領域では、単に推定結果にとどまらず、その推定がどの様になされているのかが重要となる場合がある。例えば、医療分野では、罹患した病気を推定し、その病名だけを提示するのではなく、その病気と判断された根拠を提示することが重要となる。より具体的な例としては、レントゲン写真のどこに着目してその推定を行ったかを明らかにすることで、医師や患者を納得させることができるといったことがある。このように、下された推定を納得させるには、その過程を含む推定根拠の共有が重要となる。
【0004】
従来、このようなAIが行った推定に対する推定根拠を明らかにする様々な手法が研究されている。例えば、推定結果に至る寄与度を特徴量に付与する技術が提案されている。このような技術の中には、推定結果に至った最低限の特徴量を推定根拠として提供する技術がある。これは、ブラックボックス型機械学習の疑似モデルを作成し、その推定根拠を説明する手法である。具体的には、推定装置が、対象サンプルの周囲のデータをサンプリングして、予測して得られる正解セットで学習を行い、線形モデルを作成する。そして、推定装置は、推定の際に利用される特徴量を寄与度という形で出力する。このような推定装置では、動作するアルゴリズムの特性上、推定家庭における推定結果の周辺データで成立するごく一部の特徴量が寄与度として提示され易くなる。
【0005】
また、入力されたデータの予測結果及び各特徴量の寄与値を算出し、特徴量の寄与値から定まる解釈要因を管理する解釈要因変換情報を用いて解釈要因を特定して、特定した解釈要因を提示する技術がある。また、画像データから生物学特性や分析物を識別し且つ定量化して、定量化した生物学特性や分析物に基づいて病状を識別する技術がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2020-123164号公報
【特許文献2】米国特許出願公開第2019/0159737号明細書
【非特許文献】
【0007】
【非特許文献1】M. T. Ribeiro et al.: “Why Should I Trust You ?: Explaining the Predictions of Any Classifier,” In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1135-1144, 2016. doi:10.1145/2939672.2939778.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、推定結果に至った最低限の特徴量を推定根拠として提供する技術では、推定が可能となる一部分を捉えて説明することに留まり、説得性に乏しい。例えば、この技術では、猫の絵を猫であると説明する根拠として目と耳が提示されることや、数字の5の根拠を説明するのに数字の5のイメージの一部だけが提示されることがある。この技術では、特定の特徴で推定ができる場合、他の特徴も説明の補足となり得る場合であっても、それらの他の特徴による説明はなされない。また、画像データから得た定量化した生物学特性や分析物に基づいて病状を識別する技術では、推定根拠の提示は行われていない。さらに、入力されたデータの予測結果及び各特徴量の寄与値を基に解釈要因を特定する技術であっても、推定に直接寄与した特徴及びその周辺の特徴以外の特徴を推定根拠として提供する方法は開示されていない。このように、いずれの技術を用いても、推定根拠としての説得性や信頼性を十分に確保することは困難である。
【0009】
開示の技術は、上記に鑑みてなされたものであって、説得性や信頼性の高い推定根拠を提供する情報処理プログラム、情報処理方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の一つの態様において、機械学習モデルを用いた推定処理の対象となる推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割し、分割されたグループそれぞれについて、グループに含まれる入力データを基に、グループ毎の訓練済み機械学習モデルによる第1推定結果を取得し、グループ毎の第1推定結果及び推定対象データの全体に対する推定結果である第2推定結果に基づいて、第2推定結果についての推定根拠を示す推定結果情報を出力する処理をコンピュータに実行させる。
【発明の効果】
【0011】
1つの側面では、本発明は、説得性や信頼性の高い推定根拠を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施例に係る情報処理装置のブロック図である。
【
図2】
図2は、商業施設における人の行動を表す特徴グラフを示す図である。
【
図3】
図3は、特徴グラフの分割を説明するための図である。
【
図4】
図4は、分割特徴グラフ毎の分類スコアの一例を示す図である。
【
図5】
図5は、実施例に係る情報処理装置による推定根拠の決定処理の概要を示す図である。
【
図6】
図6は、学習フェーズにおける情報処理装置による学習処理のフローチャートである。
【
図7】
図7は、推定フェーズにおける情報処理装置による推定処理のフローチャートである。
【
図8】
図8は、特徴グラフ分割処理のフローチャートである。
【
図9】
図9は、情報処理装置のハードウェア構成図である。
【
図10】
図10は、変形例3に係る情報処理装置のブロック図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理プログラム、情報処理方法及び情報処理装置が限定されるものではない。
【実施例0014】
図1は、実施例に係る情報処理装置のブロック図である。本実施例に係る情報処理装置1は、
図1に示すように、データベース2、入力端末3及び利用者端末4を有する。
【0015】
情報処理装置10は、学習フェーズにおいて、データベース2から取得した学習データ及び入力端末3から入力された情報を用いて学習を行ない、推定に用いる訓練済みの機械学習モデルを生成する。その後、情報処理装置1は、推定フェーズにおいて、利用者端末4から入力された推定対象データに対して訓練済みの機械学習モデルを用いて推定を行なう。さらに、情報処理装置1は、推定結果に対する根拠の情報を生成する。そして、情報処理装置1は、推定結果及びその根拠の情報を利用者端末4へ送信する。
【0016】
与えられた推定対象データについて深層学習を用いた推定を行う場合、情報処理装置10は、推定対象データの特徴が得られる部位(部分)のそれぞれについて特徴量を求めて、求めた特徴量を用いて推定を行なう。このように推定が行われると考えた場合、情報処理装置10は、部位をまとめた特徴グラフにしたがって部位毎に特徴量を抽出して推定を行なうといえる。
【0017】
例えば、情報処理装置10が商業施設における人の行動を推定する場合について説明する。商業施設における人の行動を予測する場合、人の行動の種類には、万引き行動、商品を注視する行動、商品を手に取る行動及び考える行動など様々な行動が存在する。
【0018】
図2は、商業施設における人の行動を表す特徴グラフを示す図である。
図2に示す商業施設における人の行動を表す特徴グラフ100は、階層構造を有するツリーにより表される。特徴グラフ100は、ツリーのルート情報として人全体を表す「人」が設定される。また、特徴グラフ100は、人における特徴量の取得対象となる1段目の部位として、「頭」及び「体」が設定される。さらに、特徴グラフ100は、1段目の部位である頭に含まれるより詳細な特徴量の取得対象となる2段目の部位としてとして「額」、「目」及び「口」が設定される。また、特徴グラフ100は、1段目の部位である体に含まれるより詳細な特徴量の取得対象となる2段目の部位として、「背中」、「腰」、「手」及び「足」が設定される。特徴量の取得対象となる部位はこれに限らず、より階層が深くなっても良いし、各階層に設定される数が増えてもよい。
図2に示す特徴グラフの場合、階層が深くなるにつれ、より詳細な特徴量が得られる部位となる。以下の説明では、1段目の部位及び2段目の部位などの各階層の部位をまとめて、単に「部位」と呼ぶ。
【0019】
さらに、各部位には、その部位で得られる特徴量が付加される。例えば、「頭」であれば「きょろきょろ」を表す特徴量、「額」であれば「汗」を表す特徴量が付加される。ここで、
図2では、特徴量を分かり易いように言語で表しているが、実際にはそれらの言語にあたる数値情報である。推定対象データにおける部位及び特徴量が、推定対象データに対する複数項目の入力データの一例にあたる。また、学習データにおける部位及び特徴量が、学習データに関する複数項目の学習用入力データの一例にあたる。
【0020】
データベース2は、情報処理装置1が学習に用いる学習データを格納する。本実施例で学習データは、正解ラベルが与えられた教師有り学習データである。
【0021】
例えば、商業施設における人の行動の推定を行う場合の学習データは、商業施設に設置されたカメラにより撮影された画像データである。学習データの各画像データには、その画像に映った行動が「万引き行動」、「注視行動」、「手に取る行動」、「試す行動」及び「考える行動」などの各種行動のいずれにあたるかを示す正解ラベルが付与される。
【0022】
入力端末3は、分割定義の情報処理装置1への入力を行なう装置である。分割定義とは、推定根拠の提示のために特徴グラフをどのように分割するかを示す情報である。分割定義は、分割の起点となる部位のルートからのパスを示す情報である起点定義パス及びその起点の部位からルートとは逆の枝葉に向けて特徴量へと延びるパスの情報である特徴量定義木型を含む。特徴量定義木型は、その中に登録されたパスをたどることで、分割後に含まれる起点から延びる枝葉の構成を特定可能とする情報である。
【0023】
例えば、分割定義は、同様の機能を有すると考えられる部位及びその特徴量をまとめる条件である。同様の機能を有するとは推定根拠として類似することにあたり、すなわち、分割定義は、類似する推定根拠となる項目の集合を規定する。
【0024】
本実施例では、分割定義は、操作者によって作成される。ただし、分割定義は、データベース2に予め格納されてもよい。
【0025】
利用者端末4は、情報処理装置1による推定の対象となる推定対象データを情報処理装置1に入力する。その後、利用者端末4は、推定結果及び推定根拠の情報を情報処理装置1から受信する。そして、利用者端末4は、取得した情報処理装置1による推定結果及び推定根拠の情報を利用者に提示する。
【0026】
次に、情報処理装置1の動作の詳細について説明する。情報処理装置1は、特徴量抽出部11、特徴量分割部12、学習部13、推定部14、推定結果一致判定部15、根拠生成部16及び根拠合成部17を有する。
【0027】
特徴量抽出部11は、学習フェーズにおいて、複数の学習データをデータベース2から取得する。次に、特徴量抽出部11は、学習データ毎に、多層ニューラルネットワークなどを用いて学習データから特徴量の抽出を行う。そして、特徴量抽出部11は、特徴量を抽出したそれぞれの部位を用いて学習データの構造を表すツリーを生成し且つ各部位に対して特徴量を対応付けて特徴グラフを生成する。例えば、特徴量抽出部11は、
図2に示す特徴グラフ100を生成する。その後、特徴量抽出部11は、生成した各学習データの特徴グラフを特徴量分割部12へ出力する。
【0028】
また、特徴量抽出部11は、推定フェーズにおいて、推定対象データの入力を利用者端末4から受ける。そして、特徴量抽出部11は、学習データの場合と同様に、推定対象データについての特徴グラフを生成し、特徴量分割部12へ出力する。
【0029】
特徴量分割部12は、学習フェーズにおいて、各学習データから得られた特徴グラフの入力を特徴量抽出部11から受ける。また、特徴量分割部12は、入力端末3から入力された分割定義を取得する。
図3は、特徴グラフの分割を説明するための図である。分割特徴グラフ101~105は、
図2の特徴グラフ100を用いて行う推定で推定根拠となりうる部位のまとまりである。特徴量分割部12は、例えば、分割特徴グラフ101~105を生成するための分割定義を取得する。
【0030】
次に、特徴量分割部12は、各学習データの特徴グラフそれぞれに対して、分割定義を用いて分割特徴グラフを生成する。ここで、分割定義が、「所定条件」の一例にあたる。また、学習データの特徴グラフから生成された分割特徴グラフが、「学習グループ」の一例にあたる。すなわち、特徴量分割部12は、機械学習モデルの訓練に用いる学習データに関する複数項目の学習用入力データを所定条件に基づいて複数の学習グループに分類する。
【0031】
例えば、特徴量分割部12は、以下のように分割特徴グラフを生成する。特徴量分割部12は、1つずつ分割定義を選択する。そして、特徴量分割部12は、選択した分割定義に含まれる起点パスを用いてルートから起点までの経路をたどり、起点の部位を確定して分割特徴グラフに追加する。次に、特徴量分割部12は、選択した分割定義に含まれる特徴量定義木型にしたがって、起点から特徴量定義木型で示されたパスをたどり、たどったパス上の部位を確認して、各パスの情報を分割特徴グラフに追加する。これにより、特徴量分割部12は、起点から各部位へと繋がるパスの情報を分割特徴グラフに追加する。さらに、特徴量分割部12は、分割特徴グラフに含まれる各部位に対応する特徴量を分割特徴グラフに追加する。これにより、特徴量分割部12は、選択した分割定義に対応する分割特徴グラフの生成を完了する。特徴量分割部12は、全ての分割定義に関して同様の処理を行い、それぞれについて分割特徴グラフを生成する。全ての学習データの特徴グラフに対して同じ分割定義が用いられるため、各特徴グラフは同じように分割される。その後、特徴量分割部12は、生成した学習データ毎の分割特徴グラフを学習部13へ出力する。
【0032】
ここで、
図3における分割特徴グラフ101の生成を例に、特徴量分割部12による分割特徴グラフの生成を具体的に説明する。特徴量分割部12は、
図2に示す特徴グラフ100を特徴量抽出部11から取得する。次に、特徴量分割部12は、分割特徴グラフ101に対応する分割定義を選択する。次に、特徴量分割部12は、分割定義に含まれる特徴グラフ100のルートである「人」から分割特徴グラフ101における起点である「頭」までのパスを表す起点パスをたどり、「頭」への経路を確認して、起点として「頭」を分割特徴グラフ101に登録する。次に、特徴量分割部12は、分割特徴グラフ101における起点である「頭」から延びるパスの情報を分割定義に含まれる特徴量定義木型から取得する。次に、特徴量分割部12は、取得したパスの情報にしたがって起点である「頭」からパスをたどり、たどったパス上の部位である「額」を確認して、「頭」から「額」に延びるパスの情報を分割特徴グラフ101に追加する。さらに、特徴量分割部12は、分割特徴グラフ101に含まれる「頭」及び「額」についての特徴量である「キョロキョロ」及び「汗」を表す情報を分割特徴グラフ101に追加する。以上により、特徴量分割部12は、分割特徴グラフ101を完成させる。同様にして、特徴量分割部12は、分割特徴グラフ102~105を生成する。
【0033】
特徴量分割部12は、推定フェーズにおいて、推定対象データから得られた特徴グラフの入力を特徴量分割部12から受ける。そして、特徴量分割部12は、学習データから得られた特徴グラフの場合と同様に、分割定義を用いて分割特徴グラフを生成する。この推定対象データの特徴グラフから生成された分割特徴グラフが、「グループ」の一例にあたる。すなわち、特徴量分割部12は、推定対象データに関する複数項目の入力データを所定条件に基づいて複数のグループに分割する。その後、特徴量分割部12は、推定対象データから得られた特徴グラフから生成した特徴分割グラフを推定部14へ出力する。
【0034】
学習部13は、学習データ毎の、複数の分割特徴グラフの入力を特徴量分割部12から受ける。また、学習部13は、データベース2から学習データの正解ラベルを取得する。そして、学習部13は、分割特徴グラフ毎に学習を実行する。すなわち、学習部13は、分割特徴グラフ毎に機械学習モデルの学習を行い、それぞれについて訓練済みの機械学習モデルを生成する。その後、学習部13は、生成した分割特徴グラフ毎の訓練済みの機械学習モデルを推定部14へ出力する。
【0035】
推定部14は、分割特徴グラフ毎の訓練済みの機械学習モデルの入力を学習部13から受ける。その後、推定部14は、推定対象データから得られた特徴グラフから生成された分割特徴グラフの入力を特徴量分割部12から受ける。
【0036】
次に、推定部14は、分割特徴グラフ毎に機械学習モデルを用いて推定を行ない、推定結果として得られる各分類の分類スコアを算出する。分類スコアとは、与えられたデータに対する推定結果として得られる複数の分類のそれぞれについての正解となる確率を示す値である。例えば、分類スコアは、完全に正解である場合を1として割合で表される。この推定部14による分割特徴グラフ毎の推定結果が、「第1推定結果」の一例にあたる。
【0037】
次に、推定部14は、分類毎に各分割特徴グラフについて算出された分類スコアを集計する。例えば、推定部14は、分類毎に分類スコアを合計して集計結果を得る。そして、推定部14は、集計結果が最大の分類を推定対象データの全体に対する推定結果とする。この推定対象データの全体に対する推定結果が、「第2推定結果」の一例にあたる。すなわち、推定部14は、第1推定結果を基に第2推定結果を決定する。その後、推定部14は、推定結果を利用者端末4へ送信する。また、推定部14は、推定結果及び各分割特徴グラフにおける分類毎の分類スコアを推定結果一致判定部15へ出力する。
【0038】
図4は、分割特徴グラフ毎の分類スコアの一例を示す図である。例えば、商業施設における人の行動の推定を行う場合について説明する。ここでは、
図2で示した特徴グラフ100及び
図3に示した分割特徴グラフを用いて推定を行う場合を例に説明する。
【0039】
推定部14は、各分割特徴グラフ101~105における分類毎の分類スコアとして、
図4に示す分類スコアを算出する。ここでは、推定される分類として、「万引き行動」、「注視行動」、「手に取る行動」、「試す行動」、「ぶらつく行動」、「倒れる行動」及び「考える行動」が存在するとする。また、ここでは分類スコアを、確実に正解する場合を1とした場合の割合とする。例えば、分割特徴グラフ101における「万引き行動」の分類スコアは0.6である。
【0040】
推定部14は、分類毎に分割特徴グラフ101~105の分類スコアの合計を算出して集計する。例えば、推定部14は、「万引き行動」の集計結果を2.4と算出する。そして、推定部14は、集計結果の値が最も高い万引きを推定対象データに対する推定結果として決定する。
【0041】
推定結果一致判定部15は、推定対象データの推定結果と分割特徴グラフ毎の推定結果との一致から、どの分割特徴グラフを推定根拠として用いるかを判定するための判定閾値を有する。例えば、推定結果一致判定部15は、分類スコアが完全に正解である場合を1として割合で表される場合の判定閾値として、0.4を用いることができる。この場合、推定結果一致判定部15は、判定閾値が0.4以上の場合にその分割特徴グラフの推定結果が推定対象データの推定結果と一致するとして推定根拠として採用する。これは、推定結果一致判定部15が、ある分割特徴グラフの推定結果が40%以上の確率で推定対象データの推定結果と一致するか否かを判定することにあたる。
【0042】
推定結果一致判定部15は、推定結果及び各分割特徴グラフにおける分類毎の分類スコアの入力を推定部14から受ける。次に、推定結果一致判定部15は、分割特徴グラフ毎に推定対象データの推定結果と一致する分類の分類スコアと判定閾値とを比較する。推定結果一致判定部15は、ある分割特徴グラフについて推定対象データの推定結果と一致する分類の分類スコアが判定閾値以上であれば、その分割特徴グラフを推定根拠として採用することを決定する。ここで、推定根拠として採用された分割特徴グラフが、「根拠グループ」の一例にあたる。すなわち、推定結果一致判定部15は、第1推定結果と第2推定結果を基に、グループの中から推定根拠を取得する根拠グループを抽出する。さらに詳しくは、推定結果一致判定部15は、第1推定結果における分類毎の正解となる確率を示す分類スコアを取得し、第2推定結果と一致する分類の分類スコアが閾値以上の第1推定結果を推定根拠として採用する。その後、推定結果一致判定部15は、推定根拠として採用した分割特徴グラフを根拠生成部16に通知する。
【0043】
例えば、
図4に示した分類スコアを用いる場合の推定結果一致判定部15の処理を説明する。ここでは、推定結果一致判定部15は、判定閾値を0.4として有するものとする。この場合、推定結果一致判定部15は、分割特徴グラフ101~105のそれぞれの万引き行動の分類スコアを取得して、判定閾値である0.4と比較する。この場合、分割特徴グラフ101の万引き行動の分類スコアは0.6であり、0.4以上であるので、推定結果一致判定部15は、分割特徴グラフ101を推定根拠として採用する。また、分割特徴グラフ102の万引き行動の分類スコアは0.5であり、0.4以上であるので、推定結果一致判定部15は、分割特徴グラフ105を推定根拠として採用する。また、分割特徴グラフ104の万引き行動の分類スコアは0.7であり、0.4以上であるので、推定結果一致判定部15は、分割特徴グラフ104を推定根拠として採用する。また、分割特徴グラフ104の万引き行動の分類スコアは0.5であり、0.4以上であるので、推定結果一致判定部15は、分割特徴グラフ105を推定根拠として採用する。これに対して、分割特徴グラフ103の万引き行動の分類スコアは0.1であり、0.4未満であるので、推定結果一致判定部15は、分割特徴グラフ105を推定根拠として採用しない。この場合、推定結果一致判定部15は、分割特徴グラフ101、102、103、104及び105を推定根拠として根拠生成部16に通知する。
【0044】
根拠生成部16は、推定根拠として採用された分割特徴グラフの通知を推定結果一致判定部15から受ける。次に、根拠生成部106は、推定根拠として採用された分割特徴グラフを推定部14から取得する。そして、根拠生成部106は、取得した分割特徴グラフ毎に推定根拠を示す情報である根拠情報を生成する。すなわち、根拠生成部106は、第2推定結果と一致する分類の分類スコアが閾値以上の第1推定結果を用いて推定根拠を生成する。例えば、根拠生成部106は、推定根拠として採用された分割特徴グラフに含まれる各特徴量の推定に対する寄与度を推定部14から取得する。そして、根拠生成部106は、取得した寄与度を基に部分グラフを抽出することで根拠情報を生成する。その後、根拠生成部106は、推定根拠として採用された分割特徴グラフ毎の根拠情報を根拠合成部17へ出力する。
【0045】
根拠合成部17は、推定根拠として採用された分割特徴グラフ毎の根拠情報の入力を根拠生成部16から受ける。そして、根拠合成部17は、取得した根拠情報を合成して、推定対象データに対する推定結果の推定根拠を示す推定結果情報を生成する。その後、根拠合成部17は、推定対象データに対する推定結果の推定根拠を示す推定結果情報を利用者端末4へ送信して、利用者に提供する。
【0046】
図5は、実施例に係る情報処理装置による推定根拠の決定処理の概要を示す図である。特徴量抽出部11は、推定対象データを取得して特徴量を抽出し推定対象データの特徴グラフ150を生成する。次に、特徴量分割部12は、特徴グラフ150を分割定義にしたがって分割して、分割特徴グラフ151~155を生成する。
【0047】
次に、推定部14は、分割特徴グラフ151~155のそれぞれに対応する訓練済みの機械学習モデルを用いて分割特徴グラフ151~155の推定を行なう。そして、推定部14は、分割特徴グラフ151~155のそれぞれの分類毎の分類スコアを集計して、スコアが一番高い分類を、推定対象データの推定結果と決定する。ここでは、推定部14は、推定対象データに対して万引き行動という推定結果を得る。
【0048】
次に、推定結果一致判定部15は、分割特徴グラフ151~155のうち万引き行動の分類スコアが判定閾値以上のものを推定根拠として採用する。ここでは、推定結果一致判定部15は、分割特徴グラフ151、152、154及び155を推定根拠160として採用する。その後、根拠生成部16及び根拠合成部17は、採用された推定根拠106を用いて推定結果情報を生成する。
【0049】
図6は、学習フェーズにおける情報処理装置による学習処理のフローチャートである。次に、
図6を参照して、学習フェーズにおける情報処理装置1による学習処理の流れを説明する。
【0050】
特徴量抽出部11は、複数の学習データをデータベース2から取得する(ステップS101)。
【0051】
次に、特徴量抽出部11は、各学習データの特徴量を抽出してそれぞれの特徴グラフを生成する(ステップS102)。その後、特徴量抽出部11は、生成した特徴グラフを特徴量分割部12へ出力する。
【0052】
特徴量分割部12は、各学習データの特徴グラフの入力を特徴量抽出部11から受ける。また、特徴量分割部12は、分割定義の入力を入力端末3から受けて、分割定義を取得する(ステップS103)。
【0053】
次に、特徴量分割部12は、未選択の分割定義の中から1つの分割定義を選択する(ステップS104)。
【0054】
次に、特徴量分割部12は、学習データの中から1つの学習データを選択する(ステップS105)。
【0055】
次に、特徴量分割部12は、選択した分割定義を用いて選択した学習データの特徴グラフ分割処理を実行する(ステップS106)。これにより、特徴量分割部12は、学習データの選択した分割定義に対応する分割特徴グラフを取得する。学習部13は、生成された推定対象データの分割特徴グラフの入力を特徴量分割部12から受ける。
【0056】
次に、特徴量分割部12は、全ての学習データについて選択した分割定義に対応する分割特徴グラフの生成が完了したか否かを判定する(ステップS107)。選択した分割定義に対応する分割特徴グラフの生成を行っていない学習データが残っている場合(ステップS107:否定)、特徴量分割部12は、ステップS105へ戻る。
【0057】
これに対して、全ての学習データについて選択した分割定義に対応する分割特徴グラフの生成が完了した場合(ステップS107:肯定)、特徴量分割部12は、分割特徴グラフの生成を完了する。学習部13は、各学習データに対する正解をデータベース2から取得する。そして、学習部13は、特徴量分割部12から取得した分割特徴グラフと正解とを用いて学習を実行する(ステップS108)。その後、学習部13は、選択された分割特徴グラフの訓練済みの機械学習モデルを推定部14へ出力する。
【0058】
次に、特徴量分割部12は、全ての分割定義について分割特徴グラフの生成が完了したか否かを判定する(ステップS109)。分割特徴グラフの生成を行っていない分割定義が残っている場合(ステップS109:否定)、特徴量分割部12は、ステップS104へ戻る。
【0059】
これに対して、全ての分割定義について分割特徴グラフの生成が完了した場合(ステップS109:肯定)、情報処理装置1は、学習処理を終了する。
【0060】
図7は、推定フェーズにおける情報処理装置による推定処理のフローチャートである。次に、
図7を参照して、学習フェーズにおける情報処理装置1による推定処理の流れを説明する。
【0061】
特徴量抽出部11は、推定対象データを利用者端末4から取得する(ステップS201)。
【0062】
次に、特徴量抽出部11は、推定対象データの特徴量を抽出してそれぞれの特徴グラフを生成する(ステップS202)。その後、特徴量抽出部11は、生成した特徴グラフを特徴量分割部12へ出力する。
【0063】
次に、特徴量分割部12は、未選択の分割定義の中から1つの分割定義を選択する(ステップS203)。
【0064】
次に、特徴量分割部12は、選択した分割定義を用いて選択した学習データの特徴グラフ分割処理を実行する(ステップS204)。これにより、特徴量分割部12は、推定対象データの選択した分割定義に対応する分割特徴グラフを取得する。
【0065】
次に、特徴量分割部12は、全ての分割定義について分割特徴グラフの生成が完了したか否かを判定する(ステップS205)。分割特徴グラフの生成を行っていない分割定義が残っている場合(ステップS205:否定)、特徴量分割部12は、ステップS203へ戻る。
【0066】
これに対して、全ての分割定義について分割特徴グラフの生成が完了した場合(ステップS205:肯定)、推定部14は、生成された推定対象データの分割特徴グラフの入力を特徴量分割部12から受ける。推定部14は、推定対象データの分割特徴グラフ毎に学習部13から取得した訓練済みの機械学習モデルを用いて推定を実行する(ステップS206)。
【0067】
次に、推定部14は、分割特徴グラフ毎の各分類の分類スコアを分類毎に集計する。そして、推定部14は、集計結果が最も高いスコアとなった分類を推定対象データの推定結果として決定する(ステップS207)。そして、推定部14は、分割特徴グラフ毎の各分類の分類スコア及び推定対象データの推定結果を推定結果一致判定部15へ出力する。また、推定部14は、推定対象データの推定結果を利用者端末4へ送信して、利用者に提供する。
【0068】
推定結果一致判定部15は、分割特徴グラフ毎の各分類の分類スコア及び推定対象データの推定結果を推定結果一致判定部15から取得する。そして、推定結果一致判定部15は、未選択の分割特徴グラフの中から1つ分割特徴グラフを選択する(ステップS208)。
【0069】
次に、推定結果一致判定部15は、選択した分割特徴グラフにおける各分類の分類スコアを取得する(ステップS209)。
【0070】
次に、推定結果一致判定部15は、選択した分割特徴グラフにおける推定結果の分類の分類スコアが判定閾値以上か否かを判定する(ステップS210)。選択した分割特徴グラフにおける推定結果の分類の分類スコアが判定閾値未満の場合(ステップS210:否定)、推定結果一致判定部15は、ステップS212へ進む。
【0071】
これに対して、選択した分割特徴グラフにおける推定結果の分類の分類スコアが判定閾値以上の場合(ステップS210:肯定)、推定結果一致判定部15は、選択した分割特徴グラフを推定根拠として採用して(ステップS211)、ステップS212へ進む。
【0072】
その後、推定結果一致判定部15は、全ての分割特徴グラフに対して推定根拠とするか否かの判定処理が完了したか否かを判定する(ステップS212)。処理を行っていない分割特徴グラフが残っている場合(ステップS212:否定)、推定結果一致判定部15は、ステップS208へ戻る。
【0073】
これに対して、全ての分割特徴グラフに対して推定根拠とするか否かの判定処理が完了した場合(ステップS212:肯定)、推定結果一致判定部15は、推定根拠として採用した分割特徴グラフの情報を根拠生成部16へ出力する。根拠生成部16は、推定根拠として採用された分割特徴グラフ毎に根拠情報を生成する(ステップS213)。
【0074】
根拠生成部16は、推定根拠として採用された分割特徴グラフ毎に根拠情報を根拠合成部17へ出力する。根拠合成部17は、推定根拠として採用された分割特徴グラフ毎の根拠情報を合成して、推定対象データに対する推定結果の推定根拠の情報である推定結果情報を生成する(ステップS214)。
【0075】
その後、根拠合成部17は、推定対象データの推定結果に対する推定根拠を示す推定結果情報を利用者端末4へ送信して、推定結果の情報を利用者に提供する(ステップS215)。
【0076】
図8は、特徴グラフ分割処理のフローチャートである。
図8のフローチャートで示す処理は、
図6のステップS106及び
図7のステップS204で実行される処理の一例にあたる。以下に、
図8を参照して、特徴量分割部12による特徴グラフ分割処理の流れを説明する。
【0077】
特徴量分割部12は、選択した分割定義に含まれる起点パスにしたがって、ルートノードから指定された起点へとパスをたどり、起点を分割特徴グラフに追加する(ステップS301)。
【0078】
次に、特徴量分割部12は、選択した分割定義に含まれる特徴量定義木型にしたがって、起点から指定されたパスをたどり、たどったパスを分割特徴グラフに追加する(ステップS302)。すなわち、特徴量分割部12は、たどったパス上に存在する部位及び各部位の起点からのパスの情報を分割特徴グラフに追加する。
【0079】
次に、特徴量分割部12は、生成中の分割特徴グラフに含まれる各部位における特徴量を分割特徴グラフに追加する(ステップS303)。
【0080】
その後、特徴量分割部12は、生成した分割特徴グラフを出力し、その後に分割特徴グラフをリセットする(ステップS304)。
【0081】
(ハードウェア構成)
図9は、情報処理装置のハードウェア構成図である。次に、
図9を参照して、情報処理装置1の各機能を実現するためのハードウェア構成の一例について説明する。
【0082】
図9に示すように、情報処理装置1は、例えば、CPU(Central Processing Unit)91、メモリ92、ハードディスク93、ネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94に接続される。
【0083】
ネットワークインタフェース94は、情報処理装置1と外部装置との間の通信のためのインタフェースである。ネットワークインタフェース94は、例えば、CPU91とデータベース2、入力端末3及び利用者端末4との間の通信を中継する。
【0084】
ハードディスク93は、補助記憶装置である。ハードディスク93は、各種プログラムを格納する。各種プログラムには、
図1に例示した、特徴量抽出部11、特徴量分割部12、学習部13、推定部14、推定結果一致判定部15、根拠生成部16及び根拠合成部17の機能を実現するためのプログラムが含まれる。
【0085】
メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)を用いることができる。
【0086】
CPU91は、ハードディスク93から各種プログラムを読み出して、メモリ92に展開して実行する。これにより、CPU91は、
図1に例示した、特徴量抽出部11、特徴量分割部12、学習部13、推定部14、推定結果一致判定部15、根拠生成部16及び根拠合成部17の機能を実現する。
【0087】
以上に説明したように、本実施例に係る情報処理装置は、データの推定を行なう際に利用する各部位及び各特徴量を示す特徴グラフを、同様の機能を有すると考えられる部位をまとめた分割特徴グラフに分割する。そして、情報処理装置は、分割特徴グラフ毎に学習を行い分割特徴グラフ毎の機械学習モデルを生成する。その後、情報処理装置は、推定対象データの特徴グラフを分割して生成した分割特徴グラフに対して、分割特徴グラフ毎の機械学習モデルを用いて推定を行い、推定結果から推定対象データの推定結果を得る。そして、情報処理装置は、推定対象データの推定結果と分割特徴グラフ毎の分類スコアを用いて推定結果の一致を考慮して、各分割特徴グラフについて推定根拠として採用するか否かを判定する。その後、情報処理装置は、採用した分割特徴グラフを用いて推定対象データの推定結果に対する推定根拠の情報を生成して利用者に提供する。
【0088】
すなわち、本実施例に係る情報処理装置は、特徴量を機能で分割し、それぞれで分類を行い、同じ分類となった機能の説明を集約して説明を行なう。これにより、推定結果と同じ分類となった機能を集約して総合的に説明を行うことができ、AIによる推定の説得性及び信頼性を向上させることができる。
【0089】
(変形例1)
次に、変形例1について説明する。本変形例に係る情報処理装置も
図1のブロック図で表される。本実施例に係る情報処理装置1は、分割定義を用いずに分割を行うことが実施例と異なる。以下の説明では、実施例の各部の機能と同様の機能については説明を省略する。
【0090】
特徴量分割部12は、学習データの特徴グラフの入力を特徴量抽出部11から受ける。次に、特徴量分割部12は、特徴グラフを最小単位に分割する。例えば、特徴量分割部12は、特徴量を有する各部位を1つの単位として分割を実行して分割特徴グラフを生成する。そして、特徴量分割部12は、生成した分割特徴グラフを学習部13へ出力する。
【0091】
その後、特徴量分割部12は、連結を行なう分割特徴グラフの情報の入力を学習部13から受ける。そして、特徴量分割部12は、連結を行なうことが指示された分割特徴グラフと同じ上位の階層の部位に繋がる分割特徴グラフのうち1つを選択して、2つの分割特徴グラフを連結する。また、同じ上位の階層の部位に繋がる分割特徴グラフが存在しない場合、特徴量分割部12は、連結を行なうことが指示された分割特徴グラフとその分割特徴グラフが繋がる上位の部位を含む分割特徴グラフとを連結する。そして、特徴量12は、各学習データの連結した分割特徴グラフを学習部13へ出力する。
【0092】
学習部13は、特徴グラフを最小単位に分割した分割特徴グラフの入力を特徴量分割部12から受ける。次に、学習部13は、各分割特徴グラフを用いて学習を実行する。その後、学習部13は、訓練済みの各分割特徴グラフの機械学習モデルの推定精度を算出する。
【0093】
推定精度が精度閾値未満の場合、学習部13は、分割特徴グラフの情報とともにその分割特徴グラフの連結の指示を特徴量分割部12へ出力する。その後、学習部13は、連結を指示した分割特徴グラフを含む、連結後の分割特徴グラフの入力を特徴量分割部12から受ける。そして、学習部13は、連結後の分割特徴グラフを用いて学習を実行して、その推定精度を算出する。この場合、学習部13は、連結を指示した分割特徴グラフの連結に用いられた他の分割特徴グラフは、既に推定精度が精度閾値以上であっても分割特徴グラフとしては用いず破棄する。
【0094】
学習部13は、全ての分割特徴グラフの推定精度が精度閾値以上となるまで、連結の指示、学習及び推定精度の算出を繰り返す。全ての分割特徴グラフの推定精度が精度閾値以上となった場合、学習部13は、その時点での分割特徴グラフを用いた学習により生成された分割特徴グラフ毎の訓練済みの機械学習モデルを推定部14へ出力する。
【0095】
以上に説明したように、本変形例に係る情報処理装置は、自動的に分割特徴グラフを生成する。これにより、分割定義を生成する処理が削減されるため、推定根拠の提供における処理負荷を軽減することができる。
【0096】
(変形例2)
次に、変形例2について説明する。本変形例に係る情報処理装置は、分割前の特徴グラフを用いて学習した機械学習モデルを用いて推定対象データの推定を行なう。以下の説明では、実施例の各部の機能と同様の機能については説明を省略する。
【0097】
特徴量分割部12は、学習フェーズにおいて、学習データの分割特徴グラフとともに分割前の特徴グラフを学習部13へ出力する。また、特徴量分割部12は、推定フェーズにおいて、推定対象データの分割特徴グラフとともに分割前の特徴グラフを推定部14へ出力する。
【0098】
学習部13は、各分割特徴グラフを用いて学習を行なう。また、学習部13は、分割前の特徴グラフを用いて学習を行い、分割前の特徴グラフの訓練済みの機械学習モデルを生成する。そして、学習部13は、分割特徴グラフ毎の訓練済みの機械学習モデル及び分割前の特徴グラフの訓練済みの機械学習モデルを推定部14へ出力する。
【0099】
推定部14は、推定対象データの分割特徴グラフ及び分割前の特徴グラフの入力を特徴量分割部12から受ける。そして、推定部14は、推定対象データの分割前の特徴グラフに対して分割前の特徴グラフの訓練済みの機械学習モデルを用いて、推定対象データの推定を行なう。そして、推定部14は、推定対象データの推定結果を利用者端末4へ出力する。
【0100】
また、推定部14は、推定対象データの分割特徴グラフに対して分割特徴グラフ毎の訓練済みの機械学習モデルを用いて推定を行い、各分割特徴グラフにおける分類毎の分類スコアを算出して、推定結果一致判定部15へ出力する。この場合、推定部14は、各分割特徴グラフの推定結果を、推定対象データの推定結果の決定に用いなくてよい。
【0101】
推定結果一致判定部15は、分割前の特徴グラフの機械学習モデルを用いた推定対処データの推定結果と、分割特徴グラフ毎の機械学習モデルを用いた分割特徴グラフ毎の推定結果とを比較して、各分割特徴グラフを推定根拠として採用するか否かを判定する。
【0102】
以上に説明したように、本変形例に係る情報処理装置は、推定対象データの推定には、分割前の特徴グラフを用いて学習を行い、分割前の特徴グラフの機械学習モデルを用いる。これにより、情報処理装置の推定精度を向上させることができる。ただし、実施例で説明したように、分割特徴グラフ毎の機械学習モデルを用いて推定を行い推定対象データの推定結果を得る方が、計算コストが低くなる。
【0103】
(変形例3)
図10は、変形例3に係る情報処理装置のブロック図である。本変形例に係る情報処理装置1は、分割特徴グラフ毎に学習、推定及び根拠生成を独立して行う。本変形例に係る情報処理装置1は、学習部13A、13B、・・・と、推定部14A、14B、・・・と、根拠生成部16A、16B、・・・とを有する。以下の説明では、実施例の各部の機能と同様の機能については説明を省略する。
【0104】
学習部13Aは、例えば、学習データ毎に、
図3における「頭」、「額」及びそれらの特徴量を含む分割特徴グラフ101を取得する。そして、学習部13Aは、各学習データの分割特徴グラフ101を用いて学習を実行する。その後、学習部13Aは、分割特徴グラフ101に対応する訓練済みの機械学習モデルを推定部14Aへ出力する。
【0105】
学習部13Bは、例えば、学習データ毎に、
図3における「目」、「口」及びそれらの特徴量を含む分割特徴グラフ102を取得する。そして、学習部13Bは、各学習データの分割特徴グラフ102を用いて学習を実行する。その後、学習部13Bは、分割特徴グラフ102に対応する訓練済みの機械学習モデルを推定部14Bへ出力する。
【0106】
図3における分割特徴グラフ103~105についても、それぞれ他の学習部13により学習が行われる。ここでは、学習部13A、13B、・・・のうち学習部13A及び13B以外については、他の学習部13と呼ぶ。その後、分割特徴グラフ103~105の学習を行った他の学習部13は、分割特徴グラフ103~105のそれぞれに対応する訓練済みの機械学習モデルを他の推定部14へ出力する。ここでは、推定部14A、14B、・・・のうち推定部14A及び14B以外については、他の推定部14と呼ぶ。
【0107】
推定部14Aは、分割特徴グラフ101に対応する訓練済みの機械学習モデルを用いて、推定対象データに対する分割特徴グラフ101の推定を行なう。そして、推定部14Aは、推定結果を推定結果一致判定部15及び根拠生成部16Aへ出力する。
【0108】
推定部14Bは、分割特徴グラフ102に対応する訓練済みの機械学習モデルを用いて、推定対象データに対する分割特徴グラフ102の推定を行なう。そして、推定部14Bは、推定結果を推定結果一致判定部15及び根拠生成部16Bへ出力する。
【0109】
他の推定部14は、それぞれ分割特徴グラフ103~105に対応する訓練済みの機械学習モデルを用いて、推定対象データに対する分割特徴グラフ103~105の推定を行なう。そして、他の推定部14は、推定結果を推定結果一致判定部15及び他の根拠生成部16へ出力する。ここでは、根拠生成部16A、16B、・・・のうち根拠生成部16A及び16B以外については、他の根拠生成部16と呼ぶ。
【0110】
例えば、分割特徴グラフ101~105のうち分割特徴グラフ101及び102が推定根拠として採用された場合、根拠生成部16A及び16Bは、推定根拠として採用された通知を推定結果一致判定部15から受ける。そして、根拠生成部16Aは、推定部14Aから取得した推定対象データに対する分割特徴グラフ101の推定結果から根拠情報を生成する。また、根拠生成部16Bは、推定部14Aから取得した推定対象データに対する分割特徴グラフ101の推定結果から根拠情報を生成する。推定根拠として採用されなかった分割特徴グラフ103~105を担当する他の根拠生成部16は、根拠情報の生成は行わない。
【0111】
根拠合成部17は、根拠生成部16A及び16Bから取得した根拠情報を基に推定根拠の情報である推定結果情報を生成して利用者端末4へ送信して、利用者に提供する。
【0112】
以上に説明したように、本変形例に係る情報処理装置は、分割特徴グラフ毎に学習、推定及び根拠情報の生成を行なう。例えば、分割特徴グラフ毎に、学習、推定及び根拠情報の生成を行なうハードウェアを異ならすことも可能である。このように、分割特徴グラフ毎に学習、推定及び根拠情報の生成を行なっても、推定結果と同じ分類となった機能を集約して総合的に説明を行うことができ、AIによる推定の説得性及び信頼性を向上させることができる。