(57)【要約】【課題】データ解析手順の決定を支援すること。【解決手段】処理部１ｂは、研究テーマの入力と、研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち今回の研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付ける。処理部１ｂは、データの範囲およびスクリプトの変更毎に、データの範囲と、使用するスクリプトと、データの範囲および使用するスクリプトに基づいてデータ解析が実行された結果とを、受け付けた研究テーマに関連付けて記憶部１ａに格納する。処理部１ｂは、研究テーマが選択されると、記憶部１ａを参照して、選択された研究テーマに対応付けられた結果を表示する。【選択図】図１
2019046335.tif 000002
【特許請求の範囲】
【請求項１】
研究テーマの入力と、前記研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち前記研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付け、
前記データの範囲および前記スクリプトの変更毎に、前記データの範囲と、使用する前記スクリプトと、前記データの範囲および使用する前記スクリプトに基づいてデータ解析が実行された結果とを、受け付けた前記研究テーマに関連付けて記憶部に格納し、
前記研究テーマが選択されると、前記記憶部を参照して、選択された前記研究テーマに対応付けられた前記結果を表示する、
処理をコンピュータに実行させるデータ解析支援プログラム。
【請求項２】
前記研究テーマに対応付けられた前記結果に対する選択を受け付けると、前記結果に対応付けられた前記データの範囲と使用された前記スクリプトとを出力する、請求項１記載のデータ解析支援プログラム。
【請求項３】
前記研究テーマに関する検索クエリを受け付けると、前記記憶部を参照して前記検索クエリに応じた前記研究テーマを検索し、検索された前記研究テーマと検索された前記研究テーマで使用された前記スクリプトおよび前記データの範囲を出力する、請求項１または２記載のデータ解析支援プログラム。
【請求項４】
前記研究テーマに対応付けられた前記結果に対する選択を受け付けると、前記結果に対応付けられた前記データの範囲と使用された前記複数のスクリプトと前記複数のスクリプトそれぞれの実行順序とを出力し、データ解析フローの作成指示に応じて前記複数のスクリプトを含むデータ解析フローを作成する、請求項１乃至３の何れか１項に記載のデータ解析支援プログラム。
【請求項５】
前記スクリプトの変更は、前記研究テーマに関連付けられた前記スクリプトの実行順序の設定、追加および削除を含む、請求項１乃至４の何れか１項に記載のデータ解析支援プログラム。
【請求項６】
記憶部と、
研究テーマの入力と、前記研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち前記研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付け、前記データの範囲および前記スクリプトの変更毎に、前記データの範囲と、使用する前記スクリプトと、前記データの範囲および使用する前記スクリプトに基づいてデータ解析が実行された結果とを、受け付けた前記研究テーマに関連付けて前記記憶部に格納し、前記研究テーマが選択されると、前記記憶部を参照して、選択された前記研究テーマに対応付けられた前記結果を表示する処理部と、
を有するデータ解析支援装置。
【請求項７】
コンピュータが、
研究テーマの入力と、前記研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち前記研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付け、
前記データの範囲および前記スクリプトの変更毎に、前記データの範囲と、使用する前記スクリプトと、前記データの範囲および使用する前記スクリプトに基づいてデータ解析が実行された結果とを、受け付けた前記研究テーマに関連付けて記憶部に格納し、
前記研究テーマが選択されると、前記記憶部を参照して、選択された前記研究テーマに対応付けられた前記結果を表示する、
データ解析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ解析支援プログラム、データ解析支援装置およびデータ解析支援方法に関する。
【背景技術】
【０００２】
医学、理学および工学などの学問分野の研究では、検査や実験などで取得されたデータに対して種々の解析が行われる。研究におけるデータの解析を情報処理技術によって支援するシステムが考えられている。
【０００３】
例えば、遺伝子解析を行う臨床研究において、医療機関の患者情報管理システムで管理される情報を匿名化して、研究機関の実験試料管理システムに提供する匿名化システムの提案がある。匿名化システムは、病院において被験者から採取された検体に対し、当該検体の検体番号に代えて、検体番号を匿名化した匿名検体番号を付与し、検体番号と匿名検体番号とを対応付けたコード表を記憶する。研究機関のゲノム基本データ管理システムは、実験試料管理システムにより管理される匿名化された検体および患者情報に基づいて、配列解析、発現解析およびＳＮＰ（Single Nucleotide Polymorphism）解析を行う。
【０００４】
なお、読影医が診断を行う際に、過去の診断結果を利用して、対象にしている画像の診断に参考になる画像を自動的に検索して、提示する医用画像検索システムの提案もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３１２３６１号公報
【特許文献２】特開２０１２−１０１０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
過去に行われた研究における最終的な解析結果をサーバコンピュータやストレージなどに保存しておき、研究者などによる解析結果の検索および参照を可能にすることがある。ここで、ある研究テーマに対する最終的な解析結果を得るためには、研究対象のデータに対し、試行錯誤により様々な解析が行われることが多い。ところが、最終的な研究結果のみを保存していると、試行錯誤の過程で得られた解析結果を後から確認することができない。このため、同一または類似の研究テーマの研究を進めるに当たり、過去の解析の過程を踏まえた解析手順の決定を行えないという問題がある。
【０００７】
１つの側面では、本発明は、データ解析手順の決定を支援することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、データ解析支援プログラムが提供される。データ解析支援プログラムは、研究テーマの入力と、研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付け、データの範囲およびスクリプトの変更毎に、データの範囲と、使用するスクリプトと、データの範囲および使用するスクリプトに基づいてデータ解析が実行された結果とを、受け付けた研究テーマに関連付けて記憶部に格納し、研究テーマが選択されると、記憶部を参照して、選択された研究テーマに対応付けられた結果を表示する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
１つの側面では、データ解析手順の決定を支援できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態のデータ解析支援装置を示す図である。
【図２】データ解析支援装置による情報の保存例を示す図である。
【図３】第２の実施の形態のデータ解析支援システムの例を示す図である。
【図４】サーバのハードウェア例を示す図である。
【図５】サーバの機能例を示す図である。
【図６】プロジェクト管理テーブルの例を示す図である。
【図７】研究デザイン管理テーブルの例を示す図である。
【図８】解析フロー管理テーブルの例を示す図である。
【図９】サーバのディレクトリ構造の例を示す図である。
【図１０】データの履歴管理の例を示す図である。
【図１１】解析フロー作成画面の例を示す図である。
【図１２】部品設定画面の例を示す図である。
【図１３】各種の設定画面の例を示す図である。
【図１４】検索画面の例（その１）を示す図である。
【図１５】検索画面の例（その２）を示す図である。
【図１６】記録処理の例を示すフローチャートである。
【図１７】検索処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のデータ解析支援装置を示す図である。データ解析支援装置１は、医学、理学および工学などの様々な学問分野の研究のデータ解析を支援する。データ解析支援装置１は、ネットワークを介して、端末装置２，３に接続されている。端末装置２は、ユーザ４により利用される。端末装置３は、ユーザ５により利用される。ユーザ４，５は、例えば、ある学問分野の研究を行う研究者である。
【００１２】
データ解析支援装置１は、記憶部１ａおよび処理部１ｂを有する。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。処理部１ｂはプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合（マルチプロセッサ）でもよい。
【００１３】
記憶部１ａは、端末装置２により入力された情報を記憶する。記憶部１ａは、解析処理の結果を記憶する。解析処理は、端末装置２の指示に基づいて行われる。解析処理は、データ解析支援装置１により行われてもよいし、他の装置により行われてもよい。例えば、解析処理は、データ構造化、データクレンジング、サポートベクタマシン（ＳＶＭ：Support Vector Machine）やＤｅｅｐＬｅａｒｎｉｎｇ（深層学習）によるパターン認識などを行う種々の処理を含み得る。解析処理の内容は、スクリプトと呼ばれるプログラムによって記述される。解析処理は、１つのスクリプトを用いて行われることもあるし、複数のスクリプトを組合せて行われることもある。複数のスクリプトを定められた順序で実行する一連の手順を、解析フローと呼ぶ。すなわち、解析フローは、複数のスクリプトと、複数のスクリプトそれぞれの実行順序とにより定められる。スクリプトは、解析フローの部品であるともいえる。データ解析支援装置１が解析処理を行う場合、記憶部１ａは、複数のスクリプトを記憶する。
【００１４】
処理部１ｂは、研究テーマの入力と、研究テーマの研究対象のデータの範囲の入力と、予め登録されている複数のスクリプトのうち今回の研究テーマのデータ解析に使用するスクリプトの指定の入力と、を受け付ける（Ｓ１）。例えば、ユーザ４は、研究テーマ、研究対象のデータの範囲およびデータ解析に使用するスクリプトの指定を端末装置２に入力する。端末装置２は、ユーザ４により入力された研究テーマ、研究対象のデータの範囲およびデータ解析に使用するスクリプトの指定を、データ解析支援装置１に入力する。
【００１５】
ここで、研究テーマは、例えば、医学研究であれば、「糖尿病と高血圧の相関解析」というような研究の名称である。あるいは、処理部１ｂに入力される研究テーマの情報は、記憶部１ａに予め登録された研究テーマに対応する識別情報（ＩＤ：IDentifier）でもよい。更に、研究テーマは、研究の名称に加えて、研究の概要を含んでもよい。また、データの範囲は、例えば、「７５才以上の患者」というような解析の元となる入力データ（例えば、臨床データ）の範囲である。更に、スクリプトは、解析処理を記述したプログラムであり、解析処理の１つの単位である。スクリプトは、複数（すなわち、解析フロー単位で）指定されることもある。
【００１６】
処理部１ｂは、研究テーマ、研究対象のデータの範囲およびデータ解析に使用するスクリプトの指定の入力を受け付けると、研究テーマと研究対象のデータの範囲とデータ解析に使用するスクリプトとを関連付ける。
【００１７】
例えば、処理部１ｂは、受け付けた研究テーマ６に関し、指定された範囲の入力データ７に対して、指定されたスクリプト８，８ａを用いた解析処理を実行する。処理部１ｂは、解析処理を実行することで結果９を得る。結果９は、スクリプト８，８ａを順番に実行したときの最終的な結果（一例では、カテゴリＡ，Ｂを分類する境界線（面）の計算結果など）である。結果９は、スクリプト８，８ａ毎の結果でもよい。そして、処理部１ｂは、研究テーマ６に対して結果９を対応付ける。処理部１ｂは、こうして、ユーザ４による試行錯誤でのデータの範囲や使用するスクリプトの変更を受け付け、変更された内容で解析処理を再び行い、新たな結果を得る。スクリプトの変更では、解析フローにおけるスクリプトの実行順序、追加、削除、または、選択が可能である（すなわち、スクリプトの変更は、研究テーマに関連付けられたスクリプトの実行順序の設定、追加および削除を含む）。処理部１ｂは、所望の結果が得られるまで、このような解析プロセスを試行錯誤により繰り返し行う。
【００１８】
なお、前述のように、解析処理は、データ解析支援装置１以外の他の装置により行われてもよい。その場合、処理部１ｂは、ユーザ４により入力された情報に基づく解析処理の実行を、解析処理を行う他の装置に指示してもよい。処理部１ｂは、解析処理を行う他の装置から、解析処理の結果を取得してもよい。
【００１９】
処理部１ｂは、受け付けたデータの範囲およびスクリプトの変更毎に、データの範囲と、使用するスクリプト、データの範囲および使用するスクリプトに基づいてデータ解析が実行された結果とを、受け付けた研究テーマに関連付けて記憶部１ａに格納する。例えば、処理部１ｂは、受け付けたデータの範囲、当該範囲に属する入力データ７、スクリプト８，８ａおよび結果９を、研究テーマ６に関連付けて、記憶部１ａに格納する。これにより、研究テーマ６に対する解析の履歴（データの範囲、使用されたスクリプトおよび解析の結果を含む）が記憶部１ａに記録される。なお、「データの範囲およびスクリプトの変更」は、「データの範囲およびスクリプトのうちの両方、または、何れか一方の変更」ということもできる。また、処理部１ｂは、データの範囲と、使用するスクリプト、データの範囲および使用するスクリプトに基づくデータ解析の結果に対して、データ解析を行った日時（年月日時分秒など）を付与し、研究テーマに関連付けて、記憶部１ａに格納してもよい。
【００２０】
処理部１ｂは、研究テーマが選択されると、記憶部１ａを参照して、選択された研究テーマに対応付けられた結果を表示する（Ｓ２）。例えば、ユーザ５は、研究テーマを検索したい場合、検索クエリ（研究テーマのＩＤでもよいし、研究テーマに関連するキーワードでもよい）を端末装置３に入力する。端末装置３は、ユーザ５により入力された検索クエリをデータ解析支援装置１に入力する。処理部１ｂは、入力された検索クエリに一致、または、類似する研究テーマを検索する。例えば、処理部１ｂは、検索クエリのＩＤで示される研究テーマと他の研究テーマの類似度を、研究テーマを表す文字列に含まれる単語の一致度合いに基づいて判定し、類似度が所定の閾値を超える研究テーマ同士を類似と判断する。また、処理部１ｂは、検索クエリに含まれるキーワードに類似する研究テーマも同様にして判断する。
【００２１】
処理部１ｂは、検索された研究テーマを、端末装置３に出力する。端末装置３は、データ解析支援装置１により検索された研究テーマの一覧を表示する。ここで、研究テーマの一覧は、研究テーマ６を含むとする。例えば、ユーザ５は、端末装置３により表示された研究テーマの一覧（検索結果）のうち、研究テーマ６を選択する。端末装置３は、研究テーマ６が選択された旨の通知をデータ解析支援装置１に出力する。処理部１ｂは、当該通知を受け付けると、記憶部１ａを参照して、研究テーマ６に関連付けられた結果９を端末装置３に出力する。端末装置３は、結果９を表示する。こうして、ユーザ５は、結果９を確認できる。なお、端末装置３により表示を行うものとしたが、データ解析支援装置１が結果９の表示を行ってもよい。また、結果９は、選択された研究テーマ６に対する最新の結果でもよいし、ユーザ５によって、選択された日時における結果でもよい。
【００２２】
ユーザ５は、表示された結果９を更に選択可能である。ユーザ５は、端末装置３により表示された結果９を選択する。すると、端末装置３は、結果９が選択された旨の通知をデータ解析支援装置１に出力する。処理部１ｂは、当該通知を受け付けると、記憶部１ａを参照して、結果９に関連付けられたデータの範囲やスクリプト８，８ａを端末装置３に出力する。端末装置３は、データ解析支援装置１から取得したデータの範囲やスクリプト８，８ａを表示する。
【００２３】
こうして、ユーザ５は、研究テーマ６に対する結果９や、結果９を得るために使用されたデータの範囲およびスクリプト８，８ａの情報を確認することができる。
図２は、データ解析支援装置による情報の保存例を示す図である。研究テーマ６に対して、試行錯誤により様々な解析が試行される。一例として、入力データには、ｘ，ｙ，ｚの３つの要素があるとする。研究テーマ６に対するデータの範囲は、ｘ≧５０である（例えば、ｘを年齢とすると、“ｘ≧５０”は“５０才以上”という条件を示す）。入力データ７１は、ｘ≧５０を満たす入力データである。
【００２４】
まず、処理部１ｂは、時刻Ｔ１のタイミングで、ユーザ４の指示に応じて、解析フロー８１による入力データ７１の解析を行い、結果９１を得る。解析フロー８１は、スクリプトａ１，ｂ１，ｃ１を、この順序で実行する手順である。この場合、例えば、処理部１ｂは、データの範囲ｘ≧５０と入力データ７１と解析フロー８１（スクリプトａ１，ｂ１，ｃ１）と結果９１とを、研究テーマ６および時刻Ｔ１に関連付けて記憶部１ａに格納する。
【００２５】
その後、処理部１ｂは、ユーザ４の指示に応じて、研究テーマ６に対するデータの範囲を、ｘ≧６０に変更する。入力データ７２は、ｘ≧６０を満たす入力データである。また、処理部１ｂは、ユーザ４の指示に応じて、解析フロー８１を、解析フロー８２に変更する。解析フロー８２は、解析フロー８１のうちのスクリプトｂ１をスクリプトｂ２に変更したものである。
【００２６】
そして、処理部１ｂは、時刻Ｔ２のタイミングで、ユーザ４の指示に応じて、解析フロー８２による入力データ７２の解析を行い、結果９２を得る。この場合、例えば、処理部１ｂは、データの範囲ｘ≧６０と入力データ７２と解析フロー８２（スクリプトａ１，ｂ２，ｃ１）と結果９２とを、研究テーマ６および時刻Ｔ２に関連付けて記憶部１ａに格納する。
【００２７】
更にその後、処理部１ｂは、ユーザ４の指示に応じて、研究テーマ６に対するデータの範囲を、ｘ≧７０に変更する。入力データ７３は、ｘ≧７０を満たす入力データである。また、処理部１ｂは、ユーザ４の指示に応じて、解析フロー８２を、解析フロー８３に変更する。解析フロー８３は、解析フロー８２のうちのスクリプトａ１をスクリプトａ２に変更し、スクリプトｃ１をスクリプトｃ２に変更したものである。
【００２８】
そして、処理部１ｂは、時刻Ｔ３のタイミングで、ユーザ４の指示に応じて、解析フロー８３による入力データ７３の解析を行い、結果９３を得る。この場合、例えば、処理部１ｂは、データの範囲ｘ≧７０と入力データ７３と解析フロー８３（スクリプトａ２，ｂ２，ｃ２）と結果９３とを、研究テーマ６および時刻Ｔ３に関連付けて記憶部１ａに格納する。
【００２９】
このように、データ解析支援装置１は、解析対象のデータの範囲およびスクリプトの変更毎に、データの範囲と、使用するスクリプトと、データの範囲およびスクリプトに基づいて実行されたデータ解析の結果とを、研究テーマに関連付けて記憶部１ａに格納する。これにより、時刻Ｔ１，Ｔ２，Ｔ３を含む複数の時刻のうちの何れかの時刻において、ある研究テーマに対して得られた結果と、当該結果を得るために用いられたデータの範囲およびスクリプトとの事後的な検索を可能とする。
【００３０】
例えば、データ解析支援装置１は、図２で例示されるように、検索された研究テーマに対して、各時刻（あるいは日時）における入力データ（あるいは、データの範囲）と解析フローと結果とを一覧で表示してもよい。あるいは、研究テーマと結果との一覧を表示し、研究テーマまたは結果に対する選択に応じて、選択された研究テーマまたは結果に関連付けられた入力データ（あるいは、データの範囲）と解析フローとを表示してもよい。
【００３１】
特に、ある研究テーマについての研究を行う場合、研究テーマを決定し、データの範囲を決定し、データを解析するためのデータ解析の手順を決定する事前検討を行った後、決定したデータの範囲に対し、決定した手順によるデータ解析を行い、解析結果を得る。
【００３２】
新しい研究テーマに取り組む際には、事前検討に時間がかかる。また、新しい研究を行う場合、今回の結果を確認することで、その後のデータ解析の手順を試行錯誤で改善してゆき、所望の結果を得ることが一般的である。
【００３３】
そこで、データ解析支援装置１は、試行錯誤の過程で出力された解析結果についても、研究テーマに対応付けて保存する。このため、例えば、ユーザ５は、データ解析支援装置１を用いて過去の研究テーマを検索することで、過去の研究テーマの研究において試行錯誤の過程で出力された解析結果も照会可能となる。こうして、データ解析支援装置１は、データ解析フローの作成を補助する情報を提供することが可能となり、過去の研究結果の利用を促進できる。その結果、データ解析の手順を決定する事前検討に要する時間を短縮可能となり、研究の効率化に貢献することができる。
【００３４】
また、データ解析支援装置１は、過去の解析結果に対して、当該解析結果を得るために用いられたデータ範囲や解析フローを出力することで、ユーザ５によるデータの解析作業の一層の効率化を図れる。例えば、過去に試行済である手順を避けたり、過去に試行済の手順を改善したりすることが可能になり、限られた研究時間の中で行うデータ解析を、有意義なデータ解析に絞り込めるようになる。
【００３５】
以下では、より具体的な情報処理システムを例示して、データ解析支援装置１の機能を更に詳細に説明する。
［第２の実施の形態］
図３は、第２の実施の形態のデータ解析支援システムの例を示す図である。第２の実施の形態では、臨床データを対象とした医学分野の研究を対象とする。ただし、医学分野の研究に限らず、理学や工学などの他の分野の研究においても、第２の実施の形態のデータ解析支援システムを利用することができる。
【００３６】
第２の実施の形態のデータ解析支援システムは、サーバ１００およびクライアント２００，３００を有する。サーバ１００およびクライアント２００，３００は、ネットワーク１０に接続されている。ネットワーク１０は、ＬＡＮ（Local Area Network）でもよいし、インターネットでもよい。
【００３７】
サーバ１００は、ユーザＵ１，Ｕ２による研究を支援するサーバコンピュータである。特に、サーバ１００は、試行錯誤によるデータ解析の試行過程と、各試行に対する解析結果とを記録し、事後的な照会を可能にすることで、同じ研究または後進の別の研究におけるデータ解析手順の作成を支援する。サーバ１００は、第１の実施の形態のデータ解析支援装置１の一例である。
【００３８】
クライアント２００は、ユーザＵ１により利用されるクライアントコンピュータである。クライアント３００は、ユーザＵ２により利用されるクライアントコンピュータである。クライアント２００，３００は、第１の実施の形態の端末装置２，３の一例である。
【００３９】
例えば、クライアント２００，３００は、Ｗｅｂブラウザとして機能する。また、サーバ１００は、Ｗｅｂサーバとして機能し、クライアント２００，３００のＷｅｂブラウザに、データ解析支援のためのＧＵＩ（Graphical User Interface）を提供する。ユーザＵ１，Ｕ２は、クライアント２００，３００により表示されるＧＵＩを操作することで、サーバ１００によるデータ解析支援サービスを利用することができる。
【００４０】
なお、ユーザＵ１，Ｕ２は、同じ組織に所属する研究者でもよい。あるいは、ユーザＵ１，Ｕ２は、別の組織に所属する研究者でもよい。例えば、ユーザＵ１は、大学などの学術機関に所属する研究者であり、ユーザＵ２は、病院などの医療機関に所属する研究者でもよい。
【００４１】
図４は、サーバのハードウェア例を示す図である。サーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６およびＮＩＣ（Network Interface Card）１０７を有する。各ハードウェアはサーバ１００のバスに接続されている。クライアント２００，３００もサーバ１００と同様のハードウェアを用いて実現できる。
【００４２】
プロセッサ１０１は、サーバ１００の情報処理を制御するハードウェアである。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４３】
ＲＡＭ１０２は、サーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４４】
ＨＤＤ１０３は、サーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４５】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、サーバ１００に接続されたディスプレイ１１に画像を出力する。ディスプレイ１１として、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４６】
入力信号処理部１０５は、サーバ１００に接続された入力デバイス１２から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１２として、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４７】
媒体リーダ１０６は、記録媒体１３に記録されたプログラムやデータを読み取る装置である。記録媒体１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１３として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４８】
ＮＩＣ１０７は、ネットワーク１０を介して他の装置と通信を行う。ＮＩＣ１０７は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図５は、サーバの機能例を示す図である。サーバ１００は、記憶部１１０、解析制御部１２０および検索部１３０を有する。
【００４９】
記憶部１１０は、ＲＡＭ１０２やＨＤＤ１０３の記憶領域を用いて実現される。解析制御部１２０および検索部１３０は、プロセッサ１０１によって実現される。例えば、プロセッサ１０１は、ＲＡＭ１０２に記憶されたプログラムを実行することで、解析制御部１２０および検索部１３０の機能を発揮する。解析制御部１２０および検索部１３０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００５０】
記憶部１１０は、研究テーマ、研究における解析対象のデータの範囲、解析に用いられるスクリプト、および、当該データの範囲およびスクリプトを用いた解析結果を関連付けて記憶する。
【００５１】
解析制御部１２０は、データ解析の手順の作成、実行および解析結果の記録を制御する。具体的には、解析制御部１２０は、ユーザＵ１，Ｕ２による研究テーマ、解析対象のデータの範囲および解析に用いられるスクリプトの指定を受け付け、記憶部１１０に格納する。解析制御部１２０は、ユーザＵ１，Ｕ２により指定されたスクリプトを実行して対象の入力データを解析し、解析結果を取得する。解析制御部１２０は、取得した解析結果を研究テーマに関連付けて記憶部１１０に格納する。
【００５２】
検索部１３０は、研究テーマに対する解析結果や当該解析結果の取得に用いられたデータの範囲およびスクリプトの検索および検索結果の出力を行う。具体的には、検索部１３０は、ユーザＵ１，Ｕ２による研究テーマの検索クエリの入力を受け付ける。検索部１３０は、記憶部１１０を参照して、検索クエリに応じた研究テーマを検索し、検索結果をユーザＵ１，Ｕ２に提示する。検索部１３０は、ユーザＵ１，Ｕ２による研究テーマの選択を受け付けると、該当の研究テーマに応じた解析結果を記憶部１１０から取得し、ユーザＵ１，Ｕ２に提示する。
【００５３】
次に、記憶部１１０に記憶されるデータの例を説明する。
図６は、プロジェクト管理テーブルの例を示す図である。プロジェクト管理テーブル１１１は、記憶部１１０に格納されている。プロジェクト管理テーブル１１１は、プロジェクトＩＤ、解析フローＩＤ、研究テーマ、最終更新日付および有効フラグの項目を含む。
【００５４】
プロジェクトＩＤの項目には、研究プロジェクトの識別情報（プロジェクトＩＤ）が登録される。解析フローＩＤの項目には、研究において使用される解析フローの識別情報（解析フローＩＤ）が登録される。研究テーマの項目には、研究プロジェクトにおける研究テーマが登録される。最終更新日付の項目には、解析フローＩＤで示される解析フローによる解析結果の最終の更新日付が登録される。有効フラグの項目には、当該研究テーマを有効とするか無効とするかを示すフラグが登録される。例えば、該当の研究テーマに対する解析が現在も継続して行われている場合や該当の研究テーマに対する解析が完了し、有力な結果が得られた場合などに、有効フラグを有効とすることが考えられる。また、例えば、該当の研究テーマに対して有力な結果が得られずに解析が中止された場合などに、有効フラグを無効とすることが考えられる。
【００５５】
例えば、プロジェクト管理テーブル１１１には、プロジェクトＩＤが“ＰＪ００１”、解析フローＩＤが“ＦＬＯＷ００１”、研究テーマが“糖尿病と高血圧の相関解析（ＳＶＭ）”、最終更新日付が“２０１７／３／５”、有効フラグが“有効”というレコードが登録されている。このレコードは、プロジェクトＩＤ“ＰＪ００１”の研究プロジェクトに対して、解析フローＩＤ“００１”の解析フローが“糖尿病と高血圧の相関解析（ＳＶＭ）”という研究テーマに対して用いられており、当該解析フローによる解析結果の最終更新日付が２０１７年３月５日、当該研究テーマが有効であることを示す。
【００５６】
図７は、研究デザイン管理テーブルの例を示す図である。研究デザイン管理テーブル１１２は、記憶部１１０に格納されている。研究デザイン管理テーブル１１２は、プロジェクトＩＤ、カテゴリ、設定内容、最終更新日付および有効フラグの項目を含む。
【００５７】
プロジェクトＩＤの項目には、プロジェクトＩＤが登録される。カテゴリの項目には、設定内容を示すカテゴリが登録される。カテゴリには、プロトコル、研究デザインおよび研究ノートがある。プロトコルは、研究テーマにおいて研究対象（解析対象）とするデータの範囲である。研究デザインは、研究テーマにおける研究内容の概要（研究の手法や目的などの概要を説明する文字列の情報）である。研究ノートは、解析の試行錯誤の過程におけるメモである。設定内容の項目には、カテゴリに対する設定内容が登録される。最終更新日付の項目には、設定内容の最終の更新日付が登録される。有効フラグの項目には、該当のカテゴリの設定内容を有効とするか無効とするかを示すフラグが登録される。
【００５８】
例えば、研究デザイン管理テーブル１１２には、プロジェクトＩＤが“ＰＪ００１”、カテゴリが“プロトコル”、設定内容が“ＨｂＡ１ｃが６．５以上の患者の検体検査結果とバイタル”、最終更新日付が“２０１７／３／５”、有効フラグが“有効”というレコードが登録されている。このレコードは、プロジェクトＩＤ“ＰＪ００１”で示される研究プロジェクトでは、解析対象のデータとして“ＨｂＡ１ｃが６．５以上の患者の検体検査結果とバイタル”が用いられ、当該プロトコルの設定内容の最終の更新日付が２０１７年３月５日であり、当該プロトコルの設定内容が有効であることを示す。なお、プロジェクトＩＤには研究テーマが対応付けられているので、当該レコードのプロトコルで示されるデータの範囲は、研究テーマにおいて解析対象となるデータの範囲を示しているということができる。
【００５９】
また、研究デザイン管理テーブル１１２には、プロジェクトＩＤが“ＰＪ００１”、カテゴリが“研究デザイン”、設定内容が“糖尿病と高血圧の関係性”、最終更新日付が“２０１７／３／５”、有効フラグが“有効”というレコードが登録されている。このレコードは、プロジェクトＩＤ“ＰＪ００１”で示される研究プロジェクトにおける研究デザインが“糖尿病と高血圧の関係性”であり、当該研究デザインの最終の更新日付が２０１７年３月５日であり、当該研究デザインの設定内容が有効であることを示す。
【００６０】
また、研究デザイン管理テーブル１１２には、プロジェクトＩＤが“ＰＪ００１”、カテゴリが“研究ノート”、設定内容が“患者の血圧を層別化するためのカテゴリ変数を設定”、最終更新日付が“２０１７／５／１”、有効フラグが“有効”というレコードが登録されている。このレコードは、プロジェクトＩＤ“ＰＪ００１”で示される研究プロジェクトにおいて研究ノートとして“患者の血圧を層別化するためのカテゴリ変数を設定”というメモが２０１７年５月１日に設定されており、当該研究ノートが有効であることを示す。
【００６１】
なお、研究デザイン管理テーブル１１２には、各レコードの登録を行ったユーザのユーザＩＤなどを記録する項目を更に設けてもよい。
図８は、解析フロー管理テーブルの例を示す図である。解析フロー管理テーブル１１３は、記憶部１１０に格納されている。解析フロー管理テーブル１１３は、解析フローＩＤ、解析部品ＩＤ、解析部品名、実行順序、対応スクリプトおよび設定パラメータの項目を含む。
【００６２】
解析フローＩＤの項目には、解析フローＩＤが登録される。解析部品ＩＤの項目には、解析フローを構成する解析部品の識別情報（解析部品ＩＤ）が登録される。解析部品名の項目には、解析部品の名称が登録される。実行順序の項目には、解析フローにおける解析部品の実行順序を示す数値が登録される。対応スクリプトの項目には、解析部品に対応する最新のスクリプトのファイル名が登録される。設定パラメータの項目には、スクリプトに設定されるパラメータセットの内容（スクリプト内の各パラメータに対して設定される値）が登録される。
【００６３】
例えば、解析フロー管理テーブル１１３には、解析フローＩＤが“ＦＬＯＷ００１”、解析部品ＩＤが“ＰＡＲＴＳ−００１”、解析部品名が“データ前処理（１）”、実行順序が“１”、対応スクリプトが“ＰＡＲＴＳ−００１．４６２５７３．ｐｙ”、設定パラメータが“パラメータセットＰＡ”というレコードが登録されている。このレコードは、解析フローＩＤ“ＦＬＯＷ００１”の解析フローに、解析部品ＩＤ“ＰＡＲＴＳ−００１”で示される解析部品（スクリプト）が含まれていること、当該解析部品の名称が“データ前処理（１）”であることを示す。また、解析部品ＩＤ“ＰＡＲＴＳ−００１”の解析部品の実行順序が解析フローＩＤ“ＦＬＯＷ００１”の解析フローのうちの１番目であることを示す。更に、解析部品ＩＤ“ＰＡＲＴＳ−００１”の解析部品に相当する最新のスクリプトのファイル名が“ＰＡＲＴＳ−００１．４６２５７３．ｐｙ”であり、実行時の設定パラメータが“パラメータセットＰＡ”であることを示す。
【００６４】
ここで、スクリプトのファイル名において、解析部品ＩＤおよび拡張子の結合（例えば、“ＰＡＲＴＳ−００１．ｐｙ”）は、スクリプトのテンプレートのファイル名に相当している。スクリプトのファイル名における解析部品ＩＤ（例えば、“ＰＡＲＴＳ−００１”）と、拡張子（例えば、“．ｐｙ”）の間に含まれる所定桁のキー（例えば、６桁の“４６２５７３”など）は、共通のテンプレートから作成されたスクリプトのファイルを区別するための情報である。
【００６５】
解析フロー管理テーブル１１３には、解析フローＩＤ“ＦＬＯＷ００１”に属する他の解析部品についても同様のレコードが登録されている。解析フロー管理テーブル１１３の例では、解析フローＩＤ“ＦＬＯＷ００１”の解析フローに対して合計で５つの解析部品が登録されている。これは、解析フローＩＤ“ＦＬＯＷ００１”の解析フローが５つの解析部品（５つのスクリプト）を順番に実行する手順を示すことを意味する。また、解析フロー管理テーブル１１３には、他の解析フローに関するレコードも同様に登録することができる。
【００６６】
図９は、サーバのディレクトリ構造の例を示す図である。サーバ１００は、記憶部１１０において、次のようなディレクトリ構造を用いて解析の履歴に関するファイルを階層的に管理する。
【００６７】
管理ルートディレクトリ５００は、各研究プロジェクトにおける解析の履歴を管理するためのルートディレクトリである。管理ルートディレクトリ５００の直下には、プロジェクトＩＤディレクトリ５０１，５０２が設けられている。
【００６８】
プロジェクトＩＤディレクトリ５０１は、ある研究プロジェクトに関するディレクトリのうちの最上位のディレクトリである。プロジェクトＩＤディレクトリ５０１の名称は、プロジェクトＩＤ（例えば、“ＰＪ００１”）を示すキーを含む。プロジェクトＩＤディレクトリ５０１の直下には、解析フローＩＤディレクトリ５１０，５２０が設けられている。なお、プロジェクトＩＤディレクトリ５０２も、別の研究プロジェクトに関するディレクトリのうちの最上位のディレクトリである。プロジェクトＩＤディレクトリ５０２も、プロジェクトＩＤディレクトリ５０１と同様のディレクトリ構造を配下にもつ。
【００６９】
解析フローＩＤディレクトリ５１０は、プロジェクトＩＤディレクトリ５０１に対応する研究プロジェクトで用いられる解析フローに関するディレクトリである。解析フローＩＤディレクトリ５１０の名称は、解析フローＩＤ（例えば、“ＦＬＯＷ００１”）を示すキーを含む。解析フローＩＤディレクトリ５１０の直下には、ＡＣＴＩＶＥディレクトリ５１１およびＳＡＶＥディレクトリ５１２が設けられている。なお、解析フローＩＤディレクトリ５２０も、解析フローＩＤディレクトリ５１０と同様のディレクトリ構造を配下にもつ。
【００７０】
ＡＣＴＩＶＥディレクトリ５１１は、サーバ１００によって自動保存される解析の履歴を保管するためのディレクトリである。ＡＣＴＩＶＥディレクトリ５１１の名称は、例えば、“ＡＣＴＩＶＥ”である。ＡＣＴＩＶＥディレクトリ５１１の直下には、ＤＡＴＡディレクトリ５１１ａ、ＳＣＲＩＰＴディレクトリ５１１ｂ、ＨＴＭＬディレクトリ５１１ｃ、ＰＬＯＴディレクトリ５１１ｄおよびＭＯＤＥＬディレクトリ５１１ｅが設けられている。
【００７１】
ＤＡＴＡディレクトリ５１１ａは、解析フローによる作成データを履歴管理するためのディレクトリである。ＤＡＴＡディレクトリ５１１ａには、解析フローにおける各スクリプトに対して入力された入力データや、各スクリプトにより出力された出力データが格納される。ＤＡＴＡディレクトリ５１１ａの名称は、例えば、“ＤＡＴＡ”である。
【００７２】
ＳＣＲＩＰＴディレクトリ５１１ｂは、実行スクリプトを履歴管理するためのディレクトリである。ＳＣＲＩＰＴディレクトリ５１１ｂには、解析フローに含まれるスクリプトのファイルが格納される。ＳＣＲＩＰＴディレクトリ５１１ｂの名称は、例えば、“ＳＣＲＩＰＴ”である。
【００７３】
ＨＴＭＬ（HyperText Markup Language）ディレクトリ５１１ｃは、ＨＴＭＬファイルとして出力された解析結果を履歴管理するためのディレクトリである。ＨＴＭＬディレクトリ５１１ｃには、解析フローを実行することで作成された解析結果のＨＴＭＬ形式のファイルが格納される。ＨＴＭＬディレクトリ５１１ｃの名称は、例えば、“ＨＴＭＬ”である。ＨＴＭＬディレクトリ５１１ｃには、解析フローに含まれる複数のスクリプトのうちの一部（例えば、１つのスクリプト）の解析結果も記録される。
【００７４】
ＰＬＯＴディレクトリ５１１ｄは、グラフなどの画像として出力された解析結果を履歴管理するためのディレクトリである。ＰＬＯＴディレクトリ５１１ｄには、解析フローを実行することで作成された解析結果の画像形式のファイルが格納される。ＰＬＯＴディレクトリ５１１ｄの名称は、例えば、“ＰＬＯＴ”である。
【００７５】
ＭＯＤＥＬディレクトリ５１１ｅは、解析フローを実行した結果作成されたモデルオブジェクトを履歴管理するためのディレクトリである。モデルオブジェクトは、例えば、ＳＶＭやテンソルフローなどを用いた解析の結果である学習済の分類モデルの情報である。ＭＯＤＥＬディレクトリ５１１ｅには、解析フローを実行することで作成されたモデルオブジェクトのファイルが格納される。ＭＯＤＥＬディレクトリ５１１ｅの名称は、例えば、“ＭＯＤＥＬ”である。
【００７６】
ＳＡＶＥディレクトリ５１２は、ユーザＵ１，Ｕ２の指示によって保存される解析の履歴を保存するためのディレクトリである。ＳＡＶＥディレクトリ５１２の名称は、例えば、“ＳＡＶＥ”である。ＳＡＶＥディレクトリの直下には、保存日時別に、日時ディレクトリ５１２０，５１２１が設けられている。
【００７７】
日時ディレクトリ５１２０の名称は、ユーザＵ１，Ｕ２の指示により日時ディレクトリ５１２０の配下の情報が保存された日時（年月日時分秒を示すキー）である。例えば、日時ディレクトリ５１２０の名称は、“２０１７０３０７１０４５１０”である。この名称は、日時ディレクトリ５１２０の配下の情報が、２０１７年３月７日１０時４５分１０秒（時刻Ｔとする）に保存されたことを示す。日時ディレクトリ５１２０の直下には、ＤＡＴＡディレクトリ５１２０ａ、ＳＣＲＩＰＴディレクトリ５１２０ｂ、ＨＴＭＬディレクトリ５１２０ｃ、ＰＬＯＴディレクトリ５１２０ｄおよびＭＯＤＥＬディレクトリ５１２０ｅが設けられている。なお、日時ディレクトリ５１２１も、日時ディレクトリ５１２０と同様のディレクトリ構造を配下にもつ。
【００７８】
ＤＡＴＡディレクトリ５１２０ａは、時刻Ｔの時点における最新の解析フローの各スクリプトに対する入力データおよび出力データのファイル（ＤＡＴＡディレクトリ５１１ａ内の時刻Ｔにおける最新の解析フローに対応するファイル）を保管する。
【００７９】
ＳＣＲＩＰＴディレクトリ５１２０ｂは、時刻Ｔの時点における最新の解析フローの各スクリプトのファイル（ＳＣＲＩＰＴディレクトリ５１１ｂ内の時刻Ｔにおける最新の解析フローに対応するファイル）を保管する。
【００８０】
ＨＴＭＬディレクトリ５１２０ｃは、時刻Ｔの時点における最新の解析フローによるＨＴＭＬ形式の解析結果のファイル（ＨＴＭＬディレクトリ５１１ｃ内の時刻Ｔにおける最新の解析フローに対応するファイル）を保管する。
【００８１】
ＰＬＯＴディレクトリ５１２０ｄは、時刻Ｔの時点における最新の解析フローによる画像形式の解析結果のファイル（ＰＬＯＴディレクトリ５１１ｄ内の時刻Ｔにおける最新の解析フローに対応するファイル）を保管する。
【００８２】
ＭＯＤＥＬディレクトリ５１２０ｅは、時刻Ｔの時点における最新の解析フローによるモデルオブジェクトのファイル（ＭＯＤＥＬディレクトリ５１１ｅ内の時刻Ｔにおける最新の解析フローに対応するファイル）を保管する。
【００８３】
図１０は、データの履歴管理の例を示す図である。サーバ１００は、ＡＣＴＩＶＥディレクトリ５１１の配下の各データの関連をファイル名に付与されたキーにより管理する。ある研究テーマに用いられる最新の解析フローに属する複数のスクリプトおよび各スクリプトの実行順序は、前述の解析フロー管理テーブル１１３により管理される。サーバ１００は、最新の解析フローに至るまでのスクリプトの変更の過程もＡＣＴＩＶＥディレクトリ５１１の配下に保存している。
【００８４】
具体的には、最新の解析フローに関連するスクリプトのファイル、当該スクリプトの入出力データ、解析結果およびモデルオブジェクトのファイルは、ファイル名の拡張子の直前に日時が付されない。
【００８５】
例えば、ＤＡＴＡディレクトリ５１１ａには、ファイル名“ｉｎｐｕｔ．ＰＡＲＴＳ−００１．４６２５７３．ｄａｔ”のファイルが格納されている。このファイルは、該当の解析フロー（ここでは、解析フローＩＤ“ＦＬＯＷ００１”の解析フロー）のうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当するスクリプトに対する最新の入力データである。
【００８６】
また、ＤＡＴＡディレクトリ５１１ａには、ファイル名“ｏｕｔｐｕｔ．ＰＡＲＴＳ−００１．４６２５７３．ｄａｔ”のファイルが格納されている。このファイルは、該当の解析フローのうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当するスクリプトによる最新の出力データである。なお、あるスクリプトの出力データが次段のスクリプトの入力データになることもある（その場合、次段のスクリプトの入力データについては、前段のスクリプトの出力データを示すシンボリックリンクとしてＤＡＴＡ５１１ａに格納されてもよい）。
【００８７】
また、ＳＣＲＩＰＴディレクトリ５１１ｂには、ファイル名“ＰＡＲＴＳ−００１．４６２５７３．ｐｙ”のファイルが格納されている。このファイルは、該当の解析フローのうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当する最新のスクリプトである。
【００８８】
更に、ＨＴＭＬディレクトリ５１１ｃには、ファイル名“ｒｅｓｕｌｔ．ｈｔｍｌ”のファイルが格納されている。このファイルは、解析フローＩＤ“ＦＬＯＷ００１”の最新の解析フローを実行して得られた最新のＨＴＭＬ形式の解析結果である。
【００８９】
一方、最新の解析フローよりも古い解析フローに関連するスクリプトのファイル、当該スクリプトの入出力データ、解析結果およびモデルオブジェクトのファイルは、ファイル名の拡張子の直前に、日時（例えば、年月日時分秒に相当するキー）が付される。この場合、ある日時における解析フローに関連するスクリプトのファイル、当該スクリプトの入出力データ、解析結果およびモデルオブジェクトを検索する場合、該当の日時のキーをもつファイルをＡＣＴＩＶＥディレクトリ５１１配下から抽出すればよい。
【００９０】
例えば、ＤＡＴＡディレクトリ５１１ａには、ファイル名“ｉｎｐｕｔ．ＰＡＲＴＳ−００１．４６２５７３．２０１７０５２３１０１０３０．ｄａｔ”のファイルが格納されている。このファイルは、該当の解析フローのうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当するスクリプトの２０１７年５月２３日１０時１０分３０秒時点の入力データである。
【００９１】
また、ＤＡＴＡディレクトリ５１１ａには、ファイル名“ｏｕｔｐｕｔ．ＰＡＲＴＳ−００１．４６２５７３．２０１７０５２３１０１０３０．ｄａｔ”のファイルが格納されている。このファイルは、該当の解析フローのうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当するスクリプトの２０１７年５月２３日１０時１０分３０秒時点の出力データである。
【００９２】
また、ＳＣＲＩＰＴディレクトリ５１１ｂには、ファイル“ＰＡＲＴＳ−００１．４６２５７３．２０１７０５２３１０１０３０．ｐｙ”のファイルが格納されている。このファイルは、該当の解析フローのうち、解析部品ＩＤ“ＰＡＲＴＳ−００１”に相当する２０１７年５月２３日１０時１０分３０秒時点のスクリプトである。
【００９３】
更に、ＨＴＭＬディレクトリ５１１ｃには、ファイル名“ｒｅｓｕｌｔ．２０１７０５２３１０１０３０．ｈｔｍｌ”のファイルが格納されている。このファイルは、解析フローＩＤ“ＦＬＯＷ００１”の２０１７年５月２３日１０時１０分３０秒時点の解析フローを実行して得られたＨＴＭＬ形式の解析結果である。
【００９４】
ここで、解析制御部１２０は、最新の解析フローが実行されて解析結果やモデルオブジェクトが得られると、最新の解析フローに関連するファイルを複製し、複製したファイルのファイル名に今回解析の実行完了日時（あるいは、複製日時）を示すキーを付与する。
【００９５】
なお、スクリプトは部分的に変更されることもある。この場合、前回から変更されたファイルのみについてファイルの実体を複製し、前回から変更されていないファイルについては、直前のファイルを参照するシンボリックリンクを作成して、当該シンボリックリンクの名称に日時を示すキーを付与してもよい。このようにすると、同一内容のファイルが重複して複製されることを防ぐことができ、記憶領域を節約できる。
【００９６】
あるいは、後述するように、サーバ１００では、解析フローのうちのスクリプトの部分的な変更を許容し、また、変更部分のみの実行も許容する。この場合は、サーバ１００は、実際に実行された部分（例えば、スクリプトファイルや入出力データのファイル）についてのみ複製し、複製したファイルに日時を示すキーを付与して該当のディレクトリに格納する。
【００９７】
ここで、図１０では、ＰＬＯＴディレクトリ５１１ｄおよびＭＯＤＥＬディレクトリ５１１ｅの配下については図示を省略しているが、ＨＴＭＬディレクトリ５１１ｃなどと同様にして各ファイルにファイル名が付与される。
【００９８】
次に、クライアント２００，３００により表示される各種の画面の例を説明する。例えば、クライアント２００，３００は、Ｗｅｂブラウザにより、所定のＵＲＬ（Uniform Resource Locator）にアクセスすることで、各種の画面の画面情報をサーバ１００から取得できる。解析制御部１２０は、解析フロー作成画面６００を表示するための画面情報（例えば、ＨＴＭＬデータ）を、クライアント２００，３００に送信する。クライアント２００，３００は、Ｗｅｂブラウザにより、画面情報に応じた画面を表示し、ユーザＵ１，Ｕ２に提示する。
【００９９】
図１１は、解析フロー作成画面の例を示す図である。解析フロー作成画面６００は、ユーザＵ１，Ｕ２による解析フローの作成を支援するためのＧＵＩである。例えば、ユーザＵ１，Ｕ２は、クライアント２００，３００に接続されたポインティングデバイスを用いてポインタ２１を操作することで、解析フロー作成画面６００に対する入力を行える。
【０１００】
解析フロー作成画面６００は、ボタン６０１，６０２，６０３，６０４，６０５，６０６，６０７，６０８、解析部品一覧６１０、データ解析フローリスト６２０および解析部品削除領域６３０を有する。
【０１０１】
ボタン６０１は、解析フローを新規作成するためのボタンである。例えば、ボタン６０１が押下されると、解析フローを新規作成する研究プロジェクトのプロジェクトＩＤや研究テーマを入力するためのダイアログが表示される。そして、解析フロー作成画面６００により、当該ダイアログに入力されたプロジェクトＩＤや研究テーマに関連付けられた解析フローの作成が可能になる。
【０１０２】
ボタン６０２は、作成済の解析フローを参照するためのボタンである。例えば、ボタン６０２が押下されると、解析フローＩＤまたは研究テーマなどを入力するためのダイアログが表示され、入力された解析フローＩＤや研究テーマに応じた解析フローの内容が、解析フロー作成画面６００に表示される。作成済の解析フローとして、例えば、ＳＡＶＥディレクトリに保存された解析フローを選択可能にしてもよい。
【０１０３】
ボタン６０３は、解析フロー作成画面６００を用いて作成された解析フローを保存するためのボタンである。ボタン６０３が押下されると、サーバ１００により、現在の解析フローに関連する最新のファイル（ＡＣＴＩＶＥディレクトリ５１１に格納されたファイル）が、ＳＡＶＥディレクトリ５１２に複製される。このとき、サーバ１００は、ＳＡＶＥディレクトリ５１２配下に現在日時のディレクトリ（日時ディレクトリ）を作成し、作成した日時ディレクトリに複製したファイルを格納する。
【０１０４】
ボタン６０４は、研究プロジェクトに対するプロトコル定義の設定を行うためのボタンである。ボタン６０４が押下されると、プロトコル定義の設定を受け付けるＧＵＩが表示される。
【０１０５】
ボタン６０５は、研究プロジェクトに対する研究デザインの管理を行うためのボタンである。ボタン６０５が押下されると、研究デザインの設定を受け付けるＧＵＩが表示される。
【０１０６】
ボタン６０６は、研究プロジェクトに対する研究ノートの管理を行うためのボタンである。ボタン６０６が押下されると、研究ノートの設定を受け付けるＧＵＩが表示される。
ボタン６０７は、解析フロー作成画面６００により表示されている解析フローの内容（データ解析フローリスト６２０に表示されている内容）を一括して消去（クリア）するためのボタンである。
【０１０７】
ボタン６０８は、解析フロー作成画面６００により表示されている解析フローの内容（データ解析フローリスト６２０に表示されている内容）を一括して実行するためのボタンである。
【０１０８】
解析部品一覧６１０は、解析フローの作成に利用可能な解析部品（スクリプト）の一覧である。
データ解析フローリスト６２０は、現在作成中の解析フローに含まれる解析部品の一覧である。データ解析フローリスト６２０では、上下方向に並べて解析フローを構成する解析部品が表示される。データ解析フローリスト６２０において最上部に表示された解析部品から下に向かって順番に実行されることになる。
【０１０９】
例えば、ユーザＵ１，Ｕ２は、ポインタ２１を用いて、解析部品一覧６１０に表示された解析部品を、データ解析フローリスト６２０にドラッグアンドドロップすることで、データ解析フローリスト６２０の所望の箇所に、解析部品を追加することができる。また、ユーザＵ１，Ｕ２は、ポインタ２１を用いて、データ解析フローリスト６２０内で、ある解析部品を上下方向に移動させることで、当該解析部品の実行順序を変更することもできる。
【０１１０】
また、データ解析フローリスト６２０の各解析部品の行には、“設定”、“実行”、“結果確認”というリンクが表示されている。“設定”リンクは、該当の解析部品に対して入力するパラメータの設定画面（部品設定画面と称する）を表示するためのリンクである。“実行”リンクは、該当の解析部品の個別での実行指示画面を表示するためのリンクである。実行指示画面により、実行開始が指示されると、該当の解析部品の単独の実行が行われる。“結果確認”リンクは、該当の解析部品の単独の実行結果の確認画面を表示するためのリンクである。
【０１１１】
解析部品削除領域６３０は、データ解析フローリスト６２０に表示されている選択済の解析部品を、データ解析フローリスト６２０から削除するための領域である。ユーザＵ１，Ｕ２は、選択済の解析部品を、ポインタ２１を用いて、解析部品削除領域６３０にドラッグアンドドロップすることで、データ解析フローリスト６２０から該当の解析部品を削除することができる。
【０１１２】
図１２は、部品設定画面の例を示す図である。部品設定画面７００は、データ解析フローリスト６２０における解析部品の“設定”リンクが選択された場合に表示される。部品設定画面７００では、一例として、入力データのクレンジングを行う解析部品に対する設定内容を示す。部品設定画面７００は、テキストボックス７０１、選択フォーム７０２、プルダウンリスト７０３、テキストボックス７０４，７０５およびボタン７０６，７０７を有する。
【０１１３】
テキストボックス７０１は、解析部品（スクリプト）に対して入力する入力データの名称（データフレーム名）を設定するための入力フォームである。
選択フォーム７０２は、解析部品の処理で利用するアルゴリズム（一例では、入力データにおける欠測値を補間するための補間アルゴリズム）を選択するための入力フォームである。
【０１１４】
プルダウンリスト７０３は、選択フォーム７０２において、線形補間が選択された場合に有効となるリストであって、線形補間に用いるメソッドの選択を受け付けるための入力フォームである。
【０１１５】
テキストボックス７０４は、入力データにおける外れ値や異常値を削除するための下限閾値を入力するための入力フォームである。例えば、入力データのうち下限閾値よりも小さい値は解析部品の処理において無視されることになる。
【０１１６】
テキストボックス７０５は、入力データにおける外れ値や異常値を削除するための上限閾値を入力するための入力フォームである。例えば、入力データのうち上限閾値よりも大きい値は解析部品の処理において無視されることになる。例えば、テキストボックス７０４，７０５の設定により、プロトコル定義で定められた解析対象の入力データの範囲に対して、当該範囲を更に細かく設定可能である。
【０１１７】
ボタン７０６は、部品設定画面７００に入力された設定内容を確定するためのボタンである。例えば、部品設定画面７００が、解析フローＩＤ“ＦＬＯＷ００１”の解析フローにおける解析部品ＩＤ“ＰＡＲＴＳ−００１”の解析部品の設定画面の場合を考える。この場合、確定された設定内容は、例えば、パラメータセットＰＡとして、ＡＣＴＩＶＥディレクトリ５１１のＤＡＴＡディレクトリ５１１ａに保存される。また、当該設定内容に含まれるファイル名“ＩＮＰＵＴ＿ＤＡＴＡ”のファイルは、ファイル名“ｉｎｐｕｔ．ＰＡＲＴＳ−００１．４６２５７３．ｄａｔ”として、ＤＡＴＡディレクトリ５１１ａに格納されてもよい。
【０１１８】
ボタン７０７は、部品設定画面７００を閉じるためのボタンである。
なお、部品設定画面７００で例示した設定内容は一例であり、当該設定内容は、解析部品に応じて異なる。
【０１１９】
図１３は、各種の設定画面の例を示す図である。図１３（Ａ）は、プロトコル定義画面８１０を例示する。プロトコル定義画面８１０は、解析フロー作成画面６００のボタン６０４が押下されると表示される。プロトコル定義画面８１０は、編集履歴８１１、対象データ範囲入力領域８１２およびボタン８１３，８１４を有する。
【０１２０】
編集履歴８１１は、プロトコル定義画面８１０における設定内容の編集履歴である。編集履歴８１１には、研究デザイン管理テーブル１１２のカテゴリ“プロトコル”に対して同一プロジェクトＩＤの過去の編集内容のレコードがある場合に、編集された日時や編集したユーザのユーザ名などが表示される。また、編集された日時の表示は該当の編集内容を表示するためのリンクになっている。このとき、解析制御部１２０は、該当のレコードにおける有効フラグが“有効”か“無効”かに応じて編集履歴８１１における表示方法を変える。例えば、有効フラグが“無効”の場合、該当のレコードの編集履歴をグレーアウトさせる。一方、有効フラグが“有効”の場合、該当のレコードの編集履歴をグレーアウトさせない。このような編集履歴の表示方法は、以下に示す他の画面の編集履歴の表示でも同様とする。
【０１２１】
対象データ範囲入力領域８１２は、解析対象のデータ範囲を入力するための入力フォームである。
ボタン８１３は、対象データ範囲入力領域８１２に入力されたデータ範囲の内容を確定するためのボタンである。対象データ範囲入力領域８１２に対する入力内容が確定されると、解析制御部１２０は、プロジェクトＩＤおよびカテゴリ“プロトコル”に対応付けて、確定された入力内容を研究デザイン管理テーブル１１２の設定内容の項目に登録する。また、解析制御部１２０は、最終更新日付や有効フラグのデフォルト値“有効”も設定する。なお、有効フラグの設定は、任意のタイミングに変更可能である。なお、解析制御部１２０は、解析フロー作成画面６００において解析フローの作成または参照を開始する際に受け付けるプロジェクトＩＤや解析フローＩＤを基に、確定された入力内容に対応するプロジェクトＩＤを特定する。
【０１２２】
ボタン８１４は、プロトコル定義画面８１０を閉じるためのボタンである。
図１３（Ｂ）は、研究デザイン管理画面８２０を例示する。研究デザイン管理画面８２０は、編集履歴８２１、研究デザイン入力領域８２２およびボタン８２３，８２４を有する。
【０１２３】
編集履歴８２１は、研究デザイン管理画面８２０における設定内容の編集履歴である。編集履歴８２１には、研究デザイン管理テーブル１１２のカテゴリ“研究デザイン”に対して同一プロジェクトＩＤの過去の編集内容のレコードがある場合に、編集された日時や編集したユーザのユーザ名などが表示される。
【０１２４】
研究デザイン入力領域８２２は、研究プロジェクトに対する研究デザインを入力するための入力フォームである。
ボタン８２３は、研究デザイン入力領域８２２に入力された研究デザインの内容を確定するためのボタンである。研究デザイン入力領域８２２に対する入力内容が確定されると、解析制御部１２０は、プロジェクトＩＤおよびカテゴリ“研究デザイン”に対応付けて、確定された入力内容を研究デザイン管理テーブル１１２の設定内容の項目に登録する。また、解析制御部１２０は、最終更新日付や有効フラグのデフォルト値“有効”も設定する。
【０１２５】
ボタン８２４は、研究デザイン管理画面８２０を閉じるためのボタンである。
図１３（Ｃ）は、研究ノート管理画面８３０を例示する。研究ノート管理画面８３０は、編集履歴８３１、研究ノート入力領域８３２およびボタン８３３，８３４を有する。
【０１２６】
編集履歴８３１は、研究ノート管理画面８３０における設定内容の編集履歴である。編集履歴８３１には、研究デザイン管理テーブル１１２のカテゴリ“研究ノート”に対して同一プロジェクトＩＤの過去の編集内容のレコードがある場合に、編集された日時や編集したユーザのユーザ名などが表示される。
【０１２７】
研究ノート入力領域８３２は、研究プロジェクトに対する研究ノートを入力するための入力フォームである。
ボタン８３３は、研究ノート入力領域８３２に入力された研究デザインの内容を確定するためのボタンである。研究ノート入力領域８３２に対する入力内容が確定されると、解析制御部１２０は、プロジェクトＩＤおよびカテゴリ“研究ノート”に対応付けて、確定された入力内容を研究デザイン管理テーブル１１２の設定内容の項目に登録する。また、解析制御部１２０は、最終更新日付や有効フラグのデフォルト値“有効”も設定する。
【０１２８】
ボタン８３４は、研究ノート管理画面８３０を閉じるためのボタンである。
次に、解析実績の検索に用いられる検索画面を例示する。検索画面には、検索クエリ入力画面、検索結果画面、解析結果画面および解析内容画面が含まれる。
【０１２９】
図１４は、検索画面の例（その１）を示す図である。検索クエリ入力画面９１０は、検索クエリの入力に用いられる画面である。検索クエリ入力画面９１０は、テキストボックス９１１およびボタン９１２，９１３を有する。
【０１３０】
テキストボックス９１１は、検索クエリの入力を受け付けるための入力フォームである。例えば、ユーザＵ１，Ｕ２は、テキストボックス９１１に、検索したい研究テーマに関連するキーワードを入力することができる。
【０１３１】
ボタン９１２は、テキストボックス９１１に入力されたキーワードを含む検索クエリをサーバ１００に送信するためのボタンである。サーバ１００は、クライアント２００（またはクライアント３００）から検索クエリを受け付けると、検索結果画面９２０の画面情報をクライアント２００（またはクライアント３００）に応答する。サーバ１００は、例えば、プロジェクト管理テーブル１１１、研究デザイン管理テーブル１１２および解析フロー管理テーブル１１３を参照することで、検索クエリに応じた研究テーマに関する情報の検索を行う。
【０１３２】
ボタン９１３は、検索クエリ入力画面９１０を閉じるためのボタンである。
検索結果画面９２０は、サーバ１００による研究テーマの検索結果を表示するための画面である。検索結果画面９２０は、検索結果表示領域９２１およびボタン９２２を有する。
【０１３３】
検索結果表示領域９２１は、検索クエリ入力画面９１０に入力された検索クエリに応じた研究テーマの検索結果を表示するための領域である。例えば、検索結果表示領域９２１には、研究テーマ、データ範囲、研究デザイン、使用スクリプト一覧および解析フロー参照画面へのリンクの欄が表示されている。
【０１３４】
研究テーマの欄には、検索クエリのキーワードに一致、または、類似する研究テーマの検索結果が表示される。例えば、検索部１３０は、検索クエリのキーワードと、プロジェクト管理テーブル１１１の研究テーマとを照合することで、研究テーマの検索を行う。
【０１３５】
データ範囲の欄には、研究テーマに対応するデータ範囲が表示される。検索部１３０は、研究デザイン管理テーブル１１２のカテゴリ“プロトコル”の設定内容により、検索された研究テーマのプロジェクトＩＤに対応するデータ範囲を取得する。
【０１３６】
研究デザインの欄には、研究テーマに対応する研究デザインが表示される。検索部１３０は、研究デザイン管理テーブル１１２のカテゴリ“研究デザイン”の設定内容により、検索された研究テーマのプロジェクトＩＤに対応する研究デザインを取得する。
【０１３７】
使用スクリプト一覧の欄には、該当の研究テーマの解析フローＩＤに対応するスクリプトの一覧が表示される。検索部１３０は、解析フロー管理テーブル１１３に基づいて検索された研究テーマに対するスクリプトの一覧を取得する。使用スクリプト一覧に表示される内容は、該当の解析フローＩＤに対応する全てのスクリプトでもよいし、一部のスクリプト（例えば、主要な一部のスクリプト）でもよい。
【０１３８】
解析フロー参照画面へのリンクの欄には、該当の研究テーマに対応する最新の解析フロー参照画面を表示するためのリンクが表示される。解析フロー参照画面は、解析フロー作成画面６００と同様に、データ解析フローリスト６２０を含むものである。ただし、ユーザＵ１，Ｕ２は、解析フロー参照画面により解析フローを参照できるが、解析フローを編集することはできない。
【０１３９】
ボタン９２２は、検索結果画面９２０を閉じるためのボタンである。
ここで、検索結果表示領域９２１の研究テーマの欄の表示内容は、該当の研究テーマに対する解析結果画面へのリンクとなっている。クライアント２００，３００は、ユーザＵ１，Ｕ２によりポインタ２１を用いて、何れかの研究テーマが選択されると、選択された研究テーマをサーバ１００に送信し、サーバ１００から該当の研究テーマの解析結果画面の画面情報を取得する。クライアント２００，３００は、サーバ１００から取得した画面情報を基に、解析結果画面を表示する。
【０１４０】
図１５は、検索画面の例（その２）を示す図である。解析結果画面９３０は、検索結果画面９２０で選択された研究テーマの解析結果を表示するための画面である。解析結果画面９３０は、解析結果表示領域９３１およびボタン９３２を有する。
【０１４１】
解析結果表示領域９３１は、該当の研究テーマの解析結果が表示される領域である。表示される解析結果は、解析の結果を表す図、表およびグラフなどの画像を含んでもよい。
ボタン９３２は、解析結果画面９３０を閉じるためのボタンである。
【０１４２】
解析結果表示領域における解析結果は、当該解析結果に対応する研究テーマにおける解析内容を示す解析内容画面へのリンクを含む。クライアント２００，３００は、ユーザＵ１，Ｕ２によりポインタ２１を用いて、解析結果が選択されると、選択された解析結果に対応する研究テーマをサーバ１００に送信し、サーバ１００から該当の研究テーマの解析内容画面の画面情報を取得する。クライアント２００，３００は、サーバ１００から取得した画面情報を基に、解析内容画面を表示する。
【０１４３】
解析内容画面９４０は、解析結果画面９３０に表示された解析結果を得るための解析内容を表示するための画面である。解析内容画面９４０は、解析内容表示領域９４１およびボタン９４２，９４３を有する。
【０１４４】
解析内容表示領域９４１は、解析結果画面９３０で選択された解析結果に対応する解析内容を表示するための領域である。例えば、解析内容表示領域９４１には、データ範囲および解析フロー実行順序の欄が表示されている。
【０１４５】
データ範囲の欄には、該当の解析結果に対応する入力データの範囲が表示される。検索部１３０は、研究デザイン管理テーブル１１２のカテゴリ“プロトコル”の設定内容により、該当の解析結果（研究テーマのプロジェクトＩＤ）に対応するデータ範囲を取得する。なお、データ範囲の欄の表示は、リンクになっており、ユーザＵ１，Ｕ２は、ポインタ２１でデータ範囲を選択することで、データ範囲の詳細な内容を表示させることもできる。
【０１４６】
解析フロー実行順序の欄には、該当の解析結果を得るために用いられた解析フローの各スクリプトの実行順序が表示される。検索部１３０は、該当の解析結果（研究テーマのプロジェクトＩＤ）に属する解析フロー、および、解析フローに属する複数のスクリプトの実行順序を、解析フロー管理テーブル１１３から取得する。
【０１４７】
ボタン９４２は、解析内容表示領域９４１に表示された解析フローを反映させた解析フロー作成画面６００を表示させるためのボタンである。ユーザＵ１，Ｕ２は、ボタン９４２を押下することで、表示中の解析フローをサーバ１００に作成させることができる。また、ユーザＵ１，Ｕ２は、解析フロー作成画面６００により、自動作成された解析フローを編集して所望の解析を行うこともできる。
【０１４８】
ボタン９４３は、解析内容画面９４０を閉じるためのボタンである。
次に、サーバ１００による処理手順を説明する。まず、サーバ１００による解析履歴の記録処理を説明する。
【０１４９】
図１６は、記録処理の例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
（Ｓ１）解析制御部１２０は、研究テーマの入力を受け付ける。
【０１５０】
（Ｓ２）解析制御部１２０は、解析の対象データの範囲の入力を受け付ける。例えば、解析制御部１２０は、プロトコル定義画面８１０に入力された対象データの範囲を受け付ける。
【０１５１】
（Ｓ３）解析制御部１２０は、解析に使用するスクリプトの設定を受け付ける。スクリプトの設定では、例えば、解析制御部１２０は、解析フローにおけるスクリプトの実行順序、追加、削除または選択を受け付ける。例えば、解析制御部１２０は、解析フロー作成画面６００により、解析フローにおけるスクリプトの設定を受け付ける。
【０１５２】
（Ｓ４）解析制御部１２０は、スクリプトの入力パラメータの設定を受け付ける。例えば、解析制御部１２０は、部品設定画面７００に入力された入力パラメータの設定を受け付ける。前述のように、解析制御部１２０は、部品設定画面７００により、解析の対象データの範囲を受け付けることもできる。
【０１５３】
（Ｓ５）解析制御部１２０は、解析フローを実行することで、入力データに対する解析を実行する。例えば、解析制御部１２０は、解析フロー作成画面６００のボタン６０８の押下を受け付けることで、データ解析フローリスト６２０に設定された一連のスクリプトを実行し、解析結果を得る。また、例えば、解析制御部１２０は、データ解析フローリスト６２０に表示された何れかのスクリプトの“実行”リンクの選択を受け付けることで、当該スクリプト単独の解析結果を得ることもできる。
【０１５４】
（Ｓ６）解析制御部１２０は、ステップＳ２，Ｓ３，Ｓ４の設定における入力内容とステップＳ５の解析結果とを研究テーマに関連付けて記憶部１１０に記録する。例えば、実行した解析フローの解析フローＩＤが“ＦＬＯＷ００１”の場合を考える。この場合、解析制御部１２０は、“ＦＬＯＷ００１”の解析フローＩＤディレクトリ５１０の配下のＡＣＴＩＶＥディレクトリ５１１に入力データ、スクリプトおよび解析結果を、それぞれのファイル名に現時刻（現時刻を示すキー）を付与して配置する。例えば、解析制御部１２０は、各スクリプトの入力データや出力データのファイルに現時刻を付与し、ＤＡＴＡディレクトリ５１１ａに当該ファイルを格納する。また、解析制御部１２０は、各スクリプトのファイルに現時刻を付与し、ＳＣＲＩＰＴディレクトリ５１１ｂに当該ファイルを格納する。また、解析制御部１２０は、ＨＴＭＬ形式で得られた解析結果のファイルに現時刻を付与し、ＨＴＭＬディレクトリ５１１ｃに当該ファイルを格納する。また、解析制御部１２０は、画像形式で得られた解析結果のファイルに現時刻を付与し、ＰＬＯＴディレクトリ５１１ｄに当該ファイルを格納する。
【０１５５】
なお、解析制御部１２０は、解析フローを実行した結果、モデルオブジェクトのファイルを作成することもある。この場合、解析制御部１２０は、解析結果と同様に、モデルオブジェクトのファイルに現時刻を付与し、ＭＯＤＥＬディレクトリ５１１ｅに当該ファイルを格納する。なお、解析制御部１２０は、ステップＳ５において、スクリプト単独で実行した場合には、実行されたスクリプト単独における入力内容と解析結果とを研究テーマに関連付けて記憶部１１０に記憶する。このようにして、解析制御部１２０は、あるタイミングで実行されたスクリプトと、実行時の各スクリプトの入力／出力データと、解析結果とを研究テーマに対応付けて記録する。
【０１５６】
（Ｓ７）解析制御部１２０は、解析を継続するか否かを判定する。解析を継続する場合、解析制御部１２０は、ステップＳ２に処理を進める。解析を継続しない場合、解析制御部１２０は、記録処理を終了する。
【０１５７】
こうして、解析制御部１２０は、ユーザＵ１，Ｕ２による解析の試行錯誤の過程で生じた解析結果を自動的に保存する。ここで、解析制御部１２０は、ユーザＵ１，Ｕ２の操作によっては、ステップＳ２，Ｓ３，Ｓ４のうちの少なくとも何れかのステップをスキップして、ステップＳ５を実行することもある。
【０１５８】
なお、図１６では、解析制御部１２０により、解析履歴を自動保存する手順の例を示した。一方、前述のように、解析制御部１２０は、解析フロー作成画面６００のボタン６０３の押下を受け付けると、ＳＡＶＥディレクトリへの現状の解析フローに関するデータの保存も行う。これにより、ユーザＵ１，Ｕ２は、任意のタイミングで、現状の解析フローに関するデータのバックアップを取得できる。
【０１５９】
次に、サーバ１００による解析履歴の検索処理を説明する。
図１７は、検索処理の例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
【０１６０】
（Ｓ１１）検索部１３０は、検索クエリの入力を受け付ける。例えば、検索部１３０は、検索クエリ入力画面９１０により研究テーマに関するキーワードを含む検索クエリの入力を受け付ける。
【０１６１】
（Ｓ１２）検索部１３０は、検索クエリに類似する研究テーマを検索する。例えば、検索部１３０は、検索クエリに含まれるキーワードと記憶部１１０に記憶されたプロジェクト管理テーブル１１１の研究テーマの設定内容とを照合することで、キーワードに一致または類似する研究テーマを検索する。なお、検索部１３０は、検索クエリに含まれるキーワードと研究デザイン管理テーブル１１２に登録された研究デザインの設定内容とを照合することで、キーワードに関連する研究テーマを検索してもよい。
【０１６２】
（Ｓ１３）検索部１３０は、研究テーマの検索結果を出力する。例えば、検索部１３０は、検索結果画面９２０の画面情報をクライアント２００（または、クライアント３００）に送信し、検索結果画面９２０を表示させる。
【０１６３】
（Ｓ１４）検索部１３０は、研究テーマの選択を受け付ける。例えば、検索部１３０は、検索結果画面９２０に含まれる研究テーマに対する選択を受け付ける。
（Ｓ１５）検索部１３０は、ステップＳ１４で選択された研究テーマに対応する解析結果を出力する。例えば、検索部１３０は、解析結果画面９３０の画面情報をクライアント２００（または、クライアント３００）に送信し、解析結果画面９３０を表示させる。ここで、検索部１３０は、選択された研究テーマに対する最新の解析結果を出力してもよいし、取得済の解析結果の履歴から参照したい日時のユーザＵ１，Ｕ２による指定を更に受け付けて、当該日時において取得された解析結果を出力してもよい。また、解析結果として、ＨＴＭＬ形式のファイル、および、画像形式のファイルがある場合、両方を出力してもよいし、何れか一方を出力してもよい。
【０１６４】
（Ｓ１６）検索部１３０は、解析結果に対する選択を受け付ける。例えば、検索部１３０は、解析結果画面９３０に含まれる解析結果に対する選択を受け付ける。
（Ｓ１７）検索部１３０は、選択された解析結果に対応するデータ範囲および解析フローの内容を出力する。例えば、検索部１３０は、選択された解析結果に対応する解析フローＩＤを特定する。解析フローＩＤは、該当の解析結果が格納されたＨＴＭＬディレクトリおよびＰＬＯＴディレクトリの上位の解析フローＩＤディレクトリのディレクトリ名に設定されている解析フローＩＤである。そして、検索部１３０は、研究デザイン管理テーブル１１２および解析フロー管理テーブル１１３を参照して、特定した解析フローＩＤに対応するデータ範囲および解析フローの内容を抽出する。検索部１３０は、抽出したデータ範囲および解析フローの内容を含む解析内容画面９４０の画面情報をクライアント２００（または、クライアント３００）に送信し、解析内容画面９４０を表示させる。
【０１６５】
（Ｓ１８）検索部１３０は、解析フロー作成指示を受け付ける。例えば、検索部１３０は、解析内容画面９４０におけるボタン９４２の押下を受け付けることで、解析内容画面９４０に表示された解析フローの作成指示を受け付ける。
【０１６６】
（Ｓ１９）検索部１３０は、解析フロー作成指示に応じて、解析フローを自動作成する。例えば、検索部１３０は、解析フロー作成指示の対象の解析フローの内容を反映した状態の解析フロー作成画面６００の画像情報をクライアント２００（または、クライアント３００）に送信し、解析フロー作成画面６００を表示させる。すると、ユーザＵ１，Ｕ２は、検索された既存の解析フローを解析フロー作成画面６００により編集して、別の研究テーマにおける新たな解析フローの作成に流用することができる。そして、ユーザＵ１，Ｕ２は、新たに作成した解析フローを用いた解析を行える。
【０１６７】
なお、前述のように各画面には、各画面を閉じるためのボタン（ボタン９１３，９２２，９３２，９４３）が設けられている。検索部１３０は、検索処理の途中でも、これらのボタンに対する押下を受け付けると、検索処理を終了する。
【０１６８】
このように、サーバ１００は、解析対象のデータの範囲およびスクリプトの変更毎に、データの範囲と、使用するスクリプトと、データ範囲および使用するスクリプトに基づく解析結果とを、研究テーマに関連付けて記憶部１１０に格納する。これにより、解析を実行した各タイミングにおいて、ある研究テーマに対して得られた解析結果と、当該解析結果を得るために用いられたデータの範囲およびスクリプトとの事後的な検索を可能とする。
【０１６９】
特に、ある研究テーマについての研究を行う場合、研究テーマを決定し、データの範囲を決定し、データを解析するためのデータ解析の手順を決定する事前検討を行った後、決定したデータの範囲についてデータ解析の手順を実行して解析を行い、解析結果を得る。
【０１７０】
新しい研究テーマに取り組む際には、事前検討に時間がかかる。また、新しい研究を行う場合、今回の結果を確認することで、その後のデータ解析の手順を試行錯誤で改善してゆき、所望の結果を得ることが一般的である。
【０１７１】
そこで、サーバ１００は、試行錯誤の過程で出力された解析結果についても、研究テーマに対応付けて保存する。このため、例えば、ユーザＵ１，Ｕ２は、サーバ１００により類似の研究テーマを検索することで、過去の類似する研究テーマで試行錯誤の過程で出力された解析結果も照会可能となる。
【０１７２】
例えば、サーバ１００は、解析結果画面９３０において、研究テーマに対応付けられた解析結果に対する選択を受け付けると、解析結果に対応付けられたデータの範囲と使用されたスクリプトとを出力する。これにより、ユーザＵ１，Ｕ２に対して解析結果を得るために使用されたデータの範囲や使用されたスクリプトを提示することができ、ユーザＵ１，Ｕ２による解析フローの作成を支援することができる。
【０１７３】
また、例えば、サーバ１００は、研究テーマに関する検索クエリを受け付けると、記憶部１１０を参照して検索クエリに応じた研究テーマを検索する。そして、サーバ１００は、検索された研究テーマと当該研究テーマで使用されたスクリプトおよびデータの範囲を出力する（例えば、検索結果画面９２０）。これにより、ユーザＵ１，Ｕ２に対して過去の研究テーマで使用されたスクリプトおよびデータの範囲を提示することができ、ユーザＵ１，Ｕ２による解析フローの作成を支援することができる。また、過去に試行済である手順を避けたり、過去に試行済の手順を改善したりすることが可能になり、限られた研究時間の中で有意義なデータ解析に絞って行えるように支援できる。
【０１７４】
また、例えば、サーバ１００は、解析結果画面９３０において、研究テーマに対応付けられた解析結果に対する選択を受け付ける。すると、サーバ１００は、当該解析結果に対応付けられたデータの範囲と使用された複数のスクリプトと複数のスクリプトそれぞれの実行順序とを出力する（例えば、解析内容画面９４０）。更に、サーバ１００は、解析内容画面９４０において解析フローの作成指示を受け付けると、表示中の解析フローのスクリプトを含む新規の解析フローを作成し、当該新規の解析フローを編集するための解析フロー作成画面６００を出力する。これにより、ユーザＵ１，Ｕ２が新たな研究テーマに取り組む際の、新規の解析フローの作成の手間を軽減できる。
【０１７５】
このように、サーバ１００は、データ解析フローの作成を補助する情報を提供することが可能となる。その結果、ユーザＵ１，Ｕ２によるデータ解析の手順を決定する事前検討に要する時間を短縮可能となり、研究の効率化に貢献することができる。また、サーバ１００の機能は、過去の研究の試行錯誤の過程の追確認に利用することもできる。
【０１７６】
なお、第１の実施の形態の情報処理は、処理部１ｂにプログラムを実行させることで実現できる。また、第２の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１３に記録できる。
【０１７７】
例えば、プログラムを記録した記録媒体１３を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１３に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０１７８】
１  データ解析支援装置
１ａ  記憶部
１ｂ  処理部
２，３  端末装置
４，５  ユーザ
６  研究テーマ
７  入力データ
８，８ａ  スクリプト
９  結果
【図１】
2019046335.tif 000003
【図２】
2019046335.tif 000004
【図３】
2019046335.tif 000005
【図４】
2019046335.tif 000006
【図５】
2019046335.tif 000007
【図６】
2019046335.tif 000008
【図７】
2019046335.tif 000009
【図８】
2019046335.tif 000010
【図９】
2019046335.tif 000011
【図１０】
2019046335.tif 000012
【図１１】
2019046335.tif 000013
【図１２】
2019046335.tif 000014
【図１３】
2019046335.tif 000015
【図１４】
2019046335.tif 000016
【図１５】
2019046335.tif 000017
【図１６】
2019046335.tif 000018
【図１７】
2019046335.tif 000019