(57)【要約】  分析プロセス受付部２８２は、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付ける。スキーマ・分析プロセス記憶部２８３は、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を記憶する。テーブル探索部２８４は、分析プロセスの選択をユーザから受け付けると、テーブル・スキーマ記憶部が記憶する情報、および、スキーマ・分析プロセス記憶部２８３が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルの一覧を出力する。分析プロセス実行部２８５は、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する。
2019123704.tif 000002
【特許請求の範囲】
【請求項１】
テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付ける分析プロセス受付部と、
受け付けた分析プロセスと、当該分析プロセスを適用可能なスキーマとを関連付けた情報を記憶するスキーマ・分析プロセス記憶部と、
前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索部と、
出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行部とを備えた
ことを特徴とするデータ分析支援装置。
【請求項２】
スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換するデータ型変換部を備え、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、
前記データ型変換部は、テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録し、
分析プロセス受付部は、スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録する
請求項１記載のデータ分析支援装置。
【請求項３】
スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力部と、
前記スキーマ付テーブルから、スキーマを抽出するスキーマ抽出部と、
抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録する登録部とを備え、
前記登録部は、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録する
ことを特徴とするスキーマ管理装置。
【請求項４】
スキーマ抽出部は、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む
請求項３記載のスキーマ管理装置。
【請求項５】
テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、
受け付けた分析プロセスと、当該分析プロセスを適用可能なスキーマとを関連付けた情報を、スキーマ・分析プロセス記憶部に登録し、
前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、
特定されたテーブルの一覧を出力し、
出力されたテーブルの一覧からテーブルの選択を受け付け、
受け付けたテーブルに対して選択された分析プロセスを実行する
ことを特徴とするデータ分析支援方法。
【請求項６】
スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、
テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録し、
スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録する
請求項５記載のデータ分析支援方法。
【請求項７】
スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力し、
前記スキーマ付テーブルから、スキーマを抽出し、
抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録し、
前記登録の際、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録する
ことを特徴とするスキーマ管理方法。
【請求項８】
スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む
請求項７記載のスキーマ管理方法。
【請求項９】
コンピュータに、
テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、受け付けた分析プロセスと当該分析プロセスを適用可能なスキーマとを関連付けた情報をスキーマ・分析プロセス記憶部に登録する分析プロセス受付処理、
前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索処理、および、
出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行処理
を実行させるためのデータ分析支援プログラム。
【請求項１０】
コンピュータに、
スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換するデータ型変換処理を実行させ、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、
前記データ型変換処理で、テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録させ、
分析プロセス受付処理で、スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録させる
請求項９記載のデータ分析支援プログラム。
【請求項１１】
コンピュータに、
スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力処理、
前記スキーマ付テーブルから、スキーマを抽出するスキーマ抽出処理、および、
抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録する登録処理を実行させ、
前記登録処理で、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録させる
ためのスキーマ管理プログラム。
【請求項１２】
コンピュータに、
スキーマ抽出処理で、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換させ、
前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む
請求項１１記載のスキーマ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リレーショナルデータベースを用いたデータの分析を支援するデータ分析支援装置、データ分析支援方法およびデータ分析支援プログラムに関する。
【背景技術】
【０００２】
既存のデータを用いて様々な分析が行われている。特に、データの管理にはリレーショナルデータベース（以下、ＲＤＢと記す。）が多く用いられており、ＲＤＢを用いた様々なデータ処理方法も提案されている。【０００３】
例えば、特許文献１には、ＲＤＢで管理されているデータから、機械学習処理に用いられる特徴量の候補を生成することが記載されている。特許文献１に記載された方法では、特徴量の候補を生成する処理を、Ｆｉｌｔｅｒ条件、ｍａｐ条件およびｒｅｄｕｃｅ条件の３つの条件の組合せにより定義することで、特徴量の候補を生成する分析者工数を削減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０９０４７５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＲＤＢでは、スキーマとテーブルとが一対一に対応し、各テーブルを対象としてデータの分析処理が記述される。言い換えると、同一の構造を有するテーブルが存在する場合、テーブルが異なれば、それぞれのテーブルに含まれるデータに対する分析処理は異なるものとして記述される。【０００６】
検索処理の性能の向上させる観点や、データを分散して管理する観点などから、同じ内容を表す情報が同一のスキーマで定義された複数のテーブルで管理される場合がある。このような環境では、同じ内容を表す情報に対して同じ分析処理を記述しようとしても、テーブルごとに異なる分析処理を記述しなければならないという問題がある。【０００７】
例えば、特許文献１に記載された方法では、分析の対象とするテーブルが異なると、記述する条件の内容や、生成する特徴量生成関数の内容もそれぞれ異なることになる。しかし、同じ内容を含む異なるテーブルに対して、それぞれ異なる分析処理を記述するのは煩雑である。そのため、あるテーブルのデータに対して定義される分析処理を、同様の構造を有する他のテーブルに対しても利用できることが好ましい。【０００８】
そこで、本発明は、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できるデータ分析支援装置、データ分析支援方法およびデータ分析支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるデータ分析支援装置は、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付ける分析プロセス受付部と、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を記憶するスキーマ・分析プロセス記憶部と、分析プロセスの選択をユーザから受け付けると、テーブルとそのテーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する情報、および、スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索部と、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行部とを備えたことを特徴とする。【００１０】
本発明によるスキーマ管理装置は、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力部と、スキーマ付テーブルから、スキーマを抽出するスキーマ抽出部と、抽出されたスキーマと、テーブルとを関連付けて記憶部に登録する登録部とを備え、登録部が、カラムの名称およびデータ型が一致するスキーマが記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして記憶部に登録することを特徴とする。【００１１】
本発明によるデータ分析支援方法は、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を、スキーマ・分析プロセス記憶部に登録し、分析プロセスの選択をユーザから受け付けると、テーブルとそのテーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する情報、および、スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力し、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行することを特徴とする。【００１２】
本発明によるスキーマ管理方法は、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力し、スキーマ付テーブルから、スキーマを抽出し、抽出されたスキーマと、テーブルとを関連付けて記憶部に登録し、登録の際、カラムの名称およびデータ型が一致するスキーマが記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして記憶部に登録することを特徴とする。【００１３】
本発明によるデータ分析支援プログラムは、コンピュータに、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、受け付けた分析プロセスとその分析プロセスを適用可能なスキーマとを関連付けた情報をスキーマ・分析プロセス記憶部に登録する分析プロセス受付処理、分析プロセスの選択をユーザから受け付けると、テーブルとそのテーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する情報、および、スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索処理、および、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行処理を実行させることを特徴とする。【００１４】
本発明によるスキーマ管理プログラムは、コンピュータに、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力処理、スキーマ付テーブルから、スキーマを抽出するスキーマ抽出処理、および、抽出されたスキーマと、テーブルとを関連付けて記憶部に登録する登録処理を実行させ、登録処理で、カラムの名称およびデータ型が一致するスキーマが記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして記憶部に登録させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【図面の簡単な説明】
【００１６】
【図１】本発明によるデータ分析支援装置の第１の実施形態の構成例を示すブロック図である。
【図２】スキーマ付テーブルからスキーマを抽出する処理の例を示す説明図である。
【図３】テーブル・スキーマ管理ＤＢ３０が記憶する情報の例を示す説明図である。
【図４】分析プロセスを作成する処理の例を示す説明図である。
【図５】分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報の例を示す説明図である。
【図６】分析プロセスを出力する処理の例を示す説明図である。
【図７】分析プロセスを実行する処理の例を示す説明図である。
【図８】テーブルを出力する処理の例を示す説明図である。
【図９】第１の実施形態のデータ分析支援装置を用いて分析プロセスを実行する動作例を示すフローチャートである。
【図１０】第１の実施形態のデータ分析支援装置を用いて分析プロセスを実行する他の動作例を示すフローチャートである。
【図１１】スキーマを管理する動作例を示すフローチャートである。
【図１２】本発明によるデータ分析支援装置の第２の実施形態の構成例を示すブロック図である。
【図１３】列の内容に応じて分析データ型を設定した例を示す説明図である。
【図１４】分析スキーマを抽出する処理の例を示す説明図である。
【図１５】スキーマを管理する動作例を示すフローチャートである。
【図１６】本発明によるデータ分析支援装置の概要を示すブロック図である。
【図１７】本発明によるスキーマ管理装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。なお、以下の説明において、テーブルとは、表形式のデータセット（表型情報）を意味するものとし、スキーマと一体になったテーブル（すなわち、スキーマとテーブルとが関連付けられたもの）のことを、スキーマ付テーブルと記す。また、本発明においてスキーマとは、テーブルの属性（フィールド、列）を定義した情報であり、属性として、テーブルに含まれる列のカラム名、データ型、制約などが挙げられる。
【００１８】
実施形態１．
図１は、本発明によるデータ分析支援装置の第１の実施形態の構成例を示すブロック図である。本実施形態のデータ分析支援装置１００は、スキーマ付テーブル入力部１０と、スキーマ抽出部２０と、テーブル・スキーマ管理データベース３０（以下、テーブル・スキーマ管理ＤＢ３０と記す。）と、分析プロセス受付部４０と、スキーマ・分析プロセス管理データベース５０（以下、スキーマ・分析プロセス管理ＤＢ５０と記す。）と、探索部６０と、分析プロセス実行部７０とを備えている。
【００１９】
なお、テーブル・スキーマ管理ＤＢ３０と、スキーマ・分析プロセス管理ＤＢ５０とは、具体的には、磁気ディスク装置等に記憶される。
【００２０】
スキーマ付テーブル入力部１０は、スキーマ付テーブルを入力する。スキーマ付テーブル入力部１０は、例えば、ＲＤＢが提供するインタフェースを介して、直接ＲＤＢからスキーマ付テーブルを入力してもよい。また、スキーマ付テーブル入力部１０は、スキーマおよびテーブルの内容が関連付けられたファイルを読み込んでもよい。
【００２１】
スキーマ抽出部２０は、スキーマ付テーブルからスキーマを抽出し、抽出されたスキーマと、テーブルとを関連付けてテーブル・スキーマ管理ＤＢ３０に登録する。図２は、スキーマ付テーブルからスキーマを抽出する処理の例を示す説明図である。図２に例示するスキーマ付テーブルＳＴ１は、２０１６年１月の顧客リストを表すスキーマ付テーブルであり、スキーマＳＣ１と表型情報であるテーブルＴＢ１とを含む。
【００２２】
スキーマ付テーブル入力部１０が、図２に例示するスキーマ付テーブルＳＴ１を入力したとする。このとき、スキーマ抽出部２０は、スキーマ付テーブルＳＴ１から、カラム名、データ型および制約を含むスキーマＳＣ１を抽出する。ただし、スキーマ抽出部２０が抽出するスキーマの情報は、図２に例示する情報に限定されない。スキーマ抽出部２０は、表の属性を表す他の情報を含むスキーマを抽出してもよい。
【００２３】
なお、テーブル・スキーマ管理ＤＢ３０に登録する際、スキーマ抽出部２０は、カラムの名称およびデータ型が一致するスキーマが登録されていない場合に、抽出されたスキーマを新たなスキーマとしてテーブル・スキーマ管理ＤＢ３０に登録する。さらに、スキーマ抽出部２０は、カラムの名称およびデータ型だけでなく、制約まで一致するスキーマが登録されていない場合に、抽出されたスキーマを新たなスキーマとしてテーブル・スキーマ管理ＤＢ３０に登録してもよい。
【００２４】
スキーマ抽出部２０は、スキーマを識別する任意の識別子を設定する。図２に示す例では、連番としてスキーマＳＣ１に識別子“００１”が設定されている。なお、スキーマ識別子は、図２に例示する数値に限定されない。スキーマ抽出部２０は、例えば、ユーザからスキーマ名の指定（例えば、「顧客リスト」など）を受け付け、その指定をスキーマ名として用いてもよい。
【００２５】
テーブル・スキーマ管理ＤＢ３０は、スキーマとテーブルとを関連付けて記憶する。テーブル・スキーマ管理ＤＢ３０は、例えば、スキーマ名とテーブル名とを対応付けて記憶する。
【００２６】
図３は、テーブル・スキーマ管理ＤＢ３０が記憶する情報の例を示す説明図である。図３に示す例では、テーブル・スキーマ管理ＤＢ３０がテーブル名とスキーマ名とを関連付けて記憶していることを示す。また、図３に示す例では、２０１６年１月の顧客リストテーブル（顧客リスト２０１６／１テーブル）のスキーマと、２０１６年２月の顧客リストテーブル（顧客リスト２０１６／２テーブル）のスキーマとに、それぞれ同一のスキーマ（スキーマ００１）が適用されていることを示す。
【００２７】
なお、スキーマ付テーブル入力部１０、スキーマ抽出部２０およびテーブル・スキーマ管理ＤＢ３０によって、テーブルとスキーマとを分離して管理できることから、スキーマ付テーブル入力部１０、スキーマ抽出部２０およびテーブル・スキーマ管理ＤＢ３０を含む装置９９を、スキーマ管理装置と言うことが出来る。なお、本実施形態では、データ分析支援装置１００が、スキーマ管理装置を含む場合を例示している。ただし、データ分析支援装置１００は、スキーマ管理装置を含んでいなくてもよい。例えば、データ分析装置が外部に存在し、データ分析支援装置１００が、外部に存在するデータ分析装置に接続されて各情報を取得するようにしてもよい。
【００２８】
分析プロセス受付部４０は、スキーマで定義されているカラム名を用いた分析プロセスの作成を受け付ける。分析プロセスとは、テーブルのデータに対して行う一連の処理である。ただし、本実施形態では、テーブルとは切り離したスキーマをもとに分析プロセスが作成される。分析プロセス受付部４０は、予め作成された分析プロセスを受け付けてもよく、分析プロセスを作成するための画面を表示し、ユーザの入力に基づいて作成された分析プロセスを受け付けてもよい。
【００２９】
図４は、分析プロセスを作成する処理の例を示す説明図である。例えば、顧客リストの内容に基づいて、各顧客がランクアップするか否か判断する分析（以下、ランクアップ回帰分析）を行うための分析プロセスを作成するとする。また、図４に示す例では、図２に例示するスキーマＳＣ１（スキーマ００１）が適用されるテーブルのデータを用いて分析が行われるものとする。
【００３０】
例えば、機械学習では、入力データを数値にする必要がある。図２に示す例では、性別のデータ型がｖａｒｃｈａｒ型であり、データの内容がＭまたはＦで表されている。そこで、分析プロセス受付部４０は、スキーマ００１に含まれる性別のデータを変換する処理Ｐ１（例えば、Ｍを１に、Ｆを０に変換する処理）を作成してもよい。また、分析プロセス受付部４０は、ユーザの属性からランクアップを判別するための回帰式（例えば、ｌｏｇｉｔ（ランクアップ）＝年齢×３＋性別＋１、など）を用いた判別処理Ｐ２を作成してもよい。そして、分析プロセス受付部４０は、作成した一連の処理を分析プロセスＡＰ１として受け付ける。
【００３１】
分析プロセス受付部４０は、作成した分析プロセスをスキーマ・分析プロセス管理ＤＢ５０に登録する。分析プロセス受付部４０は、内容が把握できるような名称を分析プロセスに付与して、スキーマ・分析プロセス管理ＤＢ５０に登録してもよい。例えば、図４に示す例では、分析プロセス受付部４０は、「顧客リストに対するランクアップ回帰分析プロセス」のような名称を分析プロセスに付与して、スキーマ・分析プロセス管理ＤＢ５０に登録してもよい。
【００３２】
なお、後述する分析プロセス実行部７０が処理を実行できる形式であれば、分析プロセスの表現方法は任意である。分析プロセスは、例えば、スクリプトの形式で表現されていてもよい。
【００３３】
以上のように、分析プロセス受付部４０が、テーブルの定義を含む分析プロセスではなく、スキーマで定義されているカラム名を用いた分析プロセスの作成を受け付ける。そのため、分析対象のテーブルが異なっていてもスキーマが同一である場合には、同じ内容の分析プロセスを再利用できる。
【００３４】
スキーマ・分析プロセス管理ＤＢ５０は、分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を記憶する。図５は、分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報の例を示す説明図である。例えば、図４に例示する分析プロセスは、スキーマ００１を用いて定義されており、スキーマ００１が適用されるプロセスと言える。そこで、スキーマ・分析プロセス管理ＤＢ５０は、図５に例示する表の１行目に示すように、図４に例示する分析プロセスと、スキーマ００１とを対応付けて記憶する。
【００３５】
探索部６０は、ユーザからの選択を受け付けて各種情報を探索し、出力する。探索部６０は、分析プロセス探索部６１と、テーブル探索部６２とを含む。
【００３６】
分析プロセス探索部６１は、テーブルの選択をユーザから受け付ける。分析プロセス探索部６１は、テーブル・スキーマ管理ＤＢ３０が記憶する情報から、受け付けたテーブルに関連付けられているスキーマを抽出する。そして、分析プロセス探索部６１は、スキーマ・分析プロセス管理ＤＢ５０が記憶する情報から、抽出したスキーマに関連付けられている分析プロセスを特定し、出力する。
【００３７】
テーブル探索部６２は、分析プロセスの選択をユーザから受け付ける。テーブル探索部６２は、スキーマ・分析プロセス管理ＤＢ５０が記憶する情報から、受け付けた分析プロセスに関連付けられているスキーマを抽出する。そして、テーブル探索部６２は、テーブル・スキーマ管理ＤＢ３０が記憶する情報から、抽出したスキーマに関連付けられているテーブルを特定し、出力する。
【００３８】
分析プロセス実行部７０は、選択されたテーブルに対して分析プロセスを実行する。以下、分析プロセス実行部７０が分析プロセスを実行する２つの方法を説明する。
【００３９】
探索部６０（具体的には、分析プロセス探索部６１）は、テーブルの選択をユーザから受け付けた場合に、分析プロセスを出力する。この場合、分析プロセス実行部７０は、出力された分析プロセスの一覧から、ユーザの所望する分析プロセスの選択を受け付ける。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する。
【００４０】
図６は、分析プロセスを出力する処理の例を示す説明図である。探索部６０が２０１６年２月の顧客リストを表す図６に例示するスキーマ付テーブルＳＴ２の選択をユーザから受け付けると、分析プロセス探索部６１は、図３に例示するテーブル・スキーマ管理ＤＢ３０が記憶する情報から、受け付けたテーブルに関連付けられているスキーマ００１を抽出する。そして、分析プロセス探索部６１は、図５に例示するスキーマ・分析プロセス管理ＤＢ５０が記憶する情報から、抽出したスキーマ００１に関連付けられている分析プロセスを特定し、出力する。ここでは、「顧客リストに対するランクアップ回帰分析プロセス」と、「顧客リストに対する性別判別分析プロセス」の２つの分析プロセスが出力される。
【００４１】
ここで、ユーザが「顧客リストに対するランクアップ回帰分析プロセス」を選択したとする。この場合、分析プロセス実行部７０は、受け付けたスキーマ付テーブルＳＴ２に含まれるテーブルＴＢ２に対して選択された分析プロセスを実行する。
【００４２】
図７は、分析プロセスを実行する処理の例を示す説明図である。ここで、テーブルＴＢ２に対して、上述する分析プロセスＡＰ１が適用されるとする。この場合、分析プロセス実行部７０は、テーブルＴＢ２に含まれる性別のデータを変換する処理Ｐ１（Ｍを１に、Ｆを０に変換する処理）を行い、回帰式を用いた判別処理Ｐ２を実行する。その結果、図７に例示するランクアップ列の値が算出される。
【００４３】
なお、図７に示す例では、ランクアップ列の値を算出するため、図６に例示するランクアップ列に値が設定されていない場合を例示した。ただし、分析プロセスに学習処理が定義されている場合、図６に例示する表の列には、実績データとして算出される値が設定されていてもよい。
【００４４】
一方、探索部６０（具体的には、テーブル探索部６２）は、分析プロセスの選択をユーザから受け付けた場合に、テーブルを出力する。この場合、分析プロセス実行部７０は、出力されたテーブルの一覧から、ユーザの所望するテーブルの選択を受け付ける。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する。
【００４５】
図８は、テーブルを出力する処理の例を示す説明図である。探索部６０が分析プロセスとして「顧客リストに対するランクアップ回帰分析プロセス」の選択をユーザから受け付けると、テーブル探索部６２は、図５に例示するスキーマ・分析プロセス管理ＤＢ５０が記憶する情報から、受け付けた分析プロセスに関連付けられているスキーマ００１を抽出する。そして、テーブル探索部６２は、図３に例示するテーブル・スキーマ管理ＤＢ３０が記憶する情報から、抽出したスキーマ００１に関連付けられているテーブルを特定し、出力する。ここでは、２０１６年１月の顧客リストを含むテーブルと、２０１６年２月の顧客リストを含むテーブルとが出力される。
【００４６】
ここで、ユーザが２０１６年２月の顧客リストを選択したとする。この場合、分析プロセス実行部７０は、受け付けたテーブルＴＢ２に対して選択された分析プロセスを実行する。分析プロセスを実行する処理は、図７に例示する内容と同様である。
【００４７】
スキーマ付テーブル入力部１０と、スキーマ抽出部２０と、分析プロセス受付部４０と、探索部６０（より具体的には、分析プロセス探索部６１と、テーブル探索部６２）と、分析プロセス実行部７０とは、プログラム（データ分析支援プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array ））によって実現される。
【００４８】
上記プログラムは、例えば、記憶部（図示せず）に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、スキーマ付テーブル入力部１０、スキーマ抽出部２０、分析プロセス受付部４０、探索部６０（より具体的には、分析プロセス探索部６１と、テーブル探索部６２）および分析プロセス実行部７０として動作してもよい。また、データ分析支援装置の機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００４９】
スキーマ付テーブル入力部１０と、スキーマ抽出部２０と、分析プロセス受付部４０と、探索部６０（より具体的には、分析プロセス探索部６１と、テーブル探索部６２）と、分析プロセス実行部７０とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００５０】
また、データ分析支援装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００５１】
次に、本実施形態のデータ分析支援装置の動作を説明する。図９は、本実施形態のデータ分析支援装置を用いて分析プロセスを実行する動作例を示すフローチャートである。
【００５２】
分析プロセス受付部４０は、スキーマで定義されているカラム名を用いた分析プロセスの作成を受け付け（ステップＳ１１）、スキーマ・分析プロセス管理ＤＢ５０に、分析プロセスとスキーマとを関連付けた情報を登録する（ステップＳ１２）。
【００５３】
分析プロセス探索部６１は、テーブルの選択をユーザから受け付けると（ステップＳ１３）、テーブル・スキーマ管理ＤＢ３０が記憶する情報およびスキーマ・分析プロセス管理ＤＢ５０が記憶する情報に基づいて、受け付けたテーブルに対して適用可能な分析プロセスを特定する（ステップＳ１４）。そして、分析プロセス探索部６１は、特定された分析プロセスの一覧を出力する（ステップＳ１５）。
【００５４】
分析プロセス実行部７０は、ユーザより、出力された分析プロセスの一覧から分析プロセスの選択を受け付ける（ステップ１６）。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する（ステップＳ１７）。
【００５５】
図１０は、本実施形態のデータ分析支援装置を用いて分析プロセスを実行する他の動作例を示すフローチャートである。図１０に例示するフローチャートは、図９に例示するフローチャートと比較して探索部６０および分析プロセス実行部７０の処理が異なる。分析プロセスとスキーマとを関連付けた情報を登録するステップＳ１１からステップＳ１２の処理は、図９に例示する処理と同様である。
【００５６】
テーブル探索部６２は、分析プロセスの選択をユーザから受け付けると（ステップＳ２１）、テーブル・スキーマ管理ＤＢ３０が記憶する情報およびスキーマ・分析プロセス管理ＤＢ５０が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定する（ステップＳ２２）。そして、テーブル探索部６２は、特定されたテーブルの一覧を出力する（ステップＳ２３）。
【００５７】
分析プロセス実行部７０は、ユーザより、出力されたテーブルの一覧からテーブルの選択を受け付ける（ステップＳ２４）。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する（ステップＳ２５）。
【００５８】
図１１は、スキーマを管理する動作例を示すフローチャートである。スキーマ付テーブル入力部１０が、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力すると（ステップＳ３１）、スキーマ抽出部２０は、スキーマ付テーブルから、スキーマを抽出する（ステップＳ３２）。そして、スキーマ抽出部２０は、抽出されたスキーマと、テーブルとを関連付けてテーブル・スキーマ管理ＤＢ３０に登録する（ステップＳ３３）。その際、スキーマ抽出部２０は、カラムの名称およびデータ型が一致するスキーマがテーブル・スキーマ管理ＤＢ３０に登録されていない場合に、抽出されたスキーマを新たなスキーマとして登録する。
【００５９】
以上のように、本実施形態では、分析プロセス受付部４０が分析プロセスの作成を受け付け、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を、スキーマ・分析プロセス管理ＤＢ５０に登録する。その後、テーブルの選択をユーザから受け付けると、分析プロセス探索部６１は、テーブル・スキーマ管理ＤＢ３０が記憶する情報及びスキーマ・分析プロセス管理ＤＢ５０が記憶する情報に基づいて、受け付けたテーブルに対して適用可能な分析プロセスを特定し、特定された分析プロセスの一覧を出力する。そして、分析プロセス実行部７０は、出力された分析プロセスの一覧から分析プロセスの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する。よって、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【００６０】
また、本実施形態では、分析プロセス受付部４０が分析プロセスの作成を受け付け、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を、スキーマ・分析プロセス管理ＤＢ５０に登録する。その後、分析プロセスの選択をユーザから受け付けると、テーブル探索部６２は、テーブル・スキーマ管理ＤＢ３０が記憶する情報、および、スキーマ・分析プロセス管理ＤＢ５０が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力する。そして、分析プロセス実行部７０は、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する。よって、上述する方法と同様、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【００６１】
また、本実施形態では、スキーマ付テーブル入力部１０がスキーマ付テーブルを入力し、スキーマ抽出部２０がスキーマ付テーブルから、スキーマを抽出し、抽出されたスキーマと、テーブルとを関連付けてテーブル・スキーマ管理ＤＢ３０に登録する。その際、スキーマ抽出部２０が、カラムの名称およびデータ型が一致するスキーマがテーブル・スキーマ管理ＤＢ３０に登録されていない場合に、抽出されたスキーマを新たなスキーマとして登録する。よって、一般的なＲＤＢで利用されるスキーマ付テーブルを、スキーマとテーブルとに分離して管理できる。その結果、スキーマに対して分析プロセスを定義することで、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【００６２】
実施形態２．
次に、本発明によるデータ分析支援装置の第２の実施形態を説明する。第１の実施形態では、スキーマ抽出部２０が、カラムの名称およびデータ型が一致するスキーマが登録されていないときに、抽出されたスキーマをテーブル・スキーマ管理ＤＢ３０に登録する場合について説明した。
【００６３】
一方、ＲＤＢのバージョンの違いや、テーブルの設計変更などにより、同一の内容を示す列であっても、異なるデータ型が定義されているテーブルも存在する。また、同じ数値型や文字列型であっても、ＲＤＢのメモリ管理等の観点から複数種類のデータ型が定義されていることもある。
【００６４】
しかし、データ分析の観点では、同一の内容を示す列は、同じデータ型として扱えることが好ましく、ＲＤＢが想定する種類のデータ型までは必要としない場合も少なくない。そこで、本実施形態では、データ型を抽象化したデータ型である分析データ型を用いて、分析プロセスを管理する方法を説明する。
【００６５】
本実施形態において、分析データ型とは、分析処理のために便宜上定義される抽象化されたデータ型であり、実際にＲＤＢで用いられるデータ型とは別に設けられる。具体的には、分析データ型には、同値判定が可能なデータ型を表すカテゴリ変数、連続値のデータ型を表す数値変数、および、順序関係を有し時間軸上の一点を表す情報を抽出可能なデータ型を表す時間変数が含まれる。
【００６６】
具体的には、数値変数は、回帰分析等で用いられる実数値などの連続値を表すデータ型であり、例えば、四則演算などの演算を適用可能なデータ型である。ただし、分析データ型に含まれる内容は、上記内容に限定されない。例えば、経度および緯度で表現される地理的な一地点を示すデータ型を、分析データ型に含めてもよい。
【００６７】
図１２は、本発明によるデータ分析支援装置の第２の実施形態の構成例を示すブロック図である。本実施形態のデータ分析支援装置２００は、スキーマ付テーブル入力部１０と、分析スキーマ抽出部２１と、テーブル・分析スキーマ管理データベース３１（以下、テーブル・分析スキーマ管理ＤＢ３１と記す。）と、分析プロセス受付部４０と、分析スキーマ・分析プロセス管理データベース５１（以下、分析スキーマ・分析プロセス管理ＤＢ５１と記す。）と、探索部６０と、分析プロセス実行部７０とを備えている。
【００６８】
なお、テーブル・分析スキーマ管理ＤＢ３１と、分析スキーマ・分析プロセス管理ＤＢ５１とは、具体的には、磁気ディスク装置等に記憶される。
【００６９】
スキーマ付テーブル入力部１０は、第１の実施形態と同様に、スキーマ付テーブルを入力する。
【００７０】
分析スキーマ抽出部２１は、第１の実施形態におけるスキーマ抽出部２０と同様に、スキーマ付テーブルからスキーマを抽出する。さらに、分析スキーマ抽出部２１は、抽出したスキーマに含まれるデータ型を分析データ型に変換する。そして、分析スキーマ抽出部２１は、データ型を変換したスキーマと、テーブルとを関連付けてテーブル・分析スキーマ管理ＤＢ３１に登録する。以下の説明では、分析データ型にデータ型を変換したスキーマのことを、分析スキーマと記すこともある。
【００７１】
具体的には、分析スキーマ抽出部２１は、抽出したスキーマに含まれるデータ型を、列の内容（具体的には、カラム名、データ型など）に応じて予め定めた分析データ型に変換してもよい。また、分析スキーマ抽出部２１は、抽出したスキーマに含まれるデータ型に対する分析データ型への変換指示をユーザから受け付けてもよい。このように、分析スキーマ抽出部２１は、スキーマに含まれるカラムのデータ型を分析データ型へ変換することから、データ型変換部と言うことができる。
【００７２】
図１３は、列の内容に応じて分析データ型を設定した例を示す説明図である。図１３に例示するように、分析目的に応じた分析データ型を予め設定しておいてもよい。分析スキーマ抽出部２１は、カラムに対して予め分析データ型への変換ルールが設定されている場合、その設定に基づいてデータ型を分析データ型へ変換してもよい。
【００７３】
また、分析スキーマ抽出部２１は、上述する処理を組み合わせてもよい。例えば、データ型やカラム名に応じた分析データ型への変換ルールを予め設定して記憶部（図示せず）に記憶させておく。まず、分析スキーマ抽出部２１は、この変換ルールに従い、抽出したスキーマに含まれるデータ型を分析データ型に一括で変換する。次に、分析スキーマ抽出部２１は、変換後の分析データ型をカラム名とともに出力し、個別に分析データ型の変更を受け付ける。なお、分析スキーマ抽出部２１は、全ての分析データ型への変更を個別に受け付けてもよい。具体的には、分析スキーマ抽出部２１は、スキーマのカラムごとに分析データ型への変換指示を受け付け、抽出したスキーマに含まれるデータ型を受け付けた分析データ型に個別に変換してもよい。
【００７４】
図１４は、分析スキーマを抽出する処理の例を示す説明図である。図１４に例示する２つのスキーマ付テーブルＳＴ３，ＳＴ４は、いずれも顧客リストを含むテーブルであるが、スキーマの内容（具体的には、データ型）が異なる。例えば、２０１６年の顧客リストテーブルＳＴ３の顧客ＩＤは、数値で表されていることから、ＲＤＢ上ではデータ型ｌｏｎｇで管理されている。一方、例えば、２００１年の顧客リストテーブルＳＴ４の顧客ＩＤも、数値で表されているが、バージョン等の違いにより、ＲＤＢ上ではデータ型ｉｎｔで管理されている。
【００７５】
一方、顧客ＩＤは、数値計算の対象とされるよりも、同値（非同値）判定の対象とされることが多いと考えられる。そこで、図１３に例示するように、分析スキーマ抽出部２１は、顧客ＩＤをカテゴリ値として分析できるように、分析データ型への変換を行う。
【００７６】
まず、分析スキーマ抽出部２１は、スキーマ付テーブルＳＴ３，ＳＴ４から、それぞれスキーマＳＣ２，ＳＣ３を抽出する。そして、分析スキーマ抽出部２１は、図１３に例示する変換ルールに基づいて、各列のデータ型を分析データ型へ変換したスキーマＳＣ４を作成する。
【００７７】
テーブル・分析スキーマ管理ＤＢ３１は、分析スキーマとテーブルとを関連付けて記憶する。テーブル・分析スキーマ管理ＤＢ３１は、例えば、分析スキーマ名とテーブル名とを対応付けて記憶する。テーブル・分析スキーマ管理ＤＢ３１が分析スキーマ名とテーブル名とを対応付けて記憶する態様は、第１の実施形態におけるテーブル・スキーマ管理ＤＢ３０と同様である。
【００７８】
分析プロセス受付部４０は、第１の実施形態と同様、分析スキーマで定義されているカラム名を用いた分析プロセスの作成を受け付ける。そして、分析プロセス受付部４０は、作成した分析プロセスを分析スキーマ・分析プロセス管理ＤＢ５１に登録する。
【００７９】
分析スキーマ・分析プロセス管理ＤＢ５１は、分析プロセスと、その分析プロセスを適用可能な分析スキーマとを関連付けた情報を記憶する。分析スキーマ・分析プロセス管理ＤＢ５１が分析プロセスと分析スキーマとを対応付けて記憶する態様は、第１の実施形態におけるスキーマ・分析プロセス管理ＤＢ５０と同様である。
【００８０】
探索部６０は、第１の実施形態と同様、分析プロセス探索部６１と、テーブル探索部６２とを含む。分析プロセス探索部６１は、テーブルの選択をユーザから受け付ける。分析プロセス探索部６１は、テーブル・分析スキーマ管理ＤＢ３１が記憶する情報から、受け付けたテーブルに関連付けられている分析スキーマを抽出する。そして、分析プロセス探索部６１は、分析スキーマ・分析プロセス管理ＤＢ５１が記憶する情報から、抽出した分析スキーマに関連付けられている分析プロセスを特定し、出力する。
【００８１】
このとき、分析プロセス実行部７０は、出力された分析プロセスの一覧から、ユーザの所望する分析プロセスの選択を受け付ける。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する。
【００８２】
また、テーブル探索部６２は、分析プロセスの選択をユーザから受け付ける。テーブル探索部６２は、分析スキーマ・分析プロセス管理ＤＢ５１が記憶する情報から、受け付けた分析プロセスに関連付けられている分析スキーマを抽出する。そして、テーブル探索部６２は、テーブル・分析スキーマ管理ＤＢ３１が記憶する情報から、抽出した分析スキーマに関連付けられているテーブルを特定し、出力する。
【００８３】
このとき、分析プロセス実行部７０は、出力されたテーブルの一覧から、ユーザの所望するテーブルの選択を受け付ける。そして、分析プロセス実行部７０は、受け付けたテーブルに対して選択された分析プロセスを実行する。
【００８４】
このように、探索部６０（より具体的には、分析プロセス探索部６１と、テーブル探索部６２）および分析プロセス実行部７０の動作は、スキーマが分析スキーマに変更された以外は、第１の実施形態と同様である。
【００８５】
なお、スキーマ付テーブル入力部１０と、分析スキーマ抽出部２１と、分析プロセス受付部４０と、探索部６０（より具体的には、分析プロセス探索部６１と、テーブル探索部６２）と、分析プロセス実行部７０とは、プログラム（データ分析支援プログラム）に従って動作するコンピュータのプロセッサによって実現される。また、第１の実施形態と同様に、スキーマ付テーブル入力部１０、分析スキーマ抽出部２１およびテーブル・分析スキーマ管理ＤＢ３１を含む装置１９９を、スキーマ管理装置と言うことが出来る。なお、第１の実施形態と同様、本実施形態のデータ分析支援装置２００が、スキーマ管理装置を含んでいなくてもよい。例えば、データ分析装置が外部に存在し、データ分析支援装置２００が、外部に存在するデータ分析装置に接続されて各情報を取得するようにしてもよい。
【００８６】
次に、本実施形態のデータ分析支援装置の動作を説明する。図１５は、スキーマを管理する動作例を示すフローチャートである。なお、スキーマを抽出するまでの処理は、図１１に例示するステップＳ３１からステップＳ３２までの処理と同様である。
【００８７】
スキーマを抽出後、分析スキーマ抽出部２１は、スキーマに含まれるカラムのデータ型を分析データ型へ変換する（ステップＳ４１）。そして、分析スキーマ抽出部２１は、分析スキーマとテーブルとを関連付けてテーブル・分析スキーマ管理ＤＢ３１に登録する（ステップＳ４２）。
【００８８】
以上のように、本実施形態では、分析スキーマ抽出部２１が、スキーマに含まれるカラムのデータ型を分析データ型へ変換し、分析データ型で定義されるスキーマとテーブルとを関連付けた情報をテーブル・分析スキーマ管理ＤＢ３１に登録する。また、分析プロセス受付部４０は、分析スキーマ・分析プロセス管理ＤＢ５１）に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録する。よって、第１の実施形態の効果に加え、データ型が異なるスキーマが定義されたテーブルに対しても、同じ分析プロセスを用いて同じ処理を実行することが可能になる。
【００８９】
例えば、数値情報を含むカラムのデータに対して、繰り返し処理を行う状況を考える。繰り返し処理の一例として、「数値型の全てのカラムの対数を新しいカラムとして追加する」、「数値型の全てのカラムの一か月の平均値を新しいカラムとして追加する」などが挙げられる。
【００９０】
例えば、需給、引出額および預入額は、一般に数値情報で表される。一方、ＲＤＢでは、需給がＩｎｔ型、引出額がｌｏｎｇ型、預入額がｌｏｎｇ型で定義されているとする。この場合、引出額と預入額のデータ型は同一であるが、需給とデータ型が異なる。そのため、一般的に、それぞれのカラムのデータを考慮して個別に処理を記載する必要がある。
【００９１】
一方、本実施形態では、数値情報を列に含むテーブルのスキーマのデータ型を分析データ型に変換する。このような変換を行うことで、分析に則したデータ型に応じた繰り返し処理を簡単に記述することが可能になる。したがって、定義されたデータ型が異なるカラムに対しても、同様の分析プロセスを実行することが可能になる。
【００９２】
また、逆に、ＡＴＭ（Automated Teller Machine）のＩＤ、引出額および預入額のデータ型がいずれもｌｏｎｇ型に定義されているとする。一方、ＡＴＭのＩＤは、演算の対象とされる情報でない場合が一般的である。この場合、分析の観点では数値情報の意味が異なるため、やはり一般的には個別に処理を記述する必要がある。
【００９３】
一方、本実施形態では、列の意味を考慮してスキーマのデータ型を分析データ型に変換する。このような変換を行うことで、定義されたデータ型が同じカラムに対しても、その意味に応じて分析プロセスを区別することが可能になる。
【００９４】
次に、本発明の概要を説明する。図１６は、本発明によるデータ分析支援装置の概要を示すブロック図である。本発明によるデータ分析支援装置２８０（例えば、データ分析支援装置１００）は、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付ける分析プロセス受付部２８２（例えば、分析プロセス受付部４０）と、受け付けた分析プロセスと、その分析プロセスを適用可能なスキーマとを関連付けた情報を記憶するスキーマ・分析プロセス記憶部２８３（例えば、スキーマ・分析プロセス管理ＤＢ５０）と、分析プロセスの選択をユーザから受け付けると、テーブルとそのテーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部（例えば、テーブル・スキーマ管理ＤＢ３０）が記憶する情報、および、スキーマ・分析プロセス記憶部２８３が記憶する情報に基づいて、受け付けた分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索部２８４（例えば、テーブル探索部６２）と、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行部２８５（例えば、分析プロセス実行部７０）とを備えている。
【００９５】
そのような構成により、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【００９６】
また、データ分析支援装置２８０（例えば、データ分析支援装置２００）は、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換するデータ型変換部を備えていてもよい。ここで、分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む。そして、データ型変換部は、テーブル・スキーマ記憶部（例えば、テーブル・分析スキーマ管理ＤＢ３１）に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録し、分析プロセス受付部２８２は、スキーマ・分析プロセス記憶部２８３（例えば、分析スキーマ・分析プロセス管理ＤＢ５１）に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録してもよい。
【００９７】
そのような構成によれば、データ型が異なるスキーマが定義されたテーブルに対しても、同じ分析プロセスを用いて同じ処理を実行することが可能になる。
【００９８】
図１７は、本発明によるスキーマ管理装置の概要を示すブロック図である。本発明によるスキーマ管理装置２９０（例えば、スキーマ管理装置９９）は、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力部２９１（例えば、スキーマ付テーブル入力部１０）と、スキーマ付テーブルから、スキーマを抽出するスキーマ抽出部２９２（例えば、スキーマ抽出部２０）と、抽出されたスキーマと、テーブルとを関連付けて記憶部（例えば、テーブル・スキーマ管理ＤＢ３０）に登録する登録部２９３（例えば、スキーマ抽出部２０）とを備えている。
【００９９】
登録部２９３は、カラムの名称およびデータ型が一致するスキーマが記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして記憶部に登録する。
【０１００】
そのような構成により、一般的なＲＤＢで利用されるスキーマ付テーブルを、スキーマとテーブルとを分離して管理できる。その結果、スキーマに対して分析プロセスを定義することで、一のテーブルに対して定義された分析処理を異なるテーブルに対しても実行できる。
【０１０１】
また、スキーマ抽出部２９２（例えば、分析スキーマ抽出部２１）は、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換してもよい。ここで、分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、数値変数を含む。
【０１０２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１０３】
（付記１）テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付ける分析プロセス受付部と、受け付けた分析プロセスと、当該分析プロセスを適用可能なスキーマとを関連付けた情報を記憶するスキーマ・分析プロセス記憶部と、前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索部と、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行部とを備えたことを特徴とするデータ分析支援装置。
【０１０４】
（付記２）スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換するデータ型変換部を備え、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、前記データ型変換部は、テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録し、分析プロセス受付部は、スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録する付記１記載のデータ分析支援装置。
【０１０５】
（付記３）スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力部と、前記スキーマ付テーブルから、スキーマを抽出するスキーマ抽出部と、抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録する登録部とを備え、前記登録部は、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録することを特徴とするスキーマ管理装置。
【０１０６】
（付記４）スキーマ抽出部は、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む付記３記載のスキーマ管理装置。
【０１０７】
（付記５）テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、受け付けた分析プロセスと、当該分析プロセスを適用可能なスキーマとを関連付けた情報を、スキーマ・分析プロセス記憶部に登録し、前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力し、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行することを特徴とするデータ分析支援方法。
【０１０８】
（付記６）スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録し、スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録する付記５記載のデータ分析支援方法。
【０１０９】
（付記７）スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力し、前記スキーマ付テーブルから、スキーマを抽出し、抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録し、前記登録の際、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録することを特徴とするスキーマ管理方法。
【０１１０】
（付記８）スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換し、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む付記７記載のスキーマ管理方法。
【０１１１】
（付記９）コンピュータに、テーブルに適用されるスキーマで定義されているカラム名を用いた、データ分析のための一連の処理である分析プロセスの作成を受け付け、受け付けた分析プロセスと当該分析プロセスを適用可能なスキーマとを関連付けた情報をスキーマ・分析プロセス記憶部に登録する分析プロセス受付処理、前記分析プロセスの選択をユーザから受け付けると、テーブルと当該テーブルに適用されるスキーマとを関連付けた情報を記憶するテーブル・スキーマ記憶部が記憶する当該情報、および、前記スキーマ・分析プロセス記憶部が記憶する情報に基づいて、受け付けた前記分析プロセスで用いるテーブルを特定し、特定されたテーブルの一覧を出力するテーブル探索処理、および、出力されたテーブルの一覧からテーブルの選択を受け付け、受け付けたテーブルに対して選択された分析プロセスを実行する分析プロセス実行処理を実行させるためのデータ分析支援プログラム。
【０１１２】
（付記１０）コンピュータに、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換するデータ型変換処理を実行させ、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含み、前記データ型変換処理で、テーブル・スキーマ記憶部に、分析データ型で定義されるスキーマとテーブルとを関連付けた情報を登録させ、分析プロセス受付処理で、スキーマ・分析プロセス記憶部に、分析プロセスと、分析データ型で定義されるスキーマとを関連付けた情報を登録させる付記９記載のデータ分析支援プログラム。
【０１１３】
（付記１１）コンピュータに、スキーマとテーブルとが関連付けられたスキーマ付テーブルを入力する入力処理、前記スキーマ付テーブルから、スキーマを抽出するスキーマ抽出処理、および、抽出されたスキーマと、前記テーブルとを関連付けて記憶部に登録する登録処理を実行させ、前記登録処理で、カラムの名称およびデータ型が一致するスキーマが前記記憶部に登録されていない場合に、抽出されたスキーマを新たなスキーマとして前記記憶部に登録させるためのスキーマ管理プログラム。
【０１１４】
（付記１２）コンピュータに、スキーマ抽出処理で、スキーマに含まれるカラムのデータ型を、分析処理に用いられるデータ型として定義された分析データ型へ変換させ、前記分析データ型は、少なくとも同値判定が可能なデータ型を表すカテゴリ変数、および、数値変数を含む付記１１記載のスキーマ管理プログラム。
【０１１５】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１６】
この出願は、２０１７年１２月２２日に出願された米国仮出願第６２／６０９，６５４号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１７】
１０  スキーマ付テーブル入力部
２０  スキーマ抽出部
２１  分析スキーマ抽出部
３０  テーブル・スキーマ管理ＤＢ
３１  テーブル・分析スキーマ管理ＤＢ
４０  分析プロセス受付部
５０  スキーマ・分析プロセス管理ＤＢ
５１  分析スキーマ・分析プロセス管理ＤＢ
６０  探索部
６１  分析プロセス探索部
６２  テーブル探索部
７０  分析プロセス実行部
９９  スキーマ管理装置
１００，２００  データ分析支援装置
【図１】
2019123704.tif 000003
【図２】
2019123704.tif 000004
【図３】
2019123704.tif 000005
【図４】
2019123704.tif 000006
【図５】
2019123704.tif 000007
【図６】
2019123704.tif 000008
【図７】
2019123704.tif 000009
【図８】
2019123704.tif 000010
【図９】
2019123704.tif 000011
【図１０】
2019123704.tif 000012
【図１１】
2019123704.tif 000013
【図１２】
2019123704.tif 000014
【図１３】
2019123704.tif 000015
【図１４】
2019123704.tif 000016
【図１５】
2019123704.tif 000017
【図１６】
2019123704.tif 000018
【図１７】
2019123704.tif 000019
【国際調査報告】
2019123704.tif 000020
2019123704.tif 000021
2019123704.tif 000022
2019123704.tif 000023
2019123704.tif 000024
2019123704.tif 000025
2019123704.tif 000026
2019123704.tif 000027