JPWO2018185899A1 - ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法 - Google Patents

ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法 Download PDF

Info

Publication number
JPWO2018185899A1
JPWO2018185899A1 JP2019511012A JP2019511012A JPWO2018185899A1 JP WO2018185899 A1 JPWO2018185899 A1 JP WO2018185899A1 JP 2019511012 A JP2019511012 A JP 2019511012A JP 2019511012 A JP2019511012 A JP 2019511012A JP WO2018185899 A1 JPWO2018185899 A1 JP WO2018185899A1
Authority
JP
Japan
Prior art keywords
library
data
analysis
statistical profile
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019511012A
Other languages
English (en)
Other versions
JP6704089B2 (ja
Inventor
裕之 大崎
裕之 大崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2018185899A1 publication Critical patent/JPWO2018185899A1/ja
Application granted granted Critical
Publication of JP6704089B2 publication Critical patent/JP6704089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Abstract

データ分析に使用するアプリケーションに使用するライブラリを検索する計算機101は、情報を格納するメモリ103と、メモリ103に接続されたCPU102とを備える。メモリ103は、過去のデータ分析に利用したライブラリを特定する情報と、ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納する。CPU102は、データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、ライブラリについての分析対象データのデータ分析への利用の有効性を示す有効度を、ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、有効性が高いライブラリに関する情報を優先して出力する。

Description

本発明は、データ分析に利用するライブラリを検索するライブラリ検索装置等に関する。
現在、企業の経営改善のために、業務処理を支援する情報システムから業務処理の記録をデータとして取得して分析することで、業務の効率化や業務計画の柔軟性の向上のヒントを得るSoE(System of Engagement)の重要性が増している。
データ分析の処理を自動化するためのアプリケーションは、データサイエンティストによってデータ分析ライブラリを使って実装される。データ分析ライブラリは、オープンソースとして公開されているものだけでも4,000を超えている。
このような大量のデータ分析ライブラリの中からデータサイエンティストがデータ分析に利用するデータ分析ライブラリを検索するための技術がいくつか知られている。
例えば、特許文献1には、レジストリに格納された各モジュールをモジュール名で検索することのできる技術が開示されている。
また、特許文献2には、再利用可能なETL(Extract、Transform、Load)処理を検索するために、ジョブ情報テーブルからデータ項目属性の一致度が高いジョブを検索する技術が開示されている。
米国特許第8060553号明細書 特開2005−11109号公報
ここで、データサイエンティストがデータ分析アプリケーションを実装する場合における具体的な作業について説明する。
まず、データサイエンティストは、目的となる分析目的に応じて、複数のコア分析ライブラリの中から使用するコア分析ライブラリを選定する。
ここで、入力データには、対応範囲外の欠損値や異常値を含んでいる場合があるので、そのままコア分析ライブラリに入力してしまうと、不正確な出力を出してしまう虞がある。そこで、入力データから欠損値や異常値を省く処理を実行する前処理ライブラリを導入することとなる。この場合には、データサイエンティストは、前処理ライブラリについても複数の中から適切なライブラリを選択し、前処理ライブラリに対する設定(例えば、処理における閾値の設定等)を行う。
また、コア分析ライブラリの出力には、分析の目的とは関係のない数値や文字列等を含む場合があるので、これらを除外して必要な情報を抜き出した分析結果を生成するために、後処理ライブラリを導入することがある。この場合には、データサイエンティストは、後処理ライブラリも複数種類の中から適切なライブラリを選択し、後処理ライブラリに対する設定を行う。
そして、コア分析ライブラリ、前処理ライブラリ、後処理ライブラリで構成されるデータ分析アプリケーションの品質が問題ないかを、例えば、入力データに対して分析結果が正確に出力されるかどうかを確認することにより判定する。そして、データ分析アプリケーションの品質に問題がないことが確認できたことにより、データ分析アプリケーションの実装が完了することとなる。なお、データ分析アプリケーションの品質に問題がある場合には、上記した作業のいずれかの部分を見直すこととなる。
上記作業において、目的にあった正確な結果を取得できるようにするためには、コア分析ライブラリ、前処理ライブラリ、後処理ライブラリを適切に選択することが重要となる。この作業は、経験の少ない初心者のデータサイエンティストにとっては複雑な作業である。
複雑な作業となる原因の一つには、企業や情報システムごとに入力データの内容が異なり、他社でのライブラリの使用実績をそのまま再利用できないという点がある。このため、前処理ライブラリ、後処理ライブラリを、入力データの内容に応じて変更しなければならない。特に、初心者のデータサイエンティストは、コア分析ライブラリの特性や、前処理や後処理で適用可能なライブラリの特性を十分に把握していないことが多いため、適切な前処理ライブラリや後処理ライブラリを特定することが困難であり、適切な前処理ライブラリや後処理ライブラリを探し当てるまでに、長時間を要してしまう場合もある。
本発明は、上記事情に鑑みなされたものであり、その目的は、データ分析に適したライブラリを容易かつ適切に検索して出力することのできる技術を提供することにある。
上記目的を達成するため、一の観点に係るライブラリ検索装置は、データ分析に使用するアプリケーションに使用するライブラリを検索する。ライブラリ検索装置は、情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備える。記憶デバイスは、過去のデータ分析に利用したライブラリを特定する情報と、ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納する。プロセッサ部は、データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、ライブラリについての分析対象データのデータ分析への利用の有効性を示す有効度を、ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと分析対象データ統計プロファイルとの類似性に基づいて特定し、有効性が高いライブラリに関する情報を優先して出力する。
本発明によれば、データ分析に適したライブラリを容易かつ適切に検索して出力することができる。
図1は、実施例1の概要を説明する図である。 図2は、実施例1に係るデータ分析ライブラリマーケットプレイスシステムの全体構成図である。 図3は、実施例1に係るライブラリ実行実績データベースの構成図である。 図4は、実施例1に係る入力データ統計プロファイルの構成図である。 図5は、実施例1に係るライブラリ実行実績DBにおける統計プロファイル群と、入力データ統計プロファイルとに基づいて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定する方法を説明する図である。 図6は、実施例1に係るライブラリ検索結果の構成図である。 図7は、実施例1に係るライブラリ検索画面の一例を示す図である。 図8は、実施例1に係るライブラリ検索結果画面の一例を示す図である。 図9は、実施例1に係る全体処理のフローチャートである。 図10は、実施例1に係る全体処理のシーケンス図である。 図11は、実施例1に係る実績蓄積処理のフローチャートである。 図12は、実施例2に係る業種業務近傍スコア表の構成図である。 図13は、実施例2に係るライブラリスコア計算係数表の構成図である。 図14は、実施例2に係る業種業務近傍スコアと、ライブラリスコアを算出する方法を説明する図である。 図15は、実施例3に係るコア分析ライブラリ対応表の構成図である。 図16は、実施例3に係るコア分析ライブラリ適用ルール表の構成図である。 図17は、実施例3に係るライブラリ効果データベースの構成図である。 図18は、実施例3に係る全体処理のフローチャートである。 図19は、実施例3に係るルール判定処理のフローチャートである。
いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」、「AAA表」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」、「AAA表」を「AAA情報」と呼ぶことができる。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
また、プロセッサがプログラムを実行することにより構成される機能部による処理は、プロセッサが行う処理としてもよく、プロセッサを含む計算機が行う処理としてもよい。
以下、実施例1について説明する。
まず、実施例1の概要について説明する。
図1は、実施例1の概要を説明する図である。
ライブラリ検索システムの一例としてのデータ分析ライブラリマーケットプレイスシステム(以下、マーケットプレイスシステム)10は、入力データと、分析目的とに基づいて適切なライブラリ(前処理ライブラリ、コア分析ライブラリ、後処理ライブラリ等)を検索して検索結果を提供するシステムである。
マーケットプレイスシステム10において、計算機101(計算機A)は、利用者(検索実施者:データサイエンティスト)120の端末111に対して、ライブラリ検索画面1801(図7参照)を表示させる(図1(1))。端末111において、利用者120により、入力データと分析目的との指定がされると、その情報が計算機101のCPU102に通知される。CPU102は、ライブラリ実行実績DB(データベース)106を参照し、各ライブラリについて、指定された入力データと分析目的との利用に対する有効性を示すライブラリスコア(有効度)を算出する(図1(3))。次いで、CPU102は、算出したライブラリスコアが高いライブラリに関する情報を優先した内容としたライブラリ検索結果画面1810(図8参照)を端末111に表示出力させる(図1(4))。なお、ライブラリ検索結果の出力は、必ずしも画面でなくてもよく、例えば、JSON(JavaScript(登録商標) Object Notation)等の一般的なAPI(Application Programming Interface)として提供してもよい。利用者120は、端末111に表示されたライブラリ検索結果画面1810により、適切なライブラリを把握して、使用するライブラリを選択することができる。端末111のライブラリ検索結果画面1810において、使用するライブラリが選択されると、選択されたライブラリの情報が計算機101に通知される(図1(5))。計算機101のCPU102は、端末111の入力データ(分析対象データ)を取得し(図1(7))、この入力データ1701に対して、通知されたライブラリにより構成されるデータ分析アプリケーション1703を用いてデータ分析を行い(図1(8))、分析結果を端末111に出力する(図1(9))。これにより、利用者120は、適切なライブラリで構成されるデータ分析アプリケーション1703を容易に構築でき、構築されたデータ分析アプリケーション1703によって入力データ1701のデータ分析を行うことができる。
次に、実施例1の詳細について説明する。
図2は、実施例1に係るデータ分析ライブラリマーケットプレイスシステムの全体構成図である。
マーケットプレイスシステム10は、1以上の端末111と、1以上の計算機(計算機101、計算機110)と、端末111と計算機(101等)とを通信可能に接続するネットワーク20とを含む。
計算機101は、ライブラリ検索装置の一例であり、データ分析アプリケーションを実行したり、データ分析アプリケーションのライブラリ(前処理ライブラリ、後処理ライブラリ)を検索したりする機能を有する。計算機101は、CPU(Central Processing Unit)102と、記憶デバイスの一例としてのメモリ103と、通信部104と、を備える。
通信部104は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク20を介して他の装置(例えば、計算機110、端末111等)と通信する。
CPU102は、メモリ103に格納されているプログラムに従って各種処理を実行する。
メモリ103は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU102で実行されるプログラムや、必要な情報を記憶する。本実施例では、メモリ103は、ライブラリ格納部105と、ライブラリ実行実績DB106とを記憶する。また、メモリ103は、CPU102により実行されることにより、統計プロファイル算出部107、ライブラリスコア算出部108、及びライブラリ実行部109のそれぞれを構成するプログラムが格納されている。
ライブラリ格納部105は、分析処理に利用する各種ライブラリを格納する。ライブラリには、例えば、分析処理のコアとなる処理を実行するコア処理ライブラリや、コア処理の前に入力データに対して前処理を行う前処理ライブラリや、コア処理後のデータに対して後処理を行う後処理ライブラリ等がある。
統計プロファイル算出部107は、分析処理の対象のデータに対する統計プロファイルを算出する処理を実行する。なお、統計プロファイル算出部107の処理の詳細については後述する。ライブラリスコア算出部108は、ライブラリについての処理対象のデータに対するデータ分析への利用の有効性を示すライブラリスコア(有効度)を特定する処理を行う。ライブラリスコア算出部108による処理の詳細について後述する。ライブラリ実行部109は、処理対象の入力データに対して、指定された1以上のライブラリにより構成されたデータ分析アプリケーションを実行し、分析結果を端末111に出力する。
計算機110は、計算機101と同じ構成の計算機である。なお、計算機101と、計算機110とのそれぞれでライブラリ実行実績DB106のデータを独立して管理してもよいし、計算機101と計算機110との間で適宜通信を行うことにより、ライブラリ実行実績DB106の情報が一致するようにしてもよい。
端末111は、検索実施者が計算機(計算機101、計算機110)に対する指示を入力したり、計算機によるデータ分析アプリケーションの実行結果や、ライブラリの検索結果を出力したり、検索結果に基づいてデータ分析アプリケーションを開発したりするための端末であり、CPU112と、メモリ113と、通信部114と、入力装置115と、表示装置116と、を備える。
通信部114は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク20を介して他の装置(例えば、計算機101、110等)と通信する。
CPU112は、メモリ113に格納されているプログラムに従って各種処理を実行する。
メモリ113は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU112で実行されるプログラムや、必要な情報を記憶する。本実施例では、メモリ113は、分析対象データ格納部116を記憶する。分析対象データ格納部116は、データ分析を行う対象となるデータ(入力データ:分析対象データ)を格納する。入力データは、例えば、特定の記号で区切った1つ以上のデータ列を保持するデータ列の集合であり、CSVファイルやデータベースのテーブルの形式としてもよい。入力データに含まれるデータ列は、特定の内容に関する1つ以上の数値や文字列をデータとして含んでおり、例えば、所定のデータ列名に対応付けられている。なお、データ列名は、同一の内容に関するものであれば、一意となっていることが好ましい。また、メモリ113は、CPU112に利用されることで、ライブラリ検索画面1801や、ライブラリ検索結果画面1810等を表示したり、画面に対する入力を受け付けたりするライブラリ検索インターフェース117が格納されている。
入力装置115は、例えば、マウス、キーボード等の入力装置であり、利用者からの入力を受け付ける。表示装置116は、例えば、液晶ディスプレイであり、各種画面を表示出力する。本実施例では、表示装置116には、ライブラリ検索画面1801や、ライブラリ検索結果画面1810が表示される。
図3は、実施例1に係るライブラリ実行実績データベースの構成図である。
ライブラリ実行実績DB106は、例えば、計算機101におけるデータ分析アプリケーションの実行毎における実績に関する情報(実行実績情報)をレコードとして格納する。ライブラリ実行実績DB106は、データ要求クエリを受け付け、データ要求クエリに対応するレコードの一部または全部の情報を出力する機能を有している。ライブラリ実行実績DB106のレコードは、後述する実績蓄積処理(図11参照)により追加される。ライブラリ実行実績DB106のレコードは、実績ID501と、分析種別502と、入力データ統計プロファイル503と、前処理ライブラリID504と、コア分析ライブラリID505と、後処理ライブラリID506と、評価値507と、実行時刻508とのフィールドを含む。
実績ID501には、1回の実績を一意に示すID(実績ID)が格納される。分析種別502には、データ分析を行った際の分析の目的(例えば、「重回帰分析」、「決定木」等)を表す名称が格納される。入力データ統計プロファイル503には、データ分析において入力されたデータ(過去分析データ)の統計プロファイル(過去分析データ統計プロファイル)が格納される。統計プロファイルの内容は、図4に示す入力データ統計プロファイルと同様である。なお、詳細については後述する。一つのレコードに入力データ統計プロファイル503を複数備えるようにしてもよい。例えば、入力データに、2つのデータ列a、bが含まれる場合には、データ列aに関する統計プロファイル用の入力データ統計プロファイル503と、データ列bに関する統計プロファイル用の入力データ統計プロファイル503と、データ列a、b間に関する統計プロファイル(相関関係、クラスタ数等)用の入力データ統計プロファイル503とを備えてもよい。前処理ライブラリID504には、データ分析アプリケーションにおける前処理を行ったライブラリのID(前処理ライブラリID)が格納される。コア分析ライブラリID505には、データ分析アプリケーションにおけるコア分析を行ったライブラリのID(コア分析ライブラリID)が格納される。後処理ライブラリID506には、データ分析アプリケーションにおける後処理を行ったライブラリのID(後処理ライブラリID)が格納される。評価値507には、データ分析アプリケーションによるデータ分析に対する評価値が格納される。評価値は、例えば、データ分析を実行した利用者により設定されるようにしてもよい。実行時刻508には、データ分析アプリケーションによるデータ分析が実行された時刻が格納される。
図4は、実施例1に係る入力データ統計プロファイルの構成図である。
入力データ統計プロファイル401は、統計プロファイル算出部107によりメモリ103に一時的に作成される情報(分析対象データ統計プロファイルに相当)である。入力データ統計プロファイル401は、1以上のレコードを格納する。入力データ統計プロファイル401のレコードは、データ列名402、第1統計値403、第2統計値404のフィールドを有する。なお、レコードに統計値のフィールドを3以上備えるようにしてもよい。データ列名402には、入力データに含まれる1以上のデータ列を特定する文字列型の名称が格納される。なお、データ列の名称と、そのIDとを対応付けた別テーブルを用意し、データ列名402にIDを格納するようにしてもよい。この場合には、別テーブルを参照することにより、IDに対応するデータ列の名称を取得することができる。第1統計値403には、統計値種類403Aと、結果403Bとのフィールドが含まれる。統計値種類403Aには、統計値の種類が格納される。結果403Bには、レコードにおけるデータ列名402のデータ列名のデータ列についての統計値種類の統計値が格納される。第2統計値404には、統計値種類404Aと、結果404Bとのフィールドが含まれる。統計値種類404Aには、統計値種類403Aと異なる統計値の種類が格納される。結果404Bには、レコードにおけるデータ列名402のデータ列名のデータ列についての統計値種類の統計値が格納される。
第1統計値403と、第2統計値404には、統計プロファイル算出部107による統計処理の結果が格納される。例えば、入力データにデータ列名「在庫数」に対応するデータ列が存在し、その数値として、8、12、10、・・・が含まれている場合には、データ列名402には、データ列を一意に示す「在庫数」が格納される。また、この場合には、統計プロファイル算出部107が、例えば、「在庫数」に対応するデータ列に含まれる数値に対して、平均値を算出する統計処理と、中央値を計算する統計処理とを実行して、統計値種類403A、404Aには、それらの統計処理を意味する「平均値」、「中央値」という文字列を格納し、結果403B,404Bには、それらの統計処理を施した結果としての統計値、すなわち、結果403Bには、平均値計算の結果である「10」を格納し、結果404Bには、中央値計算の結果である「15」を格納する。
また、例えば、入力データにデータ列名「在庫数、出荷数」に対応するデータ列が存在する場合には、データ列名402には、データ列を一意に示す「在庫数、出荷数」が格納される。また、この場合には、統計プロファイル算出部107が、「在庫数、出荷数」に対応するデータ列に含まれる数値に対して、統計処理として、例えば、2つのデータ列における相関係数を計算し、その結果として「0.83」を得て、統計値種類403Aに「相関係数」を格納し、結果403Bに、「0.83」を格納し、また、これらのデータについてのクラスタ数を検出して、その結果として「3」が得て、統計値種類404Aに「クラスタ数」を格納し、結果404Bに、「3」を格納する。
なお、統計処理を行う統計値種類は、上記に限られず、入力データの統計的特徴を示す種類であれば、任意の種類としてもよい。
図5は、実施例1に係るライブラリ実行実績DBにおける統計プロファイル群と、入力データの統計プロファイルとに基づいて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さ(類似性)を判定する方法を説明する図である。図5は、データ列aの平均値(第1統計値)と中央値(第2統計値)という2つの統計値を2軸に取った散布図に対して、ライブラリ実行実績DB106の複数の実績の統計プロファイルと、入力データの統計プロファイルとをプロットしたものである。
図5における点601は、入力データ統計プロファイルを表す。また、図5における他の点(白丸、黒丸)は、ライブラリ実行実績DB106の複数の実績の統計プロファイルを表す。また、エリア602x、602y、602zは、それぞれライブラリx、ライブラリy、ライブラリzのライブラリを前処理に適用した実績の統計プロファイルに対応する点が存在するエリアを表す。また、座標603x、603y、603zは、それぞれライブラリx、ライブラリy、ライブラリzのそれぞれを前処理に適用した実績の統計プロファイルの統計値の重心を表す。
ライブラリスコア算出部108による入力データ統計プロファイル(点601)に近い統計プロファイルに対して適用されたライブラリを判定する方法の一例としては、入力データ統計プロファイル(点601)が、どのライブラリが適用された統計プロファイル群のエリアに含まれるか否かを判定することにより実現できる。例えば、図5の例では、点601が、ライブラリzを適用した統計プロファイル群のエリア602zに含まれ、他のライブラリを適用した統計プロファイル群のエリアに含まれないことから、ライブラリスコア算出部108は、入力データ統計プロファイルに近い統計プロファイル群に適用されているのは、ライブラリzであると判定する。この場合には、ライブラリスコア算出部108は、ライブラリzのスコア(ライブラリスコア)を所定値(例えば10)だけ加算することによりスコアを算出する処理を行う。
ライブラリスコア算出部108によりライブラリのスコアを算出する方法としては、例えば、入力データ統計プロファイル(点601)に対して、各エリアの重心からの距離を計算し、距離が最も近い重心がエリア602zの座標603zである場合には、座標603zを重心とするライブラリzのスコアを所定値(例えば10)だけ加算することによりスコアを算出するようにしてもよい。また、ライブラリスコア算出部108は、入力データ統計プロファイル(点601)と各重心との距離の逆数を算出して、その算出された値を各ライブラリのスコア(ライブラリスコア)としてもよく、このようにすると、入力データ統計プロファイル(点601)により重心が近いエリアに属する統計プロファイルに適用されているライブラリに対して高スコアをつけることができる。
また、ライブラリスコア算出部108は、各エリアの重心を統計値の単純平均ではなく、以下の式(1)に示すような加重平均により算出された重心GC(x、y)として、ライブラリスコアを算出するようにしてもよい。
ここで、xは、エリアに属する各統計プロファイルの第1統計値を示し、yは、各統計プロファイルの第2統計値を示し、αは、各ライブラリに対する評価値(評価値507の値)を示し、nは、エリアに属する統計プロファイルの総数を示している。
なお、上記例では、ライブラリスコア算出部108が、データ列aという単一データ列の2種類の統計値を用いて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定する計算を説明したが、複数データ列に対する統計プロファイルを使って多次元(3次元以上)でのクラスタ分析を行って、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定するようにしてもよい。なお、同一の内容を表すデータに対して、実績のデータ列名(例えば、データ列a)と、入力データのデータ列名とが異なっている場合(例えば、一方が英語表記で、他方が日本語表記となっている場合等)があるが、これに対しては、例えば、同一の内容を表すデータに対するデータ列名を同一にするために、同一の内容のデータのデータ列名を同一のデータ列名に変換するための変換ルールをメモリ103に格納しておき、その変換ルールを用いてデータ列名を変換し、変換後のデータ列名に対応する統計プロファイルを用いて、入力データ統計プロファイル(点601)に近い統計プロファイルに対して適用されたライブラリを判定する処理を行うようにしてもよい。
図6は、実施例1に係るライブラリ検索結果の構成図である。
ライブラリ検索結果700は、ライブラリスコア算出部108によるスコア計算の結果の出力形式の一例である。後述するライブラリ検索結果画面は、ライブラリ検索結果700に基づいて作成される。
ライブラリ検索結果700は、ライブラリスコア算出部108により抽出されたライブラリごとに、ライブラリID701と、ライブラリスコア702とのフィールドを含むレコードを格納する。ライブラリID701には、ライブラリIDが格納される。ライブラリスコア702には、レコードに対応するライブラリのライブラリスコアが格納される。なお、ライブラリスコア算出部108は、所定の値以上のライブラリスコアが算出されたライブラリのみを抽出してライブラリ検索結果700に格納するようにしてもよいし、ライブラリスコアが上位の所定数のライブラリを抽出して、このライブラリに対応するレコードのみをライブラリ検索結果700に格納するようにしてもよい。本実施形態では、ライブラリ検索結果700においては、ライブラリスコアが高いライブラリに対応するレコードが上位(前の順番)となるようにソートされている。
例えば、ライブラリ検索結果700の1行目のレコードは、ライブラリIDが「上限値フィルタ」であるライブラリは、ライブラリスコアが「10」であることを示し、2行目のレコードは、ライブラリIDが「部品x」であるライブラリは、ライブラリスコアが「0」であることを示し、「上限値フィルタ」のライブラリの方が、入力データの分析処理において、有効性が高いことを示している。
次に、端末111に表示される画面について説明する。
図7は、実施例1に係るライブラリ検索画面の一例を示す図である。
ライブラリ検索画面1801は、分析目的選択領域1802と、入力データ指定領域1803と、アップロードボタン1804と、ライブラリ検索指定領域1805とを含む。
分析目的選択領域1802は、データ分析の目的(分析目的)を選択入力する領域である。分析目的としては、例えば、重回帰分析、クラスタ分析、等がある。入力データ指定領域1803は、データ分析を行うデータ(入力データ:分析対象データ)のパスを入力する領域である。アップロードボタン1804は、入力データ指定領域1803に入力されたパスのデータを計算機101にアップロードさせるためのボタンである。アップロードボタン1804が押下されると、端末111のCPU112は、入力データ指定領域1803に入力されたパスの入力データを計算機101にアップロードすると共に、分析目的選択領域1802で選択されている分析目的を計算機101に送信する。ライブラリ検索指定領域1805は、ライブラリを検索するための検索ワードの入力と、検索の指示を受け付ける領域である。ライブラリ検索指定領域1805に検索ワードが入力されて、検索指示がされると、検索ワードが計算機101に送信され、計算機101からは検索ワードによるライブラリの検索結果が返される。
図8は、実施例1に係るライブラリ検索結果画面の一例を示す図である。
ライブラリ検索結果画面1810は、入力データプロファイル結果表示領域1811と、1以上の検索結果表示領域1812とを含む。入力データプロファイル結果表示領域1811には、計算機101により算出された入力データの統計プロファイルが表示される。統計プロファイルとしては、例えば、図4に示す情報がある。
検索結果表示領域1812には、計算機101において検索されたライブラリに関する情報が表示される。ライブラリに関する情報としては、ライブラリの検索順位(ライブラリスコアの順位)、ライブラリ名、ライブラリに対して算出されたレコメンドスコア、ライブラリの仕様、ライブラリのソースファイルのロケーション等がある。レコメンドスコアとしては、ライブラリスコアそのままの値であってもよいし、ライブラリスコアに対して所定の処理を行った値としてもよい。また、検索結果表示領域1812に、表示されたライブラリを選択してデータ分析アプリケーションを実装する指示を行う選択ボタンを表示させるようにしてもよい。この選択ボタンが表示された場合には、端末111NOCPU113は、選択されたライブラリの情報を計算機101に通知し、計算機101は、通知を受けたライブラリによりデータ分析アプリケーションを実装して、ライブラリ検索時に指定した入力データ(実行対象分析データ)に対してデータ分析を実行することとなる。検索結果表示領域1812は、例えば、レコメンドスコアが高いライブラリの情報から上から順に並んで配置されて表示されてもよい。また、表示される検索結果表示領域1812の数は、所定数以内としてもよい。ここで、ライブラリスコアに基づいてライブラリを抽出して抽出されたライブラリの検索結果表示領域1812を表示させたり、ライブラリスコアの順番で検索結果表示領域1812を表示させたりすることが、有効性が高いライブラリの情報を優先して出力することの一例である。
次に、実施例1に係るマーケットプレイスシステム10における処理動作について説明する。
まず、マーケットプレイスシステム10の計算機101における全体処理について説明する。
図9は、実施例1に係る全体処理のフローチャートである。図10は、実施例1に係る全体処理のシーケンス図である。
端末111において、利用者120より、図7に示すライブラリ検索画面1801に対してデータ分析の対象とする入力データのパスと、分析種別が入力されると、端末111から入力データのパスに対応する入力データ及び分析種別が計算機101に送信される(S201)。
入力データ及び分析種別が計算機101に送信されると、計算機101の通信部104が、入力データ及び分析種別を受信し(S201、S101)、受信した入力データ及び分析種別を統計プロファイル算出部107に渡す(S202)。
統計プロファイル算出部107は、受信した入力データに対する統計プロファイルを算出し(S102、S203)、算出した統計プロファイルと、受信した分析種別をライブラリスコア算出部108に渡す(S204)。
ライブラリスコア算出部108は、ライブラリ実行実績DB106から分析種別が合致するライブラリ実行実績(レコードの全体又は一部)を取得する(S103、S205)。具体的には、ライブラリスコア算出部108は、ライブラリ実行実績DB106に対して、分析種別が合致するライブラリ実行実績を取得するためのクエリを発行し、それに応じたレコードをライブラリ実行実績DB106から受け取る。
次いで、ライブラリスコア算出部108は、統計プロファイルと、ライブラリ実行実績における統計プロファイルとに基づいて、ライブラリスコアを算出する算出処理を実行することにより、各ライブラリのスコアを算出する(S104、S206)。
次いで、ライブラリスコア算出部108は、算出したライブラリのスコアを含むライブラリ検索結果700を作成し、ライブラリ検索結果700に基づいて、ライブラリ検索結果画面1810用のデータを作成して通信部104に渡し(S207)、通信部104は、ライブラリ検索結果画面1810用のデータを端末111に送信することにより、端末111に、図8に示すライブラリ検索結果画面1810を表示させる(S303、S105)。
次に、実施例1に係る実績蓄積処理について説明する。
図11は、実施例1に係る実績蓄積処理のフローチャートである。
まず、ライブラリ実行部109は、データ分析の対象の入力データ(実行対象分析データ)と、分析種別と、データ分析に使用するライブラリのライブラリIDとを受信する(S301)。なお、ライブラリ実行部109は、受信した入力データに対して、受信したライブラリIDのライブラリに適用して分析処理を行ってもよい。次いで、統計プロファイル算出部107が、入力データに対する統計プロファイル(入力データ統計プロファイル:実行対象分析データ統計プロファイル)を算出する(S302)。次いで、ライブラリ実行部109は、ライブラリIDと、分析種別と、統計プロファイル算出部107が算出した入力データ統計プロファイルとをライブラリ実行実績DB106に格納する(S303)。なお、S303において、ライブラリによるデータ分析の結果に対する評価値を利用者から受信し、或いは、ライブラリ実行部109が実行結果に基づいて評価値を決定して、ライブラリ実行実績DB106のレコードの評価値507に格納するようにしてもよい。
これにより、実際に使用したライブラリと、そのライブラリを適用した入力データの統計プロファイル(実行対象分析データ統計プロファイル)を実績情報としてライブラリ実行実績DB106に登録することができる。
以上説明した実施例1では、入力データの統計値を1つ以上含む統計プロファイルを算出し、入力データに対する統計プロファイルと、ライブラリごとに集計された実績の統計プロファイルとの近さに基づいて、入力データと、ライブラリを適用したデータとの近さをライブラリスコアとして定量化することができ、例えば、そのライブラリスコアをライブラリ検索結果画面1810に表示出力することができる。このライブラリスコアは、データ分布が似ている入力データに適用されたライブラリであることを示すことから、スコアの高いライブラリを使用することで、より高精度なデータ分析アプリケーションの実装を容易に行うことができる。
次に、実施例2について説明する。
実施例2は、ライブラリスコアを算出する算出処理において、入力データに関する業種及び業務(業種業務)と、ライブラリを適用した分析データの業種及び業務(業種業務)との近さを加味するようにした例である。
ライブラリ実行実績DB106に含まれる実績の中には、多種多様な業種及び業務の実績が含まれている場合がある。例えば、コンビニ業界における顧客売上向上施策立案業務におけるデータ分析時のライブラリの実行実績が含まれていたり、製造業企業の製造拠点に備蓄される部品在庫削減施策立案業務におけるデータ分析時のライブラリの実行実績が含まれていたりする場合がある。これらの異なる業種及び業務の実績の情報がライブラリ実行実績DB106に同居しうる場合があるのは、これらの業務に対するデータ分析アプリケーションとして、同一の傾向分析ライブラリをコア分析ライブラリとして活用する場合も考えられ、顧客売上向上施策の業務に使用した前処理ライブラリを、別の業務である部品在庫削減施策の業務に適用することもあり得るからである。
しかしながら、一般には、全く異なる業務でのライブラリの適用実績については、信頼性が低くなると考えられる。
そこで、実施例2においては、実績が近い業種及び業務であるか否かを判定し、その判定結果をライブラリスコアの特定に利用するようにし、ライブラリ実行実績DBには、多様な業種の多様な業務の実績を蓄積しつつ、ライブラリの検索時には、実施例1で使用した統計プロファイルに加えて、業種及び業務の近さをも考慮したライブラリスコアを算出することにより、より信用度の高いライブラリスコアを算出するようにしている。
実施例2においては、ライブラリ実行実績DB106の各レコードに対して、業種業務識別子を格納するフィールドをさらに加えるようにしている。ここで、業種業務識別子とは、データ分析アプリケーション(ライブラリ)を適用するデータに関わる企業等の業種(実行業種)、及び、データ分析を適用する業務(実行業務)を特定可能な情報であり、例えば、企業の業種がコンビニ(コンビニエンススト)であり、業務が「売上向上」であれば、業種業務識別子は、「コンビニ/売上向上」となる。
図12は、実施例2に係る業種業務近傍スコア表の構成図である。
業種業務近傍スコア表1000は、例えば、メモリ103に格納される表であり、複数の業種業務識別子の内の2つの業種業務識別子に対応する業種及び業務間の近さ(類似性)を示すスコア(業種業務近傍スコア、類似度情報)を各レコードとして格納する。
業種業務近傍スコア表1000のレコードは、第1適用業種業務識別子1001と、第2適用業種業務識別子1002と、業種業務近傍スコア1003とのフィールドを備える。
第1適用業種業務識別子1001には、一の業種業務識別子が格納される。第2適用業種業務識別子1002には、他の業種業務識別子が格納される。業種業務近傍スコア1003には、第1適用業務種別識別子1001に格納されている業種業務識別子に対応する業種及び業務と、第2適用業種業務識別子1002に格納されている業種種業務識別子に対応する業種及び業務との間の近さを示す業種業務近傍スコアが格納される。
例えば、業種業務近傍スコア表1000の1行目は、「コンビニ/売上向上」と、「製造業/在庫削減」との間の業種業務近傍スコアは、「20」であることを示している。なお、本実施例では、数値が高いほど業種及び業務が近いことを表している。
図13は、実施例2に係るライブラリスコア計算係数表の構成図である。
ライブラリスコア計算係数表1100は、例えば、メモリ103に格納される表であり、後述するライブラリスコアの算出に使用する式(2)の1つ以上の係数のそれぞれに対応するレコードを含む。ライブラリスコア計算係数表1100のレコードは、係数名1101と、係数値1102とのフィールドを含む。係数名1101には、計算に使用する係数の名称が格納される。係数値1102には、レコードに対応する係数名の係数の値が格納される。図13に示すライブラリスコア計算係数表1100は、係数名「α」の係数値は「0.2」であり、係数名「β」の係数値は「0.5」であることを示している。
図14は、実施例2に係る業種業務近傍スコアと、ライブラリスコアを算出する方法を説明する図である。
図14に示す散布図には、実施例1に係る図5の散布図における2つの軸に加えて、適用業種業務識別子に関する軸が新たに加えられている。図14においては、ライブラリ実行実績DB106の内の所定の分析種別(例えば、「傾向分析」)である複数の実行実績の統計プロファイルと、入力データの統計プロファイルとがプロットされている。
図14の散布図における適用業種業務識別子としては、「製造業/在庫削減」と、「コンビニ/売上向上」と、「ファミレス/売上向上」との3つがある。ここで、「コンビニ/売上向上」と「ファミレス/売上向上」と、「製造業/在庫削減」とのそれぞれの業種業務の近さ(類似性)は、種業務近傍スコア表1000に示されたものとなっている。すなわち、「コンビニ/売上向上」と「ファミレス/売上向上」と、は近い(類似性が高い)業種業務であり、「製造業/在庫削減」と他の業種業務とは、遠い(類似性が低い)業種業務である。
ここで、ライブラリスコア算出部108による業種業務近傍スコアを利用したライブラリスコアの計算方法の一例を示す。
ライブラリスコア算出部108は、入力データの業種業務識別子(例えば、端末111の利用者120から入力される業種業務識別子(利用者業務及び目的業務))と、ライブラリ実行実績DB106のライブラリの実行実績に対応する業種業務識別子との間における業種業務近傍スコアを業種業務近傍スコア表1000から取得する。例えば、「製造業/在庫削減」と、「コンビニ/売上向上」との間の業種業務近傍スコアとして、「0」が取得され、「コンビニ/売上向上」と、「ファミレス/売上向上」との間の業種業務近傍スコアとして、「20」が取得される。
次いで、ライブラリスコア算出部108は、実施例1で特定されたライブラリスコアをSとし、取得した業種業務近傍スコアをSとすると、ライブラリスコアSを、式(2)に示す計算式により算出する。
S=αS+βS ・・・(2)
ここで、α、βは、図13に示すライブラリスコア計算係数表1100に記憶されている係数である。
図13に示す係数を用いた場合の式(2)について説明すると、係数「α」は統計プロファイルの近さSに対する線形係数であり、係数「β」は、業種業務近傍スコアに対する線形係数であり、αの値が0.2で、βの値が0.5である場合には、統計プロファイルの近さSより業種近傍スコアSのほうがライブラリスコアに与える影響が大きいことを意味する。なお、係数値1102の値を調整することにより、ライブラリスコアの計算結果を調整することができる。
なお、業種業務近傍スコアを利用したライブラリスコアの計算式は、上記した線形和を用いた式(2)に限らず、二乗和平方根や二乗和など、各項の大きさが最終的なライブラリスコアの大きさに対し正の相関を持つような式であれは、どのような式でもよい。
なお、図14に示す図においては、適用業種業務識別子を1つの数値軸として表現した例を示しているが、本発明はこれに限られず、適用業種業務識別子を複数の数値軸とするようにしてもよい。
実施例2に係るライブラリスコア算出部108により算出されるライブラリスコアは、統計プロファイルに基づくスコアが大きく、かつ業種業務近傍スコアが大きいライブラリほどその値が大きくなる。このライブラリスコアに基づいて、ライブラリを表示することにより、業種業務の近さも考慮したライブラリスコアを計算し、業種業務が近い実績を持つライブラリほど上位に表示されるようになり、ライブラリの検索精度を向上することができる。
次に、実施例3について説明する。
実施例1及び実施例2においては、ライブラリ実行実績DB106に含まれる実行実績に基づいて、ライブラリスコアを特定するようにしているので、ライブラリ実行実績DB106に含まれる実行実績の数(情報量:具体的には、レコード数)が少ない場合には、実施例1及び実施例2における計算式等がうまく機能しない場合が起こり得る。そこで、実施例3では、ライブラリ実行実績DB106の実行実績の数が少ない場合であっても支障なく適切なライブラリを選択することのできる技術を提供する。具体的には、実施例3では、データ分析のコアとなるコア分析ライブラリを適用可能な条件(ルール)を記述しておき、そのルールに従ってライブラリを選定する。ここで、ルールは、熟練のデータサイエンティストが作成しておくことが好ましいい。コア分析ライブラリを適用可能な条件としては、例えば、入力データが満たすべき条件と、出力データが満たすべき条件との少なくとも一方の条件に関するルールである。このルールはメモリ103に格納される。
実施例3においては、ライブラリスコア算出部108は、単一のライブラリによってコア分析ライブラリの条件を満たすことができない場合には、複数のライブラリを重ねて使うことによって条件を満たせるよう再帰的にライブラリを検索する。例えば、再帰的に前処理ライブラリを検索し、前処理ライブラリによって出力されるデータの統計プロファイルを算出し、そのデータがコア分析ライブラリの入力データが満たすべき条件を満たすか否かを判定するような繰り返し処理により、使用したライブラリのリストを作成し、ライブラリのリストを出力する。
実施例3に係る計算機101のメモリ103は、コア分析ライブラリ対応表1300と、コア分析ライブラリ適用ルール表1400と、ライブラリ効果DB1500とをさらに格納する。
図15は、実施例3に係るコア分析ライブラリ対応表の構成図である。
コア分析ライブラリ対応表1300は、各分析種別として使用可能なコア分析ライブラリを管理する表であり、分析種別1301と、コア分析ライブラリID1302とのフィールドを含むレコードを管理する。分析種別1301には、分析種別が格納される。コア分析ライブラリID1302には、レコードに対応する分析種別のデータ分析に適用可能なコア分析ライブラリのID(コア分析ライブラリID)が格納される。
例えば、図15のコア分析ライブラリ対応表1300は、分析種別「傾向分析」に対して、コア分析ライブラリ「R重回帰分析ライブラリ」と「Pythonクラスタ分析ライブラリ」とが使用できることを示している。
図16は、実施例3に係るコア分析ライブラリ適用ルール表の構成図である。
コア分析ライブラリ適用ルール表1400は、コア分析ライブラリを適用するために入力データおよび出力データが満たすべき条件(ルール)を保持する表である。コア分析ライブラリ適用ルール表1400は、コア分析ライブラリID1401と、入力データ条件1402と、出力データ条件1403とのフィールドを有するレコードを格納する。
コア分析ライブラリID1401には、コア分析ライブラリのIDが格納される。入力データ条件1402には、レコードに対応するコア分析ライブラリに入力されるデータの条件(入力データ条件)が格納される。出力データ条件1403には、レコードに対応するコア分析ライブラリを実行した後において必要なデータの条件(出力データ条件)が格納される。
例えば、図16に示す例では、コア分析ライブラリIDが「R重回帰分析」であるライブラリに対する入力データ条件は、「|[平均値]−[中央値]|<[標準偏差]」であり、出力データ条件は、「重複行数=0」である。この場合は、コア分析ライブラリ「R重回帰分析」をデータ分析アプリケーションに適用するために必要な条件として、入力データの統計プロファイルに対して、「平均値」と「中央値」との差の絶対値が「標準偏差」よりも小さくなければならない」という条件があり、出力データの統計プロファイルに対して、「重複行数が0でなければならない」という条件があることを意味している。
図17は、実施例3に係るライブラリ効果データベースの構成図である。
ライブラリ効果データベース1500は、ライブラリ(前処理ライブラリ、後処理ライブラリ等)に対して入力されるデータの統計プロファイルと、そのライブラリから出力されるデータの統計プロファイルとを管理する。ライブラリ効果データベース1500は、各ライブラリごとに、ライブラリID1501と、入力データ統計プロファイル1502と、出力データ統計プロファイル1503と、予想効果式1504とのフィールドを含むレコードを格納する。
ライブラリID1501には、ライブラリのIDが格納される。入力データ統計プロファイル1502には、レコードに対応するライブラリに入力されたデータの統計プロファイルが格納される。出力データ統計プロファイル1503には、レコードに対応するライブラリから出力されたデータの統計プロファイルが格納される。予想効果式1504には、レコードに対応するライブラリが入力データの統計値に与える効果の式(影響情報)、すなわち、入力データと出力データとの統計値の差分の式が格納される。
ライブラリ効果データベース1500のレコードによると、ライブラリ「上限フィルタ」に入力されたデータの統計プロファイルは、平均値が10であり、中央値が15であり、ライブラリから出力されたデータの統計プロファイルは、平均値が10であり、中央値が12であり、予想効果式は、「中央値(input)―中央値(output)=3」であること、すなわち、入力の中央値から出力の中央値を引くと「3」となることがわかる。予想効果式は、入力されたデータの統計プロファイルと、出力されたデータの統計プロファイルとを参照することにより得ることができる。この予想効果式によると、このライブラリに入力データを入れると、出力されるデータの統計プロファイルがどのようになるかを推定することができる。
次に、実施例3に係るマーケットプレイスシステム10における処理動作について説明する。
まず、マーケットプレイスシステム10の計算機101における全体処理について説明する。
図18は、実施例3に係る全体処理のフローチャートである。なお、実施例1に係る図9に示す全体処理のフローチャートと同様な部分には同一の符号を付し、重複する説明を省略する。
ステップS401において、統計プロファイル算出部107は、ライブラリ実行実績DB106のレコード数が所定数(例えば、100)以上であるか否かを判定する(S401)。
この結果、ライブラリ実行実績DB106のレコード数が所定数以上である場合(S401:YES)には、ライブラリ実行実績DB106に十分な蓄積量の実行実績が格納されていることを意味しているので、統計プロファイル算出部107は、処理をステップS103に進める。
一方、ライブラリ実行実績DB106のレコード数が所定数よりも少ない場合(S401:NO)には、ライブラリ実行実績DB106に十分な蓄積量の実行実績が格納されていないことを意味しているので、統計プロファイル算出部107は、ルール判定処理(図19参照)を実行する(S402)。
図19は、実施例3に係るルール判定処理のフローチャートである。
ルール判定処理は、図18のステップS402に対応する処理である。
まず、ライブラリスコア算出部108は、コアライブラリ対応表1300から分析種別に対応するコア分析ライブラリを取得し、コア分析ライブラリ適用ルール表1400から取得したコア分析ライブラリに対応する入力データ条件を取得する(S501)。なお、分析種別に対応するコア分析ライブラリが複数ある場合には、それらすべてを取得し、それらに対応する入力データ条件を取得するようにしてもよい。
次いで、ライブラリスコア算出部108は、ステップS102で算出した入力データに対する統計プロファイルが入力データ条件の条件式を満たすか否かを判定する(S502)。
この結果、条件式を満たす場合(S503:YES)には、ライブラリスコア算出部108は、その時点のライブラリの候補のリスト(ライブラリ候補リスト)をライブラリ検索結果画面1810に表示させるデータを作成し、通信部104が作成されたデータを端末111に送信することにより、端末111にライブラリ候補リストが含まれるライブラリ検索結果画面1810を表示させる(S505)。
一方、条件式を満たさない場合(S503:NO)には、ライブラリスコア算出部108は、適用可能なライブラリを特定し、ライブラリ効果DB1500を参照して、特定したライブラリを実行することによる予想効果式を取得し、入力データの統計プロファイルに対して予想効果式を適用して、入力データに対して特定したライブラリを適用した場合に得られる出力データとして予想される統計プロファイル(出力予定統計プロファイル)を生成し、このライブラリをライブラリ候補リストに追加し、処理をステップS502に進める。次のステップS502においては、出力予定統計プロファイルが、入力データの統計プロファイルに置き換えられて同様な処理が行われる。
ステップS502〜S504の処理によると、入力データの統計プロファイルに対して適用される1以上のライブラリがライブラリ候補リストに追加されることとなり、ステップS503を経てステップS505で出力されるライブラリ候補リストには、入力データの統計プロファイルをコア分析ライブラリの入力データ条件を満たすように影響を与える1以上のライブラリが含まれることとなる。
次に、図19のルール判定処理について、例えば、コア分析ライブラリ対応表1300、コア分析ライブラリ適用ルール表1400、及びライブラリ効果DB1500が図15から図17に示す内容である場合を例に説明する。
なお、ステップS101において、分析種別「傾向分析」が受信としてされ、ステップS102で、入力データの統計プロファイルが「平均値:10、中央値:17、標準偏差:5」であると算出されたものとする。
ステップS501では、ライブラリスコア算出部108は、「傾向分析」に対応するコア分析ライブラリとして、「R重回帰分析ライブラリ」と、「Pythonクラスタ分析ライブラリ」とを特定する。この場合には、ライブラリ格納部105には、傾向分析のためのコア分析ライブラリとして、これら2種類のライブラリが保持されていることを意味している。
次に、ライブラリスコア算出部108は、コア分析ライブラリ適用ルール表1400を参照して、例えば、「R重回帰分析ライブラリ」に対する入力データ条件に関する条件として、「|[平均値]−[中央値]|<[標準偏差]」を取得する。次いで、ステップS502において、ライブラリスコア算出部108は、この条件式に入力データの統計プロファイルを当てはめることにより、「|10−17|<5」を得て、統計プロファイルは条件式を満たしていない(条件式が偽)と判定する。この判定結果は、入力データの統計プロファイルは、中央値が平均値に対し相対的に大きく、条件式を満たしていないことを意味している。
この結果、処理はステップS504に進み、必要な前処理ライブラリを検索する処理が行われることとなる。
ステップS504では、ライブラリスコア算出部108は、ライブラリ効果DB1500から「上限フィルタ」と予想効果式「中央値(input)−中央値(output)=3」を取得する。このライブラリ「上限フィルタ」は、データの中央値を下げる役割を果たすと予想されることを意味している。ライブラリスコア算出部108は、取得した「上限フィルタ」を、ライブラリ候補リストに追加する。なお、この処理ステップを実行する毎に初期の評価値(最大の評価値)から評価値を減算していくことにより、ライブラリ候補リストのライブラリのデータ分析における評価値を決定するようにしてもよい。
ライブラリスコア算出部108は、この予想効果式に対して、入力データの統計プロファイルを入力することで、ライブラリを適用した場合における予想値(ここでは、出力データの中央値の予想値が17−3=14となることを把握する。
次に、ステップS502において、ライブラリスコア算出部108は、入力データに対してステップS504で取得したライブラリを適用して得られる出力データの統計プロファイルを条件式に当てはめることにより、「|10−14|<5」を得て、統計プロファイルが条件式を満たしている(条件式が真)と判定する。
この結果、処理がステップS505に進み、ライブラリスコア算出部108は、この時点の「上限フィルタ」を含むライブラリ候補リストをライブラリ検索結果画面1810に表示させるデータを作成し、通信部104が作成されたデータを端末111に送信する。これにより、端末111には、「上限フィルタ」が候補のライブラリとしてライブラリ検索結果画面1810に表示される。なお、上記同様な処理を、「Pythonクラスタ分析ライブラリ」を対象に実行してもよい。
また、上記ルール判定処理においては、前処理ライブラリの候補を検索する例を示していたが、併せて後処理ライブラリの候補を検索するようにしてもよい。例えば、ライブラリスコア算出部108は、コアライブラリ対応表1300から受信した分析種別に対応するコア分析ライブラリを取得し、コア分析ライブラリ適用ルール表1400から取得したコア分析ライブラリに対応する出力データ条件を取得し、ライブラリ効果DB1500から出力データ条件に合致する予想効果式を有するライブラリを特定し、このライブラリを後処理ライブラリの候補として、ライブラリ候補リストに追加するようにしてもよい。具体的には、例えば、コア分析ライブラリがR重回帰分析である場合には、ライブラリスコア算出部108は、図16のコア分析ライブラリ適用ルール表1400のR重回帰分析に対応するレコードの出力データ条件1403の条件(重複行数=0)を取得する。次いで、ライブラリスコア算出部108は、ライブラリ効果DB1500を参照して、出力データの統計プロファイルを、出力データ条件を満たすようにすることのできるライブラリ(この例では、重複排除フィルタ)を検索して、検索して得られたライブラリを後処理ライブラリの候補としてライブラリ候補リストに含めるようにしてもよい。
実施例3によると、ライブラリ実行実績DBに少数の実績しかない場合であっても、データ分析に適切なライブラリを利用者に対して提供することができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施例1においては、入力データ統計プロファイルと、ライブラリを適用した過去の入力データの統計プロファイル群の重心との距離に基づいて、ライブラリスコアを算出するようにしていたが、本発明はこれに限られず、例えば、計算機101に、入力データの統計プロファイルを入力として、ライブラリスコアを算出するように機械学習(例えば、Q学習)をさせた機能部を備えるようにし、この機能部に分析対象の入力データの統計プロファイルを入力させてライブラリスコアを算出させるようにしてもよい。
また、上記実施例3では、ライブラリ実行実績DBに少数の実績しかない場合に、ルール判定処理を行って、候補のライブラリを検出するようにしていたが、本発明はこれに限られず、ライブラリ実行実績DBに多くの実績がある場合においても、ルール判定処理を行って、候補のライブラリを検出するようにしてもよい。また、利用者からの指示に従って、ルール判定処理を行って、候補のライブラリを検出するようにしてもよい。このようにすると、ライブラリ実行実績による観点とは別の観点において適切なライブラリの候補を検出することができる。
また、上記実施例において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施例におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
10…マーケットプレイスシステム、101,110…計算機、102…CPU、103…メモリ、104…通信部、105…ライブラリ格納部、106…ライブラリ実行実績DB、107…統計プロファイル算出部、108…ライブラリスコア算出部、109…ライブラリ実行部、111…端末

Claims (15)

  1. データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置であって、
    情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備え、
    前記記憶デバイスは、
    過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
    前記プロセッサ部は、
    データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
    前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
    前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して出力する
    ライブラリ検索装置。
  2. 前記実行実績情報は、前記ライブラリによりデータ分析した分析種別の情報をさらに含み、
    前記プロセッサ部は、
    利用者からデータ分析の分析種別の指定を受け付け、
    前記実行実績情報から、指定を受け付けた前記分析種別に対応するライブラリの実行実績情報を抽出し、抽出された実行実績情報に対応するライブラリについて、前記分析対象データのデータ分析への利用の有効性を示す有効度を特定する
    請求項1に記載のライブラリ検索装置。
  3. 前記プロセッサ部は、
    同一のライブラリにより分析を行った複数の過去分析データの過去分析データ統計プロファイルの集合の重心位置と、前記分析対象データ統計プロファイルの位置との距離に基づいて、前記有効度を特定する
    請求項1又は請求項2に記載のライブラリ検索装置。
  4. 前記実行実績情報は、前記ライブラリによるデータ分析の実行における評価に関する評価値をさらに含み、
    前記プロセッサ部は、
    前記有効度の特定に、前記評価値を利用する
    請求項2に記載のライブラリ検索装置。
  5. 前記実行実績情報は、前記ライブラリによりデータ分析を行った利用者の業種である実行業種と、このデータ分析を行った業務である実行業務とをさらに含み、
    前記プロセッサ部は、
    前記データ分析を行う利用者の業種である利用者業種と、分析を行う目的の業務である目的業務との指定を受け付け、
    前記ライブラリについての前記分析対象データのデータ分析への利用の有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと、前記分析対象データ統計プロファイルとの類似性と、前記実行業種及び実行業務と前記利用者業種及び目的業務との類似性とに基づいて特定する
    請求項1に記載のライブラリ検索装置。
  6. 前記記憶デバイスは、
    複数の業種及び業務についてのそれぞれの間の類似度を示す類似度情報を記憶し、
    前記プロセッサ部は、
    前記類似度情報に基づいて、前記実行業種及び実行業務と前記利用者業種及び前記目的業務との類似性を特定する
    請求項5に記載のライブラリ検索装置。
  7. 前記記憶デバイスは、
    複数のライブラリについての入力されるデータに対する統計プロファイルに関する条件である入力データ条件を記憶し、
    前記プロセッサ部は、
    前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、
    前記特定したライブラリに関する情報を出力する
    請求項1に記載のライブラリ検索装置。
  8. 前記プロセッサ部は、
    前記記憶デバイスに格納された前記実行実績情報の蓄積量が所定の量よりも少ない場合に、前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、前記特定したライブラリに関する情報を出力する
    請求項7に記載のライブラリ検索装置。
  9. 前記プロセッサ部は、
    前記利用者からの指定があった場合に、前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、前記特定したライブラリに関する情報を出力する
    請求項7に記載のライブラリ検索装置。
  10. 前記記憶デバイスは、
    前記ライブラリを実際に利用した際において、入力されたデータの統計プロファイルに与えた変化を示す情報である影響情報を記憶し、
    前記プロセッサ部は、
    前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリが存在しない場合に、前記影響情報に基づいて、前記前記分析対象データ統計プロファイルを、前記入力データ条件を満たすように変化させるライブラリを特定し、
    前記ライブラリに関する情報を出力する
    請求項7に記載のライブラリ検索装置。
  11. 前記プロセッサ部は、
    データ分析を実行する実行対象分析データの指定と、前記実行対象分析データに対するデータ分析で実際に利用するライブラリの指定とを受け付けて、
    前記実行対象分析データの統計プロファイルである実行対象分析データ統計プロファイルを特定し、
    前記実行対象分析データ統計プロファイルと、前記ライブラリを特定する情報とを前記実行実績情報に追加する
    請求項1に記載のライブラリ検索装置。
  12. 前記プロセッサ部は、
    前記指定されたライブラリを利用して、前記実行対象分析データのデータ分析を行い、データ分析の分析結果を出力する
    請求項11に記載のライブラリ検索装置。
  13. 前記プロセッサ部は、
    前記ライブラリに関する情報を、前記有効性が高いライブラリから順番に並べて表示出力する
    請求項1に記載のライブラリ検索装置。
  14. 端末と、データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置とを備えるライブラリ検索システムであって、
    前記端末は、データ分析の対象とする分析対象データを記憶し、
    前記ライブラリ検索システムは、情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備え、
    前記記憶デバイスは、
    過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
    前記プロセッサ部は、
    前記端末から前記分析対象データを取得し、前記分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
    前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
    前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して前記端末に出力する
    ライブラリ検索システム。
  15. データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置によるライブラリ検索方法であって、
    過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
    データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
    前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
    前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して出力する
    ライブラリ検索方法。
JP2019511012A 2017-04-06 2017-04-06 ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法 Active JP6704089B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/014311 WO2018185899A1 (ja) 2017-04-06 2017-04-06 ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法

Publications (2)

Publication Number Publication Date
JPWO2018185899A1 true JPWO2018185899A1 (ja) 2019-06-27
JP6704089B2 JP6704089B2 (ja) 2020-06-03

Family

ID=63712861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019511012A Active JP6704089B2 (ja) 2017-04-06 2017-04-06 ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法

Country Status (3)

Country Link
US (1) US11010393B2 (ja)
JP (1) JP6704089B2 (ja)
WO (1) WO2018185899A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7363048B2 (ja) * 2019-02-18 2023-10-18 富士電機株式会社 分析装置および分析支援方法
EP3955125A4 (en) * 2019-04-08 2022-04-27 AI Samurai Inc. DEVICE, METHOD AND PROGRAM FOR EVALUATION OF DOCUMENT INFORMATION
WO2020250810A1 (ja) * 2019-06-11 2020-12-17 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP7430091B2 (ja) * 2020-03-25 2024-02-09 株式会社日立製作所 データ処理支援システム、データ処理支援方法及びデータ処理支援プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011109A (ja) 2003-06-19 2005-01-13 Hitachi Ltd ジョブ管理方法、情報処理装置、プログラム、および記録媒体
US8060553B2 (en) 2003-08-27 2011-11-15 International Business Machines Corporation Service oriented architecture for a transformation function in a data integration platform
US9390142B2 (en) * 2014-06-05 2016-07-12 Sap Se Guided predictive analysis with the use of templates

Also Published As

Publication number Publication date
JP6704089B2 (ja) 2020-06-03
US20190205299A1 (en) 2019-07-04
US11010393B2 (en) 2021-05-18
WO2018185899A1 (ja) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6843882B2 (ja) 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨
Zhang et al. Genetic programming with multi-tree representation for dynamic flexible job shop scheduling
CN109299090B (zh) 基金中心度计算方法、系统、计算机设备和存储介质
US20210103858A1 (en) Method and system for model auto-selection using an ensemble of machine learning models
JP6704089B2 (ja) ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法
US20160004757A1 (en) Data management method, data management device and storage medium
US10510005B2 (en) Prediction function creation device, prediction function creation method, and computer-readable storage medium
JP5460426B2 (ja) 生産性評価装置、生産性評価方法およびプログラム
JP6696568B2 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
CN115812209A (zh) 机器学习特征推荐
US20120185301A1 (en) Process optimization system
JP2016066197A (ja) 分析システム及び分析方法
JP6308339B1 (ja) クラスタリングシステム、方法およびプログラム、並びに、レコメンドシステム
US11544600B2 (en) Prediction rationale analysis apparatus and prediction rationale analysis method
JP2016192013A (ja) 営業担当者候補抽出システム
JP7450190B2 (ja) 特許情報処理装置、特許情報処理方法、およびプログラム
JP5444282B2 (ja) データ整形システム、方法、及びプログラム
JP2020166443A (ja) データ加工方法レコメンドシステム、データ加工方法レコメンド方法、及びデータ加工方法レコメンドプログラム
US10866835B2 (en) Data usage effectiveness determination
JP4419814B2 (ja) サービス品質評価支援装置
JP2012118612A (ja) マーケティング提案支援システム
JP7302439B2 (ja) システム分析方法、およびシステム分析プログラム
JPWO2019012674A1 (ja) プログラムの統合解析管理装置及びその統合解析管理方法
JP6216600B2 (ja) 紹介者候補抽出システム
JP7345744B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200511

R150 Certificate of patent or registration of utility model

Ref document number: 6704089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150