(57)【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納する記憶領域を備え、データを分析するデータ分析システムであって、
前記データに対して分析処理を実行し、前記分析処理の分析結果を前記記憶領域に格納する分析実行部と、
前記分析結果を評価し、前記分析結果から新たな分析処理を生成する複数の推論ルール部と、
前記複数の推論ルール部を制御する推論ルール制御部と、
前記分析実行部の未処理の分析処理を管理する分析処理管理部と、を備え、
前記推論ルール部は、前記分析結果を評価する分析結果評価部と、前記分析結果から前記新たな分析処理を生成する分析処理生成部と、を含み、
前記分析結果評価部は、前記記憶領域に格納された分析結果を読み込み、当該分析結果の特性を示す特徴量を算出することによって前記分析結果を評価し、当該分析結果と当該特徴量とを対応付けて前記記憶領域に格納し、
前記推論ルール制御部は、前記記憶領域に格納された分析結果のうち前記特徴量が所定条件を満たす分析結果を前記新たな分析処理の生成元の候補として選択し、
前記分析処理生成部は、前記推論ルール制御部によって選択された分析結果から新たな分析処理を生成し、
前記分析処理管理部は、前記分析処理生成部によって生成された分析処理を前記分析実行部に実行させることを特徴とするデータ分析システム。
【請求項２】
ユーザからの入力を受け付ける入力部と、
一の分析結果を示す分析結果表示画面を出力する分析結果表示部と、を備え、
前記分析結果表示部は、
前記出力した分析結果の前記特徴量の値を前記入力部から指定可能な特徴量指定領域を含んで、前記分析結果表示画面を出力し、
前記特徴量指定領域で指定された値を前記出力した分析結果の前記特徴量として前記記憶領域に格納することを特徴とする請求項１に記載のデータ分析システム。
【請求項３】
ユーザからの入力を受け付ける入力部と、
前記記憶領域に格納された分析結果のうち所定の条件に適合する分析結果を抽出した分析結果の一覧を生成し、前記生成した前記分析結果の一覧を示す分析結果一覧表示画面を出力する分析結果表示部と、を備え、
前記分析結果表示部は、
前記特徴量を算出した前記分析結果評価部ごとに重み付けを前記入力部から指定可能な重み付け指定領域を出力し、
前記分析結果表示部は、前記重み付け指定領域で指定された重み付けに基づく前記特徴量に重み付けをし、
前記分析結果一覧表示画面に表示された分析結果を、前記重み付けされた前記特徴量の順に並び替えることを特徴とする請求項１に記載のデータ分析システム。
【請求項４】
前記分析処理を記述した分析スクリプトのユーザからの入力を受け付ける分析スクリプト入力受付部を備え、
前記分析スクリプト入力受付部は、
前記入力を受け付けた分析スクリプトによる前記分析処理を前記分析実行部に実行させ、
前記入力を受け付けた分析スクリプトの分析結果を前記記憶領域に格納することを特徴とする請求項１に記載のデータ分析システム。
【請求項５】
前記分析処理生成部は、前記新たな分析処理を生成した場合、当該新たな分析処理の生成元となる前記分析結果の前記特徴量を、当該新たな分析処理による前記分析結果の前記特徴量の予測値に設定し、
前記分析処理管理部は、前記分析処理生成部によって生成された分析処理の処理順を前記予測値に基づいて決定することを特徴とする請求項１に記載のデータ分析システム、
【請求項６】
前記分析処理管理部又は前記分析実行部は、前記複数の分析処理を記述した分析スクリプトを一つのスクリプトにマージし、
前記分析実行部は、前記マージされたスクリプトを実行することによって、複数の分析処理を実行することを特徴とする請求項１に記載のデータ分析システム。
【請求項７】
前記分析処理生成部は、前記推論ルール部ごとに設定された重み付け及び前記分析実行部によって未だ実行されていない実行処理の数に基づいて、前記生成する前記分析処理の数を決定することを特徴とする請求項１に記載のデータ分析システム。
【請求項８】
前記分析結果評価部は、同じ推論ルール部に属する前記分析処理生成部が生成する分析処理に対応するルールに基づいて前記特徴量を算出し、
前記推論ルール制御部は、前記記憶領域に格納された分析結果のうち、前記新たな分析処理を生成させる分析処理生成部と同じ推論ルール部に属する前記分析結果評価部が算出した特徴量が所定条件を満たす分析結果を前記新たな分析処理の生成元の候補として選択することを特徴とする請求項１に記載のデータ分析システム。
【請求項９】
プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納する記憶領域を備える計算機システムにおけるデータを分析するデータ分析方法であって、
前記計算機システムは、
前記データに対して分析処理を実行し、前記分析処理の分析結果を前記記憶領域に格納する分析実行部と、
前記分析結果を評価し、前記分析結果から新たな分析処理を生成する複数の推論ルール部と、
前記複数の推論ルール部を制御する推論ルール制御部と、
前記分析実行部の未処理の分析処理を管理する分析処理管理部と、を備え、
前記推論ルール部は、前記分析結果を評価する分析結果評価部と、前記分析結果から前記新たな分析処理を生成する分析処理生成部と、を含み、
前記方法は、
前記分析結果評価部が、前記記憶領域に格納された分析結果を読み込み、当該分析結果の特性を示す特徴量を、同じ推論ルール部に属する前記分析処理生成部が生成する分析処理に対応するルールに基づいて算出することによって前記分析結果を評価し、当該分析結果と当該特徴量とを対応付けて前記記憶領域に格納するステップと、
前記推論ルール制御部が、前記記憶領域に格納された分析結果のうち、新たな分析処理を生成する分析処理生成部と同じ推論ルール部に属する分析結果評価部が評価した分析結果であって、前記特徴量が所定条件を満たす分析結果を前記新たな分析処理の生成元の候補として選択するステップと、
前記分析処理生成部が、前記推論ルール制御部によって選択された分析結果から新たな分析処理を生成するステップと、
前記分析処理管理部が、前記分析処理生成部によって生成された分析処理を前記分析実行部に実行させるステップと、を含むことを特徴とするデータ分析方法。
【請求項１０】
ユーザからの入力を受け付ける入力部と、
一の分析結果を示す分析結果表示画面を出力する分析結果表示部を備え、
前記方法は、
前記分析結果表示部が、前記出力した分析結果の前記特徴量の値をユーザが指定可能な特徴量指定領域を含んで、前記分析結果表示画面を出力するステップと、
前記分析結果表示部が、前記特徴量指定領域で指定された値を前記出力した分析結果の前記特徴量として前記記憶領域に格納するステップと、を含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１１】
ユーザからの入力を受け付ける入力部と、
前記記憶領域に格納された分析結果のうち所定の条件に適合する分析結果を抽出した分析結果の一覧を生成し、前記生成した前記分析結果の一覧を示す分析結果一覧表示画面を出力する分析結果表示部と、を備え、
前記方法は、
前記分析結果表示部が、前記特徴量を算出した前記分析結果評価部ごとに重み付けを前記入力部から指定可能な重み付け指定領域を出力するステップと、
前記分析結果表示部が、前記重み付け指定領域で指定された重み付けに基づく前記特徴量に重み付けをし、
前記分析結果表示部が、前記分析結果一覧表示画面に表示された分析結果を、前記重み付けされた前記特徴量の順に並び替えるステップと、を含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１２】
前記分析処理を記述した分析スクリプトのユーザからの入力を受け付ける分析スクリプト入力受付部を備え、
前記方法は、
前記分析スクリプト入力受付部が、前記入力を受け付けた分析スクリプトによる前記分析処理を前記分析実行部に実行させるステップと、
前記分析スクリプト入力受付部が、前記入力を受け付けた分析スクリプトの分析結果を前記記憶領域に格納するステップと、を含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１３】
前記分析処理生成部が、前記新たな分析処理を生成した場合、当該新たな分析処理の生成元となる前記分析結果の前記特徴量を、当該新たな分析処理による前記分析結果の前記特徴量の予測値に設定するステップと、
前記分析処理管理部が、前記分析処理生成部によって生成された分析処理の処理順を前記予測値に基づいて決定するステップと、を含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１４】
前記分析処理管理部又は前記分析実行部が、前記複数の分析処理を記述した分析スクリプトを一つのスクリプトにマージするステップと、
前記分析実行部が、前記マージされたスクリプトを実行することによって、複数の分析処理を実行するステップと、を含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１５】
前記分析処理生成部が、前記推論ルール部ごとに設定された重み付け及び前記分析実行部によって未だ実行されていない実行処理の数に基づいて、前記生成する前記分析処理の数を決定するステップを含むことを特徴とする請求項９に記載のデータ分析方法。
【請求項１６】
前記分析結果評価部が前記特徴量を算出するステップでは、同じ推論ルール部に属する前記分析処理生成部が生成する分析処理に対応するルールに基づいて前記特徴量を算出し、
前記推論ルール制御部が前記新たな分析処理の生成元の候補を選択するステップでは、前記記憶領域に格納された分析結果のうち、前記新たな分析処理を生成させる分析処理生成部と同じ推論ルール部に属する前記分析結果評価部が算出した特徴量が所定条件を満たす分析結果を前記新たな分析処理の生成元の候補として選択することを特徴とする請求項９に記載のデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを分析するデータ分析システムに関し、特に、自動的に分析を進めるデータ分析システムに関する。
【背景技術】
【０００２】
ＩＴ(Information Technology)技術の発達によって業務ログ及びセンサデータ等のデータが大量に収集されるようになってきている。企業及び自治体には、大量に保持するこれらのデータを分析して業務を最適化したいというニーズがある。
【０００３】
業務ログ及びセンサデータ等のデータを用いて業務を最適化しようとする場合、まず、データの全体的な傾向を把握するためにデータが集計分析される。ここで、集計分析とは、例えば、データを構成する項目ごとの頻度分布を算出すること、及び、データを構成する複数の項目に対してクロス集計を実行すること等をいう。
【０００４】
通常、このような集計分析はデータ分析作業の初期段階で実行され、１００以上の集計分析が実行される。データの意味を理解している専門家及び統計の専門家が試行錯誤して集計分析作業を進める必要がある。
【０００５】
例えば、ある商品カテゴリの月ごとの売り上げが集計分析される場合、１月の売り上げが他の月の２倍あったとする。この場合、この商品カテゴリに属する商品ごとに１月の売り上げを分析することによって、分析をさらに進めることが考えられる。また、年度と月の２軸で当該商品カテゴリの売り上げをクロス集計し、毎年同じ傾向が表れているかを分析することが考えられる。
【０００６】
このように集計分析作業は、以前の分析結果に基づいて、新しい分析方法を考案し、考案した分析方法を実行する。したがって、集計分析では、試行錯誤のプロセスが何回も繰り返され、最終的に１００以上の集計分析結果が得られる。
【０００７】
このような集計分析は、作業をする専門家の人的コストがかかり、また時間もかかる。さらに１００以上の集計分析を実行した場合、分析を実行した者であっても、多数の分析結果を十分に理解し、解釈することが困難になる。
【０００８】
データを構成する項目を複数のグループに分け、クロス集計を実行しグラフを生成する技術が知られている（例えば、特許文献１参照）。
【０００９】
情報伝送ログを収集・集計する場合にアンケート調査が実施され、アンケート調査の分析結果から時間的変化の大きな特徴を抽出し、抽出した特徴に基づいてアンケートの実施範囲や実施項目を決定する技術が知られている（例えば、特許文献２参照）。
【００１０】
データを構成する項目に適切な視覚的プロットが自動的に生成される技術が知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００７−１１４６８号公報
【特許文献２】特開２００６−１８３５７号公報
【特許文献３】特表２００９−５０８２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１〜特許文献３に記載された技術では、集計分析が自動で実行されないので、集計分析の人的コスト及び時間コストを解決できない。
【００１３】
そこで、人が試行錯誤して進める集計分析を、コンピュータが自動的に実行する技術が望まれる。これによって、集計分析における人的コストを軽減し、また、集計分析作業にかかる時間も短縮することが期待できる。また、コンピュータが、分析結果をさらに分析するかを判断する場合に用いる基準をユーザに提示することによって、ユーザが当該基準を用いて分析結果を解釈し、分析結果をランキングすることができ、当該ユーザに提示される基準は多数の分析結果を理解する助けになる。
【００１４】
しかしながら、コンピュータが自動的に集計分析を実行するには、以下の技術的な課題がある。
【００１５】
第一に、コンピュータが、分析結果をランダムに分析すると、分析数が発散してしまい、コンピュータリソースを浪費してしまうという問題がある。特に、価値の低い分析結果の分析が優先的に多数実行されると、時間がかかるだけで、価値のある分析結果が得られなくなる。
【００１６】
第二に、コンピュータが分析結果をさらに分析するためには、分析結果を詳細に調べ、分析結果のどの部分を深堀するかを決定するためのアルゴリズムが必要である。
【００１７】
第三に、大量のデータに対して、コンピュータが多数の集計分析を実行する必要があるため、分析を効率的に実行するためのアルゴリズムが必要である。特に、コンピュータが大量データに対して分析処理を実行する場合、価値が低い分析結果が多く出力されることによるファイル入出力がネックとなり、分析処理の実行速度が低下するので、このファイル入出力を効率化する必要がある。そこで、コンピュータに可能な限り多くの分析処理を実行させ、分析処理の実行後に分析結果を評価し、評価の高い分析結果を優先的にユーザに提示する。これによって、価値の高い分析結果のみをユーザに提示でき、ユーザに提示する分析結果の精度を向上させることができる。このためには、コンピュータは、可能な限り多くの分析処理を実行する必要があり、分析処理の実行速度を向上させることが重要な課題となる。
【００１８】
本発明は、上記に鑑みてなされたものであって、自動的に集計分析を実行するデータ分析システムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の代表的な一例を示せば、プログラムを実行するプロセッサ、及び前記プロセッサによって実行されるプログラムを格納する記憶領域を備え、データを分析するデータ分析システムであって、前記データに対して分析処理を実行し、前記分析処理の分析結果を前記記憶領域に格納する分析実行部と、前記分析結果を評価し、前記分析結果から新たな分析処理を生成する複数の推論ルール部と、前記複数の推論ルール部を制御する推論ルール制御部と、前記分析実行部の未処理の分析処理を管理する分析処理管理部と、を備え、前記推論ルール部は、前記分析結果を評価する分析結果評価部と、前記分析結果から前記新たな分析処理を生成する分析処理生成部と、を含み、前記分析結果評価部は、前記記憶領域に格納された分析結果を読み込み、当該分析結果の特性を示す特徴量を算出することによって前記分析結果を評価し、当該分析結果と当該特徴量とを対応付けて前記記憶領域に格納し、前記推論ルール制御部は、前記記憶領域に格納された分析結果のうち前記特徴量が所定条件を満たす分析結果を前記新たな分析処理の生成元の候補として選択し、前記分析処理生成部は、前記推論ルール制御部によって選択された分析結果から新たな分析処理を生成し、前記分析処理管理部は、前記分析処理生成部によって生成された分析処理を前記分析実行部に実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、自動的に集計分析を実行するデータ分析システムを提供できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態のデータ分析システムの説明図である。
【図２】本発明の実施形態のデータ分析システムの機能ブロック図である。
【図３】本発明の実施形態の分析対象データの一例の説明図である。
【図４】本発明の実施形態の分析対象データの一例の説明図である。
【図５】本発明の実施形態の分析対象データの一例の説明図である。
【図６】本発明の実施形態の分析スクリプトの一例の説明図である。
【図７】本発明の実施形態の分析スクリプトの一例の説明図である。
【図８】本発明の実施形態の分析結果の一例の説明図である。
【図９】本発明の実施形態の分析結果のグラフの一例の説明図である。
【図１０】本発明の実施形態の分析スクリプトテーブルのテーブルスキーマの説明図である。
【図１１】本発明の実施形態の評価値テーブルのテーブルスキーマの説明図である。
【図１２】本発明の実施形態の分析スクリプト生成処理のデータの流れを示すシーケンス図である。
【図１３】本発明の実施形態の分析スクリプト生成処理のフローチャートである。
【図１４】本発明の実施形態の分析実行処理のデータの流れを示すシーケンス図である。
【図１５】本発明の実施形態の分析実行処理のフローチャートである。
【図１６】本発明の実施形態の分析スクリプトのマージの説明図である。
【図１７】本発明の実施形態の分析結果表示部が表示する分析結果一覧表示画面の説明図である。
【図１８】本発明の実施形態の分析結果表示部が表示する分析結果表示画面の説明図である。
【図１９】本発明の実施形態の分析結果表示部が表示するソートパラメタ設定画面の説明図である。
【図２０】本発明の実施形態の分析ユーザインタフェース部が表示する分析スクリプト入力画面の説明図である。
【図２１】本発明の実施形態の複数の計算機によって構成されるデータ分析システム１００のブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態を説明する。なお、本明細書において、コンピュータ等のデータ処理装置が、その処理部においてプログラムによって実現する機能を、「処理」、「部」、及び「手段」と表現する場合がある。
【００２３】
本実施形態は、データを自動的に分析するデータ分析システム１００（図１参照）に係るものである。
【００２４】
図１は、本発明の実施形態のデータ分析システム１００の説明図である。
【００２５】
図１では、データ分析システム１００を汎用計算機（コンピュータ）として説明するが、これに限定されず、データ分析システム１００は複数の汎用計算機によって構成されてもよい。
【００２６】
データ分析システム１００は、入力デバイス１０１、ネットワークデバイス１０２、中央処理部（プロセッサ、又は、Central Processing Unit：ＣＰＵ）１０３、主記憶部１０４、補助記憶部１０５、及び表示デバイス１０７を備える。
【００２７】
入力デバイス１０１、ネットワークデバイス１０２、ＣＰＵ１０３、主記憶部１０４、補助記憶部１０５、及び表示デバイス１０７は、バス１０６を介して接続される。
【００２８】
入力デバイス１０１は、ユーザからの入力を受け付ける入力部であり、例えば、キーボード及びマウス等である。ネットワークデバイス１０２は、インターネット等のネットワークに接続するためのネットワークインタフェース部である。
【００２９】
ＣＰＵ１０３は、主記憶部１０４に格納されたプログラムを実行する。主記憶部１０４は、ＣＰＵ１０３がアクセス可能な記憶領域であって、ＣＰＵ１０３によって実行されるプログラムを格納する。主記憶部１０４は、例えばメモリ等である。補助記憶部１０５は、ＣＰＵ１０３が直接アクセスできない記憶領域であって、ＣＰＵ１０３が実行するプログラムを含む各種データを格納する。補助記憶部１０５は、例えば、ＨＤＤ（Hard Disk Drive）等である。
【００３０】
入力デバイス１０１及び表示デバイス１０７は、ユーザインタフェース部を構成する。
【００３１】
図２は、本発明の実施形態のデータ分析システム１００の機能ブロック図である。
【００３２】
データ分析システム１００は、分析結果データベース２００、推論ルール制御部２０１、推論ルール部２０２Ａ及び２０２Ｂ（以下、総称して推論ルール部２０２という）、ジョブ制御部２０８、分析実行部２０９、分析結果表示部２１３、分析ユーザインタフェース部２１４、並びに、グラフ生成部２１５を備える。
【００３３】
推論ルール部２０２Ａは、分析結果評価部２０３Ａ及び分析スクリプト生成部２０４Ａを備える。同じく、推論ルール部２０２Ｂは、分析結果評価部２０３Ｂ及び分析スクリプト生成部２０４Ｂを備える。分析結果評価部２０３Ａ及び２０３Ｂを総称して分析結果評価部２０３といい、分析スクリプト生成部２０４Ａ及び２０４Ｂを総称して分析スクリプト生成部２０４という。
【００３４】
また、分析実行部２０９は、分析スクリプト解釈部２１０、分析対象データ管理部２１１、及び分析対象データ２１２を備える。
【００３５】
推論ルール制御部２０１、推論ルール部２０２、ジョブ制御部２０８、分析実行部２０９、分析結果表示部２１３、分析ユーザインタフェース部２１４、及び、グラフ生成部２１５の一部又は全部は、図１に示すＣＰＵ１０３がプログラムを実行することによって実現される。
【００３６】
分析結果表示部２１３及び分析ユーザインタフェース部２１４は、図１に示す入力デバイス１０１及び表示デバイス１０７のハードウェア構成を含む。
【００３７】
分析結果データベース２００及び分析対象データ２１２は、図１に示す主記憶部１０４又は補助記憶部１０５等の記憶領域に格納される。
【００３８】
図２に示す各部、分析結果データベース２００、及び分析対象データ２１２は、同一のコンピュータに実装されてもよいし、複数のコンピュータに分散して実装されてもよい。
【００３９】
分析結果表示部２１３及び分析ユーザインタフェース部２１４は、入力デバイス１０１及び表示デバイス１０７を備える他に、入力デバイス１０１及び表示デバイス１０７に接続される構成を備えてもよい。
【００４０】
以下に、データ分析システム１００の各構成部について説明する。
【００４１】
分析結果データベース２００は、分析処理を記述した分析スクリプトの実行結果である分析結果等が登録される分析スクリプトテーブル１０００（図１０参照）、及び、分析結果の評価値が登録される評価値テーブル１１００（図１１参照）を含む。ここで、分析スクリプトとは、ＤＳＬ（Domain Specific Language）又はプログラミング言語で記述された分析処理の実行命令をいう。また、評価値は、分析結果の特性を示す特徴量ともいう。
【００４２】
なお、分析スクリプトテーブル１０００は、図１０で詳細を説明する。評価値テーブル１１００は、図１１で詳細を説明する。
【００４３】
推論ルール制御部２０１は、推論ルール部２０２を制御し、複数の推論ルール部と連携して動作する。
【００４４】
具体的には、推論ルール制御部２０１は、分析結果データベース２００の分析スクリプトテーブル１０００に格納された分析結果を取得し、取得した分析結果の特性を示す特徴量（評価値）を分析結果評価部２０３に算出させ、分析結果評価部２０３が算出した評価値を評価値テーブル１１００に格納する。また、推論ルール制御部２０１は、評価値テーブル１１００に格納された分析結果から評価値が所定の条件を満たす分析結果を取得し、取得した分析結果から新たな分析スクリプトを分析スクリプト生成部２０４に生成され、生成した新たな分析スクリプトを分析スクリプトテーブル１０００に格納する。
【００４５】
推論ルール部２０２は、分析結果の評価処理及び新たな分析スクリプトの生成処理を推論ルールに基づいて実行する。なお、推論ルールとは、評価処理及び生成処理の基準となるもので、例えば、頻度集計及びクロス集計等である。
【００４６】
推論ルールが頻度集計である推論ルール部２０２は、頻度集計を実行する分析スクリプトを生成し、突出した値を有する分析結果の評価値が高くなるように分析結果を評価する。
【００４７】
一方、推論ルールがクロス集計である推論ルール部２０２は、クロス集計を実行する分析スクリプトを生成し、一様な値を有する分析結果の評価値が高くなるように分析結果を評価する。
【００４８】
なお、異なる推論ルール部２０２には、異なる推論ルールが設定されるものとする。これによって、データ分析システム１００が複数の推論ルール部２０２を備えることによって、多様な分析が可能となる。
【００４９】
ジョブ制御部２０８は、分析結果データベース２００の分析スクリプトテーブル１０００から未実行の分析スクリプトを取得し、取得した分析スクリプトを分析ジョブとして分析実行部２０９の待ち行列に入れる。ジョブ制御部２０８は、分析実行部２０９の分析スクリプトの進捗を監視し、分析実行部２０９が分析スクリプトを実行した結果である分析結果を分析結果データベース２００の分析スクリプトテーブル１０００及び評価値テーブル１１００に格納する。以上より、ジョブ制御部２０８は、分析実行部２０９の分析処理を管理する分析処理管理部として機能するといえる。
【００５０】
分析実行部２０９は、分析スクリプトを解釈して、分析対象データ２１２に対して分析処理を実行する。分析実行部２０９は、分析スクリプト解釈部２１０、分析対象データ管理部２１１、及び分析対象データ２１２を備える。
【００５１】
分析スクリプト解釈部２１０は、分析スクリプトを解釈し、分析スクリプトをＣＰＵ１０３が実行可能な形式に変換する。
【００５２】
分析対象データ管理部２１１は、分析対象データ２１２を管理し、分析対象データ２１２に必要な処理を実行する。
【００５３】
分析実行部２０９は、例えば、特開２０１１−１３７５８号公報に記載されているデータ処理装置及びＲＤＢＭＳ（Relational Database Management System）等に相当する。
【００５４】
分析実行部２０９は、大量のデータに対して分析処理を実行する場合、多数の計算機上によって構成される分散計算システムであってもよい。
【００５５】
分析結果表示部２１３は、分析結果データベース２００に格納された分析結果等を表示デバイス１０７に表示する。また、分析結果表示部２１３は、ユーザからの入力に基づいて、表示デバイス１０７に表示される表示内容の切り替え、また、表示デバイス１０７に表示された分析結果を並べ替える。
【００５６】
分析ユーザインタフェース部２１４は、ユーザによって図２０に示す分析スクリプト入力画面２０００を介して作成された分析スクリプトの入力を受け付け、受け付けた分析スクリプトを分析実行部２０９に実行させる。また、分析ユーザインタフェース部２１４は、ユーザから入力された分析スクリプトの分析結果を表示デバイス１０７に表示する。また、分析ユーザインタフェース部２１４は、ユーザからの指示に基づいて、分析実行部２０９によって分析処理が実行された分析結果を分析結果データベース２００の分析スクリプトテーブル１０００に格納する。
【００５７】
以上より、分析ユーザインタフェース部２１４は、ユーザが作成した分析スクリプトの入力を受け付ける分析スクリプト入力受付部として機能するといえる。
【００５８】
推論ルール制御部２０１は、分析ユーザインタフェース部２１４が受け付けたユーザによって作成された分析スクリプトの分析結果に基づいて推論ルール部２０２に新たな分析スクリプトを生成させることもできる。これによって、ユーザは、データ分析システム１００が自動的に進める集計分析の分析方針を、分析ユーザインタフェース部２１４を介して修正できる。
【００５９】
グラフ生成部２１５は、分析結果に基づいて棒グラフ及び散布図等のグラフデータを生成し、生成したグラフデータを分析結果表示部２１３及び分析ユーザインタフェース部２１４等を介して表示デバイス１０７に表示する。
【００６０】
次に、分析対象データ２１２の例について図３〜図５を用いて説明する。
【００６１】
図３は、本発明の実施形態の分析対象データ２１２の一例の説明図である。
【００６２】
図３では、分析対象データ２１２として、ＸＭＬタグ付きのデータ３００を用いて説明するが、分析対象データ２１２は、図３に示すデータ３００以外のデータであってもよいことは明らかである。
【００６３】
図３に示す分析対象データ２１２は、ユーザが体につけた加速度センサのログを表す。このログには、「ユーザＩＤ」、「行動」、「日付」、「時刻」、「ｘ方向の加速度」、「ｙ方向の加速度」、及び「ｚ方向の加速度」がＸＭＬタグによって定義され、これらの値が記憶されている。
【００６４】
なお、図３では、１ユーザ分の分析対象データ２１２しか示されていないが、実際には複数のユーザの分析対象データ２１２がある。
【００６５】
図４は、本発明の実施形態の分析対象データ２１２の一例の説明図である。
【００６６】
分析対象データ２１２は図３に示すＸＭＬタグ付きのデータ３００以外のデータであってもよく、図４では、図３に示すＸＭＬタグ付きのデータ３００からＸＭＬタグを除外したデータ４００を示している。
【００６７】
図５は、本発明の実施形態の分析対象データ２１２の一例の説明図である。
【００６８】
図５では、図３に示すデータ３００又は図４に示すデータ４００を表形式に変換したデータ５００を示している。
【００６９】
次に、分析スクリプトの例について図６及び図７を用いて説明する。
【００７０】
図６は、本発明の実施形態の分析スクリプトの一例の説明図である。
【００７１】
図６に示す分析スクリプトの例は、図３に示す加速度センサのログである分析対象データ２１２から加速度の絶対値の頻度分布を算出する頻度集計分析スクリプト６００である。ここで、加速度の絶対値とは、ｘ方向の加速度、ｙ方向の加速度、及びｚ方向の加速度をそれぞれ二乗して、二乗した値の和の平方根である。
【００７２】
図６の「logs: histogram(0、 20、 1)」は、図３に示すデータ３００の「logs」タグの階層の頻度分布を算出することを意味し、引数は、０から２０までの値を１刻みで計数することを意味する。また、図６の「target: sqrt(x*x + y*y + z*z)」は加速度の絶対値を四捨五入した値を対象とすることを意味する。
【００７３】
図７は、本発明の実施形態の分析スクリプトの一例の説明図である。
【００７４】
図７は、図６に示す分析スクリプト６００をＳＱＬ言語で記述した分析スクリプト７００である。
【００７５】
なお、本実施形態の分析スクリプトは、図６及び図７に示す分析スクリプトに限定されず、他の分析スクリプトであってもよい。
【００７６】
図８は、本発明の実施形態の分析結果の一例の説明図である。
【００７７】
図８に示す分析結果の例は、図３に示すデータ３００（分析対象データ２１２）に対して図６に示す分析スクリプト６００が実行された分析結果のデータ８００である。
【００７８】
図８に示す一行目は、加速度の絶対値を四捨五入した値が０のログが２１２４０件であることを意味する。図８に示す二行目は、加速度の絶対値を四捨五入した値が１のログが１２４６件であることを意味する。図８に示す三行目以下は、一行目及び二行目と同じであるので説明を省略する。
【００７９】
図９は、本発明の実施形態の分析結果のグラフの一例の説明図である。
【００８０】
図９に示す分析結果のグラフの例は、図８に示す分析結果のデータ８００のグラフ９００である。
【００８１】
横軸は加速度の絶対値を四捨五入した値であり、縦軸は分析結果のログの件数である。
【００８２】
次に、分析結果データベース２００について図１０及び図１１を用いて説明する。
【００８３】
分析結果データベース２００は、図２で説明したように、分析スクリプト及び分析結果等を格納する分析スクリプトテーブル１０００、及び、分析結果の評価値を格納する評価値テーブル１１００を含む。
【００８４】
分析結果データベース２００は、例えばＲＤＢＭＳ（Relational Database Management System）等の公知の技術によって管理される。
【００８５】
図１０は、本発明の実施形態の分析スクリプトテーブル１０００のテーブルスキーマの説明図である。
【００８６】
分析スクリプトテーブル１０００は、analysis＿id１００１、data＿id１００２、created＿at１００３、updated＿at１００４、parent＿analysis＿ids１００５、rule＿id１００６、title１００７、script１００８、expected＿fitness１００９、及びresult１０１０を含む。
【００８７】
analysis＿id１００１には、分析スクリプトテーブル１０００内のレコードの一意な識別子（以下、分析ＩＤという）が登録される。data＿id１００２には、分析処理の対象となる分析対象データ２１２の種類を示す識別子が登録される。
【００８８】
created＿at１００３にはレコードが追加された日時が登録される。updated＿at１００４にはレコードが更新された日時が登録される。
【００８９】
parent＿analysis＿ids１００５には、script１００８に登録された分析スクリプトの作成元となった分析結果の分析ＩＤが登録される。
【００９０】
rule＿id１００６には、script１００８に登録された分析スクリプトを作成した分析スクリプト生成部２０４の一意な識別子（ルールＩＤ）が登録される。図１０では、rule＿id１００６にはcross及びscaleが登録されるが、crossはクロス集計の推論ルール部２０２のルールＩＤを示し、scaleは頻度分布の推論ルール部２０２のルールＩＤを示す。
【００９１】
title１００７には、script１００８に登録された分析スクリプトによる集計分析のタイトルが登録される。script１００８には、分析スクリプト生成部２０４によって生成された分析スクリプトが登録される。expected＿fitness１００９には、レコードに登録された分析スクリプトの評価値の予測値が登録される。予測値の算出方法については、図１３で詳細を説明する。result１０１０には、レコードのscript１００８に登録された分析スクリプトの分析結果が登録される。
【００９２】
図１１は、本発明の実施形態の評価値テーブル１１００のテーブルスキーマの説明図である。
【００９３】
評価値テーブル１１００は、fitness＿id１１０１、analysis＿id１１０２、created＿at１１０３、updated＿at１１０４、rule＿id１１０５、measure１１０６、及びvalue１１０７を含む。
【００９４】
fitness＿id１１０１には、評価値テーブル１１００内のレコードの一意な識別子が登録される。analysis＿id１１０２には、評価した分析結果の分析ＩＤが登録される。評価値テーブル１１００は、分析ＩＤによって、分析スクリプトテーブル１０００と対応付けられる。一つの分析結果は、複数の推論ルール部２０２の分析結果評価部２０３によって評価されるので、分析スクリプトテーブル１０００の一つのレコードは、評価値テーブル１１００の複数のレコードに対応し、これらのレコードは分析ＩＤによって対応付けられる。
【００９５】
created＿at１１０３には、評価値テーブル１１００のレコードが追加された日時が登録される。
【００９６】
updated＿at１１０４には、評価値テーブル１１００のレコードが更新された日時が登録される。
【００９７】
rule＿id１１０５には、評価値を算出した分析結果評価部２０３に設定された推論ルールが登録される。measure１１０６には、分析結果評価部２０３が評価値を算出した評価基準の一意な識別子が登録される。value１１０７には評価値が登録される。
【００９８】
次に、分析スクリプト作成処理について図１２及び図１３を用いて説明する。
【００９９】
図１２は、本発明の実施形態の分析スクリプト生成処理のデータの流れを示すシーケンス図である。
【０１００】
分析スクリプト生成処理で使用するデータは、推論ルール制御部２０１、分析結果データベース２００、及び推論ルール部２０２の間でやりとりされる。
【０１０１】
各推論ルール部２０２には一意な識別子（ルールＩＤ）が設定されており、説明を簡略化するために、図１２では推論ルール部２０２ＡにはルールＩＤ「０」が設定され、推論ルール部２０２ＢにはルールＩＤ「１」が設定されているものとする。
【０１０２】
最初にルールＩＤ「０」が設定された推論ルール部２０２Ａが分析スクリプト生成処理を実行し、続いて、ルールＩＤ「１」が設定された推論ルール部２０２Ｂが分析スクリプト生成処理を実行する。
【０１０３】
なお、図１２では、二つの推論ルール部２０２が図示されるが、三つ以上の推論ルール部２０２があっても、一つの推論ルール部２０２が分析スクリプト処理を実行した後、次の推論ルール部２０２が分析スクリプト生成処理を実行する。
【０１０４】
まず、推論ルール制御部２０１は、分析結果データベース２００の分析スクリプトテーブル１０００のレコードから、分析スクリプト生成処理を実行する推論ルール部２０２Ａ（rule＿id=0）が未だ評価していない分析結果が登録されたレコードを取得する（１２０１）。
【０１０５】
次に、推論ルール制御部２０１は、ステップ１２０１の処理で取得した分析スクリプトテーブル１０００のレコードを推論ルール部２０２Ａに渡す。推論ルール部２０２Ａは、当該レコードの評価値を推論ルール部２０２Ａに設定された評価基準に従って算出し、算出した評価値と当該評価値の算出に用いた評価基準とを推論ルール制御部２０１に渡す（１２０２）。
【０１０６】
次に、推論ルール制御部２０１は、推論ルール部２０２Ａから渡された評価値を、分析結果データベース２００の評価値テーブル１１００に登録する（１２０３）。
【０１０７】
次に、推論ルール制御部２０１は、分析結果データベース２００の評価値テーブル１１００を参照し、所定条件が成立するレコードを分析スクリプトの生成元候補として所定個数取得する（１２０４）。所定条件については、図１３のステップ１３０５の処理で詳細を説明する。
【０１０８】
次に、推論ルール制御部２０１は、ステップ１２０４の処理で取得した生成元候補に基づいて、分析スクリプト生成処理を実行する推論ルール部２０２Ａに分析スクリプトを生成させる（１２０５）。
【０１０９】
次に、推論ルール制御部２０１は、推論ルール部２０２Ａによって生成された分析スクリプトを分析結果データベース２００の分析スクリプトテーブル１０００に登録する（１２０６）。
【０１１０】
続いて、推論ルール制御部２０１は、推論ルール部２０２Ａに対して分析スクリプト生成処理を実行したので、推論ルール部２０２Ｂ（rule＿id=1）に対して分析スクリプト生成処理を実行する。
【０１１１】
なお、推論ルール部２０２Ｂの分析スクリプト生成処理は、推論ルール部２０２Ａの分析スクリプト生成処理と同じなので、同じ符号を付与し、説明を省略する。
【０１１２】
図１３は、本発明の実施形態の分析スクリプト生成処理のフローチャートである。
【０１１３】
分析スクリプト生成処理は、推論ルール制御部２０１及び推論ルール部２０２を実現するプログラムを実行するＣＰＵ１０３によって実行される。
【０１１４】
推論ルール制御部２０１は、分析スクリプト生成処理を実行する推論ルール部２０２に設定されたルールＩＤを示す変数（rule＿id）を０に設定する（１３０１）。
【０１１５】
次に、推論ルール制御部２０１は、図１２に示すステップ１２０１の処理で説明したように、分析結果データベースの分析スクリプトテーブル１０００のレコードから、分析スクリプト生成処理を実行する推論ルール部２０２が未だ評価していない分析結果が登録されたレコードを評価対象分析結果として取得する（１３０２）。
【０１１６】
ステップ１３０２の処理について詳細に説明する。
【０１１７】
推論ルール制御部２０１は、分析スクリプトテーブル１０００のレコードのうち、result１０１０にＮＵＬＬ以外が登録されたレコード（分析済レコード）を取得する。
【０１１８】
そして、推論ルール制御部２０１は、取得した分析済レコードのうち、どの推論ルール部２０２にも未だ評価されていないレコードを評価対象分析結果として取得する。具体的には、推論ルール制御部２０１は、分析済レコードのanalysis＿id１００１に登録された分析ＩＤが評価値テーブル１１００にanalysis＿id１１０２に登録されていない分析済レコードを評価対象分析結果として取得する。
【０１１９】
また、推論ルール制御部２０１は、すでに評価された分析済レコードであっても、現在の変数（rule＿id）によって特定される推論ルール部２０２によってまだ評価されていない分析済レコードを評価対象分析結果として取得する。具体的には、推論ルール制御部２０１は、分析済レコードのanalysis＿id１００１に登録された分析ＩＤが評価値テーブル１１００にanalysis＿id１１０２に登録されたレコードが存在する場合であっても、当該評価値テーブル１１００のレコードのrule＿id１１０５に登録されたルールＩＤがステップ１３０１の処理で設定されたルールＩＤと異なる場合、当該分析ＩＤがanalysis＿id１００１に登録された分析スクリプトテーブル１０００のレコードを評価対象分析結果として取得する。
【０１２０】
次に、推論ルール制御部２０１は、ステップ１３０２の処理で取得した評価対象分析結果を、変数（rule＿id）によって特定される推論ルール部２０２の分析結果評価部２０３に評価させる（１３０３）。
【０１２１】
具体的には、推論ルール制御部２０１は、評価対象分析結果となる分析スクリプトテーブル１０００のレコードに含まれるanalysis＿id１００１に登録された分析ＩＤ、当該レコードに含まれるscript１００８に登録された分析スクリプト、及び当該レコードに含まれるresult１０１０に登録された分析結果を、分析結果評価部２０３に渡す。
【０１２２】
分析結果評価部２０３は、推論ルール制御部２０１から渡された分析結果及び分析結果評価部２０３に設定された評価基準に基づいて評価値を算出し、算出した評価値及び評価基準を推論ルール制御部２０１に渡す。
【０１２３】
ここで、分析結果評価部２０３における分析結果の評価方法について簡単に説明する。なお、評価方法の詳細については後述する。
【０１２４】
分析結果評価部２０３は分析スクリプト生成部２０４と組になっており、分析スクリプトによって生成される分析スクリプトの分析処理と分析結果評価部２０３による分析結果の評価方法とは対応している。
【０１２５】
例えば、分析スクリプト生成部２０４が頻度集計を実行する分析スクリプトを生成する場合、当該分析スクリプト生成部２０４に対応する分析結果評価部２０３は、分析結果の突出度合いを評価する。具体的には、分析結果評価部２０３は、分析結果の最大値から、最大値を除いた他の分析結果の値の平均値を引いた値を評価値として算出する。
【０１２６】
また、分析スクリプト生成部２０４がクロス集計を実行する分析スクリプトを生成する場合、当該分析スクリプト生成部２０４に対応する分析結果評価部２０３は、分析結果の一様度合いを評価する。具体的には、分析結果評価部２０３は、各分析結果と分析結果の平均値との差の絶対値を評価値として算出する。
【０１２７】
次に、推論ルール制御部２０１は、分析結果評価部２０３から渡された評価値を分析結果データベース２００の評価値テーブル１１００に登録する（１３０４）。
【０１２８】
具体的には、推論ルール制御部２０１は、分析結果評価部２０３から渡された評価値に対応する分析ＩＤをanalysis＿id１１０２に登録し、変数（rule＿id）に設定されたルールＩＤをrule＿id１１０５に登録し、分析結果評価部２０３から渡された評価基準をmeasure１１０６に登録する。また、推論ルール制御部２０１は、評価値テーブル１１００内で一意な識別子を生成し、生成した識別子をfitness＿id１１０１に登録する。また、推論ルール制御部２０１は、現在の日時をcreated＿at１１０３及びupdated＿at１１０４に登録する。
【０１２９】
次に、推論ルール制御部２０１は、分析結果データベース２００の評価値テーブル１１００から、所定条件が成立するレコードを分析スクリプトの生成元候補として所定数取得する（１３０５）。
【０１３０】
所定条件について説明する。
【０１３１】
推論ルール制御部２０１は、評価値テーブル１１００を参照し、変数（rule＿id）に設定されたルールＩＤによって特定される推論ルール部２０２の分析結果評価部２０３によって評価された評価値が大きい順に所定数のレコード（評価値レコード）を取得する。具体的には、推論ルール制御部２０１は、評価値テーブル１１００のrule＿id１１０５に登録されたルールＩＤが変数（rule＿id）に設定されたルールＩＤと一致するレコードを、value１１０７に登録された評価値が大きい順に所定数（例えば２０個）取得する。
【０１３２】
そして、推論ルール制御部２０１は、分析スクリプトテーブル１０００を参照し、取得した評価値レコードの評価対象となった分析結果が、変数（rule＿id）に設定されたルールＩＤによって特定される推論ルール部２０２の分析スクリプト生成部２０４によって生成された分析スクリプトの分析結果でないレコードを生成元候補として取得する。具体的には、推論ルール制御部２０１は、評価値レコードのanalysis＿id１１０２に登録された分析ＩＤが分析スクリプトテーブル１０００のanalysis＿id１００１に登録された分析ＩＤと一致する分析スクリプトテーブル１０００のレコードを参照し、rule＿id１００６に登録されたルールＩＤが変数（rule＿id）に設定されたルールＩＤと一致するか否かを判定する。推論ルール制御部２０１は、rule＿id１００６に登録されたルールＩＤが変数（rule＿id）に設定されたルールＩＤと一致する場合、当該分析ＩＤがanalysis＿id１１０２に登録されたレコードを評価値レコードから削除し、残った評価値レコードを生成元候補として取得する。
【０１３３】
これによって、変数（rule＿id）に設定されたルールＩＤによって特定される推論ルール部２０２の分析スクリプト生成部２０４が新たな分析スクリプトを生成するものであるが、以上の処理によって、分析スクリプト生成部２０４が生成した分析スクリプトによる分析結果に基づいて同じ分析スクリプト生成部２０４が同じ分析スクリプトを生成する無駄な処理を削減できる。
【０１３４】
なお、ステップ１２０５の処理では、推論ルール制御部２０１は、評価値が所定値以上である分析結果という条件を付加してもよい。
【０１３５】
次に、推論ルール制御部２０１は、変数（rule＿id）に設定されたルールＩＤによって特定される推論ルール部２０２の分析スクリプト生成部２０４に生成元候補を渡す。分析スクリプト生成部２０４は、推論ルール制御部２０１から渡された生成元候補に基づいて所定数の分析スクリプトを新たに生成し、生成した分析スクリプトのタイトルを生成し、生成した分析スクリプトの予測値を算出する（１３０６）。
【０１３６】
推論ルール制御部２０１が分析スクリプト生成部２０４に渡す生成元候補は、評価値テーブル１１００のanalysis＿id１１０２、created＿at１１０３、updated＿at１１０４、rule＿id１１０５、measure１１０６、及びvalue１１０７に登録された情報、並びに、analysis＿id１１０２に登録された分析ＩＤに対応する分析スクリプトテーブル１０００のレコードのscript１００８に登録された分析スクリプトを含む。
【０１３７】
分析スクリプト生成部２０４が生成する分析スクリプトの例について説明する。あるルールＩＤ（図１０ではscale）の分析スクリプト生成部２０４は、頻度分布の刻み幅を小さくして頻度分布を集計する分析スクリプトを生成する。また、他のあるルールＩＤ（図１０ではcross）の分析スクリプト生成部２０４は、ある分析結果に時刻を新たな軸に加えて２軸でクロス集計をする分析スクリプトを生成する。
【０１３８】
分析スクリプト生成部２０４の予測値の算出方法の一例としては、分析スクリプト生成部２０４は、新たに生成された分析スクリプトの生成元の分析結果の評価値の平均値を算出し、算出した平均値を予測値としてもよい。また、他の例としては、分析スクリプト生成部２０４は、新たに生成された分析スクリプトの生成元の分析結果の評価値の最大値を予測値としてもよい。
【０１３９】
なお、ステップ１３０６の処理で生成される分析スクリプトの数は、式１によって算出される。
【０１４０】
Ｐｉ−Ｗｉ×Ｑｉ・・・（式１）
Ｐｉ、Ｗｉ、及びＱｉについて説明する。
【０１４１】
Ｐｉは、分析実行部２０９において、あるルールＩＤの分析スクリプト生成部２０４によって生成された分析スクリプトのジョブ実行待ちが存在しない場合に、当該分析スクリプト生成部２０４によって生成される分析スクリプトの数である。
【０１４２】
Ｗｉは、ルールＩＤごとにユーザが設定可能な重み付けの値である。
【０１４３】
Ｑｉは、あるルールＩＤの分析スクリプト生成部２０４によって生成された分析スクリプトのうち、ジョブ実行待ちの分析スクリプトの数である。
【０１４４】
以上によって、ジョブ実行待ちの分析スクリプトの数が多い場合、分析スクリプト生成部２０４によって生成される分析スクリプトの数を少なくできるので、処理負荷を軽減することができる。一方、ジョブ実行待ちの分析スクリプトの数が少ない場合、分析スクリプト生成部２０４によって生成される分析スクリプトの数を多くできるので、より詳細な集計分析を実行することができる。
【０１４５】
さらに、ＷｉをルールＩＤごとにユーザが設定可能なため、各分析スクリプト生成部２０４によって生成される分析スクリプトの処理負荷を考慮して、各分析スクリプト生成部２０４によって生成される分析スクリプトの数を設定することができる。
【０１４６】
ステップ１３０６の処理では、分析スクリプト生成部２０４は、新たに生成した分析スクリプト、当該分析スクリプトのタイトル、及び当該分析スクリプトの予測値の組を推論ルール制御部２０１に渡す。
【０１４７】
推論ルール制御部２０１は、分析スクリプト生成部２０４から渡された分析スクリプト、分析スクリプトのタイトル、及び予測値を分析結果データベース２００の分析スクリプトテーブル１０００に登録する（１３０７）。
【０１４８】
具体的には、推論ルール制御部２０１は、新たに生成された分析スクリプトの分析処理の対象となる分析対象データ２１２の種類を示す識別子をdata＿id１００２に登録し、新たに生成された分析スクリプトの生成元となった分析結果の分析ＩＤをparent＿analysis＿ids１００５に登録し、分析スクリプト生成部２０４から渡された分析スクリプトのタイトルをtitle１００７に登録し、分析スクリプト生成部２０４から渡された分析スクリプトをscript１００８に登録し、分析スクリプト生成部２０４から渡された予測値をexpected＿fitness１００９に登録する。なお、推論ルール制御部２０１は、分析スクリプトテーブル１０００で一意な分析ＩＤを生成し、生成した分析ＩＤをanalysis＿id１００１に登録し、created＿at１００３及びupdated＿at１００４に現在の日時を登録する。また、推論ルール制御部２０１は、新たに生成された分析スクリプトの分析結果を未算出であるので、result１０１０にＮＵＬＬ値を登録する。なお、新たに生成された分析スクリプトが分析実行部２０９によって実行された場合に、ジョブ制御部２０８が当該分析スクリプトの分析結果をresult１０１０に登録する。
【０１４９】
次に、推論ルール制御部２０１は、変数（rule＿id）に設定されたルールＩＤをインクリメントしたルールＩＤを変数（rule＿id）に新たに設定する（１３０８）。
【０１５０】
そして、推論ルール制御部２０１は、ステップ１３０８の処理で設定した変数（rule＿id）が、データ分析システム１００に備わるすべての推論ルール部２０２の数であるＮ以下であるか否かを判定する（１３０９）。
【０１５１】
ステップ１３０９の処理で、変数（rule＿id）がＮ以下であると判定された場合、ステップ１３０２の処理に戻り、変数（rule＿id）に設定されたルールＩＤの推論ルール部２０２に対してステップ１３０２〜１３０８の処理を実行する。
【０１５２】
一方、ステップ１３０９の処理で、変数変数（rule＿id）がＮよりも大きいと判定された場合、すべての推論ルール部２０２に対して処理が終了したので、推論ルール制御部２０１は、一定時間スリープした後（１３１０）、ステップ１３０１の処理から再度処理を実行する。なお、分析スクリプト生成処理は、ユーザからの強制終了等がない限り、無限ループで繰り返し実行される。分析スクリプト生成処理では、以前の分析結果に基づいて深堀分析を実行する分析スクリプトが生成されるので、分析スクリプト生成処理が繰り返されるたびに新たな分析スクリプトが生成され続ける。
【０１５３】
以下、推論ルール部２０２による評価値算出及び分析スクリプト生成の例を詳細に説明する。
【０１５４】
推論ルール部２０２による評価値算出及び分析スクリプト生成の例として、頻度の細分化が考えられる。
【０１５５】
例えば、図９に示す分析結果のグラフにおいて、加速度の絶対値が「０」のレコードが２０万件以上と他のレコードから突出している。このため、次の集計分析として、加速度の絶対値が「０」付近のデータを０．１刻みで頻度を詳細に計数し、グラフ化することが考えられる。このようなルールにおいて、分析結果評価部２０３は、グラフの突出度合いを測る尺度を用いて、分析結果を評価する。例えば、分析結果評価部２０３は、頻度の最大値から、最大値を除いた他の頻度値の平均を引いた値を評価値として、分析結果を評価できる。分析スクリプト生成部２０４は、図６に示す「histogram(0、 20、 1)」の引数を、「histogram(0、 1、 0.1)」と変更した新たな分析スクリプトを生成できる。また、分析スクリプト生成部２０４は、「ＡのＸからＹにおけるＺ刻みの頻度分布」というひな型の文字列を保持し、ひな型の「Ａ」を「sqrt(x*x + y*y + z*z)」に、ひな型の「Ｘ」を「０」に、ひな型の「Ｙ」を「１」に、ひな型の「Ｚ」を「０．１」に置換することによってタイトルを生成する。
【０１５６】
推論ルール部２０２による評価値算出及び分析スクリプト生成の他の例として、クロス集計が考えられる。
【０１５７】
例えば、図９に示すグラフでは、加速度の絶対値の「１」から「８」は一様分布に近い分布である。このため、他の軸を加えて、加速度の絶対値の軸と他の軸（例えば、時刻の軸）との２軸でクロス集計することによって、加速度の絶対値の頻度分布に特徴が現れる可能性がある。このため、次に集計分析する場合、時刻を横軸、加速度の絶対値を縦軸とし、クロス集計を行うことが考えられる。なお、クロス集計の分析スクリプトの生成元となる分析結果が二つ以上であってもよい。
【０１５８】
クロス集計が分析スクリプト生成部２０４によって新たに生成される場合、分析結果評価部２０３は、グラフの一様度合いを測る尺度を用いて、分析結果を評価する。このようなグラフの一様度合いを測る尺度を示す評価値は、例えば、各頻度と頻度の平均値との差の絶対値を合計することによって算出できる。
【０１５９】
また、クロス集計の分析スクリプトを生成する分析スクリプト生成部２０４は、図６に示す「logs: histogram(0、 20、 1)」を「logs: histogram(1、 9、 1)、 histogram(0、 24、 1)」に変更し、「target: sqrt(x*x + y*y + z*z)」を「target: sqrt(x*x + y*y + z*z)、 hour(time)」に変更することによって、新たなスクリプトを生成できる。ここで、hour(time)はtimeタグから時刻の情報を取得させる関数である。また、図６に示すＤＳＬでは、カンマで区切ることでクロス集計ができることと仮定している。タイトルに関しては、分析スクリプト生成部２０４において、「Ａと時刻のクロス集計」というひな型の文字列を保持しておき、Ａを「sqrt(x*x + y*y + z*z)」に置き換えることでタイトルを生成する。
【０１６０】
本発明の推論ルール部２０２は上記の例のルールに限られず、様々なルールが考えられる。多様な推論ルールを本発明に組み込むことによって、有用な集計分析が自動的に実行できるようになる。
【０１６１】
図１４は、本発明の実施形態の分析実行処理のデータの流れを示すシーケンス図である。
【０１６２】
分析実行処理で使用するデータは、ジョブ制御部２０８、分析結果データベース２００、及び分析実行部２０９の間でやりとりされる。
【０１６３】
まず、ジョブ制御部２０８は、分析結果データベース２００の分析スクリプトテーブル１０００からジョブ実行待ちの分析スクリプトのレコードを取得する（１４０１）。
【０１６４】
次に、ジョブ制御部２０８は、ステップ１４０１の処理で取得したレコードによって特定される分析スクリプトを分析実行部２０９に渡し、分析処理実行命令を分析実行部２０９に渡す（１４０２）。分析実行部２０９は、ジョブ制御部２０８から分析処理実行命令を渡されると、ジョブ制御部２０８から渡された分析スクリプトを実行する。
【０１６５】
ジョブ制御部２０８は、ステップ１４０２の処理で分析処理実行命令を分析実行部２０９に渡すと、待機状態に移行し、周期的に分析スクリプトの実行が完了したか否かを分析実行部２０９に問い合わせる（１４０３、１４０４）。
【０１６６】
分析実行部２０９が分析スクリプトの実行を完了すると、ジョブ制御部２０８は、分析実行部２０９から分析結果を取得する（１４０５）。そして、ジョブ制御部２０８は、ステップ１４０５の処理で取得した分析結果を分析スクリプトテーブル１０００に格納する（１４０６）。
【０１６７】
図１５は、本発明の実施形態の分析実行処理のフローチャートである。
【０１６８】
分析実行処理は、ジョブ制御部２０８、及び分析実行部２０９を実現するプログラムを実行するＣＰＵ１０３によって実行される。
【０１６９】
まず、ジョブ制御部２０８は、分析結果データベース２００の分析スクリプトテーブル１０００を参照し、予測値（expected＿fitness１００９）が高い順にジョブ実行待ちの分析スクリプトを取得する（１５０１）。なお、ジョブ制御部２０８は、分析スクリプトテーブル１０００のresult１０１０がＮＵＬＬであれば当該レコードのscript１００８に登録された分析スクリプトをジョブ実行待ちの分析スクリプトとして判定する。
【０１７０】
次に、ジョブ制御部２０８は、ステップ１５０１の処理で取得した分析スクリプトをマージして一つの分析スクリプトに合成する（１５０２）。これによって、ＣＰＵ１０３は、分析スクリプトの実行が完了するごとに、次の分析スクリプトを読み込まなくてもよくなり、ファイルの入出力回数を減少させることができ、高速に分析処理を実行できる。なお、ステップ１５０２の処理の詳細は、図１６で詳細を説明する。また、ステップ１５０２の処理では、ジョブ制御部２０８でなく分析実行部２０９によって実行されてもよい。
【０１７１】
次に、分析実行部２０９は、ステップ１５０２の処理で合成された分析スクリプトを実行する（１５０３）。具体的には、分析実行部２０９の分析スクリプト解釈部２１０が、分析スクリプトを、分析対象データ２１２に対して実行する。
【０１７２】
ジョブ制御部２０８は、分析実行部２０９で分析スクリプトの実行が完了するまで処理を待機し（１５０４）、分析実行部２０９で分析スクリプトの実行が完了すると、分析実行部２０９から分析結果を取得する（１５０５）。
【０１７３】
次に、ジョブ制御部２０８は、ステップ１５０５の処理で取得した分析結果を分析結果データベース２００の分析スクリプトテーブル１０００のresult１０１０に登録する（１５０６）。
【０１７４】
次に、ジョブ制御部２０８は、一定時間スリープした後（１５０７）、ステップ１５０１の処理に戻って分析実行処理を再開する。ジョブ制御部２０８は、一定時間のスリープを挟んで、ユーザからの強制終了がない限り、無限ループで分析実行処理を繰り返し実行する。推論ルール制御部２０１が新しい分析スクリプトを分析結果データベース２００の分析スクリプトテーブル１０００に登録し続けるため、ジョブ制御部２０８も生成された分析スクリプトを分析実行部２０９に実行させ、分析結果を分析結果データベース２００の分析スクリプトテーブル１０００に登録し続けなければならない。
【０１７５】
図１６は、本発明の実施形態の分析スクリプトのマージの説明図である。
【０１７６】
図１６で１６００及び１６０１は、マージされる分析スクリプトを示し、１６０２は、マージ後の一つに合成された分析スクリプトを示す。
【０１７７】
１６０２の上方の下線部が分析スクリプト１６００に対応する部分であり、１６０２の下方の下線部が分析スクリプト１６０１に対応する部分である。
【０１７８】
図１６に示すように、下線部を除外した部分のプログラムがテンプレートとして予め用意されており、ジョブ制御部２０８又は分析実行部２０９は、分析スクリプトを参照し、下線部をテンプレートに挿入することによって、複数の分析スクリプトをマージした一つの分析スクリプトを生成する。
【０１７９】
分析実行部２０９は、図３に示す分析対象データ２１２に対して１６０２のmapper関数を呼び出し、分析結果を取得する。分析実行部２０９は、取得した分析結果に対してreducer関数が呼び出される。これによって、分析実行部２０９は、分析スクリプト１６００に記述された分析処理、及び分析スクリプト１６０１に記述された分析処理を同時に実行できる。
【０１８０】
また、分析対象データ２１２の容量が膨大である場合、当該分析対象データ２１２のファイル入出力が原因で分析実行処理の処理速度が低下してしまう。また、分析スクリプト１６００に記述された分析、及び分析スクリプト１６０１に記述された分析は、同じ分析対象データ２１２を分析するので、分析スクリプト１６００及び１６０１を一つの分析スクリプト１６０２にマージすることによって、分析対象データ２１２の一度読み込みによって分析が可能となり、分析実行時間を短縮できる。これによって、実行できる分析スクリプトの数を増やすことができるため、評価が高いものを優先的にユーザに表示することで、分析結果の有用性という観点での精度を高めることができる。
【０１８１】
図１７は、本発明の実施形態の分析結果表示部２１３が表示する分析結果一覧表示画面１７００の説明図である。
【０１８２】
分析結果一覧表示画面１７００は、検索キーワード入力フィールド１７０１、検索ボタン１７０２、分析結果一覧表示フィールド１７０３、及びソートボタン１７０９を含む。
【０１８３】
検索キーワード入力フィールド１７０１は、検索キーワードが入力されるテキストフィールドである。検索ボタン１７０２は、分析結果データベース２００に登録された分析結果から検索キーワード入力フィールド１７０１に入力された検索キーワードと一致する分析結果を分析結果表示部２１３に検索させるために操作されるボタンである。なお、分析結果の検索方法は、例えば、分析結果データベース２００の分析スクリプトテーブル１０００のtitle１００７に登録されたタイトルが検索キーワードと一致する分析結果を検索する。
【０１８４】
分析結果一覧表示フィールド１７０３は、検索キーワード入力フィールド１７０１に入力された検索キーワードと一致する分析結果の一覧を表示するフィールドである。
【０１８５】
分析結果一覧表示フィールド１７０３は、グラフボタン１７０４、分析ＩＤ１７０５、データＩＤ１７０６、タイトル１７０７、推論ルール１７０８を含む。
【０１８６】
グラフボタン１７０４は、当該レコードの分析結果をグラフ表示した分析結果表示画面１８００（図１８参照）を分析結果表示部２１３に表示させるために操作されるボタンである。分析ＩＤ１７０５には分析ＩＤが表示される。データＩＤ１７０６には分析処理の対象となる分析対象データ２１２の種類を示す識別子が表示される。タイトル１７０７には分析結果を取得した分析スクリプトのタイトルが表示される。推論ルール１７０８には分析結果を取得した分析スクリプトを生成した推論ルール部２０２のルールＩＤが表示される。
【０１８７】
なお、分析結果一覧表示フィールド１７０３には、分析結果が所定の順序（ソートパラメタ）でソートされて表示される。図１７では、所定の順序は、分析結果の評価値の高い順であるとする。このソートに用いられる評価値は総合評価値といい、具体的には、ある分析結果の異なる推論ルールで算出された評価値の平均値である。
【０１８８】
ソートボタン１７０９は、分析結果一覧表示フィールド１７０３に表示された分析結果のソートパラメタを設定するためのソートパラメタ設定画面１９００（図１９参照）を分析結果表示部２１３に表示させるために操作されるボタンである。
【０１８９】
図１８は、本発明の実施形態の分析結果表示部２１３が表示する分析結果表示画面１８００の説明図である。
【０１９０】
分析結果表示画面１８００は、グラフ表示フィールド１８０１、評価値表示フィールド１８０２、ユーザ名入力フィールド１８０３、推論ルール入力フィールド１８０４、評価尺度入力フィールド１８０５、評価値入力フィールド１８０６、及び評価ボタン１８０７を含む。
【０１９１】
グラフ表示フィールド１８０１は、グラフボタン１７０４が操作された分析結果をグラフ表示するためのフィールドである。なお、分析結果表示部２１３がグラフボタン１７０４が操作されたことを検出すると、グラフ生成部２１５にグラフボタン１７０４が操作された分析結果のグラフデータを生成させ、グラフ生成部２１５によって生成されたグラフデータをグラフ表示フィールドに表示する。
【０１９２】
評価値表示フィールド１８０２は、当該分析結果の各推論ルール部２０２の分析結果評価部２０３によって算出された評価値を表示するためのフィールドである。評価値表示フィールド１８０２には、評価値を算出した推論ルール部２０２のルールＩＤ、評価値を算出した評価尺度、及び評価値が表示される。
【０１９３】
ユーザ名入力フィールド１８０３、推論ルール入力フィールド１８０４、評価尺度入力フィールド１８０５、及び、評価値入力フィールド１８０６は、当該分析結果の評価値をユーザが変更する場合に値を入力するためのフィールドである。
【０１９４】
ユーザ名入力フィールド１８０３は、ユーザ名を入力するためのテキストフィールドである。推論ルール入力フィールド１８０４は、変更する評価値を算出した推論ルール部２０２のルールＩＤを入力するためのフィールドである。評価尺度入力フィールド１８０５は、変更する評価値を算出した評価尺度を入力するためのフィールドである。評価値入力フィールド１８０６は、変更する評価値を入力するためのフィールドである。
【０１９５】
評価ボタン１８０７は、グラフ表示フィールド１８０１にグラフ表示されている分析結果の評価値のうち推論ルール入力フィールド１８０４に入力されたルールＩＤ及び評価尺度入力フィールド１８０５に入力された評価尺度によって特定される評価値を、評価値入力フィールド１８０６に入力された評価値に変更するために操作されるボタンである。
【０１９６】
具体的には、分析結果表示部２１３は、分析結果データベース２００の評価値テーブル１１００のレコードのうち、analysis＿id１１０２に登録された分析ＩＤがグラフ表示フィールド１８０１にグラフ表示されている分析結果の分析ＩＤと一致するレコードを取得する。そして、分析結果表示部２１３は、取得したレコードのうち、rule＿id１１０５に登録されたルールＩＤが推論ルール入力フィールド１８０４に入力されたルールＩＤと一致し、かつ、measure１１０６に登録された評価尺度が評価尺度入力フィールド１８０５に入力された評価尺度と一致するレコードのvalue１１０７を評価値入力フィールド１８０６に入力された評価値に変更する。この場合、分析結果表示部２１３は、value１１０７を変更したレコードのupdated＿at１１０４に現在の日時を登録する。また、分析結果表示部２１３は、分析結果データベース２００の分析スクリプトテーブル１０００のanalysis＿id１００１に登録された分析ＩＤがグラフ表示フィールド１８０１にグラフ表示されている分析結果の分析ＩＤと一致するレコードのtitle１００７にユーザ名入力フィールド１８０３に入力されたユーザ名を追加し、updated＿at１００４に現在の日時を登録する。
【０１９７】
これによって、ユーザが評価値を設定することができ、ユーザがさらに分析を進めたい分析結果の評価値を高く設定することができ、分析が発散してしまうことも防止できる。
【０１９８】
図１９は、本発明の実施形態の分析結果表示部２１３が表示するソートパラメタ設定画面１９００の説明図である。
【０１９９】
ソートパラメタ設定画面１９００は、ソートボタン１９０１、及び重み付け指定フィールド１９０２を含む。
【０２００】
ソートボタン１９０１は、重み付け指定フィールド１９０２で指定された重み付けで評価値を再度計算して、図１７に示す分析結果一覧表示フィールド１７０３に表示された分析結果を再度計算した評価値順にソートするために操作されるボタンである。
【０２０１】
重み付け指定フィールド１９０２は、各推論ルール部２０２の各評価尺度ごとに重みの指定を受け付けるためのフィールドであり、推論ルール１９０３、評価尺度１９０４、及び重み１９０５を含む。
【０２０２】
推論ルール１９０３には、分析結果一覧表示フィールド１７０３に表示された分析結果を評価したすべての推論ルール部２０２のルールＩＤが表示される。評価尺度１９０４には、分析結果一覧表示フィールド１７０３に表示された分析結果を評価したすべての推論ルール部２０２の評価尺度が表示される。
【０２０３】
重み１９０５は、ユーザが各推論ルール部２０２の評価尺度の重み付けを調整（変更）するためのスライドバーである。ユーザが重み１９０５のスライドバーを調整することによって、ユーザが所望する重み付けを指定できる。
【０２０４】
ソートボタン１９０１が操作された場合について詳細に説明する。
【０２０５】
分析結果表示部２１３は、ソートボタン１９０１が操作されたことを検出すると、重み付け指定フィールド１９０２で指定された各推論ルール部２０２の各評価尺度の重み付けを適用して、各分析結果の総合評価値を算出する。総合評価値は、分析結果の算出されている評価値を、当該評価値を算出した推論ルール部２０２及び評価基準の重み付けを乗算した値を算出し、重み付けをしたすべての評価値を加算した値である。
【０２０６】
例えば、ある分析結果は、推論ルール「cross」の評価尺度「一様」で評価値Ｅ１が算出され、推論ルール「scale」の評価尺度「極値」で評価値Ｅ２が算出され、推論ルール「scale」の評価尺度「最大値」で評価値Ｅ３が算出されており、推論ルール「cross」の評価尺度「一様」の重み付けＷ１と指定され、推論ルール「scale」の評価尺度「極値」の重み付けＷ２と指定され、推論ルール「scale」の評価尺度「最大値」の重み付けＷ３と指定されていた場合、総合評価値は、（Ｗ１×Ｅ１＋Ｗ２×Ｅ２＋Ｗ３×Ｅ３）／３によって算出される。
【０２０７】
そして、分析結果表示部２１３は、総合評価値の降順（総合評価値の高い順）に分析結果をソートして、ソートした順で分析結果を分析結果一覧表示フィールド１７０３に表示する。
【０２０８】
以上によって、ユーザの観点に合致した評価基準で分析結果の一覧をソートできる。
【０２０９】
図２０は、本発明の実施形態の分析ユーザインタフェース部２１４が表示する分析スクリプト入力画面２０００の説明図である。
【０２１０】
分析スクリプト入力画面２０００は、ユーザが所定の入力をした場合に分析ユーザインタフェース部２１４が表示する画面であり、ユーザが作成した分析スクリプトの入力を受け付けるための画面である。
【０２１１】
分析スクリプト入力画面２０００は、分析スクリプト入力フィールド２００１、テスト実行ボタン２００２、分析実行ボタン２００３、ログ表示フィールド２００４、グラフ表示フィールド２００５、ユーザ名入力フィールド２４０５、タイトル入力フィールド２４０６、及び保存ボタン２４０７を含む。
【０２１２】
分析スクリプト入力フィールド２００１は、ユーザが分析スクリプトを入力するためのテキストフィールドである。
【０２１３】
テスト実行ボタン２００２は、分析スクリプト入力フィールド２００１に入力された分析スクリプトを分析実行部２０９にテスト実行させるために操作されるボタンである。
【０２１４】
分析実行ボタン２００３は、分析スクリプト入力フィールド２００１に入力された分析スクリプトを分析実行部２０９に実行させるために操作されるボタンである。
【０２１５】
ログ表示フィールド２００４には、テスト実行ボタン２００２が操作された場合、又は分析実行ボタン２００３が操作された場合の分析スクリプトの分析結果、及び分析スクリプトの分析処理の進捗に関するログ等が表示される。
【０２１６】
グラフ表示フィールド２００５には、分析スクリプト入力フィールド２００１に入力された分析スクリプトの分析結果がグラフ表示される。
【０２１７】
ユーザ名入力フィールド２４０５は、分析スクリプトを作成したユーザのユーザ名が入力されるテキストフィールドである。タイトル入力フィールド２４０６は、ユーザが作成した分析スクリプトのタイトルが入力されるテキストフィールドである。
【０２１８】
保存ボタン２４０７は、ユーザが作成した分析スクリプトの分析結果を分析ユーザインタフェース部２１４が分析結果データベース２００に登録するために操作するボタンである。
【０２１９】
保存ボタン２４０７が操作された場合について詳細に説明する。
【０２２０】
保存ボタン２４０７が操作された場合、分析ユーザインタフェース部２１４は、ユーザが作成した分析結果を分析結果データベース２００の分析スクリプトテーブル１０００に登録する。具体的には、分析ユーザインタフェース部２１４は、分析スクリプトテーブル１０００に新たなレコードを追加し、analysis＿id１００１に一意な分析ＩＤを登録し、data＿id１００２に当該分析スクリプトの分析の対象となった分析対象データ２１２の種類を示す識別子が登録され、created＿at１００３及びupdated＿at１００４に現在の日時を登録し、parent＿analysis＿ids１００５にはＮＵＬＬを登録する。また、分析ユーザインタフェース部２１４は、当該新たなレコードのtitle１００７にタイトル入力フィールド２４０６に入力されたタイトル及びユーザ名入力フィールド２４０５に入力されたユーザ名を登録し、script１００８に分析スクリプト入力フィールド２００１に入力された分析スクリプトを登録し、expected＿fitness１００９及びresult１０１０にＮＵＬＬを登録する。
【０２２１】
分析スクリプトテーブル１０００にユーザが作成した分析スクリプトの分析結果が登録されるので、当該分析結果から新たな分析スクリプトが生成される。これによって、ユーザが所望の分析スクリプトを作成することによって、データ分析システム１００で実行される分析がユーザの意図しない方向に進むことを修正できる。
【０２２２】
図２１は、本発明の実施形態の複数の計算機によって構成されるデータ分析システム１００のブロック図である。
【０２２３】
図２１では、データ分析システム１００の各部が複数の計算機に分散する一例として、データ分析システム１００が、管理計算機２１００、推論ルール計算機２１１０Ａ、２１１０Ｂ、及び分析実行計算機２１２０を備える場合について説明する。なお、図２１の構成のうち図２と同じ構成は同じ符号を付与し、説明を省略する。
【０２２４】
管理計算機２１００は、分析結果データベース２００、推論ルール制御部２０１、ジョブ制御部２０８、分析結果表示部２１３、分析ユーザインタフェース部２１４、及びグラフ生成部２１５を備える。
【０２２５】
推論ルール計算機２１１０Ａは推論ルール部２０２Ａを備え、推論ルール計算機２１１０Ｂは推論ルール部２０２Ｂを備える。
【０２２６】
分析実行計算機２１２０は分析実行部２０９を備える。
【０２２７】
このように、本実施形態のデータ分析システム１００の各部は複数の計算機に分散していてもよい。
【産業上の利用可能性】
【０２２８】
本発明は、データ分析装置に関し、特に、自動的に集計分析を実行する技術に適用可能である。
【符号の説明】
【０２２９】
１０１    入力デバイス
１０２    ネットワークデバイス
１０３    ＣＰＵ
１０４    主記憶部
１０５    補助記憶部
１０６    バス
２００    分析結果データベース
２０１    推論ルール制御部
２０２    推論ルール部
２０３    分析結果評価部
２０４    分析スクリプト生成部
２０８    ジョブ制御部
２０９    分析実行部
２１０    分析スクリプト解釈部
２１１    分析対象データ管理部
２１２    分析対象データ
２１３    分析結果表示部
２１４    分析ユーザインタフェース部
２１５    グラフ生成部
【図１】
0005584917.tif 000002
【図２】
0005584917.tif 000003
【図３】
0005584917.tif 000004
【図４】
0005584917.tif 000005
【図５】
0005584917.tif 000006
【図６】
0005584917.tif 000007
【図７】
0005584917.tif 000008
【図８】
0005584917.tif 000009
【図９】
0005584917.tif 000010
【図１０】
0005584917.tif 000011
【図１１】
0005584917.tif 000012
【図１２】
0005584917.tif 000013
【図１３】
0005584917.tif 000014
【図１４】
0005584917.tif 000015
【図１５】
0005584917.tif 000016
【図１６】
0005584917.tif 000017
【図１７】
0005584917.tif 000018
【図１８】
0005584917.tif 000019
【図１９】
0005584917.tif 000020
【図２０】
0005584917.tif 000021
【図２１】
0005584917.tif 000022