以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
図1は、実施例1の計算機100のハードウェア構成及びソフトウェア構成の一例を説明する図である。
計算機100は、新規分析業務の実行時に、分析業務のログの中から所定の基準を満たすログに対応づけられる作業の組合せを、新規分析業務の作業の組合せを決定するためのレコメンド情報として提示する。なお、複数の計算機100を有する計算機システムを用いて同様の機能を実現してもよい。
分析業務は、所定の目的を達成するために分析者が実行するデータ分析である。分析業務は、手順にしたがって複数の作業を実行することによって実現される。例えば、データの加工作業、サービス又はツールを用いた分析作業、データの整理/整形作業の順に作業を実行する分析業務が考えられる。
計算機100は、CPU101、光学ドライブ102、ネットワークインタフェース103、主記憶装置104、及び副記憶装置105を備える。前述のハードウェアは、内部バス106を介して互いに接続される。また、計算機100には入力装置107及び出力装置108が接続される。入力装置107は、例えば、キーボード、マウス、及びタッチパネルであり、出力装置108は、例えば、ディスプレイ及びプリンタである。
CPU101は、主記憶装置104に格納されるプログラムを実行する。CPU101がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、CPU101が当該機能部を実現するプログラムを実行していることを示す。
光学ドライブ102は、光学ディスクに対する書込処理及び読出処理を実行するドライブである。ネットワークインタフェース103は、ネットワーク150を介して外部装置と通信するためのインタフェースである。
ネットワーク150は、例えば、LAN(Local Area Network)及びWAN(Wide Area Network)等である。なお、本発明は、ネットワーク150の種別及び接続方式に限定されない。
主記憶装置104は、メモリ等の記憶装置であり、CPU101が実行するプログラム及びプログラムが使用する情報を格納する。主記憶装置104は、プログラムが一時的に使用するワークエリア112を含む。副記憶装置105は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置であり、データを永続的に格納する。
まず、副記憶装置105に格納される情報について説明する。副記憶装置105は、分析者管理情報140、目的管理情報141、業務管理情報142、作業管理情報143、作業詳細管理情報144、操作ログ管理情報145、及び実行ファイル146を格納する。なお、前述した情報は、計算機100がアクセス可能なストレージ装置及びストレージシステムに格納されてもよい。ストレージ装置及びストレージシステムは、クラウドサービスによって提供されるものでもよい。
分析者管理情報140は、分析者(ユーザ)を管理するための情報である。分析者管理情報140のデータ構造の詳細は図2を用いて説明する。
目的管理情報141は、分析業務の目的を管理するための情報である。目的管理情報141のデータ構造の詳細は図3A及び図3Bを用いて説明する。
業務管理情報142は、分析業務を管理するための情報である。業務管理情報142にて格納されるデータが分析業務のログである。業務管理情報142のデータ構造の詳細は図4を用いて説明する。
作業管理情報143は、分析業務の作業の組合せを管理するための情報である。ここで、作業の組合せは、作業の実行順を含む概念である。作業管理情報143のデータ構造の詳細は図5を用いて説明する。
作業詳細管理情報144は、個々の作業の詳細を管理するための情報である。作業詳細管理情報144のデータ構造の詳細は図6を用いて説明する。
操作ログ管理情報145は、一つの作業において行われた操作のログを管理するための情報である。操作ログ管理情報145のデータ構造の詳細は図7を用いて説明する。なお、複数の作業に対して一つの操作ログ管理情報145が存在してもよい。
実行ファイル146は、作業に使用する処理及びツール等を定義した情報であり、例えば、分析者が独自開発した分析プログラム、ELT処理を実行するバッチファイル、及びシェルスクリプトである。
なお、作業の実行時に利用可能なマイクロサービス及びアプリケーションについては、システム管理者(又はシステム開発者)が操作ログの取得方法及び管理方法を設定し、予め実行ファイル146として登録する。分析者は登録されたマイクロサービス及びアプリケーションを利用して作業を行う。
なお、複数のファイルがパッケージ化されたファイルを実行ファイル146として設定してもよい。この場合、実行ファイル146の実行環境を予め用意する必要がある。
次に、主記憶装置104に格納されるプログラムについて説明する。主記憶装置104は、分析業務支援部110及びOS111を実現するためのプログラムを格納する。
OS111は、計算機100全体を制御する。分析業務支援部110は、分析業務に関するログを管理し、及び、ログを用いて分析業務を支援する。なお、OS111が分析業務支援部110の機能を有してもよい。
分析業務支援部110は、事前処理部120、主要処理部121、及びデータ管理部122を含む。
事前処理部120は、分析業務の一つの作業内で実行する実行ファイル146の登録を行う。データ管理部122は、データを格納するファイルシステム、DBMS、及びクラウドストレージ等のAPIを有し、他の機能部からの要求に基づいてデータの読出及び書込等を制御する。
主要処理部121は、分析業務を支援する。具体的には、主要処理部121は、新規分析業務の実行時に、推奨される作業の組合せを提示する。主要処理部121は、業務管理部130、作業管理部131、業務探索部132、及び評価部133を含む。なお、主要処理部121に含まれる各機能部は、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
業務管理部130は、分析業務の実行を管理する。作業管理部131は、分析業務の各作業の実行を制御する。業務探索部132は、推奨される作業の組合せ(分析業務のログ)を検索する。評価部133は、分析業務に関する評価値を算出する。
次に、図2から図7を用いて計算機100が保持する情報のデータ構造について説明する。
図2は、実施例1の分析者管理情報140のデータ構造の一例を示す図である。
分析者管理情報140は、分析者ID201、分析者名称202、及び分析者スコア203から構成されるエントリを格納する。一人の分析者に対して一つのエントリが存在する。
分析者ID201は、分析者(ユーザ)を一意に識別するための識別情報を格納するフィールドである。分析者名称202は、分析者の名称を格納するフィールドである。
分析者スコア203は、分析業務を実行した分析者の定量的な評価を表す評価値を格納するフィールドである。なお、分析者が実行した分析業務の目的ごとに評価値が格納されてもよい。
図3A及び図3Bは、実施例1の目的管理情報141のデータ構造の一例を示す図である。図3A及び図3Bには、それぞれ、異なったデータ構造の目的管理情報141を示している。
図3Aに示す目的管理情報141は、目的ID301及び目的概要302から構成されるエントリを格納する。一つの分析業務の目的に対して一つのエントリが存在する。
目的ID301は、分析業務の目的を一意に識別するための識別情報を格納するフィールドである。目的概要302は、分析業務の目的を示す文字列等の情報を格納するフィールドである。
図3Bに示す目的管理情報141は、分析目的を階層化して管理している点が図3Aに示す目的管理情報141と異なる。ここでは、分析目的が大分類及び小分類の二つの階層で表されるものとする。図3Bに示す目的管理情報141は、目的親ID311、目的子ID312、及び目的概要313から構成されるエントリを格納する。一つの分析業務の目的に対して一つのエントリが存在する。
目的親ID311は、分析業務の目的の大分類を一意に識別するための識別情報を格納するフィールドである。目的子ID312は、分析業務の目的の小分類を一意に識別するための識別情報を格納するフィールドである。なお、分析業務の大分類に対応するエントリの目的子ID312は空欄である。目的概要313は、分析業務の目的を示す文字列等の情報を格納するフィールドである。
本明細書では、図3Aに示す目的管理情報141のデータ構造を採用するものとする。
図4は、実施例1の業務管理情報142のデータ構造の一例を示す図である。
業務管理情報142は、業務ID401、目的ID402、分析者ID403、ステータス404、評価405、及び完了日時406から構成されるエントリを格納する。一つの分析業務に対して一つのエントリが存在する。
業務ID401は、分析業務を一意に識別するための識別情報を格納するフィールドである。
目的ID402は、エントリに対応する分析業務の目的の識別情報を格納するフィールドである。目的ID402に格納される識別情報は、目的管理情報141の目的ID301に格納される識別情報と同一である。
分析者ID403は、エントリに対応する分析業務を実行した分析者の識別情報を格納するフィールドである。分析者ID403に格納される識別情報は、分析者管理情報140の分析者ID201に格納される識別情報と同一である。
ステータス404は、エントリに対応する分析業務の実行状態を示す情報を格納するフィールドである。例えば、「Complete」は分析業務が完了した状態であることを示す。分析業務が実行中である場合、ステータス404には、実行中の作業の識別情報を格納する。前述の情報は一例であってこれに限定されない。
評価405は、エントリに対応する分析業務の結果に対する分析者の評価を示す情報を格納するフィールドである。本実施例では、0から2までの数値が格納される。0が最も評価が低く、2が最も評価が高い。前述の情報は一例であってこれに限定されない。なお、定量的な評価でもよいし、定性的な評価でもよい。定性的な評価としては、例えば、「まる」、「ばつ」、「さんかく」等の記号でもよいし、「excellent」、「good」、「bad」等の文字列でもよい。
完了日時406は、エントリに対応する分析業務が完了した日時を格納するフィールである。
図5は、実施例1の作業管理情報143のデータ構造の一例を示す図である。
作業管理情報143は、業務ID501、作業ID502、及び手順503から構成されるエントリを格納する。業務及び作業の一つの組合せに対して一つのエントリが存在する。
業務ID501は、分析業務を一意に識別するための識別情報を格納するフィールドである。業務ID501に格納される識別情報は、業務管理情報142の業務ID401に格納される識別情報と同一である。
作業ID502は、業務ID501に対応する分析業務において実行される作業を一意に識別するための識別情報を格納するフィールドである。作業の識別情報は、各作業に対して付与される情報である。そのため、異なる分析業務において同一の内容の作業が実行された場合、各分析業務の作業ID502には同一の識別情報が格納される。
手順503は、業務ID501に対応する分析業務における、作業ID502に対応する作業の実行順番を示す情報を格納するフィールドである。
図6は、実施例1の作業詳細管理情報144のデータ構造の一例を示す図である。
作業詳細管理情報144は、作業ID601、インプットファイル管理ディレクトリ602、アウトプットファイル管理ディレクトリ603、操作ログ管理情報604、操作プログラム605、運用サービス606、第1スコア607、及び第2スコア608から構成されるエントリを格納する。一つの作業に対して一つのエントリが存在する。
作業ID601は、作業を一意に識別するための識別情報を格納するフィールドである。作業ID601に格納される識別情報は、作業管理情報143の作業ID502に格納される識別情報と同一である。
インプットファイル管理ディレクトリ602及びアウトプットファイル管理ディレクトリ603は、作業毎に動的に変更されるディレクトリの情報を格納するフィールドである。作業を流用する場合、操作ログ内のコマンドを実行する上で置換する必要があるディレクトリの情報が格納される。なお、ディレクトリの情報は絶対パス及び相対パスのいずれでもよい。
操作ログ管理情報604は、作業において行われた操作のログを管理する操作ログ管理情報145の識別情報を格納するフィールドである。
操作プログラム605は、作業において操作されたプログラムに関する情報を格納するフィールドである。操作プログラム605には、例えば、プログラムの名称等が格納される。
運用サービス606は、作業において使用された外部サービス等に関する情報を格納するフィールドである。運用サービス606には、例えば、運用サービスの名称及び運用サービスを利用するためのURL等が格納される。
第1スコア607は、作業ID601に対応する作業の定量的な評価を表すスコアを格納するフィールドである。
第2スコア608は、作業ID601に対応する作業が最終作業となる分析業務の結果の定量的な評価を表すスコアを格納するフィールドである。第2スコア608には、分析者が分析業務の結果に対して行われた評価(評価405)に基づいて算出された値が格納される。なお、分析業務の最終作業に該当するエントリの第2スコア608にのみ値が格納され、他のエントリの第2スコア608は空欄である。
図7は、実施例1の操作ログ管理情報145のデータ構造の一例を示す図である。
操作ログ管理情報145は、作業ID701、手順702、及び操作ログ703から構成されるエントリを格納する。一つの操作に対して一つのエントリが存在する。
作業ID701は、操作ログ703に格納される操作が行われた作業を一意に識別するための識別情報を格納するフィールドである。作業ID701に格納される識別情報は、作業管理情報143の作業ID502に格納される識別情報と同一である。
手順702は、作業ID701に対応する作業において、操作ログ703に格納される操作が実行された順番を示す情報を格納するフィールドである。
操作ログ703は、作業ID701に対応する作業において実行された操作を示す情報を格納するフィールドである。操作ログ703には、例えば、コマンドラインツールを用いて入力されたコマンドが格納される。
図2から図7を用いて説明した各種情報はテーブル形式の情報でなくてもよい。例えば、テキスト形式、CSV形式、又はXML形式の情報でもよい。例えば、操作ログ管理情報145をテキスト形式で保持する場合、ファイル名を作業ID701として扱い、操作ログの記載順を手順702として扱うことによって、同様の情報を保持することができる。
また、図2から図7を用いて説明した各種情報のうち、二つ以上の情報を統合し、一つの情報として管理してもよい。例えば、業務管理情報142及び作業管理情報143を一つにまとめてもよい。
以上が、計算機100が保持する情報のデータ構造の説明である。次に、計算機100が実行する処理について説明する。
図8は、実施例1の分析業務支援部110が実行する処理の一例を説明するフローチャートである。
計算機100は、分析者からのアクセスを受け付けた場合、分析業務支援部110を呼び出す。呼び出された分析業務支援部110は、図8で説明する処理を開始する。
分析業務支援部110は、分析者に対して専用のUI(User Interface)を提供する。分析者は、当該UIを用いて計算機100に各種要求を入力する。
まず、分析業務支援部110はログイン処理を実行する(ステップS101)。ログイン処理は公知の技術であるため詳細な説明は省略する。このとき、分析業務支援部110は、分析者の識別情報をワークエリア112に格納する。分析者の識別情報は、ログイン処理において入力された氏名等に基づいて分析者管理情報140から取得することができる。なお、ログイン処理において、分析者の識別情報が入力されている場合には、当該情報がそのままワークエリア112に格納される。
ログイン処理の実行後、分析業務支援部110は分析者からの要求の入力を待つ。
分析業務支援部110は、受け付けた要求が分析業務の開始要求であるか否かを判定する(ステップS102)。
受け付けた要求が分析業務の開始要求であると判定された場合、分析業務支援部110は、主要処理部121を呼び出す(ステップS103)。主要処理部121による処理が終了した後、分析業務支援部110はステップS109に進む。
受け付けた要求が分析業務の開始要求ではないと判定された場合、分析業務支援部110は、受け付けた要求が事前処理の実行要求であるか否かを判定する(ステップS104)。
受け付けた要求が事前処理の実行要求であると判定された場合、分析業務支援部110は、事前処理部120を呼び出す(ステップS105)。事前処理部120による処理が終了した後、分析業務支援部110はステップS109に進む。
受け付けた要求が事前処理の実行要求ではないと判定された場合、分析業務支援部110は、受け付けた要求が分析業務の評価要求であるか否かを判定する(ステップS106)。
受け付けた要求が業務の評価要求でないと判定された場合、分析業務支援部110はステップS109に進む。
受け付けた要求が業務の評価要求であると判定された場合、分析業務支援部110は、分析者から分析業務の結果に対する評価を受け付ける(ステップS107)。
なお、分析者は、UIを用いて、評価対象の分析業務の識別情報及び評価の情報を入力する。このとき、分析業務支援部110は、業務管理情報142を参照し、評価対象の分析業務に対応するエントリを検索する。分析業務支援部110は、検索されたエントリの評価405に分析者が入力した評価に関する情報を設定する。
次に、分析業務支援部110は評価部133を呼び出す(ステップS108)。評価部133による処理が終了した後、分析業務支援部110はステップS109に進む。
ステップS109では、分析業務支援部110は、システムの操作の終了要求を受け付けたか否かを判定する(ステップS109)。
システムの操作の終了要求を受け付けていないと判定された場合、分析業務支援部110は分析者からの要求の入力を待つ。入力される要求は、システムの操作の終了要求以外の要求である。分析者からの要求を受け付けた場合、分析業務支援部110は、ステップS102に戻り、同様の処理を実行する。
システムの操作の終了要求を受け付けたと判定された場合、分析業務支援部110は、ログアウト処理を実行し(ステップS110)、その後、処理を終了する。ログアウト処理は公知の技術であるため詳細な説明は省略する。このとき、一連の処理においてワークエリア112に格納されたデータは消去される。
図9は、実施例1の主要処理部121が実行する処理の一例を説明するフローチャートである。主要処理部121は、分析業務支援部110から呼び出された場合、以下で説明する処理を開始する。
まず、主要処理部121は、分析者から新規分析業務の目的の入力を受け付ける(ステップS201)。このとき、主要処理部121は以下のような処理を実行する。
(S201−1)主要処理部121は、目的管理情報141を参照し、目的概要302の値が入力された新規分析業務の目的と一致するエントリを検索する。主要処理部121は、文字列の類似性及び意味の類似性等に基づいて、入力された新規分析業務の目的と、目的概要302に格納される分析業務の目的とが一致するか否かを判定する。
(S201−2)前述の条件を満たすエントリが存在する場合、主要処理部121は、当該エントリの目的ID301の値を取得し、ワークエリア112に格納する。
(S201−3)前述の条件を満たすエントリが存在しない場合、主要処理部121は、目的管理情報141にエントリを追加し、追加されたエントリの目的ID301に識別情報を設定し、目的概要302に入力された新規分析業務の目的を設定する。さらに、主要処理部121は、追加されたエントリの目的ID301の値をワークエリア112に格納する。以上がステップS201において実行される処理の説明である。
次に、主要処理部121は、業務探索部132を呼び出す(ステップS202)。業務探索部132が後述する処理を実行することによって、新規分析業務の作業の組合せの決定を支援するためのレコメンド情報としてログ(作業の組合せ)が分析者に提示される。以下の説明では、レコメンド情報として表示されるログに対応する分析業務を参考業務と記載する。
主要処理部121は、業務探索部132による処理が終了した後、業務管理部130を呼び出す(ステップS203)。業務管理部130が後述する処理を実行することによって、分析業務が実行される。
主要処理部121は、業務管理部130による処理が終了した後、新規分析業務が完了したか否かを判定する(ステップS204)。
具体的には、主要処理部121は、業務管理情報142の新規分析業務に対応するエントリを参照し、ステータス404が「Complete」であるか否かを判定する。ステータス404が「Complete」である場合、主要処理部121は新規分析業務が完了したと判定する。
新規分析業務が完了していないと判定された場合、主要処理部121は処理を終了する。このとき、主要処理部121は分析業務支援部110に処理の終了を通知する。
新規分析業務が完了していると判定された場合、主要処理部121は、新規分析業務の結果に対する分析者の評価が行われたか否かを判定する(ステップS205)。
具体的には、主要処理部121は、業務管理情報142の新規分析業務に対応するエントリを参照し、評価405に値が格納されているか否かを判定する。評価405に値が格納されている場合、主要処理部121は新規分析業務の結果に対する分析者の評価が行われたと判定する。
新規分析業務の結果に対する分析者の評価が行われていないと判定された場合、主要処理部121は処理を終了する。このとき、主要処理部121は分析業務支援部110に処理の終了を通知する。
新規分析業務の結果に対する分析者の評価が行われたと判定された場合、主要処理部121は評価部133を呼び出す(ステップS206)。評価部133による処理が終了した後、主要処理部121は処理を終了する。このとき、主要処理部121は分析業務支援部110に処理の終了を通知する。
図10は、実施例1の業務管理部130が実行する処理の一例を説明するフローチャートである。
業務管理部130は、新規分析業務を開始する(ステップS301)。
このとき、業務管理部130は、業務管理情報142を更新する。具体的には、業務管理部130は、業務管理情報142にエントリを追加し、追加されたエントリの業務ID401に識別情報を設定する。業務管理部130は、追加されたエントリの目的ID402及び分析者ID403に、ワークエリア112に格納される目的の識別情報及び分析者の識別情報を設定する。業務管理部130は、追加されたエントリのステータス404に「実行中」等の値を設定してもよい。
次に、業務管理部130は、参考業務が存在するか否かを判定する(ステップS302)。
具体的には、業務管理部130は、新規分析業務の識別情報と異なる分析業務の識別情報がワークエリア112に存在するか否かを判定する。新規分析業務の識別情報と異なる分析業務の識別情報がワークエリア112に存在する場合、業務管理部130は、参考業務が存在すると判定する。
参考業務が存在しないと判定された場合、業務管理部130はステップS307に進む。
参考業務が存在すると判定された場合、業務管理部130は、参考業務の作業の組合せに含まれる作業を実行するか否かを判定する(ステップS303)。すなわち、業務管理部130は、参考業務の作業を流用するか否かを判定する。当該判定は、UIを介した分析者の入力に基づいて行われる。以下の説明では、参考業務の作業の組合せに含まれる作業を参考作業と記載する。
参考業務の作業の組合せに含まれる作業を実行しないと判定された場合、業務管理部130はステップS307に進む。
参考業務の作業の組合せに含まれる作業を実行すると判定された場合、業務管理部130は、作業管理部131を呼び出す(ステップS304)。このとき、業務管理部130は、実行する作業の情報を作業管理部131に入力する。なお、作業の情報は、作業詳細管理情報144及び操作ログ管理情報145等から取得することができる。作業管理部131による処理が終了した後、業務管理部130はステップS305に進む。
次に、業務管理部130は作業管理情報143を更新する(ステップS305)。
具体的には、業務管理部130は、業務管理情報142にエントリを追加し、追加されたエントリの業務ID501及び作業ID502に、新規分析業務の識別情報及び作業管理部131によって実行された作業の識別情報を設定する。また、業務管理部130は、追加されたエントリの手順503に前回の作業の手順に1を加算した値を設定する。
次に、業務管理部130は、参考業務の全ての作業が完了したか否かを判定する(ステップS306)。
参考業務の全ての作業が完了していないと判定された場合、業務管理部130は、ステップS303に戻り、同様の処理を実行する。
参考業務の全ての作業が完了したと判定された場合、業務管理部130はステップS309に進む。
ステップS307では、業務管理部130は、作業管理部131を呼び出す(ステップS307)。この場合、作業管理部131によって、分析者が独自に設定した作業が実行される。作業管理部131による処理が終了した後、業務管理部130はステップS308に進む。
次に、業務管理部130は作業管理情報143を更新し(ステップS308)、その後、ステップS309に進む。なお、ステップS308の処理はステップS305の処理と同一である。
ステップS309では、業務管理部130は、別の作業を実行するか否かを判定する(ステップS309)。当該判定は、UIを介した分析者の入力に基づいて行われる。
別の作業を実行すると判定された場合、業務管理部130は、ステップS307に戻り、同様の処理を実行する。
別の作業を実行しないと判定された場合、業務管理部130は、新規分析業務を終了し(ステップS310)、その後、処理を終了する。
このとき、業務管理部130は、主要処理部121に処理の終了を通知し、また、業務管理情報142を更新する。具体的には、業務管理部130は、業務管理情報142を参照し、新規分析業務に対応するエントリのステータス404に「Complete」を設定する。また、業務管理部130は、新規分析業務に対応するエントリの完了日時406に現在の日時を設定する。
図11は、実施例1の作業管理部131が実行する処理の一例を説明するフローチャートである。
作業管理部131は、参考作業が存在するか否かを判定する(ステップS401)。
具体的には、作業管理部131は、業務管理部130から作業に関する情報が入力されたか否かを判定する。
参考作業が存在すると判定された場合、作業管理部131は、分析者に参考作業に関する情報を提示する(ステップS402)。
次に、作業管理部131は、分析者から作業の実行指示を受け付け(ステップS403)、当該実行指示に基づいて作業を実行する(ステップS404)。
具体的には、作業管理部131は、ワークエリア112から業務探索部132によって構築された作業に関する情報を取得し、指示された作業を実行する。このとき、作業管理部131は、作業において実行されたコマンド等の操作に関する情報をワークエリア112に一時的に格納する。なお、コマンドの他に実行ファイル146の実行時の操作及びサービスの利用時の操作等のログもワークエリア112に一時的に格納される。
外部のシステムによって提供されるサービス及びアプリケーションについては、計算機100が当該サービス及びアプリケーションの操作ログを取得する。分析者にログを表示する場合、分析者が使用可能なサービス及びアプリケーションの操作ログのみを提示するようにしてもよい。
次に、作業管理部131は、実行された作業が参考作業であるか否かを判定する(ステップS405)。すなわち、作業管理部131は、ステップS402において提示された参考作業と、実行された作業とが一致するか否かを判定する。
実行された作業が参考作業であると判定された場合、作業管理部131は処理を終了する。このとき、作業管理部131は業務管理部130に処理の終了を通知する。
実行された作業が参考作業ではないと判定された場合、作業管理部131はステップS408に進む。
ステップS401において、参考作業が存在しないと判定された場合、作業管理部131は、分析者から作業の実行指示を受け付け(ステップS406)、当該実行指示に基づいて作業を実行する(ステップS407)。その後、作業管理部131はステップS408に進む。このとき、作業管理部131は、作業において実行されたコマンド等の操作に関する情報をワークエリア112に一時的に格納する。
ステップS408では、作業管理部131は、作業詳細管理情報144を更新する(ステップS408)。その後、作業管理部131は処理を終了する。このとき、作業管理部131は業務管理部130に処理の終了を通知する。ステップS408では、以下のような処理が実行される。
(S408−1)作業管理部131は、操作に関する情報に基づいて操作ログ管理情報145を生成する。このとき、作業管理部131は、操作ログ管理情報145にファイル名等の識別情報を設定する。
(S408−2)作業管理部131は、作業詳細管理情報144にエントリを追加し、追加されたエントリの作業ID601に識別情報を設定し、操作ログ管理情報604に操作ログ管理情報145の識別情報を設定する。また、作業管理部131は、作業の内容に応じて、追加されたエントリのインプットファイル管理ディレクトリ602、アウトプットファイル管理ディレクトリ603、操作プログラム605、及び運用サービス606に値を設定する。なお、操作プログラム605及び運用サービス606は、作業の内容によっては値が設定されない。以上がステップS408の処理の説明である。
ここで、UIを用いて、業務管理部130及び作業管理部131の処理の流れについて説明する。図12A及び図12Bは、実施例1の主要処理部121によって表示されるUIの一例を示す図である。
図12Aは、参考業務が存在しない場合又は参考業務の作業以外の作業を行う場合に表示されるUI1200の一例を示す。UI1200は、ユーザ欄1201、分析業務欄1202、作業実行欄1203、及び操作ボタン欄1204を含む。
ユーザ欄1201は、分析者の名称及びログイン又はログアウトボタンが表示される。図12Aでは、ログイン済みであるため、ユーザ欄1201にはログアウトボタンが表示されている。
分析業務欄1202は、現在実行中の分析業務の作業の組合せを表示する欄である。分析業務欄1202には、作業の実行順に、作業を表すシンボルが表示される。黒塗りのシンボルは実行済みの作業を表し、斜線のシンボルは実行する作業を表す。
作業実行欄1203は、分析者が作業の具体的な操作を設定又は確認し、実行指示を出力するための欄である。作業実行欄1203は、コマンド入力欄1211及びファイル追加ボタン1212を含む。
コマンド入力欄1211は、作業における操作を実現するコマンドを入力する欄である。コマンド入力欄1211に設定されたコマンドは操作ログ管理情報145に記録される。ファイル追加ボタン1212は、ファイルを配置するための操作ボタンである。分析者がファイル追加ボタン1212を操作した場合、コマンド入力欄1211に設定されたコマンドを格納するファイルが計算機100にアップロードされる。ファイルに基づいて作業詳細管理情報144及び操作ログ管理情報145等が更新される。
操作ボタン欄1204は、分析業務の継続及び終了等を指示するための操作ボタンを表示する欄である。操作ボタン欄1204は、業務完了ボタン1221及び作業追加ボタン1222を含む。
業務完了ボタン1221は、分析業務の完了を指示するための操作ボタンである。分析者が業務完了ボタン1221を操作した場合、業務管理部130は、ステップS309において別の作業を実行しないと判定する。
作業追加ボタン1222は、新たな作業の実行を指示するための操作ボタンである。分析者が作業追加ボタン1222を操作した場合、業務管理部130は、ステップS309において別の作業を実行すると判定する。
図12Bは、参考業務が存在する場合に表示されるUI1200の一例を示す。UI1200は、ユーザ欄1201、分析業務欄1202、作業実行欄1203、及び操作ボタン欄1204を含む。
分析業務欄1202には、参考業務の作業の組合せが表示される。白塗りのシンボルは、実行予定の作業を表す。
作業実行欄1203は、コマンド入力欄1211及びファイル追加ボタン1212に加えて、個別操作実行ボタン1213及び全操作実行ボタン1214を含む。
コマンド入力欄1211には、参考作業において実行されたコマンドが表示される。分析者は必要に応じてコマンド入力欄1211に表示されたコマンドの追加、削除、及び修正を行うことができる。以下の説明では、コマンドの追加、削除、及び修正をコマンドの更新と記載する。
個別操作実行ボタン1213は、コマンド入力欄1211に参考作業で実行されたコマンドを表示するための操作ボタンである。分析者は、表示されたコマンドをそのまま実行する場合、コマンドの実行指示を入力する。表示されたコマンドそのまま実行しない場合、分析者はコマンドを更新し、更新したコマンドの実行指示を入力する。更新されたコマンドが実行された場合、ステップS405において、作業管理部131は、実行された作業が参考作業ではないと判定する。
全操作実行ボタン1214は、実行済みのコマンド以降の全てのコマンドの実行を指示するための操作ボタンである。なお、コマンドが実行されていない状態で全操作実行ボタン1214が操作された場合、参考作業におけるコマンドがそのまま実行される。
なお、作業実行欄1203には作業初期化ボタンをもうけてもよい。作業初期化ボタンが操作された場合、作業が最初からやり直される。
操作ボタン欄1204は、業務完了ボタン1221及び作業追加ボタン1222に加えて、置換作業追加ボタン1223を含む。
参考作業のコマンドが更新されることなく実行されている間、作業追加ボタン1222が有効化され、置換作業追加ボタン1223は無効化される。一方、参考作業のコマンドが更新された後、置換作業追加ボタン1223が有効化され、作業追加ボタン1222は無効化される。
作業追加ボタン1222が操作された場合、業務管理部130は、ステップS303において、参考業務の作業の組合せに含まれる作業を実行すると判定する。置換作業追加ボタン1223が操作された場合、業務管理部130は、ステップS303において、参考業務の作業の組合せに含まれる作業を実行しないと判定する。置換作業追加ボタン1223が操作された場合、図12Bに示すUI1200は図12Aに示すUI1200に切り替わる。
以上が業務管理部130及び作業管理部131の処理の流れの説明である。
図13は、実施例1の業務探索部132が実行する処理の一例を説明するフローチャートである。
業務探索部132は、業務管理情報142を参照し、新規分析業務と目的が同一である業務を特定する(ステップS501)。
具体的には、業務探索部132は、目的ID402の値が、ワークエリア112に格納される目的の識別情報と一致するエントリを検索する。業務探索部132は、検索されたエントリの業務ID401の値及び分析者ID403の値から構成される業務一覧を生成し、ワークエリア112に格納する。
次に、業務探索部132は、分析業務の評価値に基づく絞込処理を実行する(ステップS502)。当該処理によって、評価の高い分析業務が選択される。具体的には、以下のような処理が実行される。
(S502−1)業務探索部132は、業務一覧に登録された分析業務の中からターゲット分析業務を選択する。
(S502−2)業務探索部132は、作業管理情報143を参照し、業務ID501の値がターゲット分析業務の識別情報と一致するエントリを検索する。これによって、ターゲット分析業務の作業の組合せが特定される。業務探索部132は、作業詳細管理情報144を参照し、作業ID601の値が検索されたエントリの作業ID502の値と一致するエントリを検索する。
(S502−3)業務探索部132は、作業詳細管理情報144から検索されたエントリの第1スコア607の値を取得する。すなわち、業務探索部132は、ターゲット分析業務に含まれる全ての作業のスコアを取得する。業務探索部132は、取得されたスコアの合計値をターゲット分析業務の評価値として算出する。なお、分析業務の評価値の算出方法は一例であってこれに限定されない。作業のスコアを用いたものであればどのような算出方法でもよい。
(S502−4)業務探索部132は、業務一覧に登録された全ての分析業務の評価値を算出したか否かを判定する。業務一覧に登録された全ての分析業務の評価値を算出していない場合、業務探索部132は、(S502−1)に戻り、同様の処理を実行する。
(S502−5)業務一覧に登録された全ての分析業務の評価値を算出した場合、業務探索部132は、分析業務の評価値と閾値とを比較し、比較結果に基づいて、業務一覧を更新する。例えば、業務探索部132は、分析業務の評価値が閾値より小さい分析業務を業務一覧から削除する。なお、閾値は任意に設定できる。以上がステップS502の処理の説明である。
次に、業務探索部132は、分析業務を実行した分析者の評価値に基づく絞込処理を実行する(ステップS503)。当該処理によって、評価の高い分析者が実行した分析業務が選択される。具体的には、以下のような処理が実行される。
(S503−1)業務探索部132は、業務一覧に登録された分析業務の中からターゲット分析業務を選択する。
(S503−2)業務探索部132は、分析者管理情報140を参照し、分析者ID201がターゲット分析業務を実行した分析者の識別情報(分析者403の値)と一致するエントリを検索する。業務探索部132は、検索されたエントリの分析者スコア203を分析者の評価値として取得する。
(S503−3)業務探索部132は、業務一覧に登録された全ての分析業務を実行した分析者の評価値を取得したか否かを判定する。業務一覧に登録された全ての分析業務を実行した分析者の評価値を取得していない場合、業務探索部132は、(S503−1)に戻り、同様の処理を実行する。
(S503−4)業務一覧に登録された全ての分析業務を実行した分析者の評価値を取得した場合、業務探索部132は、分析者の評価値と閾値とを比較し、比較結果に基づいて、業務一覧を更新する。例えば、業務探索部132は、分析者の評価値が閾値より小さい分析業務を業務一覧から削除する。なお、閾値は任意に設定できる。以上がステップS503の処理の説明である。
各絞込処理が実行された後の業務一覧に登録された分析業務が参考業務となる。
次に、業務探索部132は、業務一覧に登録された参考業務のログを分析者に提示する(ステップS504)。
このとき、業務探索部132は、分析業務の評価値及び分析者の評価値に基づいて業務一覧の分析業務をソートしてもよい。例えば、業務探索部132は、分析業務の評価値の降順に分析業務をソートする。分析業務の評価値が同一の分析業務については、業務探索部132は、分析者の評価値の降順に分析業務をソートする。
また、業務探索部132は、分析業務の評価値及び分析者の評価値に基づいて、所定の数の分析業務を選択し、選択された分析業務のログを提示してもよい。
次に、業務探索部132は、分析者が参考業務を選択したか否かを判定する(ステップS505)。
分析者が参考業務を選択していないと判定された場合、業務探索部132は処理を終了する。このとき、業務探索部132は、ワークエリア112から業務一覧を削除し、主要処理部121に処理の終了を通知する。
分析者が参考業務を選択したと判定された場合、業務探索部132は、選択された参考業務の識別情報をワークエリア112に格納する(ステップS506)。
次に、業務探索部132は、参考業務の作業の組合せに基づいて、新規業務の作業を構築する(ステップS507)。その後、業務探索部132は処理を終了する。このとき、業務探索部132は、ワークエリア112から業務一覧を削除し、主要処理部121に処理の終了を通知する。
具体的には、業務探索部132は、参考業務の識別情報に基づいて、作業管理情報143、作業詳細管理情報144、及び操作ログ管理情報145から参考業務の作業の組合せに関する情報を取得する。業務探索部132は、新規分析業務の識別情報及び分析者の識別情報に基づいて、インプットファイル及びアウトプットファイルの格納先を決定する。業務探索部132は、参考業務の作業の組合せに関する情報、並びに、インプットファイル及びアウトプットファイルの格納先の情報をワークエリア112に格納する。
なお、ステップS503の処理は省略されてもよい。
図14は、実施例1の評価部133が実行する処理の一例を説明するフローチャートである。
評価部133は、分析業務の結果に対する評価に基づいて、分析業務の結果のスコアリングを実行する(ステップS601)。
評価部133は、評価対象の分析業務の結果に対する評価、及び、当該分析業務の作業の組合せの一部を流用した分析業務の結果に対する評価に基づいて、評価対象の分析業務の結果のスコアを算出する。具体的には、以下のような処理が実行される。
(S601−1)評価部133は、業務管理情報142を参照し、業務ID401の値が評価対象の分析業務の識別情報と一致するエントリを検索する。評価部133は、検索されたエントリの評価405の値を取得し、当該値からスコアを算出する。評価部133は、算出されたスコアをワークエリア112に格納する。このとき、評価部133は、検索されたエントリの分析者ID403の値をワークエリア112に格納する。
例えば、評価405の値が数値の場合、評価部133は、当該数値をスコアとして算出する。評価405の値が文字列又は記号の場合、評価部133は、変換規則にしたがって、文字列又は記号からスコアを算出する。なお、変換規則は予め設定される。
(S601−2)評価部133は、作業管理情報143を参照し、業務ID501の値が評価対象の分析業務の識別情報と一致するエントリを検索する。検索されたエントリの作業ID502の値をワークエリア112に格納する。また、評価部133は、検索されたエントリの手順503に基づいて、評価対象の分析業務の最終作業を特定する。
(S601−3)評価部133は、作業詳細管理情報144を参照し、作業ID601の値が特定された最終作業の識別情報と一致するエントリを検索する。評価部133は、検索されたエントリの第2スコア608の値に、ワークエリア112に格納されるスコアを加算する。
ここでは、分析業務が評価されるたびに実行されるものとしているが、一定期間、分析業務の評価を蓄積した後に処理を実行してもよい。この場合、評価部133は、目的及び最終作業が同一である分析業務を特定する。すなわち、基準の分析業務と、当該分析業務を流用した分析業務とが特定される。評価部133は、特定された分析業務のスコアの合計値を第2スコア608に加算する。以上がステップS601の処理の説明である。
次に、評価部133は、分析業務の結果に対する評価に基づいて、分析者のスコアリングを実行する(ステップS602)。
評価部133は、分析業務における作業の流用結果に基づいて、分析者のスコアを算出する。具体的には、以下のような処理が実行される。
(S602−1)評価部133は、作業管理情報143を参照し、最終作業が評価対象の分析業務の最終作業と同一である分析業務を特定する。評価部133は、業務管理情報142を参照し、業務ID401の値が特定された分析業務の識別情報と一致するエントリを検索する。このとき、評価対象の分析業務は検索対象から除外される。
(S602−2)評価部133は、評価対象の分析業務の作業の組合せからターゲット作業を選択する。
(S602−3)評価部133は、検索されたエントリに対応する分析業務の中からターゲット作業を含む分析業務を特定する。評価部133は、検索された分析業務の完了日時406が評価対象の分析業務の完了日時406より前の分析業務を特定する。すなわち、評価対象の分析業務の実行前に実行された分析業務が特定される。さらに、評価部133は、特定された分析業務のうち、完了日時406が最も過去の分析業務を特定する。評価部133は、特定された分析業務の識別情報をワークエリア112に格納する。なお、すでに、同一の分析業務の識別情報がワークエリア112に格納されている場合、評価部133は、分析業務の識別情報の格納は行わない。
ここで、(S602−3)は、評価対象の分析業務が流用している作業を最初に実行した分析業務を特定するための処理である。
(S602−4)評価部133は、評価対象の分析業務の全ての作業について処理が完了したか否かを判定する。評価対象の分析業務の全ての作業について処理が完了していない場合、評価部133は、(S602−2)に戻り、同様の処理を実行する。
(S602−5)評価対象の分析業務の全ての作業について処理が完了した場合、評価部133は、ワークエリア112に格納される分析業務の識別情報を一つ取得する。評価部133は、業務管理情報142を参照し、業務ID401の値が取得した分析業務の識別情報と一致するエントリを検索する。評価部133は、検索されたエントリの分析者ID403の値が、評価対象の分析業務の分析者の識別情報と一致するか否かを判定する。すなわち、二つの分析業務の分析者が同一である否かが判定される。
(S602−6)二つの分析業務の分析者が同一であると判定された場合、評価部133は、特定された全ての分析業務について処理が完了したか否かを判定する。二つの分析業務の分析者が異なると判定された場合、評価部133は、分析者管理情報140を参照し、分析者ID201の値が、検索されたエントリの分析者ID403の値と一致するエントリを検索する。評価部133は、検索されたエントリの分析者スコア203の値に、ワークエリア112に格納されるスコアを加算する。その後、評価部133は、特定された全ての分析業務について処理が完了したか否かを判定する。
なお、評価部133は、評価対象の分析業務と検索された分析業務とに含まれる作業の一致度から決定される係数及びスコアに基づいて、加算する値を算出してもよい。
(S602−7)特定された全ての分析業務について処理が完了していない場合、評価部133は、(S602−5)に戻り、同様の処理を実行する。特定された全ての分析業務について処理が完了した場合、評価部133はステップS602の処理を終了する。
ここでは、分析業務が評価されるたびに実行されるものとしているが、一定期間、分析業務の評価を蓄積した後に処理を実行してもよい。この場合、評価部133は、目的及び最終作業が同一である分析業務を特定する。すなわち、基準の分析業務と、当該分析業務を流用した分析業務とが特定される。評価部133は、基準の分析業務を実行した分析者に対応するエントリの分析者スコア203に、特定された分析業務のスコアの合計値を加算する。
分析業務の流用結果を反映した分析者のスコアリングを行うことによって、分析者の経験及び能力等を客観的に評価することができる。以上がステップS602の処理を説明である。
次に、評価部133は、分析業務の結果に対する評価に基づいて、当該分析業務に含まれる作業のスコアリングを実行する(ステップS603)。その後、評価部133は処理を終了する。このとき、評価部133は、評価部133を呼び出した分析業務支援部110又は主要処理部121に処理の終了を通知する。
評価部133は、評価対象の分析業務の結果に対する評価、及び、当該分析業務の作業の組合せの一部を流用した分析業務の結果に対する評価に基づいて、評価対象の分析業務に含まれる作業のスコアを算出する。具体的には、以下のような処理が実行される。
(S603−1)評価部133は、作業管理情報143を参照し、業務ID501の値が評価対象の分析業務の識別情報と一致するエントリを検索する。
(S603−2)評価部133は、検索されたエントリに対応する作業の中からターゲット作業を選択する。
(S603−3)評価部133は、作業詳細管理情報144を参照し、作業ID601の値がターゲット作業の識別情報と一致するエントリを検索する。評価部133は、検索されたエントリの第1スコア607の値に、ワークエリア112に格納されるスコアを加算する。
(S603−4)評価部133は、評価対象の分析業務に含まれる全ての作業に対して処理を実行したか否かを判定する。
(S603−5)評価対象の分析業務に含まれる全ての作業に対して処理を実行していないと判定された場合、評価部133は、(S603−2)に戻り、同様の処理を実行する。評価対象の分析業務に含まれる全ての作業に対して処理を実行したと判定された場合、評価部133はステップS603の処理を終了する。
ここでは、分析業務が評価されるたびに実行されるものとしているが、一定期間、分析業務の評価を蓄積した後に処理を実行してもよい。この場合、評価部133は、目的及び最終作業が同一である分析業務を特定する。すなわち、基準の分析業務と、当該分析業務を流用した分析業務とが特定される。評価部133は、基準の分析業務及び特定された分析業務のスコアの合計値を、各分析業務に含まれる作業に対応するエントリの第1スコア607に加算する。
分析業務の流用結果を反映した作業のスコアリングを行うことによって、分析業務の有用性を効率的かつ正確に評価することができる。以上がステップS603の処理の説明である。
なお、ステップS602及びステップS603の処理は入れ替えてもよい。
ここで、評価部133が実行する処理の概念について説明する。図15A、図15B、図15C、及び図15Dは、実施例1の評価部133が実行する処理の概念を説明する図である。
ここでは、分析者「U001」が、分析業務A101、分析業務A102、分析業務A103を実行し、次に、分析者「U002」が、分析業務A201、分析業務A202、分析業務A203を実行し、次に、分析者「U003」が、分析業務A301、分析業務A302、分析業務A303を実行したものとする。
分析業務A101の作業の組合せは、S0001、S0002、S0003であり、分析業務A102の作業の組合せは、S0001、S0004、S0005、S0006であり、分析業務A103の作業の組合せは、S0001、S0004、S0007、S0008である。
分析業務A201の作業の組合せは、S0201、S0202、S0203であり、分析業務A202の作業の組合せは、S0204、S0004、S0007、S0008であり、分析業務A203の作業の組合せは、S0204、S0004、S0205、S0206である。
分析業務A202及び分析業務A203は、分析者「U001」が実行した分析業務の作業の組合せに含まれる作業の一部を流用している。
分析業務A301の作業の組合せは、S0301、S0004、S0205、S0206であり、分析業務A302の作業の組合せは、S0301、S0004、S0005、S0006であり、分析業務A303の作業の組合せは、S0301、S0004、S0007、S0008である。
分析業務A301は、分析者「U001」及び分析者「U002」が実行した分析業務の作業の組合せに含まれる作業の一部を流用している。分析業務A302及び分析業務A303は、分析者「U001」が実行した分析業務の作業の組合せに含まれる作業の一部を流用している。
分析者の評価は、「まる」、「さんかく」、「ばつ」のいずれかであるものとする。また、「ばつ」のスコアを「0」、「さんかく」のスコアを「1」、「まる」のスコアを「2」と変換するための変換規則が評価部133に設定されているものとする。
ここで、分析業務の目的、分析者、分析業務の作業の組合せ、分析業務の結果の関係を示す有向グラフを構築する。具体的には、分析業務の目的を表すノードに分析者を表すノードを接続し、分析者を表すノードに分析業務の作業の組合せを表すノード群を接続し、分析業務の最終作業に対応するノードの結果を表すノードを接続する。これによって、図15Aに示すような有向グラフを構築できる。ノード1501は分析業務の目的を表すノードであり、ノード1502はユーザを表すノードであり、ノード1503は作業を表すノードであり、ノード1504は分析業務の結果を表すノードである。分析業務の作業の組合せは、作業を表すノード1503から構成される有向グラフとして表される。ノード1502、1503、1504には初期スコア「0」が設定される。なお、ノード1502に設定されるスコアは分析者の評価値(分析者スコア203)に対応し、ノード1503に設定されるスコアは作業の評価値(第1スコア607)に対応し、ノード1504に設定されるスコアは分析業務の結果の評価値(第2スコア608)に対応する。
以下の説明では、ノード1501をルートノード、ノード1502をユーザノード、ノード1503を作業ノード、ノード1504を結果ノードと記載する。
図15Bに示すように、分析者「U001」が分析業務A101の結果に対して評価「ばつ」を設定し、分析業務A102の結果に対して評価「さんかく」を設定し、分析業務A103の結果に対して評価「まる」を設定した場合の評価値の状態を示す。
評価部133は、分析業務A101の結果に対する評価に基づいて、結果ノード「S0003」に「0」を加算し(ステップS601)、また、作業ノード「S0001」、「S0002」、「S0003」に「0」を加算する(ステップS603)。評価部133は、分析業務A102の結果に対する評価に基づいて、結果ノード「S0006」に「1」を加算し(ステップS601)、また、作業ノード「S0001」、「S0004」、「S0005」、「S0006」に「1」を加算する(ステップS603)。評価部133は、分析業務A103の結果に対する評価に基づいて、結果ノード「S0008」に「2」を加算し(ステップS601)、また、作業ノード「S0001」、「S0004」、「S0007」、「S0008」に「2」を加算する(ステップS603)。
分析業務A101及び分析業務A102は、他の分析者の作業を流用していないため分析者のスコアリングは実行されない。
図15Cに示すように、分析者「U002」が分析業務A201の結果に対して評価「ばつ」を設定し、分析業務A202の結果に対して評価「さんかく」を設定し、分析業務A203の結果に対して評価「まる」を設定した場合の評価値の状態を示す。
評価部133は、分析業務A201の結果に対する評価に基づいて、結果ノード「S2003」に「0」を加算し(ステップS601)、また、作業ノード「S0201」、「S0202」、「S0203」に「0」を加算する(ステップS603)。評価部133は、分析業務A202の結果に対する評価に基づいて、結果ノード「S0008」に「1」を加算し(ステップS601)、また、作業ノード「S0204」、「S0004」、「S0007」、「S0008」に「1」を加算する(ステップS603)。評価部133は、分析業務A203の結果に対する評価に基づいて、結果ノード「S0206」に「2」を加算し(ステップS601)、また、作業ノード「S0204」、「S0004」、「S0205」、「S0206」に「2」を加算する(ステップS603)。
分析業務A201は分析業務A102の最終作業と同一であり、かつ、分析業務A102の作業を流用している。そのため、評価部133は、分析業務A202の結果に対する評価に基づいて、ユーザノード「U0001」に「1」を加算する(ステップS602)。
図15Dに示すように、分析者「U003」が分析業務A301の結果に対して評価「さんかく」を設定し、分析業務A302の結果に対して評価「さんかく」を設定し、分析業務A303の結果に対して評価「まる」を設定した場合の評価値の状態を示す。
評価部133は、分析業務A301の結果に対する評価に基づいて、結果ノード「S2006」に「1」を加算し(ステップS601)、また、作業ノード「S0301」、「S0004」、「S0205」、「S0206」に「1」を加算する(ステップS603)。評価部133は、分析業務A302の結果に対する評価に基づいて、結果ノード「S0006」に「1」を加算し(ステップS601)、また、作業ノード「S0301」、「S0004」、「S0005」、「S0006」に「1」を加算する(ステップS603)。評価部133は、分析業務A303の結果に対する評価に基づいて、結果ノード「S0208」に「2」を加算し(ステップS601)、また、作業ノード「S0301」、「S0004」、「S0007」、「S0008」に「2」を加算する(ステップS603)。
分析業務A301は分析業務A203の最終作業と同一であり、かつ、分析業務A203の作業を流用している。そのため、評価部133は、分析業務A301の結果に対する評価に基づいて、ユーザノード「U0002」に「1」を加算する(ステップS602)。分析業務A302は分析業務A102の最終作業と同一であり、かつ、分析業務A102の作業を流用している。そのため、評価部133は、分析業務A302の結果に対する評価に基づいて、ユーザノード「U0001」に「1」を加算する(ステップS602)。分析業務A303は分析業務A103の最終作業と同一であり、かつ、分析業務A103の作業を流用している。そのため、評価部133は、分析業務A303の結果に対する評価に基づいて、ユーザノード「U0001」に「2」を加算する(ステップS602)。
図15Dに示すようなスコアの状態において、業務探索部132が処理を実行した場合、分析業務A101、102、103、201、202、203、301、302、303の各々の評価値は、「3」、「17」、「23」、「0」、「23」、「19」、「20」、「18」、「24」となる。
ステップS502において閾値を「20」と設定した場合、業務一覧には分析業務A103、202、301、303が残っている。また、ステップS503において閾値を「1」と設定した場合、業務一覧には分析業務A103、202が残る。ステップS504では、評価部133は、例えば、分析業務A103を参考業務として提示する。なお、評価部133は、図15Dに示すような有向グラフを提示してもよい。
図16は、実施例1の事前処理部120が実行する処理の一例を説明するフローチャートである。
事前処理部120は、対話方式のUIを提示し、当該UIを介して実行ファイル146の登録要求を受け付ける。当該要求には実行ファイル146の実体となるデータが含まれる。
事前処理部120は、実行ファイル146の登録要求を受け付けた場合、実行ファイル146を登録し(ステップS701)、その後、処理を終了する。このとき、事前処理部120は分析業務支援部110に処理の終了を通知する。
実施例1によれば、計算機100は、分析業務の結果に対する評価に基づいて算出された分析業務の評価値及び分析者の評価値を用いて、新規分析業務の作業の組合せを決定するために参考となる分析業務のログを提示することができる。
分析者は、提示された分析業務のログを参考に分析業務を実行することができる。したがって、分析者が初心者であっても、一定以上の有用な結果を得られる分析業務を実行することができる。また、分析者は、提示された分析業務を参照することによって、分析業務のノウハウ等を取得することができる。また、過去の分析業務を流用することによって、分析業務に要するコストを削減することができる。
なお、本発明では分析業務以外の業務についても適用することができる。例えば、複数の製造作業を含む製造業務にも適用することができる。