(57)【要約】【課題】分析対象業務のプロセスについて、操作間の合流関係と分岐関係を特定し、フロー形式で提示する。【解決手段】操作ログに記録された分析対象業務に含まれる操作と前記操作以外のその他操作との共起有無情報に基づき、共起する操作とその他操作との組合せが同じである操作群を同一操作とみなして分岐関係となる操作群を特定し、分岐関係となる操作群を同一操作とみなして合流関係となる操作群を特定する分岐関係抽出部と、特定した分岐関係と合流関係とに基づき、操作ノードに分岐ノードおよび合流ノードを追加することにより、操作間の分岐関係と合流関係とを区別可能なフローを生成して提示する業務フロー生成部と、を備える。【選択図】  図１
2018181177.tif 000002
【特許請求の範囲】
【請求項１】
操作ログに記録された分析対象業務に含まれる操作と前記操作以外のその他操作との共起有無情報に基づき、共起する前記操作と前記その他操作との組合せが同じである操作群を同一操作とみなして分岐関係となる操作群を特定し、前記分岐関係となる操作群を同一操作とみなして合流関係となる操作群を特定する分岐関係抽出部と、
特定した前記分岐関係と前記合流関係とに基づき、操作ノードに分岐ノードおよび合流ノードを追加することにより、操作間の前記分岐関係と前記合流関係とを区別可能なフローを生成して提示する業務フロー生成部と、
を備えることを特徴とする業務プロセス分析装置。
【請求項２】
前記分岐関係抽出部は、前記合流関係または前記分岐関係となる操作群の特定において、前記操作の実施案件率に基づいて前記操作を必須操作とオプション操作とに分類し、前記必須操作の実施順序と合流関係とを特定し、特定した前記必須操作の前後の前記オプション操作の実施案件率を集計し、集計した前記実施案件率が最も高い実施順序を前記オプション操作の実施順序と特定し、同じ実施順序に複数の前記オプション操作が存在する場合、前記同じ実施順序で前記オプション操作が実施された前記分析対象業務を絞り込み、絞り込んだ前記分析対象業務のオプション操作について前記分岐関係と前記合流関係とを特定する、
ことを特徴とする請求項１に記載の業務プロセス分析装置。
【請求項３】
前記分岐関係抽出部は、分析対象として特定された操作群に含まれる各操作の実施案件率を集計する集計処理を実行し、集計した前記実施案件率が所定の閾値以上となる実施順序を前記必須操作の実施順序と特定する第１の特定処理を実行し、前記必須操作以外の必須操作の実施順序が同じかつ連続している操作群は合流関係にあるとみなして前記実施案件率が高い順に各操作の実施順序を特定する第２の特定処理を実行し、前記第１の特定処理および前記第２の特定処理で特定された必須操作以外の必須操作について、前記実施案件率が最も高い実施順序をその操作の実施順序と特定する第３の特定処理を実行する、
ことを特徴とする請求項２に記載の業務プロセス分析装置。
【請求項４】
前記分岐関係抽出部は、前記集計処理において、一つの前記分析対象業務内で同一操作が複数回実施されていた場合には最後に実施された操作を集計対象とするか、または最初に実施された操作を集計対象とするか、または各操作の実施回数と実施案件数を集計し、実施回数を案件数で除算した値が閾値以上の場合は最初の操作を集計対象とし、前記閾値未満の場合は最後の操作を集計対象とするか、または集計対象とする前記最初の操作または前記最後の操作を分析者に入力させる、
ことを特徴とする請求項３に記載の業務プロセス分析装置。
【請求項５】
前記分岐関係抽出部は、前記分岐関係となる操作群を同一操作とみなして前記合流関係となる操作群の特定において、共起する操作の組合せが同じ操作群に含まれる全ての操作を含む分析対象業務に前記操作ログを絞り込み、前記操作群に含まれる操作の実施案件率を集計し、実施案件率が最も高い実施順序を前記操作の実施順序と特定する、
ことを特徴とする請求項１に記載の業務プロセス分析装置。
【請求項６】
前記業務フロー生成部は、前記必須操作の実施順序と前記合流関係とに基づき、前記必須操作のフローを生成し、前記必須操作のフローに含まれる前記必須操作に対する前記オプション操作の実施順序と、同じ実施順序に複数の前記オプション操作が存在する場合における前記合流関係および前記分岐関係と、前記共起する操作の組合せが同じ操作群の各操作の実施順序とに基づき、前記オプション操作のフローを生成して前記必須操作のフローに追加する、
ことを特徴とする請求項２に記載の業務プロセス分析装置。
【請求項７】
前記操作ログを、前記分析対象業務の開始操作と開始状態および終了操作と終了状態が登録された開始終了操作情報に基づいて、前記開始状態が正常である開始操作および前記終了状態が正常である終了操作をそれぞれ一つ含む操作ログに絞り込み、絞り込んだ前記操作ログに含まれる操作について、前記分析対象業務における実施回数と前記実施回数の実施案件率とを集計し、所定の閾値以上となる前記実施回数が存在する場合、前記操作を前記実施回数実施した分析対象業務に前記操作ログを絞り込み、絞り込んだ前記操作ログに含まれる前記操作のそれぞれを異なる識別情報に変更するログ整形部をさらに備える、
ことを特徴とする請求項１に記載の業務プロセス分析装置。
【請求項８】
分岐関係抽出部が、操作ログに記録された分析対象業務に含まれる操作と前記操作以外のその他操作との共起有無情報に基づき、共起する前記操作と前記その他操作との組合せが同じである操作群を同一操作とみなして分岐関係となる操作群を特定し、前記分岐関係となる操作群を同一操作とみなして合流関係となる操作群を特定し、
業務フロー生成部が、特定した前記分岐関係と前記合流関係とに基づき、操作ノードに分岐ノードおよび合流ノードを追加することにより、操作間の前記分岐関係と前記合流関係とを区別可能なフローを生成して提示する、
ことを特徴とする業務プロセス分析方法。
【請求項９】
前記分岐関係抽出部が、前記合流関係または前記分岐関係となる操作群の特定において、前記操作の実施案件率に基づいて前記操作を必須操作とオプション操作とに分類し、前記必須操作の実施順序と合流関係とを特定し、特定した前記必須操作の前後の前記オプション操作の実施案件率を集計し、集計した前記実施案件率が最も高い実施順序を前記オプション操作の実施順序と特定し、同じ実施順序に複数の前記オプション操作が存在する場合、前記同じ実施順序で前記オプション操作が実施された前記分析対象業務を絞り込み、絞り込んだ前記分析対象業務のオプション操作について前記分岐関係と前記合流関係とを特定する、
ことを特徴とする請求項８に記載の業務プロセス分析方法。
【請求項１０】
前記分岐関係抽出部が、分析対象として特定された操作群に含まれる各操作の実施案件率を集計する集計処理を実行し、集計した前記実施案件率が所定の閾値以上となる実施順序を前記必須操作の実施順序と特定する第１の特定処理を実行し、前記必須操作以外の必須操作の実施順序が同じかつ連続している操作群は合流関係にあるとみなして前記実施案件率が高い順に各操作の実施順序を特定する第２の特定処理を実行し、前記第１の特定処理および前記第２の特定処理で特定された必須操作以外の必須操作について、前記実施案件率が最も高い実施順序をその操作の実施順序と特定する第３の特定処理を実行する、
ことを特徴とする請求項９に記載の業務プロセス分析方法。
【請求項１１】
前記分岐関係抽出部が、前記集計処理において、一つの前記分析対象業務内で同一操作が複数回実施されていた場合には最後に実施された操作を集計対象とするか、または最初に実施された操作を集計対象とするか、または各操作の実施回数と実施案件数を集計し、実施回数を案件数で除算した値が閾値以上の場合は最初の操作を集計対象とし、前記閾値未満の場合は最後の操作を集計対象とするか、または集計対象とする前記最初の操作または前記最後の操作を分析者に入力させる、
ことを特徴とする請求項１０に記載の業務プロセス分析方法。
【請求項１２】
前記分岐関係抽出部が、前記分岐関係となる操作群を同一操作とみなして前記合流関係となる操作群の特定において、共起する操作の組合せが同じ操作群に含まれる全ての操作を含む分析対象業務に前記操作ログを絞り込み、前記操作群に含まれる操作の実施案件率を集計し、実施案件率が最も高い実施順序を前記操作の実施順序と特定する、
ことを特徴とする請求項８に記載の業務プロセス分析方法。
【請求項１３】
前記業務フロー生成部が、前記必須操作の実施順序と前記合流関係とに基づき、前記必須操作のフローを生成し、前記必須操作のフローに含まれる前記必須操作に対する前記オプション操作の実施順序と、同じ実施順序に複数の前記オプション操作が存在する場合における前記合流関係および前記分岐関係と、前記共起する操作の組合せが同じ操作群の各操作の実施順序とに基づき、前記オプション操作のフローを生成して前記必須操作のフローに追加する、
ことを特徴とする請求項９に記載の業務プロセス分析方法。
【請求項１４】
ログ整形部が、前記操作ログを、前記分析対象業務の開始操作と開始状態および終了操作と終了状態が登録された開始終了操作情報に基づいて、前記開始状態が正常である開始操作および前記終了状態が正常である終了操作をそれぞれ一つ含む操作ログに絞り込み、絞り込んだ前記操作ログに含まれる操作について、前記分析対象業務における実施回数と前記実施回数の実施案件率とを集計し、所定の閾値以上となる前記実施回数が存在する場合、前記操作を前記実施回数実施した分析対象業務に前記操作ログを絞り込み、絞り込んだ前記操作ログに含まれる前記操作のそれぞれを異なる識別情報に変更する、
ことを特徴とする請求項８に記載の業務プロセス分析方法。
【請求項１５】
コンピュータに、
操作ログに記録された分析対象業務に含まれる操作と前記操作以外のその他操作との共起有無情報に基づき、共起する前記操作と前記その他操作との組合せが同じである操作群を同一操作とみなして分岐関係となる操作群を特定し、前記分岐関係となる操作群を同一操作とみなして合流関係となる操作群を特定する処理と、
特定した前記分岐関係と前記合流関係とに基づき、操作ノードに分岐ノードおよび合流ノードを追加することにより、操作間の前記分岐関係と前記合流関係とを区別可能なフローを生成して提示する処理と、
を実行させることを特徴とする業務プロセス分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システムのログを用いた業務プロセス分析装置、業務プロセス分析方法、および、業務プロセス分析プログラムに関する。
【背景技術】
【０００２】
旧システムから新システムに移行する際において、そのリプレースに伴うシステム開発（リプレース開発）が必要となる。リプレース開発では、新システムが旧システムの仕様を踏襲する部分が多くの割合を占め、旧システムの正確なドキュメントが残されていることが稀な場合がある。このような場合、従来では、旧システムを用いる業務プロセスのような、現行業務の仕様は、ユーザへのヒアリングや手順書などのドキュメントにより再生していることが多いが、ユーザの主観、手順書のメンテナンスがされていない等の理由により、正確な仕様は把握できていない。
【０００３】
このような問題点に鑑み、例えば、特許文献１では、分析対象業務の個々の案件フロー（分析対象業務を遂行するために実施した一連の操作ログを時系列順に並べたフロー）に対して、並列実施されている操作間の遷移を、見かけ上遷移として検出し、正しい遷移につなぎ替えた上で、各案件フローを重ね合わせて表示することにより、分析対象業務の全体プロセスをフロー形式で提示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２７１８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
業務プロセスを把握する上では、例えば、業務の主要なプロセス（正常終了時によく実施される流れ）について、操作Ａと操作Ｂの実施後でないと操作Ｃは実施できない、操作Ａと操作Ｂはどちらか一方を実施すればよい、等の操作間の合流関係や分岐関係（＝業務プロセスの構造）を把握した上で、正常終了時のバリエーションや異常終了時の流れを把握していくことが有効である。
【０００６】
しかしながら、上記特許文献１に記載された技術では、見かけ上遷移を正しい合流関係の遷移に変換した個々の案件フローから、操作間の合流関係は把握できるが、操作間の分岐関係が把握できない。また、各案件フローを重ね合わせた全体フローからも、個々の案件フローで抽出した操作間の合流関係と、案件フローを重ね合わせることで抽出した操作間の分岐関係が混在するため、操作間の合流関係と分岐関係が把握できない。
【０００７】
本発明は、分析対象業務のプロセスについて、操作間の合流関係と分岐関係を特定し、フロー形式で提示することが可能な業務プロセス分析装置、業務プロセス分析方法、業務プロセス分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明にかかる業務プロセス分析装置は、操作ログに記録された分析対象業務に含まれる操作と前記操作以外のその他操作との共起有無情報に基づき、共起する前記操作と前記その他操作との組合せが同じである操作群を同一操作とみなして分岐関係となる操作群を特定し、前記分岐関係となる操作群を同一操作とみなして合流関係となる操作群を特定する分岐関係抽出部と、特定した前記分岐関係と前記合流関係とに基づき、操作ノードに分岐ノードおよび合流ノードを追加することにより、操作間の前記分岐関係と前記合流関係とを区別可能なフローを生成して提示する業務フロー生成部と、を備えることを特徴とする業務プロセス分析装置として構成される。
【０００９】
また、本発明は、上記業務プロセス分析装置で行われる業務プロセス分析方法、業務プロセス分析プログラムとしても把握される。
【発明の効果】
【００１０】
本発明によれば、分析対象業務のプロセスについて、操作間の合流関係と分岐関係を特定し、フロー形式で提示することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の業務プロセス分析装置１００の構成例を示す図。
【図２】本実施形態の操作ログテーブルのデータ構成例を示す図。
【図３】本実施形態の開始・終了操作テーブルのデータ構成例を示す図。
【図４】本実施形態の各操作の実施案件率テーブルのデータ構成例を示す図。
【図５】本実施形態の必須操作の実施順序テーブルのデータ構成例を示す図。
【図６】本実施形態のオプション操作の実施順序テーブルのデータ構成例を示す図。
【図７】本実施形態のサブ操作ログテーブルのデータ構成例を示す図。
【図８】本実施形態の操作間の共起関係テーブルのデータ構成例を示す図。
【図９】本実施形態の合流関係テーブルのデータ構成例を示す図。
【図１０】本実施形態の同一共起関係テーブルのデータ構成例を示す図。
【図１１】本実施形態の非共起関係テーブルのデータ構成例を示す図。
【図１２】本実施形態の業務プロセス分析方法におけるログ整形部の処理フロー例を示す図。
【図１３】本実施形態の業務プロセス分析方法における分岐関係抽出部の処理フロー例を示す図。
【図１４】本実施形態の業務プロセス分析方法における分岐関係抽出部の処理フロー例を示す図。
【図１５】本実施形態の業務プロセス分析方法における分岐関係抽出部の処理フロー例を示す図。
【図１６】本実施形態の業務プロセス分析方法における分岐関係抽出部の処理フロー例を示す図。
【図１７】本実施形態の業務プロセス分析方法における業務フロー生成部の処理フロー例を示す図。
【図１８】本実施形態の業務フロー生成部が表示する業務フロー表示イメージを示す図。
【発明を実施するための形態】
【００１２】
以下に本実施形態について図面を用いて詳細に説明する。なお、本実施形態では、企業内で業務システムを用いながら行う、顧客へ販売する商品やサービスの決裁依頼業務を一例として説明する。しかし、企業における業務システムに限らず、学校、病院等の社会一般において、様々な端末操作者によって操作されるシステムに適用可能であり、端末等の操作が伴うあらゆる種類の業務やサービスに適用が可能である。
【００１３】
図１は、本実施形態の業務プロセス分析装置１００の構成例を示す図である。図１に示す業務プロセス分析装置１００は、業務システムの操作ログを用いて、業務システムを用いてユーザが実施した操作の流れを、操作間の分岐関係と合流関係を含めて、フロー形式で提示することを可能とするパソコンやタブレット端末などの情報処理端末である。操作間の分岐関係とは、分析対象業務のプロセス（例えば、分析対象業務の主要なプロセス（正常終了時によく実施される流れ））において、いずれかの操作を実行すればよい操作間の関係である。また、操作間の合流関係とは、上記分析対象業務のプロセスにおいて、いずれの操作が順不同で実行される操作間の関係である。
【００１４】
上述のごとき業務プロセス分析装置１００は、装置自体の統括制御を行うとともに各種判定、演算及び制御処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算部１０１、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶部１０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など揮発性記憶素子で構成されるメモリ１０３、記憶部１０２に保持されるプログラムをメモリ１０３に読み出すなどして実行し、ユーザからキーの入力や音声入力を受け付ける入力部１０４、処理データの表示を行うディスプレイなどの出力部１０５を備える。
【００１５】
また、記憶部１０２内には、演算部１０１が業務プロセス分析装置１００として必要な機能（ログ整形部１１０、分岐関係抽出部１１１、業務フロー生成部１１２）を実装するためのプログラムの他、各種テーブル（操作ログテーブル１２１、開始・終了操作テーブル１２２、各操作の実施案件率テーブル１２３、必須操作の実施順序テーブル１２４、オプション操作の実施順序テーブル１２５、サブ操作ログテーブル１２６、操作間の共起関係テーブル１２７、合流関係テーブル１２８、同一共起関係テーブル１２９、非共起関係テーブル１３０）が少なくとも記憶されている。テーブル１２１〜１３０の詳細については後述する。
【００１６】
なお、記憶部１０２に記憶されるプログラムは、業務プロセス分析装置１００に事前に格納されていてもよいし、例えばサーバマシンのような別の情報処理端末に格納されており、分析者がダウンロードして利用する形態としてもよい。また、業務プロセス分析装置１００がサーバマシンであり、分析者がパソコンやタブレット端末などの別の情報処理端末から、例えばリモート接続機能を用いてサーバマシンに接続し、業務プロセス分析の実行指示や分析結果の閲覧を実施する利用形態としてもよい。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００１７】
次に、本実施形態の業務プロセス分析装置１００が用いるテーブルのデータ構成例について説明する。
【００１８】
図２は、本実施形態の操作ログテーブル１２１のデータ構成例を示す図である。本実施形態における操作ログテーブル１２１は、業務システムが提供する各機能や画面を用いて各ユーザが実施した操作の履歴を格納したテーブルである。具体的には、各操作を一意に識別する操作ＩＤと、その操作の実施日時と、その操作を実施したユーザのユーザＩＤと、その操作により特定される業務の案件ＩＤとが対応付けて格納されている。図２では、例えば、ユーザＩＤが「１００」で識別されるユーザが、２０１５年９月１日の午前９時００分００秒に、案件ＩＤが「１」で識別される案件の新規申請画面を操作したことを示している。また、その後、２０１５年９月１日の午前９時２０分００秒に、そのユーザは、同じ案件ＩＤの商品選択操作を実施したことを示している。通常は、業務プロセス分析装置１００は、このようなデータを一括して業務システムから取得し、装置内に格納する。なお、案件ＩＤとユーザＩＤについては、分析対象業務を特定可能であれば、どちらか一方のみが格納されていればよい。本実施形態では、案件ＩＤを用いて分析対象業務を特定するが、例えば、分析対象業務がユーザ１名で完結する場合、案件ＩＤの代わりにユーザＩＤを用いて分析対象業務を特定してもよい。
【００１９】
また、図３は、本実施形態の開始・終了操作テーブル１２２のデータ構成例を示す図である。本実施形態における開始・終了操作テーブル１２２は、分析対象業務の案件が正常に開始または終了されたか否かの判定に用いるテーブルである。具体的には、業務の開始時または終了時に実施される操作ＩＤと、その操作ＩＤが開始操作か終了操作かを示す開始/終了区分と、その開始操作または終了操作が実施された場合に業務が正常に開始または終了されたか否かを示す開始/終了状態とが対応付けて格納されている。図３では、例えば、新規申請画面に対する操作が実施され、その業務が正常に開始されたことを示している。また、追加申請画面に対する操作が実施されたものの、その業務が正常に開始されていない（異常である）ことを示している。なお、分析対象業務は複数フェーズで構成される場合は、各フェーズの開始操作と終了操作を開始・終了操作テーブル１２２に登録してもよい。例えば、分析対象業務が決裁承認業務であり、決裁承認依頼フェーズと決裁フェーズの２フェーズ構成である場合、決裁承認依頼フェーズの終了操作として、承認依頼（終了状態＝正常）と引戻し（終了状態＝異常）を登録し、決裁フェーズの終了操作として、承認（終了状態＝正常）と差戻し（終了状態＝異常）を登録してもよい。
【００２０】
また、図４は、本実施形態の各操作の実施案件率テーブル１２３のデータ構成例を示す図である。本実施形態における各操作の実施案件率テーブル１２３は、分析対象業務にて基本的に必ず実施される必須操作と、それ以外のオプション操作を判定するために用いるテーブルである。具体的には、操作ＩＤと、その操作ＩＤの実施案件数と、その操作ＩＤの実施案件率と、その操作が必須操作かオプション操作かを示す必須/オプション区分とが対応付けて格納される。図４では、例えば、新規申請画面に対する操作を実施する案件数は１０７であり、その実施案件率は１．００、すなわち１０７のすべての案件で実施される操作であることを示している。また、当該操作は、実施案件率がある閾値以上であるため必須操作であることを示している。なお、実施案件率とは、ある操作を実施した案件数を全案件数で除算した値である。また、必須操作かオプション操作かの判定は、実施案件率に閾値を設定して、ある操作の実施案件率が閾値以上であれば、その操作は必須操作とみなす。閾値は、プログラムに事前に設定しておいてもよいし、分析者が分析時に入力部１０４から設定してもよい。
【００２１】
また、図５は、本実施形態の必須操作の実施順序テーブル１２４のデータ構成例を示す図である。本実施形態における必須操作の実施順序テーブル１２４は、必須操作の実施順序、および、必須操作間の合流関係の有無を分析するために用いるテーブルである。具体的には、必須操作（縦軸）と、各必須操作が分析対象業務の開始から終了までの何番目に実施されたかを示す実施順序（横軸）とのマトリクスであり、各必須操作の各実施順序における実施案件率が格納される。図５では、例えば、新規申請画面に対する操作は実施順序「１」で実施案件率が「１．００」であるため、当該操作がすべての案件で最初に実施されていることを示している。
【００２２】
また、図６は、本実施形態のオプション操作の実施順序テーブル１２５のデータ構成例を示す図である。本実施形態におけるオプション操作の実施順序テーブル１２５は、どの必須操作の前または後に実施されているかという切り口で、オプション操作の実施順序を分析するために用いるテーブルである。具体的には、オプション操作（縦軸）と、各オプション操作がどの必須操作の前または後に実施されたかを示す実施順序（横軸）とのマトリクスであり、各オプション操作の各実施順序における実施案件率が格納される。図６では、例えば、商品選択に対する操作と新規申請画面に対する操作との間の商品選択に対する操作の実施案件率は「０．８７」である、すなわち商品選択に対する操作が新規申請画面に対する操作の後に実施される割合が０．８７であることを示している。
【００２３】
また、図７は、本実施形態のサブ操作ログテーブル１２６のデータ構成例を示す図である。本実施形態におけるサブ操作ログテーブル１２６は、オプション操作間の分岐関係や合流関係を分析するために必要な操作ログを、操作ログテーブル１２１から切り出して、格納したテーブルである。具体的なデータ構成例は、操作ログテーブル１２１と同様であるため、説明は省略する。
【００２４】
また、図８は、本実施形態の操作間の共起関係テーブル１２７のデータ構成例を示す図である。本実施形態における操作間の共起関係テーブル１２７は、案件間における共起の有無をもとに、オプション操作間の分岐関係の有無を分析するために用いるテーブルである。具体的には、オプション操作（縦軸）とオプション操作（横軸）のマトリクスであり、各操作（縦軸）について、その他操作（横軸）との案件間における共起回数が格納される。図８では、例えば、商品選択に対する操作と数量入力に対する操作とが５０回共起し、商品選択に対する操作と納期入力に対する操作とが１０回共起していることを示している。
【００２５】
また、図９は、本実施形態の合流関係テーブル１２８のデータ構成例を示す図である。本実施形態における合流関係テーブル１２８は、操作間の合流関係を分析した結果を格納するテーブルである。具体的には、操作ＩＤと、どのような操作群を対象として合流関係の有無を分析したかを示す操作群区分と、その操作群の中での実施順序と、その操作群の中で合流関係にある操作（２つ以上）の実施順序の組合せを示す合流関係とを対応付けて格納する。図９では、例えば、新規申請画面に対する操作、販売内容登録に対する操作、顧客情報登録に対する操作、決済内容確定に対する操作、承認依頼に対する操作は、必須操作の中ではこの順序で実施され、顧客情報登録に対する操作と決済内容確定に対する操作とは合流関係にあることを示している。また、例えば、βに対する操作、納期入力に対する操作はオプション操作の中ではこの順序に実施され、いずれも販売内容登録に対する操作の前に実施されることを示している。
【００２６】
また、図１０は、本実施形態の同一共起関係テーブル１２９のデータ構成例を示す図である。本実施形態における同一共起関係テーブル１２９は、共起関係が同じ操作群を分析した結果を格納するテーブルである。具体的には、共起関係が同じ操作の操作ＩＤと、共起関係が同じ操作群に対して採番した仮操作ＩＤと、その操作群の中での実施順序とを対応付けて格納する。図１０では、例えば、同じ回数だけ共起している商品選択に対する操作と数量入力に対する操作とに共通の仮操作ＩＤは「α」であり、仮操作ＩＤが「α」である操作群の中ではこの順序で実施されることを示している。なお、共起関係が同じ操作群とは、共起する操作の組合せと共起しない操作の組合せが一致する操作で構成される操作群である。
【００２７】
また、図１１は、本実施形態の非共起関係テーブル１３０のデータ構成例を示す図である。本実施形態における非共起関係テーブル１３０は、案件間で共起しない非共起関係にある操作群、つまり、分岐関係にある操作群を分析した結果を格納するテーブルである。具体的には、案件間で共起しない操作の操作ＩＤと、共起しない操作群に対して採番した仮操作ＩＤとを対応付けて格納する。図１１では、例えば、互いに分岐関係にある操作αとサービス選択に対する操作とに共通の仮操作ＩＤは「β」であることを示している。
【００２８】
続いて、本実施形態の業務プロセス分析装置１００が備える機能について説明する。上述したように、以下に説明する機能は、例えば業務プロセス分析装置１００が備えるプログラムを実行することで演算部１０１において処理される機能と言える。
【００２９】
この場合、業務プロセス分析装置１００は、記憶部１０２の操作ログテーブル１２１が保持する業務システムの操作ログから、分析対象業務が正常に終了した案件の操作ログ一式に絞り込み、さらに、１案件内で同一操作が複数回実施されていた場合に、業務として意味のある操作を推定し、その操作ログのみに絞り込む機能を備えている。この機能は図１で例示したログ整形部１１０が実現する。
【００３０】
また、業務プロセス分析装置１００は、上述で絞り込んだ操作ログから、操作の実施順序、ならびに、操作間の合流関係と分岐関係を抽出する機能を備えている。この機能は図１で例示した分岐関係抽出部１１１が実現する。
【００３１】
また、業務プロセス分析装置１００は、操作ログ、ならびに、上述で抽出した操作間の合流関係と分岐関係をもとに、分析対象業務の業務フローを生成して提示する機能を備えている。この機能は図１で例示した業務フロー生成部１１２が実現する。
【００３２】
以下、本実施形態における業務プロセス分析の実施手順について図に基づき説明する。以下で説明する業務プロセス分析に対応する各種動作は、業務プロセス分析装置１００がメモリ１０３などに読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３３】
まず、ログ整形部１１０における処理について図に基づき説明する。
【００３４】
図１２は、本実施形態のログ整形部１１０の処理フロー例を示す図である。図１２に示すように、まず、ログ整形部１１０は、開始・終了操作テーブル１２２から、開始/終了状態＝正常である操作ＩＤを全て取り出す（Ｓ１０１）。
【００３５】
続いて、ログ整形部１１０は、案件ＩＤをキーにして、操作ログテーブル１２１から１案件分の操作ログ一式を取り出し（Ｓ１０２）、Ｓ１０１で取り出した全ての操作ＩＤがそれぞれ１つのみ含まれているか判定し（Ｓ１０３）、含まれていない場合（Ｓ１０３；Ｎｏ）、Ｓ１０２で取り出した操作ログ一式を操作ログテーブル１２１から削除して（Ｓ１０４）、Ｓ１０５に進む。このような判定を行う理由は、操作が引戻しされた場合には開始/終了状態＝正常である操作ＩＤが重複するため、そのようなイレギュラーな操作を含む案件を除くためである。一方、ログ整形部１１０は、Ｓ１０１で取り出した全ての操作ＩＤがそれぞれ１つのみ含まれている場合（Ｓ１０３；Ｙｅｓ）、Ｓ１０５に進む。
【００３６】
なお、ログ整形部１１０は、Ｓ１０３に記載の判定処理（Ｓ１０１で取り出した全ての操作ＩＤがそれぞれ１つのみ含まれているか判定）のあとに、開始・終了操作テーブル１２２に登録されている開始/終了状態＝異常である操作ＩＤを１つも含まない案件であるか否かを判定し、１つも含まない案件であると判定した場合はＳ１０４に進み、１つも含まない案件でないと判定した場合はＳ１０５に進む、という判定処理を実施してもよい。さらに、開始・終了操作テーブル１０１には、分析対象業務の開始操作と終了操作に加えて、業務の途中に実施される操作のなかに、その操作が実施された場合は分析対象業務が正常に終了されなかったと判定できる操作が存在する場合、その操作の操作ＩＤと、開始/終了操作＝途中と、開始/終了状態＝異常とを登録してもよい。
【００３７】
次に、ログ整形部１１０は、全ての案件に対してＳ１０３〜Ｓ１０４の処理が終了したか否かを判定し（Ｓ１０５）、全ての案件に対して処理が終了していないと判定した場合（Ｓ１０５；Ｎｏ）、Ｓ１０２に戻って以降の処理を繰り返す。一方、ログ整形部１１０は、全ての案件に対して処理が終了したと判定した場合（Ｓ１０５；Ｙｅｓ）、Ｓ１０６に進む。
【００３８】
ログ整形部１１０は、操作ログテーブル１２１から、操作ログテーブル１２１に含まれる全ての操作ＩＤを抽出して、操作ＩＤのリストを生成する（Ｓ１０６）。
【００３９】
続いて、ログ整形部１１０は、Ｓ１０６で生成した操作ＩＤのリストから、操作ＩＤを１つ取り出し（Ｓ１０７）、Ｓ１０７で取り出した操作ＩＤの、１案件内での実施回数と、各実施回数の実施案件率を集計する。具体的には、操作ログテーブル１２１から、案件ＩＤをキーにして１案件分の操作ログ一式を順次取り出し、Ｓ１０７で取り出した操作ＩＤの１案件内での実施回数、ならびに、その実施回数の出現回数を集計する。全ての案件に対して集計後、各実施回数の出現回数を、全案件数で除算して、各実施回数の実施案件率を算出する（Ｓ１０８）。
【００４０】
そして、ログ整形部１１０は、Ｓ１０８で集計した、各実施回数の実施案件率のなかに、実施案件率≧閾値となる実施回数が存在するか否かを判定し（Ｓ１０９）、存在しない場合（Ｓ１０９；Ｎｏ）、Ｓ１１５に進む。一方、ログ整形部１１０は、実施案件率≧閾値となる実施回数が存在する場合（Ｓ１０９；Ｙｅｓ）、Ｓ１１０に進む。
【００４１】
ログ整形部１１０は、案件ＩＤをキーにして、操作ログテーブル１２１から１案件分の操作ログ一式を取り出し（Ｓ１１０）、Ｓ１０７で取り出した操作ＩＤを、Ｓ１０９で実施案件率≧閾値となる実施回数だけ実施した案件か否かを判定し（Ｓ１１１）、Ｓ１０９で実施案件率≧閾値となる実施回数だけ実施した案件でないと判定した場合（Ｓ１１１；Ｎｏ）、Ｓ１１０で取り出した操作ログ一式を操作ログテーブル１２１から削除して（Ｓ１１２）、Ｓ１１４に進む。一方、ログ整形部１１０は、Ｓ１０９で実施案件率≧閾値となる実施回数だけ実施した案件であると判定した場合（Ｓ１１１；Ｙｅｓ）、Ｓ１０９で実施案件率≧閾値となる実施回数が２以上（複数回の実施）か否かを判定し、２以上の場合、Ｓ１０７で取り出した操作ＩＤの操作ログ（２つ以上）を異なる操作ＩＤに変更し、操作ログテーブル１２１を上書きして、Ｓ１１４に進む。例えば、操作Ａが２回実施されていた場合、１回目の操作Ａを操作Ａ−１に、２回目の操作Ａを操作Ａ−２に変更する（Ｓ１１３）。一方、ログ整形部１１０は、Ｓ１０９で実施案件率≧閾値となる実施回数が２未満の場合、Ｓ１１４に進む。
【００４２】
ログ整形部１１０は、全ての案件に対してＳ１１１〜Ｓ１１３の処理が終了したか否かを判定し（Ｓ１１４）、全ての案件に対して処理が終了していないと判定した場合（Ｓ１１４；Ｎｏ）、Ｓ１１０に戻って以降の処理を繰り返す。一方、ログ整形部１１０は、全ての案件に対して処理が終了したと判定した場合（Ｓ１１４；Ｙｅｓ）、Ｓ１１５に進む。
【００４３】
最後に、ログ整形部１１０は、Ｓ１０６で生成した操作ＩＤのリストに含まれる全ての操作ＩＤに対してＳ１０８〜Ｓ１１４の処理が終了したか否かを判定し（Ｓ１１５）、全ての案件に対して処理が終了していないと判定した場合（Ｓ１１５；Ｎｏ）、Ｓ１０７に戻って以降の処理を繰り返す。一方、ログ整形部１１０は、全ての案件に対して処理が終了したと判定した場合（Ｓ１１５；Ｙｅｓ）、本ログ整形処理を終了する。
【００４４】
次に、分岐関係抽出部１１１における処理について図に基づき説明する。
【００４５】
図１３〜図１６は、本実施形態の分岐関係抽出部１１１の処理フロー例を示す図である。図１３に示すように、まず、分岐関係抽出部１１１は、操作ログテーブル１２１に含まれる各操作ＩＤの実施案件率を集計し、各操作の実施案件率テーブル１２３に登録する。具体的には、分岐関係抽出部１１１は、操作ログテーブル１２１から、案件ＩＤをキーにして１案件分の操作ログ一式を順次取り出し、取り出した操作ログ一式に対して、操作ログ一式に含まれる操作ＩＤを抽出する。さらに分岐関係抽出部１１１は、抽出した操作ＩＤが各操作の実施案件率テーブル１２３に既に登録されているか判定し、既に登録されている操作ＩＤが存在する場合は、その操作ＩＤの実施案件数に１を加算し、既に登録されている操作ＩＤが存在しない場合は、その操作ＩＤを各操作の実施案件率テーブル１２３に登録し、その操作ＩＤの実施案件数に１を設定する。次に、分岐関係抽出部１１１は、各操作の実施案件率テーブル１２３に登録されている全ての操作ＩＤに対して、各操作ＩＤの実施案件数を全案件数で除算し、実施案件率として登録する（Ｓ２０１）。
【００４６】
続いて、分岐関係抽出部１１１は、各操作の実施案件率テーブル１２３に登録されている全ての操作ＩＤに対して、実施案件率≧閾値となる操作ＩＤか否かを判定し、実施案件率≧閾値の場合、その操作ＩＤの必須/オプション区分に「必須」を登録し、実施案件率＜閾値の場合、その操作ＩＤの必須/オプション区分に「オプション」を登録する。なお、本実施形態では、必須操作を示す情報として「必須」を、オプション操作を示す情報として「オプション」を登録するが、これに限定するものではない（Ｓ２０２）。
【００４７】
次に、分岐関係抽出部１１１は、案件ＩＤをキーにして、操作ログテーブル１２１から１案件分の操作ログ一式を取り出し（Ｓ２０３）、Ｓ２０２で判定した必須操作を全て含む案件か否かを判定し（Ｓ２０４）、必須操作を全て含む案件でないと判定した場合（Ｓ２０４；Ｎｏ）、Ｓ２０３で取り出した操作ログ一式を操作ログテーブル１２１から削除して（Ｓ２０５）、Ｓ２０６に進む。一方、分岐情報抽出部１１１は、必須操作を全て含む案件であると判定した場合（Ｓ２０４；Ｙｅｓ）、その案件を分析対象とし、Ｓ２０６に進む。
【００４８】
分岐関係抽出部１１１は、全ての案件に対してＳ２０４〜Ｓ２０５の処理が終了したか否かを判定し（Ｓ２０６）、全ての案件に対して処理が終了していないと判定した場合（Ｓ２０６；Ｎｏ）、Ｓ２０３に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、全ての案件に対して処理が終了したと判定した場合（Ｓ２０６；Ｙｅｓ）、Ｓ２０７に進む。
【００４９】
分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４の操作ＩＤ欄（縦軸）に、Ｓ２０２で判定した必須操作の操作ＩＤを全て登録し、必須操作の実施案件率テーブル１２４の実施順序欄（横軸）に、１〜Ｎの整数値（Ｎは必須操作の個数）を設定する（Ｓ２０７）。
【００５０】
次に、分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４に登録されている、各操作ＩＤの各実施順序における実施案件率を集計する。具体的には、まず、分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４（操作ＩＤと実施順序のマトリクス）の全ての要素に０を設定する。そして、分岐関係抽出部１１１は、操作ログテーブル１２１から案件ＩＤをキーにして１案件分の操作ログ一式を順次取り出し、取り出した操作ログ一式に対して、操作ログの実施日時を用いて操作ログを時系列順に並び替えた上で、必須操作のみを対象に、各必須操作が何番目に実施されたかを集計し、必須操作の実施案件率テーブル１２４の該当する項目である要素の値を１加算する。このとき、１案件内で同じ必須操作が２回以上実施されていた場合は、最後に実施された必須操作を集計対象とする。なお、最後でなく、最初の操作を集計対象としてもよい。また、最後か最後かを分析者が必須操作ごとに設定してもよい。また、各操作の実施回数と実施案件数を集計し、実施回数を案件数で除算した値が閾値以上の場合は最初の操作を、それ以外は最後の操作を集計対象としてもよい（Ｓ２０８）。
【００５１】
続いて、分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４に登録されている全ての操作ＩＤに対して、実施案件率≧閾値となる実施順序を有する必須操作が存在するか否か判定し、存在すると判定した場合、その実施順序をその必須操作の実施順序とみなして、合流関係テーブル１２８に操作ＩＤと実施順序を登録し、操作群区分には「必須操作のみ」を設定して、Ｓ２０１に進む。一方、分岐関係抽出部１１１は、実施案件率≧閾値となる実施順序を有する必須操作が存在しないと判定した場合、Ｓ２０１に進む（Ｓ２０９）。
【００５２】
分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４に登録されている必須操作と実施順序のうち、Ｓ２０９で合流関係テーブル１２８に登録されなかった必須操作と実施順序を対象に、実施案件率＞０となる実施順序（２つ以上）が同じで、かつ、その実施順序（１〜Ｎ。Ｎは必須操作の個数）が連続している操作群のみが存在するか否かを判定し、存在しないと判定した場合、Ｓ２１１に進む。一方、分岐関係抽出部１１１は、実施案件率＞０となる実施順序（２つ以上）が同じで、かつ、その実施順序が連続している操作群のみが存在すると判定した場合、その操作群は合流関係にあるとみなして、合流関係テーブル１２８に、操作群の各操作ＩＤを登録する。また、分岐関係抽出部１１１は、登録した各操作ＩＤの実施順序欄に、実施案件率＞０となる実施順序（２つ以上）ごとに、必須操作の実施案件率テーブル１２４の実施案件率を操作間で比較し、実施案件率が最も高い操作にその実施順序を設定する。また、分岐関係抽出部１１１は、登録した各操作ＩＤの合流関係欄に、合流関係にある操作群の全ての操作の実施順序を登録する。また、分岐関係抽出部１１１は、登録した各操作ＩＤの操作群区分欄に、「必須操作のみ」を設定する。最後に、分岐関係抽出部１１１は、Ｓ２１１に進む（Ｓ２１０）。
【００５３】
続いて、分岐関係抽出部１１１は、必須操作の実施案件率テーブル１２４に登録されている必須操作と実施順序のうち、Ｓ２０９およびＳ２１０で合流関係テーブル１２８に登録されなかった必須操作と実施順序を対象に、各必須操作に対して、必須操作の実施案件率テーブル１２４の実施案件率が最も高い実施順序を、その必須操作の実施順序とみなして、合流関係テーブル１２８に操作ＩＤと実施順序を登録し、操作群区分には「必須操作のみ」を設定して（Ｓ２１１）、Ｓ３００に進む。
【００５４】
次に、分岐関係抽出部１１１は、オプション操作間の実施順序と分岐関係、合流関係の抽出を行う（Ｓ３００）。この抽出処理は、図１４を用いて説明する。
【００５５】
図１４に示すように、まず、分岐関係抽出部１１１は、案件ＩＤをキーにして、操作ログテーブル１２１から１案件分の操作ログ一式を取り出す（Ｓ３０１）。分岐関係抽出部１１１は、操作ログの実施日時を用いて操作ログ一式を時系列順に並び替えた上で、Ｓ２０２で判定した必須操作を対象に、合流関係テーブル１２８に登録されている必須操作の実施順序および合流関係と一致する案件か否かを判定し（Ｓ３０２）、一致しないと判定した場合（Ｓ３０２；Ｎｏ）、Ｓ３０１で取り出した操作ログ一式を操作ログテーブル１２１から削除して（Ｓ３０３）、Ｓ３０４に進む。一方、分岐関係抽出部１１１は、合流関係テーブル１２８に登録されている必須操作の実施順序および合流関係と一致すると判定した場合（Ｓ３０２；Ｎｏ）、Ｓ３０４に進む。
【００５６】
分岐関係抽出部１１１は、全ての案件に対してＳ３０２〜Ｓ３０３の処理が終了したか否かを判定し（Ｓ３０４）、全ての案件に対して処理が終了していないと判定した場合（Ｓ３０４；Ｎｏ）、Ｓ３０１に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、全ての案件に対して処理が終了したと判定した場合（Ｓ３０４；Ｙｅｓ）、Ｓ３０５に進む。
【００５７】
分岐関係抽出部１１１は、オプション操作の実施案件率テーブル１２５の操作ＩＤ欄（縦軸）に、Ｓ２０２で判定したオプション操作の操作ＩＤを全て登録し、オプション操作の実施案件率テーブル１２５の実施順序欄（横軸）に、「必須操作の操作ＩＤの前」と「必須操作の操作ＩＤの後」を、全ての必須操作分、設定する（Ｓ３０５）。
【００５８】
続いて、分岐関係抽出部１１１は、オプション操作の実施案件率テーブル１２５に登録されている、各操作ＩＤの各実施順序における実施案件率を集計する。具体的には、まず、分岐関係抽出部１１１は、オプション操作の実施案件率テーブル１２５（操作ＩＤと実施順序のマトリクス）の全ての要素に０を設定する。そして、分岐関係抽出部１１１は、操作ログテーブル１２１から案件ＩＤをキーにして１案件分の操作ログ一式を順次取り出し、取り出した操作ログ一式に対して、操作ログの実施日時を用いて操作ログを時系列順に並び替えた上で、オプション操作がどの必須操作の前および後で実施されたかを集計し、オプション操作の実施案件率テーブル１２５の該当する項目である要素の値を１加算する。最後に、分岐関係抽出部１１１は、オプション操作の実施案件率テーブル１２５に登録されているオプション操作ごとに、そのオプション操作の各要素の値（各必須操作の前または後に実施された回数）を、各要素の値をそのオプション操作の実施案件数で除算した値に上書きする（Ｓ３０６）。
【００５９】
次に、分岐関係抽出部１１１は、各オプション操作について、実施案件率が最も高い実施順序を、そのオプション操作の実施順序とみなして、オプション操作の実施順序テーブル１２５から、１つの実施順序（ある必須操作の前または後）と、その実施順序で実施されたオプション操作を取り出す（Ｓ３０７）。
【００６０】
そして、分岐関係抽出部１１１は、Ｓ３０７で取り出したオプション操作が２つ以上か否かを判定し（Ｓ３０８）、２つ未満（１つ）と判定した場合（Ｓ３０８；Ｎｏ）、合流関係テーブル１２８に、操作ＩＤを登録する。また、登録した操作ＩＤの実施順序欄には、１を設定する。また、登録した操作ＩＤの操作群区分欄には、Ｓ３０７で取り出した実施順序（ある必須操作の前または後）を登録する。そして、分岐関係抽出部１１１は、Ｓ３１０に進む。一方、分岐関係抽出部１１１は、Ｓ３０７で取り出したオプション操作が２つ以上と判定した場合（Ｓ３０８；Ｙｅｓ）、オプション間の分岐関係と合流関係を抽出する（Ｓ４００）。この抽出処理は、図１５を用いて説明する。
【００６１】
図１５に示すように、まず、分岐関係抽出部１１１は、Ｓ３０７で取り出した実施順序が、ある必須操作の「前」か「後」かを判定し（Ｓ４０１）、「前」と判定した場合（Ｓ４０１；前）、終了操作＝Ｓ３０７で取り出した実施順序に登録されている必須操作、開始操作＝その必須操作の１つ前に実施された必須操作、分析対象操作＝Ｓ３０７で取り出したオプション操作、を設定する（Ｓ４０２）。一方、部に関係抽出部１１１は、Ｓ３０７で取り出した実施順序が、ある必須操作の「後」と判定した場合（Ｓ４０１；後）、開始操作＝Ｓ３０７で取り出した実施順序に登録されている必須操作、終了操作＝その必須操作の１つ後に実施された必須操作、分析対象操作＝Ｓ３０７で取り出したオプション操作、を設定する（Ｓ４０３）。
【００６２】
次に、分岐関係抽出部１１１は、案件ＩＤをキーにして操作ログテーブル１２１から１案件分の操作ログ一式を取り出し、さらに、操作ログの実施日時を用いて時系列順に操作ログ一式を並び替えた上で、先頭から操作ログを検索し（Ｓ４０４）、Ｓ４０２またはＳ４０３で設定した開始操作で始まり終了操作で終わる操作ログ一式が存在するか否かを判定する（Ｓ４０５）。分岐関係抽出部１１１は、判定した結果、Ｓ４０２またはＳ４０３で設定した開始操作で始まり終了操作で終わる操作ログ一式が存在しなかったと判定した場合（Ｓ４０５；Ｎｏ）、分岐関係抽出部１１１はＳ４０８に進む。一方、分岐関係抽出部１１１は、Ｓ４０２またはＳ４０３で設定した開始操作で始まり終了操作で終わる操作ログ一式が存在したと判定した場合（Ｓ４０５；Ｙｅｓ）、分岐関係抽出部１１１は、その操作ログ一式の中に、Ｓ４０２またはＳ４０３で設定した分析対象操作を少なくとも１つ含むか否かを判定し（Ｓ４０６）、１つも含まないと判定した場合（Ｓ４０６；Ｎｏ）、Ｓ４０８に進む。一方、分岐関係抽出部１１１は、Ｓ４０２またはＳ４０３で設定した分析対象操作を少なくとも１つ含むと判定した場合（Ｓ４０６；Ｙｅｓ）、Ｓ４０２またはＳ４０３で設定した開始操作で始まり終了操作で終わる操作ログ一式を、サブ操作ログテーブル１２６にコピーする。このとき、分岐関係抽出部１１１は、コピーする操作ログの案件ＩＤは１から採番しなおす（Ｓ４０７）。
【００６３】
分岐関係抽出部１１１は、Ｓ４０４で取り出した１案件分の操作ログ一式に含まれる全ての操作ログに対してＳ４０５〜Ｓ４０７の検索処理が終了したか否かを判定し（Ｓ４０８）、全ての操作ログに対して検索処理が終了していないと判定した場合（Ｓ４０８；Ｎｏ）、まだ検索していない残りの操作ログに対して、Ｓ４０５に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、Ｓ４０４で取り出した１案件分の操作ログ一式に含まれる全ての操作ログに対して検索処理が終了したと判定した場合（Ｓ４０８；Ｙｅｓ）、Ｓ４０９に進む。
【００６４】
分岐関係抽出部１１１は、全ての案件に対してＳ４０４〜Ｓ４０８の処理が終了したか否かを判定し（Ｓ４０９）、全ての案件に対して処理が終了していないと判定した場合（Ｓ４０９；Ｎｏ）、Ｓ４０４に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、全ての案件に対して処理が終了したと判定した場合（Ｓ４０９；Ｙｅｓ）、Ｓ５００に進む。Ｓ４０９が終了すると、上記操作ログ一式に含まれるＳ４０２またはＳ４０３で設定した開始操作で始まり終了操作で終わるオプション操作の実施順序を決めるため、以降の処理を実行する。
【００６５】
分岐関係抽出部１１１は、Ｓ４０２またはＳ４０３で設定した分析対象操作（オプション操作）間の分岐関係の抽出を行う（Ｓ５００）。この抽出処理は、図１６を用いて説明する。
【００６６】
図１６に示すように、まず、分岐関係抽出部１１１は、Ｓ４０２またはＳ４０３で設定した分析対象操作を対象に、各操作について、その他操作との案件間における共起回数を集計し、操作間の共起関係テーブル１２７に登録する。具体的には、まず、分岐関係抽出部１１１は、操作間の共起関係テーブル１２７の縦軸と横軸に分析対象操作を登録する。次に、分岐関係抽出部１１１は、操作間の共起関係テーブル１２７（各分析対象業務（縦軸）と、縦軸に登録した分析対象操作以外のその他の分析対象操作（横軸）とのマトリクス）の各要素に０を設定する。そして、分岐関係抽出部１１１は、操作間の共起関係テーブル１２７の縦軸に登録した各分析対象操作に対して、サブ操作ログテーブル１２６から案件ＩＤをキーにして１案件分の操作ログ一式を順次取り出し、その分析対象操作（縦軸）を含む案件か否かを判定し、その分析対象操作を含むと判定した場合、さらに、上記その他の分析対象操作がその案件に含まれるか否かを判定し、上記その他の分析対象操作を含む（横軸）と判定した場合、これらの分析対象業務は案件間において共起関係にあるとみなして、操作間の共起関係テーブル１２７の該当する要素の値に１を加算する（Ｓ５０１）。
【００６７】
続いて、分岐関係抽出部１１１は、操作間の共起関係テーブル１２７を用いて、共起関係が同じ操作群（共起する操作の組合せと、共起しない操作の組合せの両方が一致する、２つ以上の操作）が存在するか否かを判定し（Ｓ５０２）、存在しないと判定した場合（Ｓ５０２；Ｎｏ）、Ｓ５０６に進む。一方、分岐関係抽出部１１１は、共起関係が同じ操作群が存在すると判定した場合（Ｓ５０２；Ｙｅｓ）、同一共起関係テーブル１２９に、その操作群の各操作ＩＤを登録する。また、登録した各操作ＩＤの仮操作ＩＤ欄には、同じ仮操作ＩＤを採番して設定する。また、登録した各操作ＩＤの実施順序欄には、Ｓ３０７で取り出した実施順序＝ある必須操作の「前」の場合、オプション操作の実施順序テーブル１２５の実施案件率が低い順に、実施順序を１から採番して設定する。一方、Ｓ３０７で取り出した実施順序＝ある必須操作の「後」の場合、オプション操作の実施順序テーブル１２５の実施案件率が高い順に、実施順序を１から採番して設定する（Ｓ５０３）。
【００６８】
なお、分岐関係抽出部１１１は、Ｓ５０３の処理において、オプション操作の実施順序テーブル１２５の実施案件率を用いて、同一共起関係テーブル１２９の実施順序欄に実施順序を設定する代わりに、サブ操作ログテーブル１２６から、分析対象操作を全て含む案件の操作ログ一式を、全ての案件分取り出した上で、分析対象操作を必須操作とみなしてＳ２０７〜Ｓ２０８の処理を実施して必須操作の実施順序テーブル１２４を別途生成し、別途生成した必須操作の実施順序テーブル１２４の実施案件率を用いて、同一共起関係テーブル１２９の実施順序欄に実施順序を設定してもよい。
【００６９】
次に、分析関係抽出部１１１は、Ｓ５０３で採番した仮操作ＩＤを、サブ操作ログテーブル１２６へ反映する。具体的には、分析関係抽出部１１１は、サブ操作ログテーブル１２６に含まれる全ての操作ログの操作ＩＤに対して、操作間の共起関係テーブル１２７に登録されている操作ＩＤと一致する場合は、その操作ＩＤに対応付けられた仮操作ＩＤに変換する処理を行う（Ｓ５０４）。
【００７０】
そして、分岐関係抽出部１１１は、Ｓ４０２またはＳ４０３で設定した分析対象操作に、Ｓ５０３で採番した仮操作ＩＤを反映した上で、再度、分析対象操作を対象に、操作間の共起関係テーブル１２７を生成しなおし、Ｓ５０６に進む。なお、操作間の共起関係テーブル１２７を生成しなおす処理は、Ｓ５０１と同様であるため、説明は省略する（Ｓ５０５）。
【００７１】
分岐関係抽出部１１１は、Ｎ＝分析対象操作の操作数を設定し（Ｓ５０６）、操作間の共起関係テーブル１２７を用いて、非共起となるＮ個の操作群が存在するか否かを判定する（Ｓ５０７）。分岐関係抽出部１１１は、存在しないと判定した場合（Ｓ５０７；Ｎｏ）、Ｎから１を減算して（Ｓ５１０）、さらにＮ＝１か否かを判定し（Ｓ５１１）、Ｎ≠１と判定した場合（Ｓ５１１；Ｎｏ）はＳ５０７に戻り、Ｎ＝１と判定した場合（Ｓ５１１；Ｙｅｓ）はＳ５１２に進む。一方、分岐関係抽出部１１１は、非共起となるＮ個の操作群が存在すると判定した場合（Ｓ５０７；Ｙｅｓ）、さらに、非共起となるＮ個の操作群に含まれる各操作の実施案件数の合計値が、全案件数と一致するか否かを判定し（Ｓ５０８）、一致しないと判定した場合（Ｓ５０８；Ｎｏ）はＳ５０７へ戻り、一致すると判定した場合（Ｓ５０８；Ｙｅｓ）は、非共起となる操作群は排他的分岐関係にあるとみなして、非共起関係テーブル１３０に、その操作群の各操作ＩＤを登録する。また、登録した各操作ＩＤの仮操作ＩＤ欄には、同じ仮操作ＩＤを採番して設定する。さらに、分岐関係抽出部１１１は、採番した仮操作ＩＤを、サブ操作ログテーブル１２６へ反映して（Ｓ５０９）、Ｓ５０７に戻る。なお、採番した仮操作ＩＤをサブ操作ログテーブル１２６へ反映する処理は、Ｓ５０４と同様であるため、説明は省略する。
【００７２】
分岐関係抽出部１１１は、分析対象操作に、非共起関係テーブル１３０に登録された全ての仮操作ＩＤを反映（非共起となる操作群の各操作ＩＤを、紐付けられた仮操作ＩＤに置換）する（Ｓ５１２）。なお、分岐関係抽出部１１１は、Ｓ５１２において、共起関係が同じ操作の操作ＩＤ（例えば、図１０に示した仮操作ＩＤ「α」）が非共起関係テーブル１３０の操作ＩＤとして登録されているか否かを判定し、共起関係が同じ操作の操作ＩＤが非共起関係テーブル１３０の操作ＩＤとして登録されていないと判定した場合、Ｓ５０４、Ｓ５０３の処理とは逆の手順でサブ操作ログテーブル１２６を戻してもよい。具体的には、分岐関係抽出部１１１は、サブ操作ログテーブル１２６に含まれるＳ５０４で変換した仮操作ＩＤを変換前の操作ＩＤに戻し、さらに、同一共起関係テーブル１２９に含まれるＳ５０３で登録した上記変換した仮操作ＩＤを削除してもよい。
【００７３】
Ｓ５１２の処理終了後、分岐関係抽出部１１１は、図１５のＳ４１０に進む。Ｓ４１０以降の処理は、図１５に戻って説明する。
【００７４】
図１５に示すように、分岐関係抽出部１１１は、案件ＩＤをキーにして、サブ操作ログテーブル１２６から１案件分の操作ログ一式を取り出し（Ｓ４１０）、分析対象操作を全て含む案件か否かを判定し（Ｓ４１１）、必須操作を全て含む案件でないと判定した場合（Ｓ４１１；Ｎｏ）、Ｓ４１０で取り出した操作ログ一式をサブ操作ログテーブル１２６から削除して（Ｓ４１１２）、Ｓ４１３に進む。一方、分岐情報抽出部１１１は、必須操作を全て含む案件であると判定した場合（Ｓ４１１；Ｙｅｓ）、Ｓ４１３に進む。
【００７５】
分岐関係抽出部１１１は、全ての案件に対してＳ４１１〜Ｓ４１２の処理が終了したか否かを判定し（Ｓ４１１）、全ての案件に対して処理が終了していないと判定した場合（Ｓ４１１；Ｎｏ）、Ｓ４１０に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、全ての案件に対して処理が終了したと判定した場合（Ｓ４１１；Ｙｅｓ）、Ｓ４１４に進む。
【００７６】
分岐関係抽出部１１１は、分析対象操作を必須操作とみなして、Ｓ２０７〜Ｓ２１１の処理を実施し、分析対象操作の実施順序と合流関係を抽出する。ただし、Ｓ２０９〜Ｓ２１１の処理において、合流関係テーブル１２８の操作群区分欄には、「必須操作のみ」の代わりに、Ｓ３０７で取り出した実施順序（ある必須操作の前または後）を登録する（Ｓ４１４）。
【００７７】
Ｓ４１４の処理終了後、分岐関係抽出部１１１は、図１４のＳ３１０に進む。Ｓ３１０以降の処理は、図１４に戻って説明する。
【００７８】
図１４に示すように、分岐関係抽出部１１１は、オプション操作の実施順序テーブル１２５に登録されている、全ての実施順序（各必須操作の前または後）に対して、Ｓ３０８〜Ｓ３０９またはＳ４００の処理が終了したか否かを判定し（Ｓ３１０）、終了していないと判定した場合（Ｓ３１０；Ｎｏ）、Ｓ３０７に戻って以降の処理を繰り返す。一方、分岐関係抽出部１１１は、全ての実施順序に対して処理が終了したと判定した場合（Ｓ３１０；Ｙｅｓ）、図１３に戻り、本分岐関係抽出処理を終了する。
【００７９】
次に、業務フロー生成部１１２における処理について図に基づき説明する。
【００８０】
図１７は、本実施形態の業務フロー生成部１１２の処理フロー例を示す図である。図１７に示すように、まず、業務フロー生成部１１２は、合流関係テーブル１２８に登録されている操作ＩＤと実施順序と操作群区分をもとに、１つの操作ＩＤを１つのノードとして並べたフローを生成する。具体的には、業務フロー生成部１１２は、まず、操作群区分＝「必須操作のみ」の操作群のフローを生成し、次に、操作群区分＝「各必須操作ＩＤの前または後」に従い、各必須操作の前後にフローを追加する。このとき、業務フロー生成部１１２は、合流関係にある操作群（合流関係テーブル１２８の合流関係欄に同じ値が設定されている操作群）が存在する場合、合流関係を示す合流ノードを２つ追加し、１つ目の合流ノードから合流関係にある各操作ノードへ矢印が分岐して、各操作ノードから２つ目の合流ノードへ矢印が合流するようにフローを生成する（Ｓ６０１）。
【００８１】
続いて、業務フロー生成部１１２は、非共起関係テーブル１３０に仮操作ＩＤが登録されているか否かを判定し、登録されていると判定した場合、Ｓ６０１で生成したフロー上の仮操作ＩＤの操作ノードを、その仮操作ＩＤに対応付けられた操作ＩＤ（２つ以上）の操作ノードに置換する。このとき、業務フロー生成部１１２は、分岐関係にあることを示す分岐ノードを２つ追加し、１つ目の分岐ノードから置換する各操作ノードへ矢印が分岐して、各操作ノードから２つ目の分岐ノードへ矢印が合流するようにフローを生成する（Ｓ６０２）。
【００８２】
次に、業務フロー生成部１１２は、同一共起関係テーブル１２９に仮操作ＩＤが登録されているか否かを判定し、登録されていると判定した場合、Ｓ６０２で生成したフロー上の仮操作ＩＤの操作ノードを、その仮操作ＩＤに対応付けられた操作ＩＤ（２つ以上）の操作ノードに置換する。このとき、業務フロー生成部１１２は、置換する各操作ノードを、同一共起関係テーブル１２９に登録されている実施順序で並ぶようにフローを生成する。最後に、業務フロー生成部１１２は、生成したフローを、出力部１０５に表示して、本業務フロー生成処理を終了する（Ｓ６０３）。
【００８３】
図１８は、業務フロー生成部１１２が表示する業務フローの表示イメージ１０００を示す図である。分岐ノード１００１が分岐関係にあることを示すノードであり、合流ノード１００２が合流関係にあることを示すノードであり、それ以外のノードが操作ノードである。なお、各種ノードの表記方法は、図１８に限定するものではなく、操作ノードと分岐ノードと合流ノードを区別できれば、どのように表記してもよい。
【００８４】
以上、本実施形態について具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００８５】
例えば、分析対象業務の全体プロセスでなく、ある特定の操作間のプロセスを分析したい場合、分岐関係抽出部１１１にて図１５に記載のＳ４０１〜ＳＳ４１４までの処理を実施し、業務フロー生成部１１２にてフローを提示する、としてもよい。このとき、分岐関係抽出部１１１は、Ｓ４０１〜Ｓ４０３の処理の代わりに、開始操作＝分析したいプロセスの開始操作、終了操作＝分析したプロセスの終了操作、分析対象操作＝開始操作と終了操作の間に実施される全ての操作、を設定して、Ｓ４０４以降の処理を実施する。
【００８６】
また、例えば、分岐関係抽出部１１１が、図１３に記載のＳ２０２にて必須操作とオプション操作を設定するために、実施案件率の閾値＝８０％を利用した場合、必須操作と分岐関係になる操作が存在する可能性がある。分析者が、この必須操作と分岐関係になる操作も含めたプロセスを把握したいと考えた場合、分岐関係抽出部１１１にて、Ｓ２０２の処理を実施後に、必須操作と分岐関係になる操作を抽出する処理として、図１６に記載のＳ５０１とＳ５０６〜Ｓ５１１までの処理を実施した上で、Ｓ２０３に進む、としてもよい。このとき、まず、分岐関係抽出部１１１は、サブ操作ログテーブル１２６の代わりに、操作ログテーブル１２１を対象として、開始操作＝分析対象業務の開始操作、終了操作＝分析対象業務の終了操作、分析対象操作＝開始操作と終了操作の間に実施される全ての操作、を設定して、Ｓ５０１の処理を実施する。そして、分岐関係抽出部１１１は、Ｓ５０９の処理は必須操作と非共起関係となる操作群が抽出された場合のみ実施するという条件付きで、Ｓ５０６〜Ｓ５１１までの処理を実施する。
【００８７】
このように、本実施例では、分析対象業務のプロセスについて、操作間の合流関係と分岐関係を区別可能なフローとして提示することができる。さらに、業務システムの操作ログを、分析対象業務が正常終了した案件や、その案件内で業務上意味があると推定される操作に絞り込むことで、操作間の合流関係や分岐関係を精度良く特定できる。また、本実施例により抽出した分析対象業務のプロセスと、正常終了時のバリエーションや異常終了時の流れとを比較することにより、分析対象とする業務システムの利用実態を把握しやすくなる。
【００８８】
なお、図１６のＳ５０３の別方法として、前記分岐関係抽出部は、前記分岐関係となる操作群を同一操作とみなして前記合流関係となる操作群の特定において、共起する操作の組合せが同じ操作群に含まれる操作の実施順序を、前記オプション操作の実施順序と実施案件率とに基づき、前記実施順序が前記必須操作の前である場合には実施案件率が低い順に前記オプション操作の実施順序を定め、前記実施順序が前記必須操作の後である場合には実施案件率が高い順に前記オプション操作の実施順序を定める、ことを特徴とする業務プロセス分析装置として構成してもよい。
【００８９】
また、図１７のＳ６０１〜Ｓ６０２において、前記業務フロー生成部は、前記合流関係にある操作群が存在する場合、前記合流関係を示す第１の合流ノードと第２の合流ノードとを追加し、前記第１の合流ノードから前記合流関係にある操作ノードへ矢印が分岐して、前記操作ノードから前記第２の合流ノードへ矢印が合流するフローを生成し、前記分岐関係にある操作群が存在する場合、前記分岐関係を示す第１の分岐ノードと第２の分岐ノードとを追加し、前記第１の分岐ノードから前記分岐関係にある各操作ノードへ矢印が分岐して、前記操作ノードから前記第２の分岐ノードへ矢印が合流するフローを生成する、ことを特徴とする業務プロセス分析装置として構成してもよい。
【符号の説明】
【００９０】
１００…業務プロセス分析装置、１０１…演算部、１０２…記憶部、１０３…メモリ、１０４…入力部、１０５…出力部、１１０…ログ整形部、１１１…分岐関係抽出部、１１２…業務フロー生成部、１２１…操作ログテーブル、１２２…開始・終了操作テーブル、１２３…各操作の実施案件率テーブル、１２４…必須操作の実施順序テーブル、１２５…オプション操作の実施順序テーブル、１２６…サブ操作ログテーブル、１２７…操作間の共起関係テーブル、１２８…合流関係テーブル、１２９…同一共起関係テーブル、１３０…非共起関係テーブル、１０００…業務フロー表示イメージ、１００１…分岐ノード、１００２…合流ノード。
【図１】
2018181177.tif 000003
【図２】
2018181177.tif 000004
【図３】
2018181177.tif 000005
【図４】
2018181177.tif 000006
【図５】
2018181177.tif 000007
【図６】
2018181177.tif 000008
【図７】
2018181177.tif 000009
【図８】
2018181177.tif 000010
【図９】
2018181177.tif 000011
【図１０】
2018181177.tif 000012
【図１１】
2018181177.tif 000013
【図１２】
2018181177.tif 000014
【図１３】
2018181177.tif 000015
【図１４】
2018181177.tif 000016
【図１５】
2018181177.tif 000017
【図１６】
2018181177.tif 000018
【図１７】
2018181177.tif 000019
【図１８】
2018181177.tif 000020