(57)【特許請求の範囲】
【請求項１】
データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置であって、
情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備え、
前記記憶デバイスは、
過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
前記プロセッサ部は、
データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して出力する
ライブラリ検索装置。
【請求項２】
前記実行実績情報は、前記ライブラリによりデータ分析した分析種別の情報をさらに含み、
前記プロセッサ部は、
利用者からデータ分析の分析種別の指定を受け付け、
前記実行実績情報から、指定を受け付けた前記分析種別に対応するライブラリの実行実績情報を抽出し、抽出された実行実績情報に対応するライブラリについて、前記分析対象データのデータ分析への利用の有効性を示す有効度を特定する
請求項１に記載のライブラリ検索装置。
【請求項３】
前記プロセッサ部は、
同一のライブラリにより分析を行った複数の過去分析データの過去分析データ統計プロファイルの集合の重心位置と、前記分析対象データ統計プロファイルの位置との距離に基づいて、前記有効度を特定する
請求項１又は請求項２に記載のライブラリ検索装置。
【請求項４】
前記実行実績情報は、前記ライブラリによるデータ分析の実行における評価に関する評価値をさらに含み、
前記プロセッサ部は、
前記有効度の特定に、前記評価値を利用する
請求項２に記載のライブラリ検索装置。
【請求項５】
前記実行実績情報は、前記ライブラリによりデータ分析を行った利用者の業種である実行業種と、このデータ分析を行った業務である実行業務とをさらに含み、
前記プロセッサ部は、
前記データ分析を行う利用者の業種である利用者業種と、分析を行う目的の業務である目的業務との指定を受け付け、
前記ライブラリについての前記分析対象データのデータ分析への利用の有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと、前記分析対象データ統計プロファイルとの類似性と、前記実行業種及び実行業務と前記利用者業種及び目的業務との類似性とに基づいて特定する
請求項１に記載のライブラリ検索装置。
【請求項６】
前記記憶デバイスは、
複数の業種及び業務についてのそれぞれの間の類似度を示す類似度情報を記憶し、
前記プロセッサ部は、
前記類似度情報に基づいて、前記実行業種及び実行業務と前記利用者業種及び前記目的業務との類似性を特定する
請求項５に記載のライブラリ検索装置。
【請求項７】
前記記憶デバイスは、
複数のライブラリについての入力されるデータに対する統計プロファイルに関する条件である入力データ条件を記憶し、
前記プロセッサ部は、
前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、
前記特定したライブラリに関する情報を出力する
請求項１に記載のライブラリ検索装置。
【請求項８】
前記プロセッサ部は、
前記記憶デバイスに格納された前記実行実績情報の蓄積量が所定の量よりも少ない場合に、前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、前記特定したライブラリに関する情報を出力する
請求項７に記載のライブラリ検索装置。
【請求項９】
前記プロセッサ部は、
前記利用者からの指定があった場合に、前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリを特定し、前記特定したライブラリに関する情報を出力する
請求項７に記載のライブラリ検索装置。
【請求項１０】
前記記憶デバイスは、
前記ライブラリを実際に利用した際において、入力されたデータの統計プロファイルに与えた変化を示す情報である影響情報を記憶し、
前記プロセッサ部は、
前記分析対象データ統計プロファイルが前記入力データ条件を満たしているライブラリが存在しない場合に、前記影響情報に基づいて、前記前記分析対象データ統計プロファイルを、前記入力データ条件を満たすように変化させるライブラリを特定し、
前記ライブラリに関する情報を出力する
請求項７に記載のライブラリ検索装置。
【請求項１１】
前記プロセッサ部は、
データ分析を実行する実行対象分析データの指定と、前記実行対象分析データに対するデータ分析で実際に利用するライブラリの指定とを受け付けて、
前記実行対象分析データの統計プロファイルである実行対象分析データ統計プロファイルを特定し、
前記実行対象分析データ統計プロファイルと、前記ライブラリを特定する情報とを前記実行実績情報に追加する
請求項１に記載のライブラリ検索装置。
【請求項１２】
前記プロセッサ部は、
前記指定されたライブラリを利用して、前記実行対象分析データのデータ分析を行い、データ分析の分析結果を出力する
請求項１１に記載のライブラリ検索装置。
【請求項１３】
前記プロセッサ部は、
前記ライブラリに関する情報を、前記有効性が高いライブラリから順番に並べて表示出力する
請求項１に記載のライブラリ検索装置。
【請求項１４】
端末と、データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置とを備えるライブラリ検索システムであって、
前記端末は、データ分析の対象とする分析対象データを記憶し、
前記ライブラリ検索システムは、情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備え、
前記記憶デバイスは、
過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
前記プロセッサ部は、
前記端末から前記分析対象データを取得し、前記分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して前記端末に出力する
ライブラリ検索システム。
【請求項１５】
データ分析に使用するアプリケーションに使用するライブラリを検索するライブラリ検索装置によるライブラリ検索方法であって、
過去のデータ分析に利用したライブラリを特定する情報と、前記ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納し、
データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、
前記ライブラリについての前記分析対象データのデータ分析への利用の有効性を示す有効度を、前記ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと前記分析対象データ統計プロファイルとの類似性に基づいて特定し、
前記有効度に基づいて前記有効性が高いライブラリに関する情報を優先して出力する
ライブラリ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析に利用するライブラリを検索するライブラリ検索装置等に関する。
【背景技術】
【０００２】
現在、企業の経営改善のために、業務処理を支援する情報システムから業務処理の記録をデータとして取得して分析することで、業務の効率化や業務計画の柔軟性の向上のヒントを得るＳｏＥ（Ｓｙｓｔｅｍ  ｏｆ  Ｅｎｇａｇｅｍｅｎｔ）の重要性が増している。【０００３】
データ分析の処理を自動化するためのアプリケーションは、データサイエンティストによってデータ分析ライブラリを使って実装される。データ分析ライブラリは、オープンソースとして公開されているものだけでも４，０００を超えている。【０００４】
このような大量のデータ分析ライブラリの中からデータサイエンティストがデータ分析に利用するデータ分析ライブラリを検索するための技術がいくつか知られている。【０００５】
例えば、特許文献１には、レジストリに格納された各モジュールをモジュール名で検索することのできる技術が開示されている。【０００６】
また、特許文献２には、再利用可能なＥＴＬ（Ｅｘｔｒａｃｔ、Ｔｒａｎｓｆｏｒｍ、Ｌｏａｄ）処理を検索するために、ジョブ情報テーブルからデータ項目属性の一致度が高いジョブを検索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第８０６０５５３号明細書
【特許文献２】特開２００５−１１１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、データサイエンティストがデータ分析アプリケーションを実装する場合における具体的な作業について説明する。【０００９】
まず、データサイエンティストは、目的となる分析目的に応じて、複数のコア分析ライブラリの中から使用するコア分析ライブラリを選定する。【００１０】
ここで、入力データには、対応範囲外の欠損値や異常値を含んでいる場合があるので、そのままコア分析ライブラリに入力してしまうと、不正確な出力を出してしまう虞がある。そこで、入力データから欠損値や異常値を省く処理を実行する前処理ライブラリを導入することとなる。この場合には、データサイエンティストは、前処理ライブラリについても複数の中から適切なライブラリを選択し、前処理ライブラリに対する設定（例えば、処理における閾値の設定等）を行う。【００１１】
また、コア分析ライブラリの出力には、分析の目的とは関係のない数値や文字列等を含む場合があるので、これらを除外して必要な情報を抜き出した分析結果を生成するために、後処理ライブラリを導入することがある。この場合には、データサイエンティストは、後処理ライブラリも複数種類の中から適切なライブラリを選択し、後処理ライブラリに対する設定を行う。【００１２】
そして、コア分析ライブラリ、前処理ライブラリ、後処理ライブラリで構成されるデータ分析アプリケーションの品質が問題ないかを、例えば、入力データに対して分析結果が正確に出力されるかどうかを確認することにより判定する。そして、データ分析アプリケーションの品質に問題がないことが確認できたことにより、データ分析アプリケーションの実装が完了することとなる。なお、データ分析アプリケーションの品質に問題がある場合には、上記した作業のいずれかの部分を見直すこととなる。【００１３】
上記作業において、目的にあった正確な結果を取得できるようにするためには、コア分析ライブラリ、前処理ライブラリ、後処理ライブラリを適切に選択することが重要となる。この作業は、経験の少ない初心者のデータサイエンティストにとっては複雑な作業である。【００１４】
複雑な作業となる原因の一つには、企業や情報システムごとに入力データの内容が異なり、他社でのライブラリの使用実績をそのまま再利用できないという点がある。このため、前処理ライブラリ、後処理ライブラリを、入力データの内容に応じて変更しなければならない。特に、初心者のデータサイエンティストは、コア分析ライブラリの特性や、前処理や後処理で適用可能なライブラリの特性を十分に把握していないことが多いため、適切な前処理ライブラリや後処理ライブラリを特定することが困難であり、適切な前処理ライブラリや後処理ライブラリを探し当てるまでに、長時間を要してしまう場合もある。【００１５】
本発明は、上記事情に鑑みなされたものであり、その目的は、データ分析に適したライブラリを容易かつ適切に検索して出力することのできる技術を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、一の観点に係るライブラリ検索装置は、データ分析に使用するアプリケーションに使用するライブラリを検索する。ライブラリ検索装置は、情報を格納する記憶デバイスと、前記記憶デバイスに接続されたプロセッサ部とを備える。記憶デバイスは、過去のデータ分析に利用したライブラリを特定する情報と、ライブラリによりデータ分析が行われた過去分析データについての統計プロファイルである過去分析データ統計プロファイルとを含む実行実績情報を格納する。プロセッサ部は、データ分析の対象とする分析対象データについての統計プロファイルである分析対象データ統計プロファイルを特定し、ライブラリについての分析対象データのデータ分析への利用の有効性を示す有効度を、ライブラリによりデータ分析を行った過去分析データの過去分析データ統計プロファイルと分析対象データ統計プロファイルとの類似性に基づいて特定し、有効性が高いライブラリに関する情報を優先して出力する。
【発明の効果】
【００１７】
本発明によれば、データ分析に適したライブラリを容易かつ適切に検索して出力することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例１の概要を説明する図である。
【図２】図２は、実施例１に係るデータ分析ライブラリマーケットプレイスシステムの全体構成図である。
【図３】図３は、実施例１に係るライブラリ実行実績データベースの構成図である。
【図４】図４は、実施例１に係る入力データ統計プロファイルの構成図である。
【図５】図５は、実施例１に係るライブラリ実行実績ＤＢにおける統計プロファイル群と、入力データ統計プロファイルとに基づいて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定する方法を説明する図である。
【図６】図６は、実施例１に係るライブラリ検索結果の構成図である。
【図７】図７は、実施例１に係るライブラリ検索画面の一例を示す図である。
【図８】図８は、実施例１に係るライブラリ検索結果画面の一例を示す図である。
【図９】図９は、実施例１に係る全体処理のフローチャートである。
【図１０】図１０は、実施例１に係る全体処理のシーケンス図である。
【図１１】図１１は、実施例１に係る実績蓄積処理のフローチャートである。
【図１２】図１２は、実施例２に係る業種業務近傍スコア表の構成図である。
【図１３】図１３は、実施例２に係るライブラリスコア計算係数表の構成図である。
【図１４】図１４は、実施例２に係る業種業務近傍スコアと、ライブラリスコアを算出する方法を説明する図である。
【図１５】図１５は、実施例３に係るコア分析ライブラリ対応表の構成図である。
【図１６】図１６は、実施例３に係るコア分析ライブラリ適用ルール表の構成図である。
【図１７】図１７は、実施例３に係るライブラリ効果データベースの構成図である。
【図１８】図１８は、実施例３に係る全体処理のフローチャートである。
【図１９】図１９は、実施例３に係るルール判定処理のフローチャートである。
【発明を実施するための形態】
【００１９】
いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲に係る発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
以下の説明では、「ＡＡＡテーブル」、「ＡＡＡ表」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ＡＡＡテーブル」、「ＡＡＡ表」を「ＡＡＡ情報」と呼ぶことができる。
【００２１】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサを含む。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサである。１以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【００２２】
また、プロセッサがプログラムを実行することにより構成される機能部による処理は、プロセッサが行う処理としてもよく、プロセッサを含む計算機が行う処理としてもよい。
【実施例１】
【００２３】
以下、実施例１について説明する。【００２４】
まず、実施例１の概要について説明する。【００２５】
図１は、実施例１の概要を説明する図である。【００２６】
ライブラリ検索システムの一例としてのデータ分析ライブラリマーケットプレイスシステム（以下、マーケットプレイスシステム）１０は、入力データと、分析目的とに基づいて適切なライブラリ（前処理ライブラリ、コア分析ライブラリ、後処理ライブラリ等）を検索して検索結果を提供するシステムである。【００２７】
マーケットプレイスシステム１０において、計算機１０１（計算機Ａ）は、利用者（検索実施者：データサイエンティスト）１２０の端末１１１に対して、ライブラリ検索画面１８０１（図７参照）を表示させる（図１（１））。端末１１１において、利用者１２０により、入力データと分析目的との指定がされると、その情報が計算機１０１のＣＰＵ１０２に通知される。ＣＰＵ１０２は、ライブラリ実行実績ＤＢ（データベース）１０６を参照し、各ライブラリについて、指定された入力データと分析目的との利用に対する有効性を示すライブラリスコア（有効度）を算出する（図１（３））。次いで、ＣＰＵ１０２は、算出したライブラリスコアが高いライブラリに関する情報を優先した内容としたライブラリ検索結果画面１８１０（図８参照）を端末１１１に表示出力させる（図１（４））。なお、ライブラリ検索結果の出力は、必ずしも画面でなくてもよく、例えば、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）等の一般的なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）として提供してもよい。利用者１２０は、端末１１１に表示されたライブラリ検索結果画面１８１０により、適切なライブラリを把握して、使用するライブラリを選択することができる。端末１１１のライブラリ検索結果画面１８１０において、使用するライブラリが選択されると、選択されたライブラリの情報が計算機１０１に通知される（図１（５））。計算機１０１のＣＰＵ１０２は、端末１１１の入力データ（分析対象データ）を取得し（図１（７））、この入力データ１７０１に対して、通知されたライブラリにより構成されるデータ分析アプリケーション１７０３を用いてデータ分析を行い（図１（８））、分析結果を端末１１１に出力する（図１（９））。これにより、利用者１２０は、適切なライブラリで構成されるデータ分析アプリケーション１７０３を容易に構築でき、構築されたデータ分析アプリケーション１７０３によって入力データ１７０１のデータ分析を行うことができる。【００２８】
次に、実施例１の詳細について説明する。【００２９】
図２は、実施例１に係るデータ分析ライブラリマーケットプレイスシステムの全体構成図である。【００３０】
マーケットプレイスシステム１０は、１以上の端末１１１と、１以上の計算機（計算機１０１、計算機１１０）と、端末１１１と計算機（１０１等）とを通信可能に接続するネットワーク２０とを含む。【００３１】
計算機１０１は、ライブラリ検索装置の一例であり、データ分析アプリケーションを実行したり、データ分析アプリケーションのライブラリ（前処理ライブラリ、後処理ライブラリ）を検索したりする機能を有する。計算機１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、記憶デバイスの一例としてのメモリ１０３と、通信部１０４と、を備える。【００３２】
通信部１０４は、例えば、有線ＬＡＮカードや無線ＬＡＮカードなどのインターフェースであり、ネットワーク２０を介して他の装置（例えば、計算機１１０、端末１１１等）と通信する。【００３３】
ＣＰＵ１０２は、メモリ１０３に格納されているプログラムに従って各種処理を実行する。【００３４】
メモリ１０３は、例えば、ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）であり、ＣＰＵ１０２で実行されるプログラムや、必要な情報を記憶する。本実施例では、メモリ１０３は、ライブラリ格納部１０５と、ライブラリ実行実績ＤＢ１０６とを記憶する。また、メモリ１０３は、ＣＰＵ１０２により実行されることにより、統計プロファイル算出部１０７、ライブラリスコア算出部１０８、及びライブラリ実行部１０９のそれぞれを構成するプログラムが格納されている。【００３５】
ライブラリ格納部１０５は、分析処理に利用する各種ライブラリを格納する。ライブラリには、例えば、分析処理のコアとなる処理を実行するコア処理ライブラリや、コア処理の前に入力データに対して前処理を行う前処理ライブラリや、コア処理後のデータに対して後処理を行う後処理ライブラリ等がある。【００３６】
統計プロファイル算出部１０７は、分析処理の対象のデータに対する統計プロファイルを算出する処理を実行する。なお、統計プロファイル算出部１０７の処理の詳細については後述する。ライブラリスコア算出部１０８は、ライブラリについての処理対象のデータに対するデータ分析への利用の有効性を示すライブラリスコア（有効度）を特定する処理を行う。ライブラリスコア算出部１０８による処理の詳細について後述する。ライブラリ実行部１０９は、処理対象の入力データに対して、指定された１以上のライブラリにより構成されたデータ分析アプリケーションを実行し、分析結果を端末１１１に出力する。【００３７】
計算機１１０は、計算機１０１と同じ構成の計算機である。なお、計算機１０１と、計算機１１０とのそれぞれでライブラリ実行実績ＤＢ１０６のデータを独立して管理してもよいし、計算機１０１と計算機１１０との間で適宜通信を行うことにより、ライブラリ実行実績ＤＢ１０６の情報が一致するようにしてもよい。【００３８】
端末１１１は、検索実施者が計算機（計算機１０１、計算機１１０）に対する指示を入力したり、計算機によるデータ分析アプリケーションの実行結果や、ライブラリの検索結果を出力したり、検索結果に基づいてデータ分析アプリケーションを開発したりするための端末であり、ＣＰＵ１１２と、メモリ１１３と、通信部１１４と、入力装置１１５と、表示装置１１６と、を備える。【００３９】
通信部１１４は、例えば、有線ＬＡＮカードや無線ＬＡＮカードなどのインターフェースであり、ネットワーク２０を介して他の装置（例えば、計算機１０１、１１０等）と通信する。【００４０】
ＣＰＵ１１２は、メモリ１１３に格納されているプログラムに従って各種処理を実行する。【００４１】
メモリ１１３は、例えば、ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）であり、ＣＰＵ１１２で実行されるプログラムや、必要な情報を記憶する。本実施例では、メモリ１１３は、分析対象データ格納部１１６を記憶する。分析対象データ格納部１１６は、データ分析を行う対象となるデータ（入力データ：分析対象データ）を格納する。入力データは、例えば、特定の記号で区切った１つ以上のデータ列を保持するデータ列の集合であり、ＣＳＶファイルやデータベースのテーブルの形式としてもよい。入力データに含まれるデータ列は、特定の内容に関する１つ以上の数値や文字列をデータとして含んでおり、例えば、所定のデータ列名に対応付けられている。なお、データ列名は、同一の内容に関するものであれば、一意となっていることが好ましい。また、メモリ１１３は、ＣＰＵ１１２に利用されることで、ライブラリ検索画面１８０１や、ライブラリ検索結果画面１８１０等を表示したり、画面に対する入力を受け付けたりするライブラリ検索インターフェース１１７が格納されている。【００４２】
入力装置１１５は、例えば、マウス、キーボード等の入力装置であり、利用者からの入力を受け付ける。表示装置１１６は、例えば、液晶ディスプレイであり、各種画面を表示出力する。本実施例では、表示装置１１６には、ライブラリ検索画面１８０１や、ライブラリ検索結果画面１８１０が表示される。【００４３】
図３は、実施例１に係るライブラリ実行実績データベースの構成図である。【００４４】
ライブラリ実行実績ＤＢ１０６は、例えば、計算機１０１におけるデータ分析アプリケーションの実行毎における実績に関する情報（実行実績情報）をレコードとして格納する。ライブラリ実行実績ＤＢ１０６は、データ要求クエリを受け付け、データ要求クエリに対応するレコードの一部または全部の情報を出力する機能を有している。ライブラリ実行実績ＤＢ１０６のレコードは、後述する実績蓄積処理（図１１参照）により追加される。ライブラリ実行実績ＤＢ１０６のレコードは、実績ＩＤ５０１と、分析種別５０２と、入力データ統計プロファイル５０３と、前処理ライブラリＩＤ５０４と、コア分析ライブラリＩＤ５０５と、後処理ライブラリＩＤ５０６と、評価値５０７と、実行時刻５０８とのフィールドを含む。【００４５】
実績ＩＤ５０１には、１回の実績を一意に示すＩＤ（実績ＩＤ）が格納される。分析種別５０２には、データ分析を行った際の分析の目的（例えば、「重回帰分析」、「決定木」等）を表す名称が格納される。入力データ統計プロファイル５０３には、データ分析において入力されたデータ（過去分析データ）の統計プロファイル（過去分析データ統計プロファイル）が格納される。統計プロファイルの内容は、図４に示す入力データ統計プロファイルと同様である。なお、詳細については後述する。一つのレコードに入力データ統計プロファイル５０３を複数備えるようにしてもよい。例えば、入力データに、２つのデータ列ａ、ｂが含まれる場合には、データ列ａに関する統計プロファイル用の入力データ統計プロファイル５０３と、データ列ｂに関する統計プロファイル用の入力データ統計プロファイル５０３と、データ列ａ、ｂ間に関する統計プロファイル（相関関係、クラスタ数等）用の入力データ統計プロファイル５０３とを備えてもよい。前処理ライブラリＩＤ５０４には、データ分析アプリケーションにおける前処理を行ったライブラリのＩＤ（前処理ライブラリＩＤ）が格納される。コア分析ライブラリＩＤ５０５には、データ分析アプリケーションにおけるコア分析を行ったライブラリのＩＤ（コア分析ライブラリＩＤ）が格納される。後処理ライブラリＩＤ５０６には、データ分析アプリケーションにおける後処理を行ったライブラリのＩＤ（後処理ライブラリＩＤ）が格納される。評価値５０７には、データ分析アプリケーションによるデータ分析に対する評価値が格納される。評価値は、例えば、データ分析を実行した利用者により設定されるようにしてもよい。実行時刻５０８には、データ分析アプリケーションによるデータ分析が実行された時刻が格納される。【００４６】
図４は、実施例１に係る入力データ統計プロファイルの構成図である。【００４７】
入力データ統計プロファイル４０１は、統計プロファイル算出部１０７によりメモリ１０３に一時的に作成される情報（分析対象データ統計プロファイルに相当）である。入力データ統計プロファイル４０１は、１以上のレコードを格納する。入力データ統計プロファイル４０１のレコードは、データ列名４０２、第１統計値４０３、第２統計値４０４のフィールドを有する。なお、レコードに統計値のフィールドを３以上備えるようにしてもよい。データ列名４０２には、入力データに含まれる１以上のデータ列を特定する文字列型の名称が格納される。なお、データ列の名称と、そのＩＤとを対応付けた別テーブルを用意し、データ列名４０２にＩＤを格納するようにしてもよい。この場合には、別テーブルを参照することにより、ＩＤに対応するデータ列の名称を取得することができる。第１統計値４０３には、統計値種類４０３Ａと、結果４０３Ｂとのフィールドが含まれる。統計値種類４０３Ａには、統計値の種類が格納される。結果４０３Ｂには、レコードにおけるデータ列名４０２のデータ列名のデータ列についての統計値種類の統計値が格納される。第２統計値４０４には、統計値種類４０４Ａと、結果４０４Ｂとのフィールドが含まれる。統計値種類４０４Ａには、統計値種類４０３Ａと異なる統計値の種類が格納される。結果４０４Ｂには、レコードにおけるデータ列名４０２のデータ列名のデータ列についての統計値種類の統計値が格納される。【００４８】
第１統計値４０３と、第２統計値４０４には、統計プロファイル算出部１０７による統計処理の結果が格納される。例えば、入力データにデータ列名「在庫数」に対応するデータ列が存在し、その数値として、８、１２、１０、・・・が含まれている場合には、データ列名４０２には、データ列を一意に示す「在庫数」が格納される。また、この場合には、統計プロファイル算出部１０７が、例えば、「在庫数」に対応するデータ列に含まれる数値に対して、平均値を算出する統計処理と、中央値を計算する統計処理とを実行して、統計値種類４０３Ａ、４０４Ａには、それらの統計処理を意味する「平均値」、「中央値」という文字列を格納し、結果４０３Ｂ，４０４Ｂには、それらの統計処理を施した結果としての統計値、すなわち、結果４０３Ｂには、平均値計算の結果である「１０」を格納し、結果４０４Ｂには、中央値計算の結果である「１５」を格納する。【００４９】
また、例えば、入力データにデータ列名「在庫数、出荷数」に対応するデータ列が存在する場合には、データ列名４０２には、データ列を一意に示す「在庫数、出荷数」が格納される。また、この場合には、統計プロファイル算出部１０７が、「在庫数、出荷数」に対応するデータ列に含まれる数値に対して、統計処理として、例えば、２つのデータ列における相関係数を計算し、その結果として「０．８３」を得て、統計値種類４０３Ａに「相関係数」を格納し、結果４０３Ｂに、「０．８３」を格納し、また、これらのデータについてのクラスタ数を検出して、その結果として「３」が得て、統計値種類４０４Ａに「クラスタ数」を格納し、結果４０４Ｂに、「３」を格納する。【００５０】
なお、統計処理を行う統計値種類は、上記に限られず、入力データの統計的特徴を示す種類であれば、任意の種類としてもよい。【００５１】
図５は、実施例１に係るライブラリ実行実績ＤＢにおける統計プロファイル群と、入力データの統計プロファイルとに基づいて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さ（類似性）を判定する方法を説明する図である。図５は、データ列aの平均値（第１統計値）と中央値（第２統計値）という２つの統計値を２軸に取った散布図に対して、ライブラリ実行実績ＤＢ１０６の複数の実績の統計プロファイルと、入力データの統計プロファイルとをプロットしたものである。【００５２】
図５における点６０１は、入力データ統計プロファイルを表す。また、図５における他の点（白丸、黒丸）は、ライブラリ実行実績ＤＢ１０６の複数の実績の統計プロファイルを表す。また、エリア６０２ｘ、６０２ｙ、６０２ｚは、それぞれライブラリｘ、ライブラリｙ、ライブラリｚのライブラリを前処理に適用した実績の統計プロファイルに対応する点が存在するエリアを表す。また、座標６０３ｘ、６０３ｙ、６０３ｚは、それぞれライブラリｘ、ライブラリｙ、ライブラリｚのそれぞれを前処理に適用した実績の統計プロファイルの統計値の重心を表す。【００５３】
ライブラリスコア算出部１０８による入力データ統計プロファイル（点６０１）に近い統計プロファイルに対して適用されたライブラリを判定する方法の一例としては、入力データ統計プロファイル（点６０１）が、どのライブラリが適用された統計プロファイル群のエリアに含まれるか否かを判定することにより実現できる。例えば、図５の例では、点６０１が、ライブラリｚを適用した統計プロファイル群のエリア６０２ｚに含まれ、他のライブラリを適用した統計プロファイル群のエリアに含まれないことから、ライブラリスコア算出部１０８は、入力データ統計プロファイルに近い統計プロファイル群に適用されているのは、ライブラリｚであると判定する。この場合には、ライブラリスコア算出部１０８は、ライブラリｚのスコア（ライブラリスコア）を所定値（例えば１０）だけ加算することによりスコアを算出する処理を行う。【００５４】
ライブラリスコア算出部１０８によりライブラリのスコアを算出する方法としては、例えば、入力データ統計プロファイル（点６０１）に対して、各エリアの重心からの距離を計算し、距離が最も近い重心がエリア６０２ｚの座標６０３ｚである場合には、座標６０３ｚを重心とするライブラリｚのスコアを所定値（例えば１０）だけ加算することによりスコアを算出するようにしてもよい。また、ライブラリスコア算出部１０８は、入力データ統計プロファイル（点６０１）と各重心との距離の逆数を算出して、その算出された値を各ライブラリのスコア（ライブラリスコア）としてもよく、このようにすると、入力データ統計プロファイル（点６０１）により重心が近いエリアに属する統計プロファイルに適用されているライブラリに対して高スコアをつけることができる。【００５５】
また、ライブラリスコア算出部１０８は、各エリアの重心を統計値の単純平均ではなく、以下の式（１）に示すような加重平均により算出された重心ＧＣ（ｘ、ｙ）として、ライブラリスコアを算出するようにしてもよい。【００５６】
【数１】
0006704089.tif 000002
ここで、ｘｉは、エリアに属する各統計プロファイルの第１統計値を示し、ｙｉは、各統計プロファイルの第２統計値を示し、αｉは、各ライブラリに対する評価値（評価値５０７の値）を示し、ｎは、エリアに属する統計プロファイルの総数を示している。【００５７】
なお、上記例では、ライブラリスコア算出部１０８が、データ列aという単一データ列の２種類の統計値を用いて、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定する計算を説明したが、複数データ列に対する統計プロファイルを使って多次元（３次元以上）でのクラスタ分析を行って、入力データ統計プロファイルと、ライブラリにより処理された統計プロファイル群との近さを判定するようにしてもよい。なお、同一の内容を表すデータに対して、実績のデータ列名（例えば、データ列a）と、入力データのデータ列名とが異なっている場合（例えば、一方が英語表記で、他方が日本語表記となっている場合等）があるが、これに対しては、例えば、同一の内容を表すデータに対するデータ列名を同一にするために、同一の内容のデータのデータ列名を同一のデータ列名に変換するための変換ルールをメモリ１０３に格納しておき、その変換ルールを用いてデータ列名を変換し、変換後のデータ列名に対応する統計プロファイルを用いて、入力データ統計プロファイル（点６０１）に近い統計プロファイルに対して適用されたライブラリを判定する処理を行うようにしてもよい。【００５８】
図６は、実施例１に係るライブラリ検索結果の構成図である。【００５９】
ライブラリ検索結果７００は、ライブラリスコア算出部１０８によるスコア計算の結果の出力形式の一例である。後述するライブラリ検索結果画面は、ライブラリ検索結果７００に基づいて作成される。【００６０】
ライブラリ検索結果７００は、ライブラリスコア算出部１０８により抽出されたライブラリごとに、ライブラリＩＤ７０１と、ライブラリスコア７０２とのフィールドを含むレコードを格納する。ライブラリＩＤ７０１には、ライブラリＩＤが格納される。ライブラリスコア７０２には、レコードに対応するライブラリのライブラリスコアが格納される。なお、ライブラリスコア算出部１０８は、所定の値以上のライブラリスコアが算出されたライブラリのみを抽出してライブラリ検索結果７００に格納するようにしてもよいし、ライブラリスコアが上位の所定数のライブラリを抽出して、このライブラリに対応するレコードのみをライブラリ検索結果７００に格納するようにしてもよい。本実施形態では、ライブラリ検索結果７００においては、ライブラリスコアが高いライブラリに対応するレコードが上位（前の順番）となるようにソートされている。【００６１】
例えば、ライブラリ検索結果７００の１行目のレコードは、ライブラリＩＤが「上限値フィルタ」であるライブラリは、ライブラリスコアが「１０」であることを示し、２行目のレコードは、ライブラリＩＤが「部品ｘ」であるライブラリは、ライブラリスコアが「０」であることを示し、「上限値フィルタ」のライブラリの方が、入力データの分析処理において、有効性が高いことを示している。【００６２】
次に、端末１１１に表示される画面について説明する。【００６３】
図７は、実施例１に係るライブラリ検索画面の一例を示す図である。【００６４】
ライブラリ検索画面１８０１は、分析目的選択領域１８０２と、入力データ指定領域１８０３と、アップロードボタン１８０４と、ライブラリ検索指定領域１８０５とを含む。【００６５】
分析目的選択領域１８０２は、データ分析の目的（分析目的）を選択入力する領域である。分析目的としては、例えば、重回帰分析、クラスタ分析、等がある。入力データ指定領域１８０３は、データ分析を行うデータ（入力データ：分析対象データ）のパスを入力する領域である。アップロードボタン１８０４は、入力データ指定領域１８０３に入力されたパスのデータを計算機１０１にアップロードさせるためのボタンである。アップロードボタン１８０４が押下されると、端末１１１のＣＰＵ１１２は、入力データ指定領域１８０３に入力されたパスの入力データを計算機１０１にアップロードすると共に、分析目的選択領域１８０２で選択されている分析目的を計算機１０１に送信する。ライブラリ検索指定領域１８０５は、ライブラリを検索するための検索ワードの入力と、検索の指示を受け付ける領域である。ライブラリ検索指定領域１８０５に検索ワードが入力されて、検索指示がされると、検索ワードが計算機１０１に送信され、計算機１０１からは検索ワードによるライブラリの検索結果が返される。【００６６】
図８は、実施例１に係るライブラリ検索結果画面の一例を示す図である。【００６７】
ライブラリ検索結果画面１８１０は、入力データプロファイル結果表示領域１８１１と、１以上の検索結果表示領域１８１２とを含む。入力データプロファイル結果表示領域１８１１には、計算機１０１により算出された入力データの統計プロファイルが表示される。統計プロファイルとしては、例えば、図４に示す情報がある。【００６８】
検索結果表示領域１８１２には、計算機１０１において検索されたライブラリに関する情報が表示される。ライブラリに関する情報としては、ライブラリの検索順位（ライブラリスコアの順位）、ライブラリ名、ライブラリに対して算出されたレコメンドスコア、ライブラリの仕様、ライブラリのソースファイルのロケーション等がある。レコメンドスコアとしては、ライブラリスコアそのままの値であってもよいし、ライブラリスコアに対して所定の処理を行った値としてもよい。また、検索結果表示領域１８１２に、表示されたライブラリを選択してデータ分析アプリケーションを実装する指示を行う選択ボタンを表示させるようにしてもよい。この選択ボタンが表示された場合には、端末１１１ＮＯＣＰＵ１１３は、選択されたライブラリの情報を計算機１０１に通知し、計算機１０１は、通知を受けたライブラリによりデータ分析アプリケーションを実装して、ライブラリ検索時に指定した入力データ（実行対象分析データ）に対してデータ分析を実行することとなる。検索結果表示領域１８１２は、例えば、レコメンドスコアが高いライブラリの情報から上から順に並んで配置されて表示されてもよい。また、表示される検索結果表示領域１８１２の数は、所定数以内としてもよい。ここで、ライブラリスコアに基づいてライブラリを抽出して抽出されたライブラリの検索結果表示領域１８１２を表示させたり、ライブラリスコアの順番で検索結果表示領域１８１２を表示させたりすることが、有効性が高いライブラリの情報を優先して出力することの一例である。【００６９】
次に、実施例１に係るマーケットプレイスシステム１０における処理動作について説明する。【００７０】
まず、マーケットプレイスシステム１０の計算機１０１における全体処理について説明する。【００７１】
図９は、実施例１に係る全体処理のフローチャートである。図１０は、実施例１に係る全体処理のシーケンス図である。【００７２】
端末１１１において、利用者１２０より、図７に示すライブラリ検索画面１８０１に対してデータ分析の対象とする入力データのパスと、分析種別が入力されると、端末１１１から入力データのパスに対応する入力データ及び分析種別が計算機１０１に送信される（Ｓ２０１）。【００７３】
入力データ及び分析種別が計算機１０１に送信されると、計算機１０１の通信部１０４が、入力データ及び分析種別を受信し（Ｓ２０１、Ｓ１０１）、受信した入力データ及び分析種別を統計プロファイル算出部１０７に渡す（Ｓ２０２）。【００７４】
統計プロファイル算出部１０７は、受信した入力データに対する統計プロファイルを算出し（Ｓ１０２、Ｓ２０３）、算出した統計プロファイルと、受信した分析種別をライブラリスコア算出部１０８に渡す（Ｓ２０４）。【００７５】
ライブラリスコア算出部１０８は、ライブラリ実行実績ＤＢ１０６から分析種別が合致するライブラリ実行実績（レコードの全体又は一部）を取得する（Ｓ１０３、Ｓ２０５）。具体的には、ライブラリスコア算出部１０８は、ライブラリ実行実績ＤＢ１０６に対して、分析種別が合致するライブラリ実行実績を取得するためのクエリを発行し、それに応じたレコードをライブラリ実行実績ＤＢ１０６から受け取る。【００７６】
次いで、ライブラリスコア算出部１０８は、統計プロファイルと、ライブラリ実行実績における統計プロファイルとに基づいて、ライブラリスコアを算出する算出処理を実行することにより、各ライブラリのスコアを算出する（Ｓ１０４、Ｓ２０６）。【００７７】
次いで、ライブラリスコア算出部１０８は、算出したライブラリのスコアを含むライブラリ検索結果７００を作成し、ライブラリ検索結果７００に基づいて、ライブラリ検索結果画面１８１０用のデータを作成して通信部１０４に渡し（Ｓ２０７）、通信部１０４は、ライブラリ検索結果画面１８１０用のデータを端末１１１に送信することにより、端末１１１に、図８に示すライブラリ検索結果画面１８１０を表示させる（Ｓ３０３、Ｓ１０５）。【００７８】
次に、実施例１に係る実績蓄積処理について説明する。【００７９】
図１１は、実施例１に係る実績蓄積処理のフローチャートである。【００８０】
まず、ライブラリ実行部１０９は、データ分析の対象の入力データ（実行対象分析データ）と、分析種別と、データ分析に使用するライブラリのライブラリＩＤとを受信する（Ｓ３０１）。なお、ライブラリ実行部１０９は、受信した入力データに対して、受信したライブラリＩＤのライブラリに適用して分析処理を行ってもよい。次いで、統計プロファイル算出部１０７が、入力データに対する統計プロファイル（入力データ統計プロファイル：実行対象分析データ統計プロファイル）を算出する（Ｓ３０２）。次いで、ライブラリ実行部１０９は、ライブラリＩＤと、分析種別と、統計プロファイル算出部１０７が算出した入力データ統計プロファイルとをライブラリ実行実績ＤＢ１０６に格納する（Ｓ３０３）。なお、Ｓ３０３において、ライブラリによるデータ分析の結果に対する評価値を利用者から受信し、或いは、ライブラリ実行部１０９が実行結果に基づいて評価値を決定して、ライブラリ実行実績ＤＢ１０６のレコードの評価値５０７に格納するようにしてもよい。【００８１】
これにより、実際に使用したライブラリと、そのライブラリを適用した入力データの統計プロファイル（実行対象分析データ統計プロファイル）を実績情報としてライブラリ実行実績ＤＢ１０６に登録することができる。【００８２】
以上説明した実施例１では、入力データの統計値を１つ以上含む統計プロファイルを算出し、入力データに対する統計プロファイルと、ライブラリごとに集計された実績の統計プロファイルとの近さに基づいて、入力データと、ライブラリを適用したデータとの近さをライブラリスコアとして定量化することができ、例えば、そのライブラリスコアをライブラリ検索結果画面１８１０に表示出力することができる。このライブラリスコアは、データ分布が似ている入力データに適用されたライブラリであることを示すことから、スコアの高いライブラリを使用することで、より高精度なデータ分析アプリケーションの実装を容易に行うことができる。
【実施例２】
【００８３】
次に、実施例２について説明する。【００８４】
実施例２は、ライブラリスコアを算出する算出処理において、入力データに関する業種及び業務（業種業務）と、ライブラリを適用した分析データの業種及び業務（業種業務）との近さを加味するようにした例である。【００８５】
ライブラリ実行実績ＤＢ１０６に含まれる実績の中には、多種多様な業種及び業務の実績が含まれている場合がある。例えば、コンビニ業界における顧客売上向上施策立案業務におけるデータ分析時のライブラリの実行実績が含まれていたり、製造業企業の製造拠点に備蓄される部品在庫削減施策立案業務におけるデータ分析時のライブラリの実行実績が含まれていたりする場合がある。これらの異なる業種及び業務の実績の情報がライブラリ実行実績ＤＢ１０６に同居しうる場合があるのは、これらの業務に対するデータ分析アプリケーションとして、同一の傾向分析ライブラリをコア分析ライブラリとして活用する場合も考えられ、顧客売上向上施策の業務に使用した前処理ライブラリを、別の業務である部品在庫削減施策の業務に適用することもあり得るからである。【００８６】
しかしながら、一般には、全く異なる業務でのライブラリの適用実績については、信頼性が低くなると考えられる。【００８７】
そこで、実施例２においては、実績が近い業種及び業務であるか否かを判定し、その判定結果をライブラリスコアの特定に利用するようにし、ライブラリ実行実績ＤＢには、多様な業種の多様な業務の実績を蓄積しつつ、ライブラリの検索時には、実施例１で使用した統計プロファイルに加えて、業種及び業務の近さをも考慮したライブラリスコアを算出することにより、より信用度の高いライブラリスコアを算出するようにしている。【００８８】
実施例２においては、ライブラリ実行実績ＤＢ１０６の各レコードに対して、業種業務識別子を格納するフィールドをさらに加えるようにしている。ここで、業種業務識別子とは、データ分析アプリケーション（ライブラリ）を適用するデータに関わる企業等の業種（実行業種）、及び、データ分析を適用する業務（実行業務）を特定可能な情報であり、例えば、企業の業種がコンビニ（コンビニエンススト）であり、業務が「売上向上」であれば、業種業務識別子は、「コンビニ／売上向上」となる。【００８９】
図１２は、実施例２に係る業種業務近傍スコア表の構成図である。【００９０】
業種業務近傍スコア表１０００は、例えば、メモリ１０３に格納される表であり、複数の業種業務識別子の内の２つの業種業務識別子に対応する業種及び業務間の近さ（類似性）を示すスコア（業種業務近傍スコア、類似度情報）を各レコードとして格納する。【００９１】
業種業務近傍スコア表１０００のレコードは、第１適用業種業務識別子１００１と、第２適用業種業務識別子１００２と、業種業務近傍スコア１００３とのフィールドを備える。【００９２】
第１適用業種業務識別子１００１には、一の業種業務識別子が格納される。第２適用業種業務識別子１００２には、他の業種業務識別子が格納される。業種業務近傍スコア１００３には、第１適用業務種別識別子１００１に格納されている業種業務識別子に対応する業種及び業務と、第２適用業種業務識別子１００２に格納されている業種種業務識別子に対応する業種及び業務との間の近さを示す業種業務近傍スコアが格納される。【００９３】
例えば、業種業務近傍スコア表１０００の１行目は、「コンビニ／売上向上」と、「製造業／在庫削減」との間の業種業務近傍スコアは、「２０」であることを示している。なお、本実施例では、数値が高いほど業種及び業務が近いことを表している。【００９４】
図１３は、実施例２に係るライブラリスコア計算係数表の構成図である。【００９５】
ライブラリスコア計算係数表１１００は、例えば、メモリ１０３に格納される表であり、後述するライブラリスコアの算出に使用する式（２）の１つ以上の係数のそれぞれに対応するレコードを含む。ライブラリスコア計算係数表１１００のレコードは、係数名１１０１と、係数値１１０２とのフィールドを含む。係数名１１０１には、計算に使用する係数の名称が格納される。係数値１１０２には、レコードに対応する係数名の係数の値が格納される。図１３に示すライブラリスコア計算係数表１１００は、係数名「α」の係数値は「０．２」であり、係数名「β」の係数値は「０．５」であることを示している。【００９６】
図１４は、実施例２に係る業種業務近傍スコアと、ライブラリスコアを算出する方法を説明する図である。【００９７】
図１４に示す散布図には、実施例１に係る図５の散布図における２つの軸に加えて、適用業種業務識別子に関する軸が新たに加えられている。図１４においては、ライブラリ実行実績ＤＢ１０６の内の所定の分析種別（例えば、「傾向分析」）である複数の実行実績の統計プロファイルと、入力データの統計プロファイルとがプロットされている。【００９８】
図１４の散布図における適用業種業務識別子としては、「製造業／在庫削減」と、「コンビニ／売上向上」と、「ファミレス／売上向上」との３つがある。ここで、「コンビニ／売上向上」と「ファミレス／売上向上」と、「製造業／在庫削減」とのそれぞれの業種業務の近さ（類似性）は、種業務近傍スコア表１０００に示されたものとなっている。すなわち、「コンビニ／売上向上」と「ファミレス／売上向上」と、は近い（類似性が高い）業種業務であり、「製造業／在庫削減」と他の業種業務とは、遠い（類似性が低い）業種業務である。【００９９】
ここで、ライブラリスコア算出部１０８による業種業務近傍スコアを利用したライブラリスコアの計算方法の一例を示す。【０１００】
ライブラリスコア算出部１０８は、入力データの業種業務識別子（例えば、端末１１１の利用者１２０から入力される業種業務識別子（利用者業務及び目的業務））と、ライブラリ実行実績ＤＢ１０６のライブラリの実行実績に対応する業種業務識別子との間における業種業務近傍スコアを業種業務近傍スコア表１０００から取得する。例えば、「製造業／在庫削減」と、「コンビニ／売上向上」との間の業種業務近傍スコアとして、「０」が取得され、「コンビニ／売上向上」と、「ファミレス／売上向上」との間の業種業務近傍スコアとして、「２０」が取得される。【０１０１】
次いで、ライブラリスコア算出部１０８は、実施例１で特定されたライブラリスコアをＳ０とし、取得した業種業務近傍スコアをＳｂとすると、ライブラリスコアＳを、式（２）に示す計算式により算出する。【０１０２】
Ｓ＝αＳ０＋βＳｂ        ・・・（２）
ここで、α、βは、図１３に示すライブラリスコア計算係数表１１００に記憶されている係数である。【０１０３】
図１３に示す係数を用いた場合の式（２）について説明すると、係数「α」は統計プロファイルの近さＳ０に対する線形係数であり、係数「β」は、業種業務近傍スコアに対する線形係数であり、αの値が０．２で、βの値が０．５である場合には、統計プロファイルの近さＳ０より業種近傍スコアＳｂのほうがライブラリスコアに与える影響が大きいことを意味する。なお、係数値１１０２の値を調整することにより、ライブラリスコアの計算結果を調整することができる。【０１０４】
なお、業種業務近傍スコアを利用したライブラリスコアの計算式は、上記した線形和を用いた式（２）に限らず、二乗和平方根や二乗和など、各項の大きさが最終的なライブラリスコアの大きさに対し正の相関を持つような式であれは、どのような式でもよい。【０１０５】
なお、図１４に示す図においては、適用業種業務識別子を１つの数値軸として表現した例を示しているが、本発明はこれに限られず、適用業種業務識別子を複数の数値軸とするようにしてもよい。【０１０６】
実施例２に係るライブラリスコア算出部１０８により算出されるライブラリスコアは、統計プロファイルに基づくスコアが大きく、かつ業種業務近傍スコアが大きいライブラリほどその値が大きくなる。このライブラリスコアに基づいて、ライブラリを表示することにより、業種業務の近さも考慮したライブラリスコアを計算し、業種業務が近い実績を持つライブラリほど上位に表示されるようになり、ライブラリの検索精度を向上することができる。
【実施例３】
【０１０７】
次に、実施例３について説明する。【０１０８】
実施例１及び実施例２においては、ライブラリ実行実績ＤＢ１０６に含まれる実行実績に基づいて、ライブラリスコアを特定するようにしているので、ライブラリ実行実績ＤＢ１０６に含まれる実行実績の数（情報量：具体的には、レコード数）が少ない場合には、実施例１及び実施例２における計算式等がうまく機能しない場合が起こり得る。そこで、実施例３では、ライブラリ実行実績ＤＢ１０６の実行実績の数が少ない場合であっても支障なく適切なライブラリを選択することのできる技術を提供する。具体的には、実施例３では、データ分析のコアとなるコア分析ライブラリを適用可能な条件（ルール）を記述しておき、そのルールに従ってライブラリを選定する。ここで、ルールは、熟練のデータサイエンティストが作成しておくことが好ましいい。コア分析ライブラリを適用可能な条件としては、例えば、入力データが満たすべき条件と、出力データが満たすべき条件との少なくとも一方の条件に関するルールである。このルールはメモリ１０３に格納される。【０１０９】
実施例３においては、ライブラリスコア算出部１０８は、単一のライブラリによってコア分析ライブラリの条件を満たすことができない場合には、複数のライブラリを重ねて使うことによって条件を満たせるよう再帰的にライブラリを検索する。例えば、再帰的に前処理ライブラリを検索し、前処理ライブラリによって出力されるデータの統計プロファイルを算出し、そのデータがコア分析ライブラリの入力データが満たすべき条件を満たすか否かを判定するような繰り返し処理により、使用したライブラリのリストを作成し、ライブラリのリストを出力する。【０１１０】
実施例３に係る計算機１０１のメモリ１０３は、コア分析ライブラリ対応表１３００と、コア分析ライブラリ適用ルール表１４００と、ライブラリ効果ＤＢ１５００とをさらに格納する。【０１１１】
図１５は、実施例３に係るコア分析ライブラリ対応表の構成図である。【０１１２】
コア分析ライブラリ対応表１３００は、各分析種別として使用可能なコア分析ライブラリを管理する表であり、分析種別１３０１と、コア分析ライブラリＩＤ１３０２とのフィールドを含むレコードを管理する。分析種別１３０１には、分析種別が格納される。コア分析ライブラリＩＤ１３０２には、レコードに対応する分析種別のデータ分析に適用可能なコア分析ライブラリのＩＤ（コア分析ライブラリＩＤ）が格納される。【０１１３】
例えば、図１５のコア分析ライブラリ対応表１３００は、分析種別「傾向分析」に対して、コア分析ライブラリ「Ｒ重回帰分析ライブラリ」と「Ｐｙｔｈｏｎクラスタ分析ライブラリ」とが使用できることを示している。【０１１４】
図１６は、実施例３に係るコア分析ライブラリ適用ルール表の構成図である。【０１１５】
コア分析ライブラリ適用ルール表１４００は、コア分析ライブラリを適用するために入力データおよび出力データが満たすべき条件（ルール）を保持する表である。コア分析ライブラリ適用ルール表１４００は、コア分析ライブラリＩＤ１４０１と、入力データ条件１４０２と、出力データ条件１４０３とのフィールドを有するレコードを格納する。【０１１６】
コア分析ライブラリＩＤ１４０１には、コア分析ライブラリのＩＤが格納される。入力データ条件１４０２には、レコードに対応するコア分析ライブラリに入力されるデータの条件（入力データ条件）が格納される。出力データ条件１４０３には、レコードに対応するコア分析ライブラリを実行した後において必要なデータの条件（出力データ条件）が格納される。【０１１７】
例えば、図１６に示す例では、コア分析ライブラリＩＤが「Ｒ重回帰分析」であるライブラリに対する入力データ条件は、「|［平均値］−［中央値］|＜［標準偏差］」であり、出力データ条件は、「重複行数＝０」である。この場合は、コア分析ライブラリ「Ｒ重回帰分析」をデータ分析アプリケーションに適用するために必要な条件として、入力データの統計プロファイルに対して、「平均値」と「中央値」との差の絶対値が「標準偏差」よりも小さくなければならない」という条件があり、出力データの統計プロファイルに対して、「重複行数が０でなければならない」という条件があることを意味している。【０１１８】
図１７は、実施例３に係るライブラリ効果データベースの構成図である。【０１１９】
ライブラリ効果データベース１５００は、ライブラリ（前処理ライブラリ、後処理ライブラリ等）に対して入力されるデータの統計プロファイルと、そのライブラリから出力されるデータの統計プロファイルとを管理する。ライブラリ効果データベース１５００は、各ライブラリごとに、ライブラリＩＤ１５０１と、入力データ統計プロファイル１５０２と、出力データ統計プロファイル１５０３と、予想効果式１５０４とのフィールドを含むレコードを格納する。【０１２０】
ライブラリＩＤ１５０１には、ライブラリのＩＤが格納される。入力データ統計プロファイル１５０２には、レコードに対応するライブラリに入力されたデータの統計プロファイルが格納される。出力データ統計プロファイル１５０３には、レコードに対応するライブラリから出力されたデータの統計プロファイルが格納される。予想効果式１５０４には、レコードに対応するライブラリが入力データの統計値に与える効果の式（影響情報）、すなわち、入力データと出力データとの統計値の差分の式が格納される。【０１２１】
ライブラリ効果データベース１５００のレコードによると、ライブラリ「上限フィルタ」に入力されたデータの統計プロファイルは、平均値が１０であり、中央値が１５であり、ライブラリから出力されたデータの統計プロファイルは、平均値が１０であり、中央値が１２であり、予想効果式は、「中央値（input）―中央値(output)＝３」であること、すなわち、入力の中央値から出力の中央値を引くと「３」となることがわかる。予想効果式は、入力されたデータの統計プロファイルと、出力されたデータの統計プロファイルとを参照することにより得ることができる。この予想効果式によると、このライブラリに入力データを入れると、出力されるデータの統計プロファイルがどのようになるかを推定することができる。【０１２２】
次に、実施例３に係るマーケットプレイスシステム１０における処理動作について説明する。【０１２３】
まず、マーケットプレイスシステム１０の計算機１０１における全体処理について説明する。【０１２４】
図１８は、実施例３に係る全体処理のフローチャートである。なお、実施例１に係る図９に示す全体処理のフローチャートと同様な部分には同一の符号を付し、重複する説明を省略する。【０１２５】
ステップＳ４０１において、統計プロファイル算出部１０７は、ライブラリ実行実績ＤＢ１０６のレコード数が所定数（例えば、１００）以上であるか否かを判定する（Ｓ４０１）。【０１２６】
この結果、ライブラリ実行実績ＤＢ１０６のレコード数が所定数以上である場合（Ｓ４０１：ＹＥＳ）には、ライブラリ実行実績ＤＢ１０６に十分な蓄積量の実行実績が格納されていることを意味しているので、統計プロファイル算出部１０７は、処理をステップＳ１０３に進める。【０１２７】
一方、ライブラリ実行実績ＤＢ１０６のレコード数が所定数よりも少ない場合（Ｓ４０１：ＮＯ）には、ライブラリ実行実績ＤＢ１０６に十分な蓄積量の実行実績が格納されていないことを意味しているので、統計プロファイル算出部１０７は、ルール判定処理（図１９参照）を実行する（Ｓ４０２）。【０１２８】
図１９は、実施例３に係るルール判定処理のフローチャートである。【０１２９】
ルール判定処理は、図１８のステップＳ４０２に対応する処理である。【０１３０】
まず、ライブラリスコア算出部１０８は、コアライブラリ対応表１３００から分析種別に対応するコア分析ライブラリを取得し、コア分析ライブラリ適用ルール表１４００から取得したコア分析ライブラリに対応する入力データ条件を取得する（Ｓ５０１）。なお、分析種別に対応するコア分析ライブラリが複数ある場合には、それらすべてを取得し、それらに対応する入力データ条件を取得するようにしてもよい。【０１３１】
次いで、ライブラリスコア算出部１０８は、ステップＳ１０２で算出した入力データに対する統計プロファイルが入力データ条件の条件式を満たすか否かを判定する（Ｓ５０２）。【０１３２】
この結果、条件式を満たす場合（Ｓ５０３：ＹＥＳ）には、ライブラリスコア算出部１０８は、その時点のライブラリの候補のリスト（ライブラリ候補リスト）をライブラリ検索結果画面１８１０に表示させるデータを作成し、通信部１０４が作成されたデータを端末１１１に送信することにより、端末１１１にライブラリ候補リストが含まれるライブラリ検索結果画面１８１０を表示させる（Ｓ５０５）。【０１３３】
一方、条件式を満たさない場合（Ｓ５０３：ＮＯ）には、ライブラリスコア算出部１０８は、適用可能なライブラリを特定し、ライブラリ効果ＤＢ１５００を参照して、特定したライブラリを実行することによる予想効果式を取得し、入力データの統計プロファイルに対して予想効果式を適用して、入力データに対して特定したライブラリを適用した場合に得られる出力データとして予想される統計プロファイル（出力予定統計プロファイル）を生成し、このライブラリをライブラリ候補リストに追加し、処理をステップＳ５０２に進める。次のステップＳ５０２においては、出力予定統計プロファイルが、入力データの統計プロファイルに置き換えられて同様な処理が行われる。【０１３４】
ステップＳ５０２〜Ｓ５０４の処理によると、入力データの統計プロファイルに対して適用される１以上のライブラリがライブラリ候補リストに追加されることとなり、ステップＳ５０３を経てステップＳ５０５で出力されるライブラリ候補リストには、入力データの統計プロファイルをコア分析ライブラリの入力データ条件を満たすように影響を与える１以上のライブラリが含まれることとなる。【０１３５】
次に、図１９のルール判定処理について、例えば、コア分析ライブラリ対応表１３００、コア分析ライブラリ適用ルール表１４００、及びライブラリ効果ＤＢ１５００が図１５から図１７に示す内容である場合を例に説明する。【０１３６】
なお、ステップＳ１０１において、分析種別「傾向分析」が受信としてされ、ステップＳ１０２で、入力データの統計プロファイルが「平均値：１０、中央値：１７、標準偏差：５」であると算出されたものとする。【０１３７】
ステップＳ５０１では、ライブラリスコア算出部１０８は、「傾向分析」に対応するコア分析ライブラリとして、「Ｒ重回帰分析ライブラリ」と、「Ｐｙｔｈｏｎクラスタ分析ライブラリ」とを特定する。この場合には、ライブラリ格納部１０５には、傾向分析のためのコア分析ライブラリとして、これら２種類のライブラリが保持されていることを意味している。【０１３８】
次に、ライブラリスコア算出部１０８は、コア分析ライブラリ適用ルール表１４００を参照して、例えば、「Ｒ重回帰分析ライブラリ」に対する入力データ条件に関する条件として、「|［平均値］−［中央値］|＜［標準偏差］」を取得する。次いで、ステップＳ５０２において、ライブラリスコア算出部１０８は、この条件式に入力データの統計プロファイルを当てはめることにより、「｜１０−１７｜＜５」を得て、統計プロファイルは条件式を満たしていない（条件式が偽）と判定する。この判定結果は、入力データの統計プロファイルは、中央値が平均値に対し相対的に大きく、条件式を満たしていないことを意味している。【０１３９】
この結果、処理はステップＳ５０４に進み、必要な前処理ライブラリを検索する処理が行われることとなる。【０１４０】
ステップＳ５０４では、ライブラリスコア算出部１０８は、ライブラリ効果ＤＢ１５００から「上限フィルタ」と予想効果式「中央値（ｉｎｐｕｔ）−中央値（ｏｕｔｐｕｔ）＝３」を取得する。このライブラリ「上限フィルタ」は、データの中央値を下げる役割を果たすと予想されることを意味している。ライブラリスコア算出部１０８は、取得した「上限フィルタ」を、ライブラリ候補リストに追加する。なお、この処理ステップを実行する毎に初期の評価値（最大の評価値）から評価値を減算していくことにより、ライブラリ候補リストのライブラリのデータ分析における評価値を決定するようにしてもよい。【０１４１】
ライブラリスコア算出部１０８は、この予想効果式に対して、入力データの統計プロファイルを入力することで、ライブラリを適用した場合における予想値（ここでは、出力データの中央値の予想値が１７−３＝１４となることを把握する。【０１４２】
次に、ステップＳ５０２において、ライブラリスコア算出部１０８は、入力データに対してステップＳ５０４で取得したライブラリを適用して得られる出力データの統計プロファイルを条件式に当てはめることにより、「｜１０−１４｜＜５」を得て、統計プロファイルが条件式を満たしている（条件式が真）と判定する。【０１４３】
この結果、処理がステップＳ５０５に進み、ライブラリスコア算出部１０８は、この時点の「上限フィルタ」を含むライブラリ候補リストをライブラリ検索結果画面１８１０に表示させるデータを作成し、通信部１０４が作成されたデータを端末１１１に送信する。これにより、端末１１１には、「上限フィルタ」が候補のライブラリとしてライブラリ検索結果画面１８１０に表示される。なお、上記同様な処理を、「Ｐｙｔｈｏｎクラスタ分析ライブラリ」を対象に実行してもよい。【０１４４】
また、上記ルール判定処理においては、前処理ライブラリの候補を検索する例を示していたが、併せて後処理ライブラリの候補を検索するようにしてもよい。例えば、ライブラリスコア算出部１０８は、コアライブラリ対応表１３００から受信した分析種別に対応するコア分析ライブラリを取得し、コア分析ライブラリ適用ルール表１４００から取得したコア分析ライブラリに対応する出力データ条件を取得し、ライブラリ効果ＤＢ１５００から出力データ条件に合致する予想効果式を有するライブラリを特定し、このライブラリを後処理ライブラリの候補として、ライブラリ候補リストに追加するようにしてもよい。具体的には、例えば、コア分析ライブラリがＲ重回帰分析である場合には、ライブラリスコア算出部１０８は、図１６のコア分析ライブラリ適用ルール表１４００のＲ重回帰分析に対応するレコードの出力データ条件１４０３の条件（重複行数＝０）を取得する。次いで、ライブラリスコア算出部１０８は、ライブラリ効果ＤＢ１５００を参照して、出力データの統計プロファイルを、出力データ条件を満たすようにすることのできるライブラリ（この例では、重複排除フィルタ）を検索して、検索して得られたライブラリを後処理ライブラリの候補としてライブラリ候補リストに含めるようにしてもよい。【０１４５】
実施例３によると、ライブラリ実行実績ＤＢに少数の実績しかない場合であっても、データ分析に適切なライブラリを利用者に対して提供することができる。【０１４６】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。【０１４７】
例えば、上記実施例１においては、入力データ統計プロファイルと、ライブラリを適用した過去の入力データの統計プロファイル群の重心との距離に基づいて、ライブラリスコアを算出するようにしていたが、本発明はこれに限られず、例えば、計算機１０１に、入力データの統計プロファイルを入力として、ライブラリスコアを算出するように機械学習（例えば、Ｑ学習）をさせた機能部を備えるようにし、この機能部に分析対象の入力データの統計プロファイルを入力させてライブラリスコアを算出させるようにしてもよい。【０１４８】
また、上記実施例３では、ライブラリ実行実績ＤＢに少数の実績しかない場合に、ルール判定処理を行って、候補のライブラリを検出するようにしていたが、本発明はこれに限られず、ライブラリ実行実績ＤＢに多くの実績がある場合においても、ルール判定処理を行って、候補のライブラリを検出するようにしてもよい。また、利用者からの指示に従って、ルール判定処理を行って、候補のライブラリを検出するようにしてもよい。このようにすると、ライブラリ実行実績による観点とは別の観点において適切なライブラリの候補を検出することができる。【０１４９】
また、上記実施例において、ＣＰＵが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施例におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【符号の説明】
【０１５０】
１０…マーケットプレイスシステム、１０１，１１０…計算機、１０２…ＣＰＵ、１０３…メモリ、１０４…通信部、１０５…ライブラリ格納部、１０６…ライブラリ実行実績ＤＢ、１０７…統計プロファイル算出部、１０８…ライブラリスコア算出部、１０９…ライブラリ実行部、１１１…端末
【図１】
0006704089.tif 000003
【図２】
0006704089.tif 000004
【図３】
0006704089.tif 000005
【図４】
0006704089.tif 000006
【図５】
0006704089.tif 000007
【図６】
0006704089.tif 000008
【図７】
0006704089.tif 000009
【図８】
0006704089.tif 000010
【図９】
0006704089.tif 000011
【図１０】
0006704089.tif 000012
【図１１】
0006704089.tif 000013
【図１２】
0006704089.tif 000014
【図１３】
0006704089.tif 000015
【図１４】
0006704089.tif 000016
【図１５】
0006704089.tif 000017
【図１６】
0006704089.tif 000018
【図１７】
0006704089.tif 000019
【図１８】
0006704089.tif 000020
【図１９】
0006704089.tif 000021