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

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

▶ 富士通株式会社の特許一覧

特開2023-128760特定プログラム、特定方法および情報処理装置
<>
  • 特開-特定プログラム、特定方法および情報処理装置 図1
  • 特開-特定プログラム、特定方法および情報処理装置 図2
  • 特開-特定プログラム、特定方法および情報処理装置 図3
  • 特開-特定プログラム、特定方法および情報処理装置 図4
  • 特開-特定プログラム、特定方法および情報処理装置 図5
  • 特開-特定プログラム、特定方法および情報処理装置 図6
  • 特開-特定プログラム、特定方法および情報処理装置 図7
  • 特開-特定プログラム、特定方法および情報処理装置 図8
  • 特開-特定プログラム、特定方法および情報処理装置 図9
  • 特開-特定プログラム、特定方法および情報処理装置 図10
  • 特開-特定プログラム、特定方法および情報処理装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128760
(43)【公開日】2023-09-14
(54)【発明の名称】特定プログラム、特定方法および情報処理装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230907BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022033339
(22)【出願日】2022-03-04
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】浦 晃
(57)【要約】
【課題】与えられた前処理と類似する前処理を精度よく特定することを課題とする。
【解決手段】情報処理装置は、データセットに対する特定の前処理を実行した際のデータセットの特徴量の変化を取得する。情報処理装置は、データセットに対する前処理を特定する前処理情報と前処理を実行した際のデータセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、特徴量の変化を入力として対応する前処理情報を出力する訓練済み機械学習モデルに対して、取得された特徴量の変化を入力する。情報処理装置は、入力に応じた出力結果に基づき、特定の前処理に対応した推奨前処理を特定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータに、
データセットに対する特定の前処理を実行した際の前記データセットの特徴量の変化を取得し、
前記データセットに対する前処理を特定する前処理情報と前記前処理を実行した際の前記データセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、前記特徴量の変化を入力として対応する前記前処理情報を出力する訓練済み機械学習モデルに対して、取得された前記特徴量の変化を入力し、
前記入力に応じた出力結果に基づき、前記特定の前処理に対応した推奨前処理を特定する、
処理を実行させることを特徴とする特定プログラム。
【請求項2】
前記機械学習モデルは、
機械学習用のデータセットに前処理を実行する前の前記機械学習用のデータセットの特徴量と、前記前処理を実行した後の前記機械学習用のデータセットの特徴量との差分である特徴量差分を説明変数、前記前処理を特定する前処理情報を目的変数として機械学習された機械学習モデルであり、
前記取得する処理は、
推論対象である前記データセットに対して前記特定の前処理を実行する前の前記データセットの特徴量と、前記データセットに対して前記特定の前処理を実行した後の前記データセットの特徴量との差分である特徴量差分を取得し、
前記入力する処理は、
前記特徴量差分を前記機械学習モデルに入力し、
前記特定する処理は、
前記入力に応じて出力された複数の前記推奨前処理のうち、予測確率が高い上位所定個の推奨前処理を特定して出力する、
ことを特徴とする請求項1に記載の特定プログラム。
【請求項3】
前記機械学習モデルは、
機械学習用のデータセットに前処理を実行する前の前記機械学習用のデータセットの特徴量である前処理前の特徴量と、前記前処理を実行した後の前記機械学習用のデータセットの特徴量である前処理後の特徴量と、前記前処理前の特徴量と前記前処理後の特徴量との差分である特徴量差分とを用いた特徴量情報を説明変数、前記前処理を特定する前処理情報を目的変数として機械学習された機械学習モデルであり、
前記取得する処理は、
推論対象である前記データセットに対して前記特定の前処理を実行する前の前記前処理前の特徴量と、前記データセットに対して前記特定の前処理を実行した後の前記前処理後の特徴量と、前記特徴量差分とを取得し、
前記入力する処理は、
前記前処理前の特徴量と前記前処理後の特徴量と前記特徴量差分とを用いた前記特徴量情報を前記機械学習モデルに入力し、
前記特定する処理は、
前記入力に応じて出力された複数の前記推奨前処理のうち、予測確率が高い上位所定個の推奨前処理を特定して出力する、
ことを特徴とする請求項1に記載の特定プログラム。
【請求項4】
前記機械学習モデルは、
機械学習用のデータセットに前処理を実行する前の前記機械学習用のデータセットの特徴量である前処理前の特徴量と、前記前処理を実行した後の前記機械学習用のデータセットの特徴量である前処理後の特徴量とを用いた特徴量情報を説明変数、前記前処理を特定する前処理情報を目的変数として機械学習された機械学習モデルであり、
前記取得する処理は、
推論対象である前記データセットに対して前記特定の前処理を実行する前の前記前処理前の特徴量と、前記データセットに対して前記特定の前処理を実行した後の前記前処理後の特徴量とを取得し、
前記入力する処理は、
前記前処理前の特徴量と前記前処理後の特徴量とを用いた前記特徴量情報を前記機械学習モデルに入力し、
前記特定する処理は、
前記入力に応じて出力された複数の前記推奨前処理のうち、予測確率が高い上位所定個の推奨前処理を特定して出力する、
ことを特徴とする請求項1に記載の特定プログラム。
【請求項5】
前記特徴量は、前記データセットの行数と目的変数を除く列数とを含むデータ、前記データセットに含まれる数値データの列数、前記データセットに含まれる文字列の列数、前記データセットに含まれるデータの欠損値の割合、前記データセットに含まれる各列の統計量、および、前記データセットに含まれる目的変数のクラス数のうち、少なくとも一つを用いて生成される、ことを特徴とする請求項1に記載の特定プログラム。
【請求項6】
コンピュータが、
データセットに対する特定の前処理を実行した際の前記データセットの特徴量の変化を取得し、
前記データセットに対する前処理を特定する前処理情報と前記前処理を実行した際の前記データセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、前記特徴量の変化を入力として対応する前記前処理情報を出力する訓練済み機械学習モデルに対して、取得された前記特徴量の変化を入力し、
前記入力に応じた出力結果に基づき、前記特定の前処理に対応した推奨前処理を特定する、
処理を実行することを特徴とする特定方法。
【請求項7】
データセットに対する特定の前処理を実行した際の前記データセットの特徴量の変化を取得し、
前記データセットに対する前処理を特定する前処理情報と前記前処理を実行した際の前記データセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、前記特徴量の変化を入力として対応する前記前処理情報を出力する訓練済み機械学習モデルに対して、取得された前記特徴量の変化を入力し、
前記入力に応じた出力結果に基づき、前記特定の前処理に対応した推奨前処理を特定する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定プログラム、特定方法および情報処理装置に関する。
【背景技術】
【0002】
例えば、AutoML(Automated Machine Learning)などのように、機械学習を用いたデータ分析を自動化する自動化技術が利用されている。このような自動化技術では、機械学習の前処理として、どのような前処理を実行することが好ましいかを探索的手法により探索する。この際、探索空間を狭めるために前処理を機能ごとに分類して、各分類の中からそれぞれ一つまたは複数の前処理候補を選択するなどの探索手法も利用される。例えば、「データの欠損を埋める」という前処理の分類に対して、「0で埋める」、「平均で埋める」、「データの他の場所から推測する」などの中から一番効果的な前処理の選択が行われる。
【0003】
近年では、前処理が与えられたときに、その前処理以外でより効率的な前処理などを探索するために、探索対象とする別の前処理を自動的に判定する技術として、前処理の部品を説明するドキュメントを用いた技術が知られている。例えば、ある前処理cとドキュメントD(c)が与えられており、他に前処理とドキュメントの組合せとしてn個の「(前処理c1、ドキュメントD(c1))から(前処理cn、ドキュメントD(cn))」が与えられた場合に、ドキュメントD(c)と他のn個のドキュメントとの類似度を算出し、ドキュメント間の類似度により、探索対象とする類似前処理の範囲を決定する。なお、ドキュメントには、例えば入力、出力、パラメータの説明などが記述される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2020/0184382号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記技術は、前処理のドキュメントを用いる技術であり、前処理に対応するドキュメントが存在しないと適用することができず、前処理の内容を直接反映させた技術でないことから、類似前処理の特定精度が高いとは言い難い。
【0006】
一つの側面では、与えられた前処理と類似する前処理を精度よく特定することができる特定プログラム、特定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、特定プログラムは、コンピュータに、データセットに対する特定の前処理を実行した際の前記データセットの特徴量の変化を取得し、前記データセットに対する前処理を特定する前処理情報と前記前処理を実行した際の前記データセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、前記特徴量の変化を入力として対応する前記前処理情報を出力する訓練済み機械学習モデルに対して、取得された前記特徴量の変化を入力し、前記入力に応じた出力結果に基づき、前記特定の前処理に対応した推奨前処理を特定する、処理を実行させることを特徴とする。
【発明の効果】
【0008】
一実施形態によれば、与えられた前処理と類似する前処理を精度よく特定することができる。
【図面の簡単な説明】
【0009】
図1図1は、実施例1にかかる情報処理装置を説明する図である。
図2図2は、メタ特徴量を説明する図である。
図3図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
図4図4は、メタ特徴量および訓練データの生成を説明する図である。
図5図5は、機械学習を説明する図である。
図6図6は、類似前処理の特定を説明する図である。
図7図7は、実施例1にかかる機械学習処理の流れを示すフローチャートである。
図8図8は、実施例1にかかる特定処理の流れを示すフローチャートである。
図9図9は、実施例2にかかる類似前処理の特定を説明する図である。
図10図10は、実施例3にかかる類似前処理の特定を説明する図である。
図11図11は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する特定プログラム、特定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0011】
<情報処理装置の説明>
図1は、実施例1にかかる情報処理装置10を説明する図である。図1に示す情報処理装置10は、データセットと前処理が与えられたときに、前処理によるデータセットの変化に着目することで、類似前処理を選択できるコンピュータ装置の一例である。具体的には、情報処理装置10は、データセットと前処理が与えられたときに、AutoMLなどを用いて、与えられた前処理以外でより効率的な前処理などを探索するために、探索対象とする別の前処理を自動的に選択する。
【0012】
なお、前処理とは、カテゴリーデータの処理、欠損値処理、特徴量の変換や追加、次元削除などを実行する機械学習を実行する前に行われる処理であり、処理の組合せや詳細内容により多くの前処理が存在する。また、類似前処理とは、推奨前処理の一例であり、与えられた前処理に類似する前処理、与えられた前処理の代替の前処理、選択対象として追加する追加の前処理などを含む。
【0013】
このような情報処理装置10は、データセットに対する特定の前処理を実行した際のデータセットの特徴量の変化を取得する。そして、情報処理装置10は、データセットに対する前処理を特定する前処理情報と前処理を実行した際のデータセットの特徴量の変化とを対応付けた訓練データを用いた機械学習により訓練された、特徴量の変化を入力として対応する前処理情報を出力する訓練済み機械学習モデルに対して、取得された特徴量の変化を入力する。その後、情報処理装置10は、入力に応じた出力結果に基づき、特定の前処理に対応した類似前処理を特定する。
【0014】
具体的には、図1に示すように、情報処理装置10は、データセットAと前処理AAとが与えられている場合、データセットAに対して前処理AAを実行する。そして、情報処理装置10は、前処理AAが実行される前のデータセットAのメタ特徴量と、前処理AAが実行された後のデータセットAのメタ特徴量とを取得し、これらの差分であるメタ特徴量の変化量AA2を算出する。
【0015】
ここで、メタ特徴量について説明する。図2は、メタ特徴量を説明する図である。図2に示すように、データセットAは、「病気?」、「性別」、「身長」、「体重」の各カラム(項目)を有するデータセットであり、「病気?」が目的変数、「性別、身長、体重」が説明変数に対応する。なお、ここでは、一例として、「YES」と「NO」の2クラスの目的変数を例示している。
【0016】
メタ特徴量は、データセットAの行数と目的変数を除く列数とを含むデータ、データセットAに含まれる数値データの列数、データセットAに含まれる文字列の列数、データセットAに含まれるデータの欠損値の割合、データセットAに含まれる各列の統計量(平均や分散)、および、データセットAに含まれる目的変数のクラス数のうち、少なくとも一つを用いて生成される。例えば、図2に示すデータセットAの場合、行数が4、説明変数の列数が「性別」、「身長」、「体重」の3列、説明変数の数値の列数が「身長」と「体重」の2列、説明変数の文字列の列数が「性別」の1列である。また、欠損値は、合計12個の値のうち2個が欠損していることから、「2/12≒0.167」である。また、平均の最大は、身長の平均値「171.7」と体重の平均値「78.3」のうちの「171.7」であり、クラス数は、説明変数「病気」に該当する(YES)か該当しない(NO)の2値であることから「2」となる。
【0017】
この結果、図2の例では、メタ特徴量としては、「行数、列数、数値列数、文字列列数、欠損、平均の最大、クラス数」として「4、3、2、1、0.167、171.7、2」を採用することができる。
【0018】
図1に戻り、情報処理装置10は、前処理AAの内容等を特定する前処理情報AA1とメタ特徴量の変化量AA2とを含む訓練データを生成する。そして、情報処理装置10は、訓練データを機械学習モデルに入力し、メタ特徴量の変化量AA2を説明変数(特徴量)、前処理情報AA1を目的変数とする機械学習を実行して、訓練済みの機械学習モデルを生成する。このようにして、情報処理装置10は、メタ特徴量の入力に応じて、各前処理情報と各前処理情報の確率とを対応付けた分類結果(予測結果)を出力する機械学習モデルを生成することができる。
【0019】
その後、情報処理装置10は、新しいデータセットBと前処理BBとが指定されると、新しいデータセットBに対して前処理BBを実行し、データセットAと同様の項目であるメタ特徴量の変化量BB2を算出する。そして、情報処理装置10は、算出されたメタ特徴量の変化量BB2を機械学習モデルに入力し、推論結果を取得する。なお、推論結果に含まれる類似前処理の一覧結果には、例えば、類似前処理を特定する情報と、その類似前処理が入力されたメタ特徴量に対応する前処理に該当する割合や指標などを示す確率(予測確率)とが含まれる。
【0020】
このように、情報処理装置10は、前処理のドキュメントを用いずに適切な類似前処理を選択することができ、前処理の機能を直接考慮して適切な類似前処理を選択することができる。この結果、情報処理装置10は、与えられた前処理と類似する前処理を精度よく特定することができる。
【0021】
<情報処理装置の機能構成>
図3は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。図3に示すように、情報処理装置10は、通信部11、記憶部12、制御部20を有する。
【0022】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、管理者が使用する管理者端末から各種情報を受信し、管理者端末に、制御部20による処理結果などを送信する。
【0023】
記憶部12は、各種データや制御部20が実行するプログラム等を記憶する処理部の一例であり、例えばメモリやハードディスクなどにより実現される。この記憶部12は、機械学習用データセット13、機械学習モデル14、推論対象データセット15を記憶する。
【0024】
機械学習用データセット13は、機械学習モデル14の機械学習に利用されるデータを記憶するデータベースの一例である。例えば、機械学習用データセット13が記憶する各データは、目的変数と説明変数を含むデータであり、機械学習モデル14の機械学習に用いる訓練データを生成するための元データである。なお、機械学習用データセット13の一例としては、図2のデータセットAが該当する。
【0025】
機械学習モデル14は、制御部20により生成される、多値分類を実行する分類器の一例である。この機械学習モデル14は、目的変数を「前処理を特定する前処理情報」、説明変数を「メタ特徴量の変化量」とする訓練データを用いて生成される。生成後の機械学習モデル14は、入力データに応じて、該当する前処理情報に関する情報を含む推論結果を出力する。なお、機械学習モデル14には、ニューラルネットワークなどの各種モデルを採用することができる。
【0026】
推論対象データセット15は、該当する前処理の探索の対象となるデータを記憶するデータベースの一例である。例えば、推論対象データセット15と前処理とが与えられた場合に、機械学習モデル14を用いて、与えられた前処理以外でAutoMLなどによる探索対象とする前処理を特定する。なお、推論対象データセット15の一例としては、図2の新たなデータセットBが該当する。
【0027】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、機械学習部30と推論部40とを有する。なお、機械学習部30と推論部40は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0028】
機械学習部30は、機械学習モデル14を生成する処理部であり、事前処理部31と訓練部32を有する。
【0029】
事前処理部31は、機械学習モデル14の機械学習に用いる訓練データを生成する処理部である。具体的には、事前処理部31は、目的変数「前処理情報」、説明変数「メタ特徴量の変化量」を含む各訓練データを生成する。
【0030】
図4は、メタ特徴量および訓練データの生成を説明する図である。ここでは、データセット1と、データセット2と、前処理aから前処理zとが与えられている例で説明する。なお、ここでは、前処理aを特定する前処理情報を前処理a情報と記載する。
【0031】
図4に示すように、事前処理部31は、データセット1からメタ特徴量1を生成する。続いて、事前処理部31は、データセット1に前処理aを実行し、前処理後のデータセット1のメタ特徴量1-1aを生成する。そして、事前処理部31は、メタ特徴量差分1aとして「(メタ特徴量1)-(メタ特徴量1-1a)」を算出する。この結果、事前処理部31は、「目的変数、説明変数」として「前処理a情報、メタ特徴量差分1a」を有する訓練データを生成する。
【0032】
また、事前処理部31は、データセット1に前処理bを実行し、前処理後のデータセット1のメタ特徴量1-1bを生成する。そして、事前処理部31は、メタ特徴量差分1bとして「(メタ特徴量1)-(メタ特徴量1-1b)」を算出する。この結果、事前処理部31は、「目的変数、説明変数」として「前処理b情報、メタ特徴量差分1b」を有する訓練データを生成する。
【0033】
同様に、事前処理部31は、データセット2からメタ特徴量2を生成する。続いて、事前処理部31は、データセット2に前処理aを実行し、前処理後のデータセット2のメタ特徴量2-2aを生成する。そして、事前処理部31は、メタ特徴量差分2aとして「(メタ特徴量2)-(メタ特徴量2-2a)」を算出する。この結果、事前処理部31は、「目的変数、説明変数」として「前処理a情報、メタ特徴量差分2a」を有する訓練データを生成する。
【0034】
また、事前処理部31は、データセット2に前処理bを実行し、前処理後のデータセット2のメタ特徴量2-2bを生成する。そして、事前処理部31は、メタ特徴量差分2bとして「(メタ特徴量2)-(メタ特徴量2-2b)」を算出する。この結果、事前処理部31は、「目的変数、説明変数」として「前処理b情報、メタ特徴量差分2b」を有する訓練データを生成する。
【0035】
このようにして、事前処理部31は、与えられたデータセットそれぞれについて、与えられた各前処理を実行したときのメタ特徴量の差分を算出する。そして、事前処理部31は、各前処理と各メタ特徴量差分とを対応付けることで、訓練データを生成する。そして、事前処理部31は、生成された各訓練データを訓練部32に出力する。
【0036】
訓練部32は、事前処理部31により生成された各訓練データを含む訓練データセットを用いた機械学習により、機械学習モデル14を生成する処理部である。図5は、機械学習を説明する図である。図5に示すように、訓練部32は、「目的変数(前処理情報)、説明変数(メタ特徴量差分)」を有する各訓練データを機械学習モデル14に入力し、機械学習モデル14の出力結果と目的変数との差分が小さくなるように(最適化されるように)、誤差逆伝播法などを用いて機械学習モデル14の機械学習を実行する。
【0037】
推論部40は、データセットと前処理とが与えられた場合に、生成された機械学習モデル14を用いて、与えられた前処理と類似する類似前処理の推論を実行する処理部であり、生成部41と特定部42を有する。
【0038】
生成部41は、機械学習モデル14への入力データを生成する処理部である。また、特定部42は、入力データを機械学習モデル14に入力し、機械学習モデル14の出力結果(推論結果)に基づき類似前処理を特定する処理部である。
【0039】
ここで、図6を用いて類似前処理の特定にかかる一連の処理を説明する。図6は、類似前処理の特定を説明する図である。図6の例では、既知の情報として、「推論対象データセット15と前処理T」とが与えられた例で説明する。
【0040】
図6に示すように、生成部41は、与えられた推論対象データセット15のメタ特徴量nを生成する。続いて、生成部41は、推論対象データセット15に前処理Tを実行し、前処理Tを実行した後の推論対象データセット15のメタ特徴量n-Tを生成する。そして、生成部41は、メタ特徴量差分Tnとして「(メタ特徴量n)-(メタ特徴量n-T)」を算出する。その後、生成部41は、メタ特徴量差分Tnを特定部42に出力する。
【0041】
その後、特定部42は、生成部41により生成された「メタ特徴量差分Tn」を機械学習モデル14に入力し、出力結果(推論結果)を取得する。ここで、出力結果には、類似前処理とその類似前処理が適切である(該当する)予測確率とが対応付けられている。そこで、特定部42は、出力結果のうち予測確率が高い上記N個(Nは任意の数)の類似前処理として、類似前処理1、類似前処理2、類似前処理3を特定する。なお、これに限定されず、特定部42は、予測確率が閾値以上である類似前処理や、予測確率が閾値以上かつ上記N個の類似前処理を特定することもできる。
【0042】
また、特定部42は、特定した類似前処理の一覧を、ディスプレイ等の表示部に出力したり、管理者端末に送信したりすることもできる。なお、特定部42は、予測結果そのものをディスプレイ等の表示部に出力したり、管理者端末に送信したりすることもできる。
【0043】
<処理の流れ>
次に、上述した機械学習処理と特定処理のそれぞれについて説明する。なお、各処理内の処理順序は、矛盾のない範囲内で適宜順番を入れ替えることができる。
【0044】
(機械学習処理)
図7は、実施例1にかかる機械学習処理の流れを示すフローチャートである。図7に示すように、機械学習部30は、処理開始が指示されると(S101:Yes)、複数の機械学習用データセットと複数の前処理を取得する(S102)。例えば、機械学習部30は、複数のデータセットDからDと複数の前処理TからTの入力を受け付ける。
【0045】
続いて、機械学習部30は、複数のデータセットに各前処理を実行し、各メタ特徴量差分を算出する(S103)。例えば、機械学習部30は、複数のデータセットDからDのそれぞれに対して前処理TからTのそれぞれを実行する。そして、機械学習部30は、例えばデータセットDについて前処理Tを実行したときのメタ特徴量差分Mi,jを算出する。
【0046】
その後、機械学習部30は、与えられたデータセットに与えられた前処理を実行した結果を用いて、訓練データを生成する(S104)。例えば、機械学習部30は、すべての「i.j」についてメタ特徴量差分Mi,jを算出し、メタ特徴量差分Mi,jを特徴量(説明変数)、前処理Tを目的変数とする訓練データを生成する。
【0047】
そして、機械学習部30は、訓練データを用いて機械学習モデル14を生成する(S105)。その後、機械学習部30は、訓練された機械学習モデル14を記憶部12などに出力する(S106)。例えば、機械学習部30は、メタ特徴量差分Mi,jを特徴量(説明変数)、前処理Tを目的変数とする訓練データを用いて、多値分類器である機械学習モデル14の訓練を実行し、訓練後の多値分類器(機械学習モデル14)を出力する。
【0048】
(特定処理)
図8は、実施例1にかかる特定処理の流れを示すフローチャートである。図8に示すように、推論部40は、機械学習モデル14の生成が完了すると(S201:Yes)、与えられた推論対象データセットと前処理を取得する(S202)。例えば、機械学習部30は、データセットDと前処理Tの入力を受け付ける。
【0049】
続いて、推論部40は、推論対象データセットに前処理を実行し、メタ特徴量差分を算出する(S203)。例えば、推論部40は、データセットDについて前処理Tを実行したときのメタ特徴量差分Mを算出する。
【0050】
そして、推論部40は、入力データを生成し(S204)、入力データを機械学習モデル14に入力して出力結果を取得し(S205)、上位K個の前処理情報を出力する(S206)。例えば、推論部40は、メタ特徴量差分Mを入力データとして、機械学習モデル14に入力し、出力される確率が高い前処理(前処理情報)の上記K個である前処理tから前処理tを出力する。
【0051】
<効果>
上述したように、情報処理装置10は、複数のデータセットに対し複数の前処理を実行し、「データセットのメタ特徴量差分、前処理情報」の組を収集する。情報処理装置10は、データセットのメタ特徴量差分から前処理を予測するように多値分類器の機械学習を実行する。情報処理装置10は、新しいデータセットと前処理が与えられたとき、そのメタ特徴量差分を多値分類器に入力し、予測確率が高いものから順にK個の前処理情報を出力する。
【0052】
このように、情報処理装置10は、前処理によるデータセットの変化に着目することで、前処理のドキュメントがない場合でも、与えられた前処理と類似する前処理を精度よく特定することができ、与えられた前処理以外に探索対象とする別の類似する前処理を自動的に判断することができる。
【0053】
また、情報処理装置10は、推論対象であるデータセットに対して特定の前処理を実行する前のデータセットの特徴量と、データセットに対して特定の前処理を実行した後のデータセットの特徴量との差分である特徴量差分をメタ特徴量差分とする訓練データに用いる。この結果、情報処理装置10は、前処理の内容を直接考慮して類似前処理が選択でき、高精度に類似前処理の特定することができる。
【実施例0054】
ところで、実施例1では、前処理前後のメタ特徴量の差分を説明変数に用いる例を説明したが、これに限定されるものではない。前処理前後のメタ特徴量の変化量であれば、様々な特徴量を説明変数に用いることができる。そこで、実施例2では、メタ特徴量の変化量として、前処理前後の各メタ特徴量をさらに用いる例を説明する。すなわち、実施例2では、説明変数(特徴量)として、「前処理前のメタ特徴量、前処理後のメタ特徴量、前処理前後のメタ特徴量差分」を用いる例を説明する。
【0055】
図9は、実施例2にかかる類似前処理の特定を説明する図である。図9に示すように、情報処理装置10の機械学習部30は、データセット1からメタ特徴量1を生成する。続いて、機械学習部30は、データセット1に前処理aを実行し、前処理後のデータセット1のメタ特徴量1-1aを生成する。また、機械学習部30は、メタ特徴量差分1aとして「(メタ特徴量1)-(メタ特徴量1-1a)」を算出する。そして、事前処理部31は、「目的変数、説明変数」として「前処理a情報、(メタ特徴量1、メタ特徴量1-1a、メタ特徴量差分1a)」を生成する。
【0056】
また、機械学習部30は、データセット1に前処理bを実行し、前処理後のデータセット1のメタ特徴量1-1bを生成する。また、機械学習部30は、メタ特徴量差分1bとして「(メタ特徴量1)-(メタ特徴量1-1b)」を算出する。そして、事前処理部31は、「目的変数、説明変数」として「前処理b情報、(メタ特徴量1、メタ特徴量1-1b、メタ特徴量差分1b)」を生成する。
【0057】
同様に、機械学習部30は、データセット2からメタ特徴量2を生成する。続いて、機械学習部30は、データセット2に前処理aを実行し、前処理後のデータセット2のメタ特徴量2-2aを生成する。また、機械学習部30は、メタ特徴量差分2aとして「(メタ特徴量2)-(メタ特徴量2-2a)」を算出する。そして、事前処理部31は、「目的変数、説明変数」として「前処理a情報、(メタ特徴量2、メタ特徴量2-2a、メタ特徴量差分2a)」を生成する。
【0058】
また、機械学習部30は、データセット2に前処理bを実行し、前処理後のデータセット1のメタ特徴量2-2bを生成する。また、機械学習部30は、メタ特徴量差分2bとして「(メタ特徴量2)-(メタ特徴量2-2b)」を算出する。そして、事前処理部31は、「目的変数、説明変数」として「前処理b情報、(メタ特徴量2、メタ特徴量2-2b、メタ特徴量差分2b)」を生成する。
【0059】
このようにして、機械学習部30は、与えられたデータセットそれぞれについて、与えられた各前処理を実行したときのメタ特徴量の差分を算出する。そして、機械学習部30は、「前処理」と「前処理前のメタ特徴量、前処理後のメタ特徴量、メタ特徴量差分」とを対応付けることで、訓練データを生成する。
【0060】
そして、機械学習部30は、「前処理」と「前処理前のメタ特徴量、前処理後のメタ特徴量、メタ特徴量差分」とを対応付けた訓練データを用いて、機械学習モデル14の機械学習を実行する。
【0061】
機械学習の完了後、推論部40は、与えられた推論対象データセット15の「前処理前のメタ特徴量」を生成する。続いて、推論部40は、推論対象データセット15に前処理Tを実行し、前処理Tを実行した後の推論対象データセット15の「前処理後のメタ特徴量」を生成する。そして、推論部40は、「(前処理前のメタ特徴量)-(前処理後のメタ特徴量)」により「メタ特徴量差分」を算出する。
【0062】
そして、推論部40は、生成された「前処理前のメタ特徴量、前処理後のメタ特徴量、メタ特徴量差分」を機械学習モデル14に入力し、出力結果を取得する。そして、推論部40は、出力結果のうち予測確率が高い上記K個(Kは任意の数)の類似前処理として、類似前処理1、類似前処理2、類似前処理3を特定する。
【0063】
このように、実施例2にかかる情報処理装置10は、メタ特徴量差分に加えて「前処理前のメタ特徴量、前処理後のメタ特徴量」を説明変数として用いた機械学習により機械学習モデル14を生成することができる。この結果、情報処理装置10は、前処理の内容を反映した情報を加えることができるので、探索対象とする別の類似する前処理の選択制度を向上させることができる。
【実施例0064】
ところで、実施例2では、説明変数(特徴量)として、「前処理前のメタ特徴量、前処理後のメタ特徴量、前処理前後のメタ特徴量差分」を用いる例を説明したが、これに限定されるものではない。前処理前後のメタ特徴量は、任意に組み合わせることができる。そこで、実施例3では、メタ特徴量差分に代えて、前処理前後の各メタ特徴量を用いる例を説明する。すなわち、実施例3では、説明変数(特徴量)として、「前処理前のメタ特徴量、前処理後のメタ特徴量」を用いる例を説明する。
【0065】
図10は、実施例3にかかる類似前処理の特定を説明する図である。図10に示すように、情報処理装置10の機械学習部30は、データセット1からメタ特徴量1を生成する。続いて、機械学習部30は、データセット1に前処理aを実行し、前処理後のデータセット1のメタ特徴量1-1aを生成する。そして、事前処理部31は、「目的変数、説明変数」として「前処理a情報、(メタ特徴量1、メタ特徴量1-1a)」を生成する。
【0066】
また、機械学習部30は、データセット1に前処理bを実行し、前処理後のデータセット1のメタ特徴量1-1bを生成する。そして、事前処理部31は、「目的変数、説明変数」として「前処理b情報、(メタ特徴量1、メタ特徴量1-1b)」を生成する。
【0067】
同様に、機械学習部30は、データセット2からメタ特徴量2を生成する。続いて、機械学習部30は、データセット2に前処理aを実行し、前処理後のデータセット2のメタ特徴量2-2aを生成する。そして、事前処理部31は、「目的変数、説明変数」として「前処理a情報、(メタ特徴量2、メタ特徴量2-2a)」を生成する。
【0068】
また、機械学習部30は、データセット2に前処理bを実行し、前処理後のデータセット1のメタ特徴量2-2bを生成する。そして、事前処理部31は、「目的変数、説明変数」として「前処理b情報、(メタ特徴量2、メタ特徴量2-2b)」を生成する。
【0069】
このようにして、機械学習部30は、与えられたデータセットそれぞれについて、与えられた各前処理を実行したときのメタ特徴量の差分を算出する。そして、機械学習部30は、「前処理」と「前処理前のメタ特徴量、前処理後のメタ特徴量」とを対応付けることで、訓練データを生成する。
【0070】
そして、機械学習部30は、「前処理」と「前処理前のメタ特徴量、前処理後のメタ特徴量」とを対応付けた訓練データを用いて、機械学習モデル14の機械学習を実行する。
【0071】
機械学習の完了後、推論部40は、与えられた推論対象データセット15の「前処理前のメタ特徴量」を生成する。続いて、推論部40は、推論対象データセット15に前処理Tを実行し、前処理Tを実行した後の推論対象データセット15の「前処理後のメタ特徴量」を生成する。
【0072】
そして、推論部40は、生成された「前処理前のメタ特徴量、前処理後のメタ特徴量」を機械学習モデル14に入力し、出力結果を取得する。そして、推論部40は、出力結果のうち予測確率が高い上記K個(Kは任意の数)の類似前処理として、類似前処理1、類似前処理2、類似前処理3を特定する。
【0073】
このように、実施例2にかかる情報処理装置10は、メタ特徴量差分に代えて「前処理前のメタ特徴量、前処理後のメタ特徴量」を説明変数として用いた機械学習により機械学習モデル14を生成することができる。この結果、情報処理装置10は、前処理の内容を反映した情報を加えることができるので、探索対象とする別の類似する前処理の選択制度を向上させることができる。
【実施例0074】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【0075】
[数値等]
上記実施例で用いたデータセット例、数値例、データ例、カラム名、カラム数、データ数等は、あくまで一例であり、任意に変更することができる。また、各フローチャートで説明した処理の流れも矛盾のない範囲内で適宜変更することができる。なお、推論時に与えられた前処理は、特定の前処理の一例である。
【0076】
<システム>
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0077】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、機械学習部30と推論部40とを別々のコンピュータ(筐体)で実現することもできる。つまり、機械学習部30と同様の機能を実行する情報処理装置と、推論部40と同様の機能を実行する情報処理装置とで実現することもできる。
【0078】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0079】
<ハードウェア>
図11は、ハードウェア構成例を説明する図である。図11に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図11に示した各部は、バス等で相互に接続される。
【0080】
通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図3に示した機能を動作させるプログラムやDBを記憶する。
【0081】
プロセッサ10dは、図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図3等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、機械学習部30と推論部40等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、機械学習部30と推論部40等と同様の処理を実行するプロセスを実行する。
【0082】
このように、情報処理装置10は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
【0083】
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。
【符号の説明】
【0084】
10 情報処理装置
11 通信部
12 記憶部
13 機械学習用データセット
14 機械学習モデル
15 推論対象データセット
20 制御部
30 機械学習部
31 事前処理部
32 訓練部
40 推論部
41 生成部
42 特定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11