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

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

▶ ソフトバンクモバイル株式会社の特許一覧

特開2022-182155情報処理装置、情報処理方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022182155
(43)【公開日】2022-12-08
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221201BHJP
   G06F 16/28 20190101ALI20221201BHJP
【FI】
G06N20/00
G06F16/28
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2021089539
(22)【出願日】2021-05-27
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】劉 栩青
(72)【発明者】
【氏名】川西 庸平
(72)【発明者】
【氏名】ヴィナムラ アグラウェル
(72)【発明者】
【氏名】山下 滉生
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FB04
5B175KA12
(57)【要約】
【課題】データマート作成のための計算コストおよび作成されるデータマートの有用性を考慮したデータマートの自動生成技術を提供する。
【解決手段】情報処理装置(100)は、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理装置(100)であって、複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる目的変数の推定精度の指標を算出する算出部(144)と、推定精度の指標および処理コストの指標を参照して、複数のデータセットをどのように統合するかを示す設計情報を生成する生成部(146)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理装置であって、
前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出する算出部と、
前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成する生成部と、を備える情報処理装置。
【請求項2】
前記算出部は、各データセットに含まれる説明変数の数を参照して、前記処理コストの指標を算出する、請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、各データセットに含まれる説明変数と前記目的変数との相関を参照して、前記推定精度の指標を算出する、請求項1または2に記載の情報処理装置。
【請求項4】
前記生成部は、前記複数のデータセットから前記設計情報を参照して前記データマートを生成する、請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記複数のデータセットに含まれる少なくとも1つのデータセットは、他のデータセットとの参照関係を有しており、
前記算出部は、前記参照関係を有するデータセットについて、前記処理コストの指標および前記推定精度の指標を算出する、請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記生成部は、循環的な統合関係が構築されないように、前記参照関係を有するデータセット間に統合関係を設定する、請求項5に記載の情報処理装置。
【請求項7】
前記算出部は、前記参照関係に対応する評価値を、当該参照関係を有するデータセットに対応する前記処理コストの指標および前記推定精度の指標に応じて算出し、
前記生成部は、前記評価値の合計が所定の条件を満たすように、前記複数のデータセットにおける統合関係を決定する、請求項6に記載の情報処理装置。
【請求項8】
前記生成部は、経路探索アルゴリズムを用いて、前記複数のデータセットにおける統合関係を決定する、請求項7に記載の情報処理装置。
【請求項9】
前記算出部は、前記処理コストの指標および前記推定精度の指標の重み付けを変化させながら前記評価値を複数回算出し、
前記生成部は、前記複数回の各々において算出された前記評価値を用いて、前記複数のデータセットにおける統合関係を複数種類決定し、当該複数種類の統合関係の各々に対応する前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットにおける統合関係を選択する、請求項7または8に記載の情報処理装置。
【請求項10】
前記生成部は、前記複数種類の統合関係のうち、前記処理コストの指標が所定の範囲内のものから、少なくとも前記推定精度の指標に基づいて前記複数のデータセットにおける統合関係を選択する、請求項9に記載の情報処理装置。
【請求項11】
前記生成部は、前記複数種類の統合関係からパレート最適解を選択する、請求項9または10に記載の情報処理装置。
【請求項12】
前記生成部は、設定した前記統合関係から、末端の統合関係を削除した場合の、前記複数のデータセットにおける統合関係に対応する前記処理コストの指標および前記推定精度の指標を参照して、当該末端の統合関係を削除するか否かを決定する、請求項6~11のいずれか一項に記載の情報処理装置。
【請求項13】
前記生成部は、削除対象を変えながら、設定した前記統合関係から、末端の統合関係を削除した場合の、前記複数のデータセットにおける統合関係に対応する前記処理コストの指標および前記推定精度の指標を取得し、各削除対象を削除するか否かを判定する、請求項12に記載の情報処理装置。
【請求項14】
前記設計情報は、前記データセットをノードとし、前記データセット間の統合関係をエッジとする有向木を示す情報である、請求項1~13のいずれか一項に記載の情報処理装置。
【請求項15】
前記データセットは、関連付け情報によって互いに関連付けられた複数のデータセットを格納するデータベースのデータセットである、請求項1~14のいずれか一項に記載の情報処理装置。
【請求項16】
前記データセットは、リレーショナルデータベースのテーブルである、請求項1~15のいずれか一項に記載の情報処理装置。
【請求項17】
1以上のコンピュータが、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理方法であって、
前記1以上のコンピュータが、
前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出し、
前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成することを含む、情報処理方法。
【請求項18】
請求項1に記載の情報処理装置としてコンピュータを機能させるためのプログラムであって、前記算出部、および前記生成部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データマートを生成する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、AIの利活用が盛んに行われている。AIモデルは、一般に、課題業務理解、分析設計、データ探索、特徴量作成、特徴量エンジニアリング、モデル構築およびモデル解釈といった工程によって開発される(図2)。
【0003】
このうち特徴量作成とは、データ探索において収集されたデータセットから、学習モデルの入力に用いる特徴量を作成する工程である。この特徴量をデータマートと呼ぶこともある。特徴量作成において作成されたデータマートは、特徴量エンジニアリングにおいて学習モデルの入力のために適切な形式に加工され、モデル構築における学習モデルの学習に使用される。
【0004】
また、開発されたAIモデルの利用時には、開発時と同様にデータマートを作成および加工し、学習済みの学習モデルに入力することにより、学習モデルを用いた推定を行うことができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Kanter et al., Deep Feature Synthesis Towards Automating Data Science Endeavors, 2015
【非特許文献2】Lam et al., One button machine for automating feature engineering in relational databases, 2017
【非特許文献3】Katz et al., ExploreKit Automatic Feature Generation and Selection, 2016
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、データ探索や特徴量エンジニアリング~モデルデプロイといった工程については、市販の自動化ツールが存在するものの、特徴量作成については、現時点において市販の自動化ツールは存在しない。
【0007】
非特許文献1~3には、特徴量作成の自動化技術の提案が記載されているが、データマート作成のための計算コストおよび作成されるデータマートの有用性を考慮したものではない。
【課題を解決するための手段】
【0008】
本発明の一態様に係る情報処理装置は、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理装置であって、前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出する算出部と、前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成する生成部と、を備える。
【0009】
本発明の一態様に係る情報処理方法は、1以上のコンピュータが、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理方法であって、前記1以上のコンピュータが、前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出し、前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成することを含む。
【0010】
本発明の各態様に係る情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記情報処理装置が備える各部(ソフトウェア要素)として動作させることにより前記情報処理装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0011】
ある。
【図面の簡単な説明】
【0012】
図1】本発明の実施形態1に係る情報処理装置の構成の一例を示す図である。
図2】AIモデルの開発プロセスの一例の概要を示す図である。
図3】本発明の実施形態1に係る情報処理装置の使用態様の一例を説明する図である。
図4】本発明の実施形態1に係る情報処理装置の動作の一例を説明するフロー図である。
図5】本発明の実施形態1に係る情報処理装置の動作の一例を説明する図である。
図6】本発明の実施形態1に係る情報処理装置における準備処理の一例を説明するフロー図である。
図7】本発明の実施形態1に係る情報処理装置において用いる表の一例を示す図である。
図8】本発明の実施形態1に係る情報処理装置において用いる表の一例を示す図である。
図9】本発明の実施形態1に係る情報処理装置において用いるリストの一例を示す図である。
図10】本発明の実施形態1に係る情報処理装置における算出処理の一例を説明するフロー図である。
図11】本発明の実施形態1に係る情報処理装置において用いるパラメータの一例を示す図である。
図12】本発明の実施形態1に係る情報処理装置において用いるリストの一例を示す図である。
図13】本発明の実施形態1に係る情報処理装置における設計情報生成処理の一例を説明するフロー図である。
図14】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図15】本発明の実施形態1に係る情報処理装置において用いる有向木の作成の流れの一例を示す図である。
図16】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図17】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図18】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図19】本発明の実施形態1に係る情報処理装置において用いるパレート最適化処理の一例を説明する表である。
図20】本発明の実施形態1に係る情報処理装置において用いるパレート最適化処理の一例を説明する図である。
図21】本発明の実施形態1に係る情報処理装置において用いるグラフの各指標の一例を示す図である。
図22】本発明の実施形態1に係る情報処理装置において用いるパレート最適化処理の一例を説明する図である。
図23】本発明の実施形態1に係る情報処理装置において用いる有向木の一例を示す図である。
図24】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図25】本発明の実施形態1に係る情報処理装置において用いるグラフの一例を示す図である。
図26】本発明の実施形態1に係る情報処理装置において用いるパレート最適化処理の一例を説明する図である。
図27】本発明の実施形態1に係る情報処理装置において用いる表の一例を示す図である。
図28】本発明の実施形態1に係る情報処理装置におけるデータマート生成処理の一例を説明するフロー図である。
図29】実施形態に係る情報処理装置として利用可能なコンピュータの構成を例示したブロック図である。
【発明を実施するための形態】
【0013】
〔実施形態1〕
<構成例>
以下では、本実施形態の構成例について図面を参照して説明する。図3は本実施形態に係る情報処理装置100の使用態様の一例を示す図である。
【0014】
情報処理装置100は、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する機能を有してよい。
【0015】
(データセット)
データセットは、1以上の説明変数を含むデータの集合であってよい。一例として、データセットは、データテーブルであり、データテーブルの1以上の列(カラム)が説明変数に対応してもよい。他の例として、データセットはリストなどであってもよい。
【0016】
また、一例として、少なくとも1つのデータセットは、他のデータセットとの参照関係を有していてもよい。例えば、データセットは、データを複数組含んでおり、各組のデータには、各組を一意に示すID(主キー)が関連付けられていてもよい。そして、あるデータセットに、他のデータセットの主キーを示すID(外部キー)が含まれている場合、当該あるデータセットは、当該他のデータセットを参照しているといってよい。一例として、データセットがデータテーブルである場合、主キーは、データテーブルの各行(レコード)を一意に示すIDであってよい。
【0017】
一例として、データセットは、データベースに格納されたデータセットであってよい。データベースとしては、関連付け情報によって互いに関連付けられた複数のデータセットを格納するデータベースであってよく、リレーショナルデータベース、グラフデータベース等であってよい。以下では、一例として、データセットがリレーショナルデータベースのテーブルである場合について説明するが、これに限定されない。
【0018】
一例において、情報処理装置100は、データベース200と接続しており、データベース200から複数のデータセットを取得可能なように構成されていてもよい。但し、情報処理装置100が複数のデータセットを取得する方法は限定されず、データベース200以外から複数のデータセットを取得する構成であってもよい。
【0019】
(データマート)
データマートは、複数のデータセットが統合されたデータセットであって、目的変数を推定する学習モデルの入力のために用いられるデータセットである。データマートは、特徴量とも呼ばれる。
【0020】
データセットの統合とは、あるデータセットに含まれる説明変数を、他のデータセットに追加することを意味する。一例において、あるデータセットが、他のデータセットを参照しており、当該他のデータセットを当該あるデータセットに統合する場合、当該あるデータセットにおける外部キーと、当該他のデータセットにおける主キーとの対応関係に基づいて、当該他のデータセットに含まれるデータを、当該あるデータセットに挿入してもよい。
【0021】
学習モデルの入力としては、学習モデルの学習のための入力(教師データの入力)であってもよいし、学習モデルによる推定(予測、分類)のための入力であってもよい。
【0022】
また、一例において、情報処理装置100は、生成したデータマートを自動モデリング装置300に出力する。これにより、自動モデリング装置300は、データマートを入力として用い、学習モデルの学習または学習モデルによる推定を行うことができる。
【0023】
(情報処理装置)
図1は、本実施形態に係る情報処理装置100の構成の一例を示す図である。情報処理装置100は、通信部110、メモリ120、記憶部130および主制御部140を備えてよい。
【0024】
通信部110は、外部の装置との通信を行ってよい。通信部110は、例えば、ネットワークを介してまたは介さずに、データベース200および自動モデリング装置300との間で情報を送受信してよい。
【0025】
メモリ120には、主制御部140が実行する各種のプログラムおよびそれらのプログラムによって参照される各種のデータが一時的に格納されてよい。
【0026】
記憶部130には、主制御部140によって、読み出し、書き込み、参照などされる各種の情報が格納されてよい。
【0027】
主制御部140は、準備部142、算出部144および生成部146を備えてよい。
【0028】
準備部142は、データの準備および前処理を行う準備処理を行ってよい。
【0029】
算出部144は、複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる目的変数の推定精度の指標を算出する算出処理を行ってよい。
【0030】
生成部146は、処理コストの指標および推定精度の指標を参照して、複数のデータセットをどのように統合するかを示す設計情報を生成する設計情報生成処理、および、複数のデータセットから設計情報を参照してデータマートを生成するデータマート生成処理を行ってよい。
【0031】
<動作>
続いて、情報処理装置100による、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する処理の具体的動作の一例について、図4に示すフロー図および図5に示す図を参照しつつ説明する。以下に示す例では、データセットが、リレーショナルデータベースのテーブルである構成について説明するが、本実施形態はこれに限定されず、データセットはリストなどであってもよい。
【0032】
一例において、情報処理装置100は、ステップS1~S4を実行してよい。
【0033】
まず、ステップS1において、準備部142が準備処理を行ってよい。準備処理では、準備部142が、データの準備、メタ情報計算、テーブル(データセット)間の参照関係に基づくグラフの作成、当該グラフにおける冗長なノード(テーブル、データセット)の削除等を行ってよい。このとき、準備部142は、参照関係を有するテーブル(データセット)間にエッジを有するグラフを作成してよい。
【0034】
図5のS1に、準備処理において作成されるグラフの一例として、テーブルT1~T5をノードとするグラフを示す。図5のS1の例では、テーブルT1とT2の間、T2とT3との間、T2とT4との間、T3とT5との間、T4とT5との間にそれぞれエッジが存在する(テーブル間に関連性がある)。
【0035】
続いて、ステップS2において、算出部244が算出処理を行ってよい。算出処理では、算出部244が、各テーブル(データセット)および各エッジの処理コストの指標および推定精度の指標の計算を行ってよい。算出部244は、各エッジについて、単一の処理コストの指標および推定精度の指標を算出してもよいし、当該エッジについて双方向に処理コストの指標および推定精度の指標をそれぞれ算出してもよい。特に、グラフにおいてサイクルとなっている箇所について、算出部244は、双方向に指標を計算してよい。また、算出部244は、算出した各エッジの処理コストの指標および推定精度の指標を、各エッジの重みとして付与してよい。
【0036】
なお、上述したように、参照関係を有するテーブル(データセット)間にエッジが存在するため、算出部244は、参照関係を有するデータセットについて、処理コストの指標および前記推定精度の指標を算出するとも言える。
【0037】
図5のS2に、算出処理において算出される指標の一例として、テーブルTとTとを結ぶエッジの処理コストの指標Cxyおよび推定精度の指標Ixyがそれぞれ算出されたグラフを示す。なお、算出部244は、処理コストの指標Cxyおよび推定精度の指標Ixyを、1つのエッジに対して1つずつ算出してもよいし、1つのエッジに対して、双方向の値をそれぞれ算出してもよい。
【0038】
続いて、ステップS3において、生成部146が設計情報生成処理を行ってよい。設計情報生成処理では、生成部146が、算出処理において算出した各エッジの処理コストの指標および推定精度の指標に基づいて、各候補パスの処理コストの指標および推定精度の指標を計算する。そして、生成部146は、各候補パスの処理コストの指標および推定精度の指標を比較して、最適パスを特定し、最適パスに対応する設計情報を生成してよい。
【0039】
図5のS3に、設計情報生成処理算出処理において特定される最適パスおよび対応する設計情報の一例を示す。なお、最適パスおよびその候補パスは、各テーブル間をループなしに結合するパスである。また、設計情報は、どのテーブルをどのテーブルに統合するかを示すものである。図5のS3の例では、テーブルT5をT3に、T3およびT4をT2に、T2をT1に統合することが示されている。
【0040】
続いて、ステップS4において、生成部146がデータマート生成処理を行ってよい。データマート生成処理において、生成部146は、最適パスに沿った特徴量(データマート)を作成し、処理時間を計測する。図5のS4に、最適パスに従って各テーブルを統合したテーブルであるデータマートDMを示す。自動モデリング装置300は、生成部146が作成したデータマートに基づいて推定モデルを作成し、その精度を測定してもよい。
【0041】
以下、各処理について詳細に説明する。
【0042】
(準備処理)
図6は、準備処理を詳細に説明するフロー図である。一例において、準備部142は、準備処理において、ステップS11~S19を行ってよい。
【0043】
ステップS11において、準備部142は、データベース200への接続を行ってよい。ステップS12において、準備部142は、データベース200から、複数のテーブル(複数のデータセット)のスキーマ名称、テーブル名称、主キー、外部キー等のメタ情報を取得してよい。なお、準備部142がメタ情報を取得する対象のテーブルを、以下の説明では対象テーブルと称する場合がある。
【0044】
ステップS13において、準備部142は、対象テーブルのメタ情報を集約した表Aを作成してよい。このとき、準備部142は、各対象テーブルの外部キーを参照して、他の対象テーブルを参照してもおらず、他の対象テーブルから参照されてもいない、他の対象テーブルから独立している対象テーブルは、表Aに含めないように、表Aを作成してよい。
【0045】
ステップS14において、準備部142は、表A中の各対象テーブルにIDを振り分けてよい。表Aの一例を、図7に示す。
【0046】
ステップS15において、準備部142は、各対象テーブルの紐付けキー(主キー、外部キーのいずれであってもよい)同士を突合し、対象テーブル間の参照関係の有無を判定してよい。ステップS16において、準備部142は、対象テーブルの主キー間の参照関係が、一対一の参照関係(「o-o」と表記)であるか、一対多の参照関係(「o-m」と表記)であるか、多対一の参照関係(「m-o」と表記)であるか、多対多の参照関係(「m-m」と表記)であるか、参照関係の種類を判定してよい。
【0047】
ステップS17において、準備部142は、ステップS15およびS16の結果を集約した表Bを作成してよい。表Bの一例を、図8に示す。図8に示す表Bでは、列名称「統合先テーブルID」が示す対象テーブルの主キーを、列名称「統合されるテーブルID」が示す対象テーブルの主キーが、列名称「参照関係の種類」が示す関係で参照していることを示している。この表Bは、各テーブル(データセット)をノードとしたグラフを示すとも言える。すなわち、二つのテーブル間の参照関係が存在することは、当該二つのテーブルに対応するノード間にエッジが存在することを示している。
【0048】
ステップS18において、準備部142は、表Bから、テーブル間の組み合わせの重複を削除してよい。例えば、図8に示す例において、表Bには、紐付けキー「OrderID」および「SalesOrderID」に基づくテーブル0とテーブル1との参照関係が含まれているが、さらに、紐付けキー「VenderID」に基づくテーブル0とテーブル1との参照関係が含まれていた場合、テーブル0とテーブル1との参照関係が重複するため、準備部142が、一方の参照関係を削除してもよい。これにより、表Bが示すグラフから、冗長なノードを削除することができる。
【0049】
ステップS19において、準備部142は、参照関係を有する対象テーブルの組み合わせを示すリストAを作成し、表Aおよび表Bとともに、記憶部130に記憶してよい。リストAの一例を、図9に示す。図9に示すリストAでは、参照関係を有する対象テーブルのIDの組み合わせがタプルのリストとして表現されている。このリストAは、各テーブル(データセット)をノードとしたグラフの各エッジを示すリストと言うこともできる。
【0050】
以上により、準備部142は、テーブル(データセット)間の参照関係に基づく、各テーブル(データセット)をノードとしたグラフを作成することができる。
【0051】
(算出処理)
図10は、算出処理を詳細に説明するフロー図である。一例において、算出部244は、算出処理において、ステップS21~S27を行ってよい。
【0052】
ステップS21において、算出部144は、算出処理および生成処理において用いるパラメータを取得する。算出部144は、記憶部130に記憶されている当該パラメータを取得してもよいし、図示しない入力部を介して当該パラメータの入力を受け付けてもよいし、通信部110を介して外部の装置から当該パラメータを取得してもよい。
【0053】
図11は、算出処理および生成処理において用いるパラメータの一例を示す図である。算出処理および生成処理において用いるパラメータは、一例として、「基本テーブル(基本データセット)」、「目的変数」、「認証情報」、「処理コスト上限」、「重み付け変化刻み回数」、「剪定の対象深さ」といったパラメータを含んでよい。
【0054】
パラメータ「基本テーブル(基本データセット)」は、目的変数が含まれるテーブル(データセット)である基本テーブル(基本データセット)を指定するパラメータである。一例として、基本テーブルパラメータは、目的変数が含まれるテーブルの名称を示す文字列であってよい。
【0055】
パラメータ「目的変数」は、基本テーブル(基本データセット)における目的変数を指定するパラメータである。一例として、パラメータ「目的変数」は、基本テーブルにおける目的変数に対応する列の名称(カラム名称)を示す文字列であってよい。
【0056】
パラメータ「認証情報」は、データベース200に接続するための認証情報である。
【0057】
パラメータ「処理コスト上限」、「重み付け変化刻み回数」、「剪定の対象深さ」については後述する。
【0058】
ステップS22において、算出部144は、記憶部130から表Aおよび表Bを取得してよい。ステップS23において、算出部144は、データベース200から対象テーブル(複数のデータセット)を取得し、データのエンコード、欠損補完等を行ってよい。
【0059】
例えば、算出部144は、対象テーブルに含まれるデータの形式を、機械学習に用いる特徴量に適した形式にエンコードしてもよい。また、算出部144は、対象テーブルにデータの欠損がある場合に、デフォルト値等を用いて当該データの補完を行ってもよい。また、算出部144は、タイムスタンプ型のデータが含まれる列について、曜日番号、週番号、平日または週末を示すフラグ等に変換してもよいし、特定の日時との時間差分をとる処理を行ってもよい。また、算出部144は、全てが欠損している列や、列内全てが同一値の列、主キー、外部キー以外の管理上のIDや番号の列など、特徴量として明らかに使用することができない列を除外してもよい。また、算出部144は、対象テーブルにフリーテキスト情報が含まれている場合に、自然言語処理技術を用いて当該フリーテキスト情報をベクトル変換してもよい。
【0060】
ステップS24~S25において、算出部144は、準備部142が作成したグラフにおけるエッジ毎に(換言すれば、複数の対象テーブル(複数のデータセット)から選択される2つのテーブル(データセット)毎に)、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出してよい。
【0061】
ステップS24において、算出部144は、ステップS21において取得したパラメータを参照して目的変数を取得し、表Aに含まれる基本テーブル(基本データセット)以外のテーブル(データセット)の各々に対し、目的変数を結合してよい。なお、このとき、算出部144は、対象テーブルと基本テーブルとの参照関係の種類に応じ、必要に応じて対象テーブルの粒度に合うように集計処理を行ってもよい。例えば、対象テーブルに基本テーブルの目的変数の列を結合するとき、対象テーブルと基本テーブルの参照関係の種類が1対多の場合には、算出部144は、目的変数について、対象テーブルとの結合に用いられる外部キーに対して集計処理を行ってから対象テーブルに結合してもよい。
【0062】
そして、算出部144は、目的変数を結合したテーブル(データセット)を用いて、準備部142が作成したグラフにおけるエッジ毎に処理コストの指標および推定精度の指標を計算してよい。なお、指標を計算する対象となる各エッジの方向としては、基本テーブル(基本データセット)をルートとして、当該基本テーブル(基本データセット)に向かう方向のエッジについて、処理コストの指標および推定精度の指標を計算してよく、グラフにおいてループ(サイクル)となっている箇所については、双方向に指標を計算してよい。
【0063】
(処理コストの指標)
各エッジにおける処理コストの指標とは、当該エッジを挟む2つのテーブル(データセット)を統合するための特徴量処理の計算コストの指標である。特徴量処理は、具体的には以下の処理を含んでよい。
・テーブル(データセット)の各列に対して施す前処理(文字列を数字に変換する、タイムスタンプを曜日番号、週番号、時間差などに変換する、など)
・テーブル(データセット)同士で、結合し統合する際の集計処理(キーを介した結合処理、あるキーに対する平均、合計、分散等の集計処理、など)
これらの処理に要する処理時間を示す値(例えば、アルゴリズム計算量における時間量(time complexity))が、処理コストの指標となる。一例として、算出部244は、各テーブル(データセット)のメタ情報を用いて、処理コストの指標を算出することができる。
【0064】
テーブル(データセット)の処理コストの指標は、当該テーブル(データセット)のデータそのものに依存し得る。
【0065】
一例として、処理コストの指標としては、各エッジを挟む2つのテーブル(データセット)に含まれる説明変数の数に基づく指標を用いることができる。算出部144は、2つのテーブル(データセット)の各々に含まれる説明変数の数を参照して、処理コストの指標を算出してよい。一例として、処理コストは、データの量と複雑性および処理の量と複雑性に依存し得る。算出部144は、各テーブルの行数、水準数を参照して、処理コストの指標を算出してよい。その他、Tanaka et al., Measurement-based Cost Estimation Method of a Join Operation for an In-Memory Database, 2017に記載の手法等を用いて処理コストの指標を算出してもよい。
【0066】
なお、処理コストの指標の計算の際、統合されるテーブルと統合するテーブル間の全行数における結合率が結合の方向によって変化するため、処理コストの指標は結合の方向によって変化し得る。
【0067】
なお、本実施形態では、算出部144は、特徴量処理の計算コストが大きいほど、処理コストの指標が大きくなるように計算する場合について説明している。但し、算出部144は、特徴量処理の計算コストが大きいほど、処理コストの指標が小さくなるように計算してもよい。
【0068】
(推定精度の指標)
推定精度の指標とは、各エッジを挟む2つのデータセットが統合されたデータセットにより目的変数を推定した場合に予測される目的変数の推定精度の指標である。他の観点から言えば、推定精度の指標は、推定に用いられる特徴量が含まれるテーブル(データセット)またはテーブル(データセット)間の関係の情報の有用性を定量化した定量指標である。算出部244は、各テーブル(データセット)やテーブル(データセット)間のメタ情報を用いて、推定精度の指標を算出することができる。
【0069】
まず、算出部244は、各エッジを挟む2つのテーブル(データセット)が統合されたテーブル(データセット)を作成してよい。一例として、算出部244は、上述したように目的変数が結合された一方のテーブル(当該テーブルが基本テーブルの場合には基本テーブルそのもの)に対し、他方のテーブルを統合することにより、統合されたテーブルを作成することができる。
【0070】
ここで、一例として、推定精度の指標としては、統合されたテーブル(データセット)に含まれる説明変数と目的変数との相関に基づく指標を用いることができる。算出部144は、統合されたテーブル(データセット)に含まれる説明変数と目的変数との相関を参照して、推定精度の指標を算出してよい。一例として、算出部144による推定精度の指標の算出方法は、推定タスクの種類および特長量のデータ型に依存し得る。
【0071】
例えば、目的変数の推定が分類を目的とする場合は、算出部144は、一例として、以下のように推定精度の指標を算出してもよい。まず、目的変数が数値変数であるときには、算出部144は、統合されたテーブル(データセット)に含まれる各説明変数について、当該説明変数と目的変数のAUC-0.5の値の絶対値を算出し、その合計、平均、最大値、中央値などの代表値を当該テーブル(データセット)の推定精度の指標として算出してもよい。また、目的変数がカテゴリカル変数であるときには、算出部144は、各テーブル(データセット)に含まれる各説明変数について、当該説明変数と目的変数のlogオッズ比の最大値/logオッズ比の最小値を算出し、その合計、平均、最大値、中央値などの代表値を当該テーブル(データセット)の推定精度の指標として算出してもよい。
【0072】
また例えば、目的変数の推定が回帰を目的とする場合は、算出部144は、一例として、以下のように推定精度の指標を算出してもよい。まず、目的変数が数値変数であるときには、算出部144は、統合されたテーブル(データセット)に含まれる各説明変数について、当該説明変数と目的変数のスピアマン相関係数を算出し、その合計、平均、最大値、中央値などの代表値を当該テーブル(データセット)の推定精度の指標として算出してもよい。また、目的変数がカテゴリカル変数であるときには、算出部144は、各テーブル(データセット)に含まれる各説明変数について、1-(単一変数決定木の予測と目的変数の平均絶対誤差(Mean Absolute Error:MAE))/(目的変数の中央値と目的変数の平均絶対誤差)を算出し、その合計、平均、最大値、中央値などの代表値を当該テーブル(データセット)の推定精度の指標として算出してもよい。
【0073】
その他、Bommert et al.,Benchmark for filter methods for feature selection in high-dimensional classification data, 2020に記載の手法等を用いて推定精度の指標を算出してもよい。
【0074】
但し、以上の指標はあくまでも一例であり、各エッジを挟む2つのテーブル(データセット)が統合されたテーブル(データセット)を用いて目的変数を推定した場合に予測される目的変数の推定精度を示すものであれば、種々の指標を用いることができる。
【0075】
なお、推定精度の指標の計算の際、結合の方向によって目的変数が結合されるテーブルが変わるため、推定精度の指標は結合の方向によって変化し得る。
【0076】
また、本実施形態では、算出部144は、目的変数の推定精度が高いほど、推定精度の指標が大きくなるように計算する場合について説明している。但し、算出部144は、目的変数の推定精度が高いほど、推定精度の指標が小さくなるように計算してもよい。
【0077】
ステップS25において、算出部244は算出した各指標を標準化してよい。一例として、算出部244は、各エッジについて算出した各指標を、指標を算出した全エッジの平均および標準偏差を用いてZスコアに変換してよい。
【0078】
ステップS26において、算出部244は、計算した各エッジの処理コストの指標および推定精度の指標を、リストAに含まれる各エッジに追加してリストBを作成してよい。一例として、算出部244は、各エッジの処理コストの指標および推定精度の指標を、新たな辞書としてエッジ毎に追加してよい。リストBにおける処理コストの指標および推定精度の指標は、各テーブル(データセット)をノードとしたグラフの各エッジの重み付けと言うこともできる。リストBの一例を、図12に示す。
【0079】
そして、ステップS27において、算出部244は、リストBを記憶部130に記憶してよい。以上により、算出部244は、テーブル(データセット)間の参照関係に基づく、各テーブル(データセット)をノードとしたグラフにおいて、各エッジに、処理コストの指標および推定精度の指標を各エッジの重みとして付与することができる。
【0080】
(設計情報生成処理)
図13は、設計情報生成処理を詳細に説明するフロー図である。一例において、生成部146は、設計情報生成処理において、ステップS31~S40を行ってよい。
【0081】
ステップS31において、生成部146は、記憶部130からリストBを取得してよい。続いて、ステップS32において、生成部146は、リストBを参照して、重み付き有向グラフGDを作成してよい。
【0082】
(重み付き有向グラフ)
一例として、重み付き有向グラフGDは、図14に示すような構造を有してよい。すなわち、重み付き有向グラフGDは、テーブル(データセット)に対応するノード(V)と、テーブル(データセット)間の参照関係に対応するエッジ(E)とによって構成されてよい。
【0083】
エッジの向きは、データマート作成時におけるテーブル(データセット)間の結合方向を示しており、ルートに向かうパスを示している。換言すれば、統合されるテーブルから統合先のテーブルへと向かうパスを示している。また、エッジの向きは、参照関係に対応しており、被参照テーブル(データセット)から、当該被参照テーブルを参照するテーブルに向かっていてよい。重み付き有向グラフGDのルートは、目的変数を含む基本テーブル(基本データセット)に対応してよい。
【0084】
また、各エッジには、算出処理において算出された当該エッジの処理コストの指標および推定精度の指標が重み付けられてよい。
【0085】
ここで、生成部146は、対象テーブル(複数のデータセット)をどのように統合するかを示す設計情報として、テーブル(データセット)をノードとし、テーブル(データセット)間の統合関係をエッジとする有向木を示す情報を用いてよい。重み付き有向グラフGDに循環的な統合関係(サイクル)が含まれていると、データマート作成時に重み付き有向グラフGDに従って各テーブル(データセット)を統合することができないため、生成部146は、以下に説明するように、重み付き有向グラフGDにおける循環的な統合関係を解消し、重み付き有向グラフGDを有向木(ツリー)とすることで、設計情報を生成することができる。
【0086】
すなわち、生成部146は、ステップS33~S38において、処理コストの指標および推定精度の指標を参照して、重み付き有向グラフGDにおける循環的な統合関係を解消することにより、循環的な統合関係が構築されないように、設計情報において、参照関係を有するテーブル(データセット)間に統合関係を設定してよい。
【0087】
まず、ステップS33において、生成部146は、ハイパーパラメータaを0に設定してよい。
【0088】
続いて、ステップS34において、生成部146は、テーブル(データセット)間の参照関係に対応するエッジの評価値を、当該エッジの処理コストの指標および推定精度の指標(参照関係を有するデータセットに対応する処理コストの指標および推定精度の指標)に応じて算出してよい。一例として、生成部146は、以下の式(1)を用いて、エッジEijのエッジ重み(評価値)を算出してよい。なお、式(1)に示すように、エッジ重み(評価値)は、推定精度の指標が大きいほど小さく、処理コストの指標が小さいほど小さくなっており、ハイパーパラメータaによって、推定精度の指標と処理コストの指標とに重み付けがなされて加算されたものである。
【0089】
【数1】
【0090】
但し、T:対象テーブルの集合(複数のデータセット)、
i,j∈T、
a:ハイパーパラメータ、
ij:テーブル(データセット)iとjとの参照関係、
Ivij:Eijにおける推定精度の指標、
Cvij:Eijにおける処理コストの指標、
Const.>>1、
とする。
【0091】
続いて、ステップS35において、生成部146は、下記式(2)に示すエッジ重みの合計(評価値の合計)wが所定の条件を満たす経路を決定し、当該経路に応じて有向木を生成してもよい。所定の条件としては、例えば、最小値とすることができる。一例として、生成部146は、経路探索アルゴリズム、例えば、ダイクストラ法を用いて、下記式(2)に示すエッジ重みの合計(評価値の合計)wが最小値となるような、ルートから各ノードまでの最短経路和集合を取得してよい。生成部146は、最短経路和集合に応じて有向木を生成することにより、循環的な統合関係が構築されないように、参照関係を有するテーブル(データセット)間に統合関係を設定した有向木を生成することができる。生成部146は、生成した有向木をリストCに格納してよい。
【0092】
【数2】
【0093】
但し、T:対象テーブルの集合(複数のデータセット)、
i,j∈T、
N:∈Tにおけるテーブル(データセット)数、
a:ハイパーパラメータ、
ij:テーブル(データセット)iとjとの参照関係、
Ivij:Eijにおける推定精度の指標、
Cvij:Eijにおける処理コストの指標、
Const.>>1、
とする。
【0094】
図15は、ステップS35における、有向木の作成の流れの一例を示す図である。生成部146は、重み付き有向グラフGD(1)に対し、グラフを二つの向きを持つグラフとして捉え、それぞれの向きにエッジ重みを付与してよい(2)。そして、生成部146は、ルートから、ルート以外のノードまでの重みの最短経路をダイクストラ法等の経路探索アルゴリズムにより算出し、当該最短経路を、生成する有向木の枝としてよい(3)。なお、太線は、重みの最短経路を示す。そして、生成部146が、ルートから各ノードまでの最短経路の和集合を取ることにより、サイクルが解消された有向木を生成することができる(4)。
【0095】
そして、ステップS36において、生成部146は、ハイパーパラメータaをΔa増加させてよい。生成部146は、Δaを、パラメータ「重み付け変化刻み回数」に基づいて決定してよい。続いて、ステップS37において、生成部146は、ハイパーパラメータaが1を超えているか否かを判定し、ハイパーパラメータaが1を超えていれば(ステップS37におけるYES)、ステップS38に進み、ハイパーパラメータaが1を超えていなければ(ステップS37におけるNO)、ステップS34~S36を再度繰り返す。これにより、生成部146は、処理コストの指標および推定精度の指標の重み付けを変化させながらエッジ重み(評価値)を複数回算出し、複数回の各々において算出されたエッジ重み(評価値)を用いて、対象テーブル(複数のデータセット)における統合関係を示す有向木を複数種類決定し、リストCに追加することができる。
【0096】
ステップS38において、生成部146は、リストCに追加されている複数種類の有向木の各々に対応する処理コストの指標および推定精度の指標を参照して、設計情報を生成するために用いる有向木を選択してよい。生成部146が、処理コストの指標および推定精度の指標の両方を参照して有向木を選択する方法は特に限定されず、例えば、処理コストの指標および推定精度の指標がともに所定の閾値を越えるような有向木を選択してもよいが、以下に説明するパレート最適化処理を行って、有向木を選択してもよい。
【0097】
パレート最適化処理について、例を挙げて説明する。図16に、重み付き有向グラフGDの一例を示す。A~Pはノードを示す。点線で囲まれた部分にサイクルが生じており、生成部146は、ステップS37~S37を繰り返すことによって、例えば、図17に示すような、ノードB-C間のエッジを切断した有向木と、図18に示すような、ノードC-D間のエッジを切断した有向木とを生成したものとする。図19に、それぞれの有向木における推定精度の指標の合計と、処理コストの指標の合計とを示す表を示す。
【0098】
図20は、各有向木の推定精度の指標の合計と、処理コストの指標の合計とをプロットしたグラフである。生成部146は、このようなプロットに対し、推定精度の指標の合計が大きい側かつ処理コストの指標の合計が小さい側からフィッティングする曲線を算出してよい。当該フィッティング曲線上に存在するプロットはパレート最適解となるため、生成部146は、当該フィッティング曲線上に存在し、かつ、パラメータ「処理コストの上限」以下であるプロットに対応する有向木を、設計情報を生成するために選択することができる。
【0099】
また、生成部146は、パレート最適解に限らず、処理コストの指標が所定の範囲内(例えば、閾値以下)のものから、少なくとも推定精度の指標に基づいて複数のデータセットにおける統合関係を選択してよい。一例として、生成部146は、パラメータ「処理コストの上限」以下であるプロットのうち、推定精度の指標が最大となるプロットに対応する有向木を、設計情報を生成するために選択してもよい。これにより、生成部146は、処理コストの指標および推定精度の指標の両方が好ましい値となる有向木を、設計情報を生成するために選択することができる。
【0100】
(実データの結果例)
図21~23は、実際に所定の対象テーブル(データセット)を用いて、一連の処理を行った場合の結果の例を示す図である。ステップS32において生成部146が生成した、推定精度の指標および処理コストの指標が重み付けされた重み付き有向グラフGDの例を図21に示す。このような重み付き有向グラフGDに対して、生成部146が、ステップS33~S37の処理を行い、生成した複数の有向木の推定精度の指標の合計および処理コストの指標の合計をプロットしたものの例を図22に示す。図22において、折れ線で示したのがパレート最適解である。さらにステップS38を行い、生成部146が選択した有向木の例を図23に示す。図21~23に示す例では、生成部146は、パレート最適解に対応する有向木を選択することができた。
【0101】
続いて、ステップS39において、生成部146は、ステップS38において選択した有向木について末端の剪定の要否を判定してもよい。すなわち、生成部146は、削除しても推定精度の指標の合計があまり変わらず、処理コストの指標の合計が減少するような統合関係を削除してよい。一例において、生成部146は、有向木から、末端の統合関係を削除した場合の処理コストの指標の合計および推定精度の指標の合計を算出し、当該処理コストの指標および推定精度の指標を参照して、当該末端の統合関係を削除するか否かを決定してよい。
【0102】
生成部146がステップS38において選択した有向木の一例を、図24に示す。ステップS39では、生成部146は、図25に示すような末端の統合関係を削除した場合について、処理コストの指標の合計および推定精度の指標の合計を算出し、剪定の要否を判定する。
【0103】
一例として、生成部146は、削除対象を変えながら、ステップS38において選択した有向木から、末端の統合関係を削除した場合の処理コストの指標の合計および推定精度の指標の合計を取得し、各削除対象を削除するか否かを判定してもよい。生成部146は、削除対象として、有向木の末端から1つめの統合関係をそれぞれ選択してもよいし、有向木の根から、パラメータ「剪定の対象深さ」が示す数のノードを経由する統合関係をそれぞれ選択してもよい。すなわち、剪定の対象深さとは、基本テーブル(またはテーブルから構成された木の根)から、剪定対象となる葉のテーブルまでの深さ(経由するノードの数)を示す。このパラメータを調整することにより、データマートのシンプルさの度合いを調整することができる。
【0104】
一例として、生成部146は、ある末端の統合関係を削除した場合に処理コストの指標の合計の減少量が閾値を越え、推定精度の指標の合計の減少量が閾値以下となる場合に、当該ある末端の統合関係を削除すると判定してもよい。
【0105】
図26は、ステップS38におけるパレート最適解から各削除対象候補を削除した場合の推定精度の指標の合計と、処理コストの指標の合計とをプロットしたグラフの一例である。なお、図26において、Xは、ステップS38におけるパレート最適解のプロットを示し、X以外の灰色のプロットは、当該パレート最適解から各削除対象候補を削除した場合のプロットを示す。X以外の灰色のプロットのうち、Yによって示されるプロットは、Xによって示されるプロットと比べて、推定精度の指標の合計があまり変わらず、処理コストの指標の合計が減少している。そのため、生成部146は、Yによって示されるプロットに対応する削除対象候補を剪定してもよい。
【0106】
ステップS40では、生成部146は、ステップS39における判定結果に応じて剪定を行った有向木の各ノードに、表Aの各種メタ情報を付与した表Cを作成し、設計情報として、記憶部130に記憶してよい。表Cの一例を、図27に示す。以上により、生成部146は、処理コストの指標および推定精度の指標を参照して、対象テーブル(複数のデータセット)をどのように統合するかを示す設計情報を生成することができる。
【0107】
なお、上記では、ステップS32において、有向グラフを作成する構成について説明したが、ステップS32では、無向グラフを作成し、ステップS33~S38においてサイクルを削除した後にエッジの向き付けを行ってもよい。
【0108】
(データマート生成処理)
図28は、データマート生成処理を詳細に説明するフロー図である。一例において、生成部146は、データマート生成処理において、ステップS41~S48を行ってよい。
【0109】
ステップS41において、生成部146は、記憶部130から表Aおよび表Cを取得してよい。続いて、ステップS42において、生成部146は、表Aおよび表Cに示される各テーブルに対して、欠損補完、エンコード等の前処理を行ってよい。
【0110】
続いて、ステップS43において、生成部146は、表Cに示される、基本テーブル以外のテーブルから処理対象のテーブルを選択し、表Cを参照して、基本テーブルと処理対象のテーブルとの参照関係の種類を判定してよい。当該参照関係が「一対多」であった場合には、ステップS44に進み、当該参照関係が「一対一」であった場合には、ステップS45に進む。
【0111】
ステップS44では、生成部146は、基本テーブルの主キーと処理対象のテーブルの外部キーが一対一になるよう、処理対象のテーブルのデータを集計し、代表値(合計値、平均値、中央値、最頻値、分散、最大、最小等の統計的集計値)を算出し、基本テーブルに結合するためのデータとして使用してよい。
【0112】
ステップS45において、生成部146は、処理対象のテーブルを基本テーブルに結合してよい。表Cに示される基本テーブル以外の全てのテーブルが基本テーブルに結合された場合(ステップS46におけるYES)、ステップS47に進み、そうではない場合には(ステップS46におけるNO)、ステップS43に戻る。
【0113】
ステップS47において、生成部146は、基本テーブルに重複が生じていないか確認し、重複が生じていた場合には削除を行ってよい。
【0114】
そして、ステップS48において、生成部146は、基本テーブルをデータマートとして出力してよい。
【0115】
自動モデリング装置300は、生成部146が作成したデータマートに基づいて推定モデルを訓練し、その精度を測定してもよい。
【0116】
<本実施形態の効果>
以上のように、本実施形態の一態様によれば、自動で特徴量(データマート)の設計情報を計算し、作成することができる。
【0117】
また、本実施形態の一態様によれば、データセットをデータマートに統合するための処理コストの指標、および、データセットを用いた目的変数の推定精度の指標を算出し、当該指標に基づいて、有用なデータマートを作成することができる。
【0118】
また、本実施形態の一態様によれば、上述した指標に対し、グラフ理論に基づく経路探索アルゴリズムや、パレート最適アルゴリズムを適用して、計算時間と予測に有用な情報のトレードオフをバランスする設計情報を出力することができる。
【0119】
以上のように、本実施形態によれば、データマート作成のための計算コストおよび作成されるデータマートの有用性を考慮したデータマートの自動生成技術を提供することができる。
【0120】
〔ハードウェア構成およびソフトウェアによる実現例〕
情報処理装置100の制御ブロック(特に主制御部140に含まれる各部等)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、情報処理装置100は、図29に示すようなコンピュータ(電子計算機)を用いて構成されてよい。
【0121】
図29は、情報処理装置100として利用可能なコンピュータ910の構成を例示したブロック図である。コンピュータ910は、バス911を介して互いに接続された演算装置912と、主記憶装置913と、補助記憶装置914と、入出力インターフェース915とを備えている。演算装置912、主記憶装置913、および補助記憶装置914は、それぞれ、例えばCPU、RAM(random access memory)、ソリッドステートドライブまたはハードディスクドライブであってもよい。入出力インターフェース915には、ユーザがコンピュータ910に各種情報を入力するための入力装置920、および、コンピュータ910がユーザに各種情報を出力するための出力装置930が接続される。入力装置920および出力装置930は、コンピュータ910に内蔵されたものであってもよいし、コンピュータ910に接続された(外付けされた)ものであってもよい。例えば、入力装置920は、ボタン、キーボード、マウス、タッチセンサなどであってもよく、出力装置930は、ランプ、ディスプレイ、プリンタ、スピーカなどであってもよい。また、タッチセンサとディスプレイとが一体化されたタッチパネルのような、入力装置920および出力装置930の双方の機能を有する装置を適用してもよい。そして、通信インターフェース916は、コンピュータ910が外部の装置と通信するためのインターフェースである。
【0122】
補助記憶装置914には、コンピュータ910を、情報処理装置100として動作させるための情報処理プログラムが格納されている。そして、演算装置912は、補助記憶装置914に格納された上記情報処理プログラムを主記憶装置913上に展開して該情報処理プログラムに含まれる命令を実行することによって、コンピュータ910を、情報処理装置100が備える各部として機能させる。なお、補助記憶装置914が情報処理プログラム等の情報の記録に用いる記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。
【0123】
また、コンピュータ910の外部の記録媒体に記録されているプログラム、あるいは任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータ910に供給されたプログラムを用いてコンピュータ910を機能させる構成を採用してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0124】
〔付記事項〕
本明細書に記載の発明の一部は以下の付記のようにも記載されうるが、以下には限られない。
【0125】
(付記1)
複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理装置であって、
前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出する算出部と、
前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成する生成部と、を備える情報処理装置。
【0126】
(付記2)
1以上のコンピュータが、複数のデータセットを統合して、目的変数を推定する学習モデルの入力のために用いられるデータマートを生成する情報処理方法であって、
前記1以上のコンピュータが、
前記複数のデータセットから選択される2つのデータセット毎に、当該2つのデータセットを統合するための処理コストの指標、および、当該2つのデータセットが統合されたデータセットによる前記目的変数の推定精度の指標を算出し、
前記処理コストの指標および前記推定精度の指標を参照して、前記複数のデータセットをどのように統合するかを示す設計情報を生成することを含む、情報処理方法。
【0127】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0128】
情報処理装置 100
通信部 110
メモリ 120
記憶部 130
主制御部 140
準備部 142
算出部 144
生成部 146
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29