(57)【特許請求の範囲】
【請求項１】
複数のワークフロー実行情報から、重要業績評価指標（以下、ＫＰＩという）のカテゴリ分割の条件を求める方法であって、前記複数のワークフロー実行情報はそれぞれ、ＫＰＩの種類及び当該種類に関連付けられた値のセットを少なくとも１つ有し、コンピュータが、
（ａ）前記複数のワークフロー実行情報を前記ＫＰＩの種類についての分割数で分割するステップと、
（ｂ）前記分割数で分割した後の複数のグループそれぞれについて、当該グループ中に属するワークフロー実行情報からグラフを生成するステップと、
（ｃ）任意の２つのグラフそれぞれのグラフ編集距離を算出するステップと、
（ｄ）前記グラフ編集距離が最短である２つのグラフをマージして新たなグループを生成するステップであって、前記生成された新たなグループの領域の条件を前記カテゴリ分割の条件として保存するステップを含む、前記生成するステップと、
（ｅ）前記新たなグループに対するグラフ編集距離を算出するステップと
（ｆ）前記グラフ編集距離が或る一定の編集距離以上になるまで、前記ステップ（ｄ）〜（ｅ）を繰り返すステップと、
を実行することを含む、前記方法。
【請求項２】
前記カテゴリ分割の条件が、前記ＫＰＩの種類ごとに求められる、請求項１に記載の方法。
【請求項３】
前記ＫＰＩの種類が数値データである場合に、前記生成された新たなグループの領域の条件が当該数値データにおける最小値から最大値までの範囲の値である、請求項１又は２に記載の方法。
【請求項４】
前記ＫＰＩの種類がカテゴリ・データである場合に、前記生成された新たなグループの領域の条件が当該新たなグループを定義するカテゴリの名前である、請求項１又は２に記載の方法。
【請求項５】
前記コンピュータが、
前記ＫＰＩの種類に対して分割数を求めるステップ
をさらに実行することを含む、請求項１に記載の方法。
【請求項６】
前記分割数を求めるステップが、
前記ＫＰＩの種類が数値データであることに応じて、統計手法を用いて、前記分割数を求めるステップ
を含む、請求項５に記載の方法。
【請求項７】
前記分割数を求めるステップが、
前記ＫＰＩの種類がカテゴリ・データであることに応じて、前記種類に関するカテゴリ数、又は前記種類に関連付けられた値から前記分割数を求めるステップ
を含む、請求項５に記載の方法。
【請求項８】
前記分割数で分割するステップ（ａ）が、
前記ＫＰＩの種類が数値データであることに応じて、前記種類に関連付けられた前記値に基づいて、前記複数のワークフロー実行情報をソートするステップ
をさらに実行することを含み、
前記分割数で分割するステップ（ａ）が、
前記ソート後の前記複数のワークフロー実行情報を前記分割数で分割するステップ
を含む、請求項１に記載の方法。
【請求項９】
前記グラフを生成するステップ（ｂ）が、
前記生成したグラフの領域の条件を保存するステップ
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記任意の２つのグラフそれぞれのグラフ編集距離を算出するステップ（ｃ）が、
（ｃ−１）任意の２つのグラフの組み合わせを取得するステップと、
（ｃ−２）前記任意の２つのグラフの組み合わせに対してグラフ編集距離を算出するステップと、
（ｃ−３）前記任意の２つのグラフの残りの組み合わせについて、ステップ（ｃ−１）及び（ｃ−２）を繰り返すステップと
を含む、請求項１に記載の方法。
【請求項１１】
前記新たなグループを生成するステップ（ｄ）が、
前記グラフ編集距離が最短である前記２つのグラフそれぞれに属するワークフロー実行情報から前記新たなグループを生成するステップ
を含む、請求項１に記載の方法。
【請求項１２】
前記任意の２つのグラフそれぞれのグラフ編集距離を算出するステップ（ｃ）が、
前記算出したグラフ編集距離をテーブルに記録するステップ
をさらに含む、請求項１に記載の方法。
【請求項１３】
前記新たなグループを生成するステップ（ｄ）が、
前記生成した新たなグループを前記テーブルに追加するステップ
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記新たなグループを生成するステップ（ｄ）が、
前記グラフ編集距離が最短である２つのグループに属する２つのグラフを前記テーブルから削除するステップ
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記新たなグループに対するグラフ編集距離を算出するステップ（ｅ）が、
前記新たなグループが追加されたテーブルに対して、前記新たなグループに対して算出したグラフ編集距離を前記テーブルに記録するステップ
をさらに含む、請求項１４に記載の方法。
【請求項１６】
前記グラフ編集距離が或る一定の編集距離以上になるまで、前記ステップ（ｄ）〜（ｅ）を繰り返すステップが、
前記テーブル中のテーブル・エントリが前記或る一定以上の編集距離になるまで、前記ステップ（ｄ）〜（ｅ）を繰り返すステップ
を含む、請求項１３〜１５のいずれか一項に記載の方法。
【請求項１７】
前記テーブルが、Ｋ×Ｋからなるテーブルである、請求項１３〜１６のいずれか一項に記載の方法。
【請求項１８】
複数のワークフロー実行情報から、重要業績評価指標（以下、ＫＰＩという）のカテゴリ分割の条件を求める為のコンピュータであって、前記複数のワークフロー実行情報はそれぞれ、ＫＰＩの種類及び当該種類に関連付けられた値のセットを少なくとも１つ有し、前記コンピュータが、
前記複数のワークフロー実行情報を前記ＫＰＩの種類についての分割数で分割する分割手段と、
前記分割数で分割した後の複数のグループそれぞれについて、当該グループ中に属するワークフロー実行情報からグラフを生成するグラフ生成手段と、
任意の２つのグラフそれぞれのグラフ編集距離を算出するグラフ編集距離算出手段と、
前記グラフ編集距離が最短である２つのグラフをマージして新たなグループを生成するグラフ・マージ手段であって、前記生成された新たなグループの領域の条件を前記カテゴリ分割の条件として保存する前記グラフ・マージ手段と
を備えており、
前記グラフ編集距離算出手段がさらに、前記新たなグループと他のグラフとのグラフ編集距離を算出し、
前記グラフ編集距離が或る一定の編集距離以上になるまで、前記新たなグループを生成すること及び前記新たなグループに対するグラフ編集距離を算出することが繰り返し行われる、
前記コンピュータ。
【請求項１９】
前記ＫＰＩの種類が数値データである場合に、前記生成された新たなグループの領域の条件が当該数値データにおける最小値から最大値までの範囲の値であり、又は、
前記ＫＰＩの種類がカテゴリ・データである場合に、前記生成された新たなグループの領域の条件が当該新たなグループを定義するカテゴリの名前である、
請求項１８に記載のコンピュータ。
【請求項２０】
複数のワークフロー実行情報から、重要業績評価指標（以下、ＫＰＩという）のカテゴリ分割の条件を求める為のコンピュータ・プログラムであって、前記複数のワークフロー実行情報はそれぞれ、ＫＰＩの種類及び当該種類に関連付けられた値のセットを少なくとも１つ有し、請求項１〜１７のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重要業績評価指標（Key Performance Indicators；以下、「ＫＰＩ」ともいう）のカテゴリ分割の条件を求める技法に関する。
【背景技術】
【０００２】
プロセス・ディスカバリーとは、業務システムのログ（例えば、プロセスの実行情報）から業務のワークフロー（例えば、ビジネス・プロセス・モデリング表記法：ＢＰＭＮ）を自動的に作成し、様々な観点でプロセスの特性を抽出することによって、業務プロセスの実態を把握する為の技術である。
【０００３】
プロセス・ディスカバリーにおいて、ログの量が増えるに従って抽出されるワークフローは複雑なもの（いわゆる、スパゲッティ・プロセス）になる為に、ワークフローの分析が困難である。そこで、スパゲッティ・プロセスを人が理解できる情報量にいかに絞るかが重要である。
【０００４】
下記特許文献１は、保健医療ワークフローについての状況対応業績評価指標を生成するためのコンピュータ具現化方法であって、保健医療ワークフローについての現在及び過去の保健医療データに基づいたパターンを識別するためにデータ・セットをマイニングする段階と、識別されたパターン及びデータ・マイニングされた情報から状況情報を抽出する段階と、状況情報及びパターン情報に基づいて状況対応業績評価指標を動的に作成する段階と、所与のモデルに基づいて状況対応業績評価指標を評定する段階と、状況対応業績評価指標に関連した測定を監視する段階と、状況対応業績評価指標を更新するためにフィードバックを処理する段階と、を有する方法を記載する（請求項１）。
【０００５】
下記特許文献２は、ワークフロー合成処理部は、合成対象のワークフローを取得すると、そのワークフローに類似したワークフローをワークフローデータベースから読み出すこと、そして、各ワークフローに含まれる各ステップの記述内容を比較することによって、記述内容が一致するステップの並びが一致する部分を共通化すると共に、一致しない部分の直前の位置に分岐ステップを挿入し、その直後で合流させるようにしてワークフローを合成することを記載する（要約）。
【０００６】
下記特許文献３は、データベースの更新情報を分析し、典型的な業務フローと例外的な業務フローとを区別して表現する業務モデルを自動的に生成することを記載する（要約）。
【０００７】
下記特許文献４は、ワークフロー解析部がワークフロー指示データを受信し、変換テーブルを適用してワークフローの生成処理を行う際、変換テーブルに記録されたパラメータ設定情報を適用してパラメータ設定を行うことを記載する（要約）。
【０００８】
下記特許文献５は、ワークフロー制御サーバと、アプリケーション・サーバ及びクライアントを含むワークフロー制御システムに於いて、前記ワークフロー制御サーバは、ワークフローを論理的な業務単位を形成するタスクと入出力データと処理条件とを含み、階層構造とした業務オブジェクトで表現し、該階層構造の各層の業務オブジェクト単位にワークフローの制御及び管理を行う構成を備えたことを特徴とするワークフロー制御システムを記載する（請求項１）。
【０００９】
下記特許文献６は、システムレベル・ワークフロー戦略を管理し、個々のワークフロー活動を管理し、個々のワークフロー活動を最適化するワークフローシステムおよび方法を記載する（要約）。
【００１０】
下記特許文献７は、作業の流れに関する情報セキュリティおよびリソースの最適化を記載する（段落０００１）。
【００１１】
下記特許文献８は、業務フローチャートを作成するにあたって、リスクと統制とを適切に記述することを支援し、編集作業を効率化させることができる業務フローチャート編集プログラムおよび業務フローチャート編集方法を記載する（段落０００１）。
【００１２】
下記非特許文献１は、Heuristic Miningを記載する。
【００１３】
下記非特許文献２は、データ・マイニングを記載する。
【００１４】
下記非特許文献３は、マルコフ・クラスタ・アルゴリズムを記載する。
【００１５】
下記非特許文献４は、ＫＰＩが付与されているワークフロー情報をＸＭＬベースでどのように出力するかを記載する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１３−１０９７６２号公報
【特許文献２】特開２０１１−５９９６２号公報
【特許文献３】国際公開第２００７／１３２５４７号
【特許文献４】特開２００８−１２９８１０号公報
【特許文献５】特開２０００−２５０９６７号公報
【特許文献６】特開２０１４−１５７６０５号公報
【特許文献７】特開２００５−１７４３２９号公報
【特許文献８】国際公開第２００８／０１８１３２号
【非特許文献】
【００１７】
【非特許文献１】Wil M. P. van der Aalst，“Process Mining: Discovery, Conformance and Enhancement of Business Processes”， Springer，p.162-164 ，2011年
【非特許文献２】神嶌  敏弘（Toshihiro Kamishima），“データマイニング”，［平成26年10月15日検索］，［online］，インターネット＜http://www.kamishima.net/archive/datamining.pdf＞から入手可能
【非特許文献３】MCL-a cluster algorithm for graphs″，［平成26年10月15日検索］，［online］，＜http://micans.org/mcl/＞から入手可能
【非特許文献４】Mari Abe et. Al., “Business Monitoring Framework for Process Discovery with Real-Life Logs”, Business Process Management，Lecture Notes in Computer Science, Volume 8659, pp 416-423，2014
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ワークフローを人が見て理解しやすいものにする為には、ログのフィルタが必要である。フィルタとして例えばワークフローの処理時間などのあるＫＰＩの種類に着目してフィルタする場合に、どのＫＰＩ閾値を選ぶべきかにおいて試行錯誤を必要とする。ＫＰＩの種類数が少ないＫＰＩ以外では、閾値を選ぶ試行錯誤の手間が深刻であり、例えば下記例１〜例３に示すように、閾値をどこにおけばワークフローが変化するのか分からない故に業務プロセスの実態の分析の障害となっていた。
【００１９】
例１：ワークフローの処理時間を減らし業務改善を図る為に、処理時間によってワークフローのパターンに差が出るのかを調べたいとする。１０分以上と１０分以下の２つのワークフローを比べても差が分からず、試行錯誤により閾値を変更した結果、実際にワークフローに顕著な変化がみられる閾値は２０分以上／以下であった。
【００２０】
例２：ある業務を行う際に、関係する商品によってプロセスに顕著な差が現れるかを知りたいとする。商品の種類が少ない場合には目視にてプロセスを比較し、カテゴリ分けすることが可能である。しかしながら、商品の種類が増えるに従いカテゴリ分けは困難になる。
【００２１】
例３：社内教育の適用範囲を決める為に、例えば入社年度の早い人と遅い人別など入社年度別にワークフローを比べたいとする。しかしながら、どの年度でワークフローが変化するのかを求めるのは困難である。
【００２２】
また、特定のタスクから始まるログに限定するなど、ワークロー実行情報に対して条件を設定することで、その後ワークフロー実行情報から合成して得られるワークフローをシンプルにすることが可能である（非特許文献１を参照）。しかしながら、ＫＰＩに基づいて、ログをフィルタする際の閾値に関しては、試行錯誤して探さなければならないという問題がある。
【００２３】
また、一般的なクラスタリング手法（k-means法など）の入力は属性ベクトルで表現される要素である（非特許文献２を参照）。しかしながら、ワークフロー実行情報（順序付きタスクリストでもある）は、属性ベクトルで表現出来ない。従って、一般的なクラスタリング手法をワークフロー実行情報に適用することが出来ないという問題がある。
【００２４】
また、グラフ・クラスタリング手法（例えば、Markov Cluster Algorithm）の入力はグラフであり、出力はクラスタ化されたグラフ又はサブグラフである（非特許文献３を参照）。しかしながら、全てのワークフロー（例えば、スパゲッティ・プロセス）に対して、グラフ・クラスタリング手法を適用すると、ワークフロー実行情報（順序付きタスクリストでもある）が保持されない。従って、グラフ・クラスタリング手法をワークフロー実行情報に適用することが出来ないという問題がある。
【００２５】
従って、本発明は、ログから抽出されるワークフローの情報を絞る際に必要となるＫＰＩのカテゴリ分割の条件（ＫＰＩの閾値を含む）を自動的に求める技法を提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明は、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める技法を提供する。当該技法は、複数のワークフロー実行情報から、ＫＰＩのカテゴリ分割の条件を求める方法、並びに、その為のコンピュータ、コンピュータ・プログラム及びコンピュータ・プログラム製品を包含しうる。
【００２７】
（本発明に従う第１の態様）
【００２８】
本発明に従う第１の態様において、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める方法であって、上記複数のワークフロー実行情報はそれぞれ、ＫＰＩの種類及び当該種類に関連付けられた値のセットを少なくとも１つ有し、コンピュータが、
（ａ）上記複数のワークフロー実行情報を上記ＫＰＩの種類についての分割数で分割するステップと、
（ｂ）上記分割数で分割した後の複数のグループそれぞれについて、当該グループ中に属するワークフロー実行情報からグラフを生成するステップと、
（ｃ）任意の２つのグラフそれぞれのグラフ編集距離を算出するステップと、
（ｄ）上記グラフ編集距離が最短である２つのグラフをマージして新たなグループを生成するステップと、
（ｅ）上記新たなグループに対するグラフ編集距離を算出するステップと
（ｆ）上記グラフ編集距離が或る一定の編集距離以上になるまで、上記ステップ（ｄ）〜（ｅ）を繰り返すステップであって、上記新たなグループを定義する値が上記カテゴリ分割の条件として求められる、上記繰り返すステップと
を実行することを含む。
【００２９】
本発明の一つの実施態様において、上記カテゴリ分割の条件が、上記ＫＰＩの種類ごとに求められうる。
【００３０】
本発明の一つの実施態様において、上記ＫＰＩの種類が数値データである場合に、上記新たなグループを定義する値が当該数値データにおける最小値から最大値までの範囲の値であり、上記数値データ中の値が上記カテゴリ分割の条件として求められうる。
【００３１】
本発明の一つの実施態様において、上記ＫＰＩの種類がカテゴリ・データである場合に、上記新たなグループを定義する値が当該新たなグループを定義するカテゴリの名前であり、上記カテゴリの名前が上記カテゴリ分割の条件として求められうる。
【００３２】
本発明の一つの実施態様において、上記コンピュータが、上記ＫＰＩの種類に対して分割数を決めるステップをさらに実行することを含みうる。
【００３３】
本発明の一つの実施態様において、上記分割数を求めるステップが、上記ＫＰＩの種類が数値データであることに応じて、統計手法を用いて、上記分割数を求めるステップを含みうる。
【００３４】
本発明の一つの実施態様において、上記分割数を求めるステップが、上記ＫＰＩの種類がカテゴリ・データであることに応じて、上記種類に関するカテゴリ数、又は上記種類に関連付けられた値から上記分割数を求めるステップを含みうる。
【００３５】
本発明の一つの実施態様において、上記分割数で分割するステップ（ａ）が、上記ＫＰＩの種類が数値データであることに応じて、上記種類に関連付けられた上記値に基づいて、上記複数のワークフロー実行情報をソートするステップをさらに実行することを含みうる。また、上記分割数で分割するステップ（ａ）が、上記ソート後の上記複数のワークフロー実行情報を上記分割数で分割するステップを含みうる。
【００３６】
本発明の一つの実施態様において、上記グラフを生成するステップ（ｂ）が、上記生成したグラフの領域の条件を保存するステップをさらに含みうる。
【００３７】
本発明の一つの実施態様において、上記任意の２つのグラフそれぞれのグラフ編集距離を算出するステップ（ｃ）が、
（ｃ−１）任意の２つのグラフの組み合わせを取得するステップと、
（ｃ−２）上記任意の２つのグラフの組み合わせに対してグラフ編集距離を算出するステップと、
（ｃ−３）上記任意の２つのグラフの残りの組み合わせについて、ステップ（ｃ−１）及び（ｃ−２）を繰り返すステップと
を含みうる。
【００３８】
本発明の一つの実施態様において、上記新たなグループを生成するステップ（ｄ）が、上記グラフ編集距離が最短である上記２つのグラフそれぞれに属するワークフロー実行情報から上記新たなグループを生成するステップを含みうる。
【００３９】
本発明の一つの実施態様において、上記新たなグループを生成するステップ（ｄ）が、上記グラフ編集距離が最短である２つのグループそれぞれの領域をマージして、上記新たなグループの領域の条件を保存するステップをさらに含みうる。
【００４０】
本発明の一つの実施態様において、記任意の２つのグラフそれぞれのグラフ編集距離を算出するステップ（ｃ）が、上記算出したグラフ編集距離をテーブルに記録するステップをさらに含みうる。
【００４１】
本発明の一つの実施態様において、上記新たなグループを生成するステップ（ｄ）が、上記生成した新たなグループを上記テーブルに追加するステップをさらに含みうる。
【００４２】
本発明の一つの実施態様において、上記新たなグループを生成するステップ（ｄ）が、上記グラフ編集距離が最短である２つのグループに属する２つのグラフを上記テーブルから削除するステップをさらに含みうる。
【００４３】
本発明の一つの実施態様において、上記新たなグループに対するグラフ編集距離を算出するステップ（ｅ）が、上記新たなグループが追加されたテーブルに対して、上記新たなグループに対して算出したグラフ編集距離を上記テーブルに記録するステップをさらに含みうる。
【００４４】
本発明の一つの実施態様において、上記グラフ編集距離が或る一定の編集距離以上になるまで、上記ステップ（ｄ）〜（ｅ）を繰り返すステップが、上記テーブル中のテーブル・エントリが上記或る一定以上の編集距離になるまで、上記ステップ（ｄ）〜（ｅ）を繰り返すステップを含みうる。
【００４５】
本発明の一つの実施態様において、上記テーブルが、Ｋ×Ｋからなるテーブルでありうる。
【００４６】
（本発明に従う第２の態様）
【００４７】
本発明に従う第２の態様において、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める為のコンピュータであって、上記複数のワークフロー実行情報はそれぞれ、ＫＰＩの種類及び当該種類に関連付けられた値のセットを少なくとも１つ有し、上記コンピュータが、
上記複数のワークフロー実行情報を上記ＫＰＩの種類についての分割数で分割する分割手段と、
上記分割数で分割した後の複数のグループそれぞれについて、当該グループ中に属するワークフロー実行情報からグラフを生成するグラフ生成手段と、
任意の２つのグラフそれぞれのグラフ編集距離を算出するグラフ編集距離算出手段と、
上記グラフ編集距離が最短である２つのグラフをマージして新たなグループを生成するグラフ・マージ手段と
を備えており、
上記グラフ編集距離算出手段がさらに、上記新たなグループと他のグラフとのグラフ編集距離を算出し、
上記グラフ編集距離が或る一定の編集距離以上になるまで、上記新たなグループを生成すること及び上記新たなグループに対するグラフ編集距離を算出することが繰り返し行われ、
上記新たなグループを定義する値が上記カテゴリ分割の条件として求められる。
【００４８】
本発明の一つの実施態様において、上記カテゴリ分割の条件が、上記ＫＰＩの種類ごとに求められうる。
【００４９】
本発明の一つの実施態様において、上記ＫＰＩの種類が数値データである場合に、上記新たなグループを定義する値が当該数値データにおける最小値から最大値までの範囲の値であり、上記数値データ中の値が上記カテゴリ分割の条件として求められうる。
【００５０】
本発明の一つの実施態様において、上記ＫＰＩの種類がカテゴリ・データである場合に、上記新たなグループを定義する値が当該新たなグループを定義するカテゴリの名前であり、上記カテゴリの名前を上記カテゴリ分割の条件として求められうる。
【００５１】
本発明の一つの実施態様において、上記コンピュータがさらに、上記ＫＰＩの種類に対して分割数を決める分割数決定手段を備えうる。
【００５２】
本発明の一つの実施態様において、上記分割数決定手段が、上記ＫＰＩの種類が数値データであることに応じて、統計手法を用いて、上記分割数を求めうる。
【００５３】
本発明の一つの実施態様において、上記分割数決定手段が、上記ＫＰＩの種類がカテゴリ・データであることに応じて、上記種類に関するカテゴリ数、又は上記種類に関連付けられた値から上記分割数を求めうる。
【００５４】
本発明の一つの実施態様において、上記分割手段が、上記ＫＰＩの種類が数値データであることに応じて、上記種類に関連付けられた上記値に基づいて、上記複数のワークフロー実行情報をソートし、及び、上記ソート後の上記複数のワークフロー実行情報を上記分割数で分割しうる。
【００５５】
本発明の一つの実施態様において、上記グラフ生成手段がさらに、上記生成したグラフの領域の条件を保存しうる。
【００５６】
本発明の一つの実施態様において、上記グラフ編集距離算出手段が、
（ｃ−１）任意の２つのグラフの組み合わせを取得する処理、
（ｃ−２）上記任意の２つのグラフの組み合わせに対してグラフ編集距離を算出する処理、
（ｃ−３）上記任意の２つのグラフの残りの組み合わせについて、処理（ｃ−１）及び処理（ｃ−２）を繰り返す処理
を実行しうる。
【００５７】
本発明の一つの実施態様において、上記グラフ・マージ手段が、上記グラフ編集距離が最短である上記２つのグラフそれぞれに属するワークフロー実行情報から上記新たなグループを生成しうる。
【００５８】
本発明の一つの実施態様において、上記グラフ・マージ手段が、上記グラフ編集距離が最短である２つのグループそれぞれの領域をマージして、上記新たなグループの領域の条件を保存しうる。
【００５９】
本発明の一つの実施態様において、上記グラフ編集距離算出手段がさらに、上記算出したグラフ編集距離をテーブルに記録しうる。
【００６０】
本発明の一つの実施態様において、上記グラフ・マージ手段がさらに、上記生成した新たなグループを上記テーブルに追加しうる。
【００６１】
本発明の一つの実施態様において、上記グラフ・マージ手段がさらに、上記グラフ編集距離が最短である２つのグループに属する２つのグラフを上記テーブルから削除しうる。
【００６２】
本発明の一つの実施態様において、上記グラフ編集距離算出手段がさらに、上記新たなグループが追加されたテーブルに対して、上記新たなグループに対して算出したグラフ編集距離を上記テーブルに記録しうる。
【００６３】
本発明の一つの実施態様において、上記コンピュータは、グラフ編集距離が或る一定の編集距離以上になるまで、上記グラフ生成手段が上記新たなグループを生成すること、上記グラフ編集距離算出手段が上記新たなグループに対するグラフ編集距離を算出することを繰り返しうる。
【００６４】
本発明の一つの実施態様において、上記テーブルが、Ｋ×Ｋからなるテーブルでありうる。
【００６５】
（本発明に従う第３の態様）
【００６６】
本発明に従う第３の態様において、コンピュータ・プログラム及びコンピュータ・プログラム製品は、上記コンピュータに、本発明に従う第１の態様の重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める方法の各ステップを実行させる。
【００６７】
本発明の実施態様に従うコンピュータ・プログラムはそれぞれ、一つ又は複数のフレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ＢＤ、ハードディスク装置、ＵＳＢに接続可能なメモリ媒体、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。当該コンピュータ・プログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システム、例えばコンピュータからダウンロードしたり、又は他の記録媒体から複製したりすることができる。また、本発明の実施態様に従うコンピュータ・プログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。また、様々な形態で、本発明の実施態様に従うコンピュータ・プログラム製品を提供することも勿論可能であることにも留意されたい。本発明の実施態様に従うコンピュータ・プログラム製品は、例えば、上記コンピュータ・プログラムを記録した記憶媒体、又は、上記コンピュータ・プログラムを伝送する伝送媒体を包含しうる。
【００６８】
本発明の上記概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーション又はサブコンビネーションもまた、本発明となりうることに留意すべきである。
【００６９】
本発明の実施態様において使用されるコンピュータの各ハードウェア構成要素を、複数のマシンと組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【００７０】
また、本発明は、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアとの組み合わせによる実行として、上記コンピュータ・プログラムをインストールされたコンピュータにおける当該プログラムの実行が典型的な例として挙げられる。かかる場合、当該コンピュータ・プログラムが当該コンピュータのメモリにロードされて実行されることにより、当該コンピュータ・プログラムは、当該コンピュータを制御し、本発明にかかる処理を実行させる。当該コンピュータ・プログラムは、任意の言語、コード、又は、表記によって表現可能な命令群から構成されうる。そのような命令群は、当該コンピュータが特定の機能を直接的に、又は、１．他の言語、コード若しくは表記への変換及び、２．他の媒体への複製、のいずれか一方若しくは双方が行われた後に、実行することを可能にするものである。
【発明の効果】
【００７１】
本発明の実施態様に従うと、ログから抽出されるワークフローの情報を絞る際に必要となるＫＰＩのカテゴリ分割の条件（ＫＰＩの閾値を含む）を、ワークフロー実行情報から生成されたるワークフロー・グラフ間のグラフ編集距離に基づいて自動的に求めることが可能になる。従って、本発明の実施態様に従うと、ログをフィルタする際のカテゴリ分割の条件（ＫＰＩの閾値を含む）を探す際に試行錯誤する必要がなくなる。
【００７２】
また、本発明の実施態様に従うと、入力は、ＫＰＩが関連付けられているワークフロー実行情報（順序付きタスクリストである）であり、出力は、ＫＰＩに基づいて分類されたワークフロー実行情報からワークフロー・グラフ（構造化されたグラフである）を生成し、当該生成したワークフロー・グラフ間の差分に基づいて定められるＫＰＩのカテゴリ分割の条件（ＫＰＩの閾値を含む）である。従って、本発明の実施態様に従うと、一般的なクラスタリング手法を用いること無しに、ＫＰＩのカテゴリ分割の条件（ＫＰＩの閾値を含む）を求めることが可能になる。
【００７３】
また、本発明の実施態様に従うと、入力は、ＫＰＩが関連付けられているワークフロー実行情報（順序付きタスクリストである）である。従って、本発明の実施態様に従うと、グラフ・クラスタリング手法（例えば、Markov Cluster Algorithm）を用いること無しに、ＫＰＩのカテゴリ分割の条件（ＫＰＩの閾値を含む）を求めることが可能になる。
【図面の簡単な説明】
【００７４】
【図１Ａ】本発明の実施態様において使用されうるコンピュータ又は本発明の実施態様に従うコンピュータの一例を示した図である。
【図１Ｂ】本発明の実施態様において使用されうるコンピュータ又は本発明の実施態様に従うコンピュータの一例であって、当該コンピュータ上で１又は複数の仮想マシンを稼働させる場合を示した図である。
【図２Ａ】本発明の実施態様に従い、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める処理の為のフローチャートを示す。
【図２Ｂ】図２Ａに示すフローチャートのうち、ワークフロー実行情報を分割し、ワークフロー・グラフを生成する処理の為のフローチャートを示す。
【図２Ｃ】図２Ａに示すフローチャートのうち、ワークフロー・グラフそれぞれに対するグラフ編集距離を算出する処理の為のフローチャートを示す。
【図２Ｄ】図２Ａに示すフローチャートのうち、編集距離が最短である２つのグラフをマージして、新たなグループを生成する処理の為のフローチャートを示す。
【図３Ａ】本発明の実施態様において使用されうるＫＰＩリストの例を示す。
【図３Ｂ】本発明の実施態様において使用されうるプロセス実行情報の例を示す。
【図３Ｃ】本発明の実施態様において生成されうるワークフロー・グラフの例を示す。
【図３Ｄ】本発明の実施態様において保存されうるワークフロー・グラフの領域の条件の例を示す。
【図４】本発明の実施態様において生成されうるグラフ編集距離テーブルの例を示す。
【図５】本発明の実施態様において、グラフ編集距離テーブルが更新される例を示す。
【図６】図１Ａ又は図１Ｂに従うハードウェア構成を好ましくは備えており、図２Ａ〜図２ＤＣそれぞれに示すフローチャートに従って本発明の実施態様を実施するコンピュータの機能ブロック図の一例を示す図である。
【発明を実施するための形態】
【００７５】
本発明の実施形態を、以下に図面に従って説明する。以下の図面を通して、特に断らない限り、同一の符号は同一の対象を指す。本発明の実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。
【００７６】
図１Ａは、本発明の実施態様において使用されうるコンピュータ又は本発明の実施態様に従うコンピュータの一例を示した図である。当該コンピュータ（１０１）は例えば、１又は複数のコンピュータ、例えば１又は複数のサーバ・コンピュータ（例えば、サーバ機能を備えているコンピュータであればよい）でありうるが、これらに制限されるものではない。
【００７７】
コンピュータ（１０１）は、１又は複数のＣＰＵ（１０２）とメイン・メモリ（１０３）とを備えており、これらはバス（１０４）に接続されている。ＣＰＵ（１０２）は例えば、３２ビット又は６４ビットのアーキテクチャに基づくものである。当該ＣＰＵ（１０２）は例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションのＰｏｗｅｒ（商標）シリーズ、インテル社のＸｅｏｎ（登録商標）シリーズ、Ｃｏｒｅ（商標）  ｉシリーズ、Ｃｏｒｅ（商標）  ２シリーズ、Ｐｅｎｔｉｕｍ（登録商標）シリーズ、Ｃｅｌｅｒｏｎ（登録商標）シリーズ若しくはＡｔｏｍ（商標）シリーズ、又は、ＡＭＤ（Advanced Micro Devices）社のＯｐｔｅｒｏｎ（商標）シリーズ、Ａシリーズ、Ｐｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（登録商標）シリーズ若しくはＳｅｍｐｒｏｎ（商標）でありうる。
【００７８】
バス（１０４）には、ディスプレイ・コントローラ（１０５）を介して、ディスプレイ（１０６）、例えば液晶ディスプレイ（ＬＣＤ）が接続されうる。また、液晶ディスプレイ（ＬＣＤ）は例えば、タッチパネル・ディスプレイ又はフローティング・タッチ・ディスプレイであてもよい。ディスプレイ（１０６）は、コンピュータ（１０１）上で動作中のソフトウェア（例えば、本発明の実施態様に従うコンピュータ・プログラム又は当該コンピュータ（１０１）上で動作中の任意の各種コンピュータ・プログラム（例えば、仮想環境を実現するためのプログラム）が稼働することによって表示されるオブジェクトを、適当なグラフィック・インタフェースで表示するために使用されうる。また、ディスプレイ（１０６）は例えば、本発明の実施態様において使用されうるＫＰＩリスト、ワークフロー実行情報、ワークフロー・グラフ、グラフ編集距離テーブル、又はカテゴリ分割の条件を出力しうる。
【００７９】
バス（１０４）には任意的に、例えばＳＡＴＡ又はＩＤＥコントローラ（１０７）を介して、ディスク（１０８）、例えばハードディスク又はソリッド・ステート・ドライブ（ＳＳＤ）が接続されうる。
【００８０】
バス（１０４）には任意的に、例えばＳＡＴＡ又はＩＤＥコントローラ（１０７）を介して、ドライブ（１０９）、例えばＣＤ、ＤＶＤ又はＢＤドライブが接続されうる。
【００８１】
バス（１０４）には、周辺装置コントローラ（１１０）を介して、例えばキーボード・マウス・コントローラ又はＵＳＢバスを介して、任意的に、キーボード（１１１）及びマウス（１１２）が接続されうる。
【００８２】
ディスク（１０８）には、オペレーティング・システム、例えばメインフレーム用に開発されたオペレーティング・システム（例えば、ｚ／ＯＳ、ｚ／ＶＭ、若しくはｚ／ＶＳＥ）、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）ＭａｃＯＳ（登録商標）、及びＡｎｄｒｏｉｄ（登録商標）、並びにＪ２ＥＥなどのＪａｖａ（登録商標）処理環境、Ｊａｖａ（登録商標）アプリケーション、Ｊａｖａ（登録商標）仮想マシン（ＶＭ）、Ｊａｖａ（登録商標）実行時（ＪＩＴ）コンパイラを提供するプログラム、本発明の実施態様に従うコンピュータ・プログラム、及びその他の任意の各種コンピュータ・プログラム、並びにデータが、メイン・メモリ（１０３）にロード可能なように記憶されうる。
【００８３】
また、ディスク（１０８）には例えば、本発明の第３の実施態様に従うコンピュータ・プログラムが、メイン・メモリ（１０３）にロード可能なように記憶されうる。
【００８４】
ディスク（１０８）は、コンピュータ（１０１）内に内蔵されていてもよく、当該コンピュータ（１０１）がアクセス可能なようにケーブルを介して接続されていてもよく、又は、当該コンピュータ（１０１）がアクセス可能なように有線又は無線ネットワークを介して接続されていてもよい。
【００８５】
ドライブ（１０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラム、例えばオペレーティング・システム、アプリケーション・プログラム又は本発明の実施態様に従うコンピュータ・プログラムをディスク（１０８）にインストールするために使用されうる。
【００８６】
通信インタフェース（１１４）は、例えばイーサネット（登録商標）・プロトコルに従う。通信インタフェース（１１４）は、通信コントローラ（１１３）を介してバス（１０４）に接続され、コンピュータ（１０１）を通信回線（１１５）に有線又は無線接続する役割を担い、コンピュータ（１０１）のオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インタフェース層を提供する。なお、通信回線は例えば、無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどのＷｉ-Ｆｉ無線ＬＡＮ環境、又は携帯電話網環境（例えば、３Ｇ、ＬＴＥ又は４Ｇ環境）でありうる。
【００８７】
図１Ｂは、本発明の実施態様において使用されうるコンピュータ又は本発明の実施態様に従うコンピュータの一例であって、当該コンピュータ上で１又は複数の仮想マシンを稼働させる場合を示した図である。当該コンピュータ（１２１）は例えば、ワークステーション、ラックマウント型サーバ、ブレード型サーバ、ミッドレンジ、メインフレームなどのコンピュータ装置として構成されうる。
【００８８】
図１Ｂに示すコンピュータ（１２１）は、ハードウェア・リソース（１２２）として、１又は複数のＣＰＵ（１３１）、メイン・メモリ（１３２）、ストレージ（１３３）、通信コントローラ（１３４）、及び通信インタフェース（１３５）を備えうる。上記１又は複数のＣＰＵ（１３１）、メイン・メモリ（１３２）、ストレージ（１３３）、通信コントローラ（１３４）、及び通信インタフェース（１３５）並びに通信回線（１３６）はそれぞれ、図１Ａに示すコンピュータ（１０１）の１又は複数のＣＰＵ（１０２）、メイン・メモリ（１０３）、ディスク（１０８）、通信コントローラ（１１３）、及び通信インタフェース（１１４）、並びに通信回線（１１５）それぞれに対応しうる。
【００８９】
また、コンピュータ（１２１）は、物理ホストマシンとして稼働し、また、仮想化ソフトウェア（例えば、ＶＭＷａｒｅ（登録商標）、Ｈｙｐｅｒ−Ｖ（登録商標）、Ｘｅｎ（登録商標））のハイパーバイザ（仮想化モニター又は仮想化ＯＳとも呼ばれる）（１２３）上で、同一の又は異なるＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標））をゲストＯＳ（１５６）とした１又は複数の仮想マシン１〜ｎ（１２５−１〜１２５−２）（ドメインＵ又はチャイルド・パーティションとも呼ばれる）を稼働させることが可能である。
【００９０】
また、コンピュータ（１２１）は、上記ハイパーバイザ（１２３）上で、管理用仮想マシン（１２４）（ドメイン０又はペアレント・パーティションとも呼ばれる）を稼働させることが可能である。管理用仮想マシン（１２４）は、管理用ＯＳ（１４１）、当該管理用ＯＳ（１４１）上で動作する制御モジュール（１４２）、及び仮想リソース（１４３）を含む。制御モジュール（１４２）は、ハイパーバイザ（１２３）に対しコマンドを発行するモジュールである。また、制御モジュール（１４２）は、ハイパーバイザ（１２３）に対して、ユーザドメインの仮想マシン１〜ｎ（１２５−１〜１２５−２）の作成、及びゲストＯＳ（１５６）の起動の命令を発行し、仮想マシン１〜ｎ（１２５−１〜１２５−２）の動作を制御する。仮想リソース（１４３）は、管理用仮想マシン（１２４）の為に割り当てられたハードウェア・リソース（１２２）である。
【００９１】
仮想マシン１〜ｎ（１２５−１〜１２５−２）は、仮想リソース、ゲストＯＳ（１５６）、及び、ゲストＯＳ（１５６）上で動作する種々のアプリケーション１〜ｎ（１５７−１〜１５７−３）を含む。仮想リソースは例えば、仮想ＣＰＵ（１５１）、仮想メモリ（１５２）、仮想ディスク（１５３）、仮想通信コントローラ（１５４）及び仮想通信インタフェース（１５５）を含む。
【００９２】
以下において、コンピュータ（１０１）と記載する場合には、図１Ａに示すコンピュータ（１０１）の代わりに、図１Ｂに示すコンピュータ（１２１）であってもよいことを理解されたい。
【００９３】
図２Ａ〜図２Ｄに示すフローチャートは、本発明の実施態様に従い、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める処理の為のフローチャートを示す。
【００９４】
以下において、図２Ａ〜図２Ｄそれぞれに示すフローチャートを、図３Ａ〜図３Ｄ、図４及び図５を参照しながら説明する。図３Ａは、本発明の実施態様において使用されうるＫＰＩリストの例を示す。図３Ｂは、本発明の実施態様において使用されうるプロセス実行情報の例を示す。図３Ｃは、本発明の実施態様において生成されうるワークフロー・グラフを示す。図３Ｄは、本発明の実施態様において保存されうるワークフロー・グラフの領域の条件の例を示す。図４は、本発明の実施態様において作成されうるグラフ編集距離テーブルの例を示す。図５は、本発明の実施態様において、グラフ編集距離テーブルが更新される例を示す。
【００９５】
図２Ａは、本発明の実施態様に従い、複数のワークフロー実行情報から、重要業績評価指標（ＫＰＩ）のカテゴリ分割の条件を求める処理全体のフローチャートを示す。
【００９６】
ステップ２０１において、コンピュータ（１０１）は、ＫＰＩのカテゴリ分割の条件を求める処理を開始する。
【００９７】
ステップ２０２において、コンピュータ（１０１）は、ＫＰＩリストを、例えば当該ＫＰＩリストを格納した記憶媒体から取得する。ＫＰＩリストは、或るＫＰＩの種類ｍと、当該種類ｍに関連付けられた分割数Ｋとを含むセットを少なくとも１つ有する。分割数Ｋは、或るＫＰＩの種類ｍに対するワークフロー実行情報ｐ（総数ｎ）の分割数である。
【００９８】
ＫＰＩリストの例を図３Ａに示す。ＫＰＩリスト（３０１）は、ワークフローに関する種類ｍと当該種類ｍに関連付けられた分割数Ｋとを含むセットを複数有する。
【００９９】
ＫＰＩの種類ｍは、ＫＰＩの対象となる業務に関連する事項であれば特に限定されるものでない。例えば、金融分野（例えば、保険商品名、金融商品名）、工業分野（例えば、自動車部品名）、ソフトウェア分野（例えば、プログラム・ファイル名又はドキュメントなどの開発成果物名）などのワークフロー実行情報が生じるソフトウェアを所有する全ての業務に関連する種類が含まれる。
【０１００】
ＫＰＩの種類ｍは、統計的手法の尺度水準に従い、例えば数値データ（量的データとも言われる）又はカテゴリ・データ（質的データとも言われる）に分類されうる。但し、数値データかカテゴリ・データかが不明である場合には、本発明の実施態様において、数値データは、ソート可能であるかどうかによって判断されうる。ソート可能なデータである場合には数値データであり、ソートが不可能なデータはカテゴリ・データでありうる。
【０１０１】
ＫＰＩの種類ｍが数値データであることは例えば、ワークフローの処理時間、ワークフロー実行中に特定のページを見た回数、ワークフロー実行中で特定のタスクから特定のタスクまでにかかった時間、ワークフロー実行時間に対する特定にタスク処理にかかった時間の割合、又は年代、でありうる（図３ＡのＫＰＩリスト（３０１）を参照）が、これらに限定されるものでない。
【０１０２】
ＫＰＩの種類ｍがカテゴリ・データであることは例えば、ワークフロー開始条件、ワークフロー実行に関わる属性（商品名）、ワークフロー実行者に関わる属性（例えば、役職など）でありうる（図３ＡのＫＰＩリスト（３０１）を参照）が、これらに限定されるものでない。
【０１０３】
分割数Ｋは、ＫＰＩリストに予め与えられていてもよく、又は、下記に示す手法により算出されてもよい。
【０１０４】
分割数Ｋは、ＫＰＩの種類ｍが数値データである場合には、統計手法、例えばスタージェスの公式（Sturges' formula）、スコットの選択（Scott's choice）、平方根選択（Square-root choice）、フリードマン−ダイアコニスの選択（Freedman-Diaconis' choice）、又はL2危険関数推定の最小化に基づく選択を用いて自動的に算出されうる。
【０１０５】
分割数Ｋは、ＫＰＩの種類ｍが数値データ（例えば、ワークフロー実行時間）である場合には、当該種類ｍに関連付けられた分割数Ｋは実行時間に対して例えば１０分割というように定められうる。
【０１０６】
分割数Ｋは、ＫＰＩの種類ｍがカテゴリ・データである場合には、当該種類ｍに関するカテゴリ数、又は、当該種類ｍに関連付けられた値でありうる。当該種類ｍに関するカテゴリ数は例えば、カテゴリの数から求められうる。例えば、ワークフロー開始条件がＹｅｓ又はＮｏで示される場合には、当該カテゴリ数は２である。従って、分割数は、２と求められうる。また、当該種類ｍに関連付けられた値は例えば、ワークフロー実行者に関わる属性であり、例えば役職でありうる。
【０１０７】
また、ステップ２０２において、コンピュータ（１０１）は、ワークフロー実行情報ｐ（総数ｎ）を、例えば当該ワークフロー実行情報ｐを格納した記憶媒体から取得する。ワークフロー実行情報ｐの例を図３Ｂに示す。なお、図３Ｂに示すコードにおいて、当該コードの左横に示す数字（０１〜３３）は説明を容易にする為に付した行番号であり、コードを記載する上では必要のないものであることに留意されたい。なお、ＫＰＩリストの取得とワークフロー実行情報ｐの取得は、どちらを先に取得してもよく、又は同時に取得してもよい。
【０１０８】
図３Ｂに示すワークフロー実行情報（３１１）は、ＸＭＬベースで記載されており、２つのプロセス・インスタンス（ProcessInstance id="0"）（行０４〜行１７，３２１）及び（ProcessInstance id="4"）（行１８〜行３１，３２２）を有している。プロセス・インスタンス（ProcessInstance id="0"）（３２１）は、ＫＰＩの種類ｍ（DURATION）及びＫＰＩの値（314001）のセット（行０５）、ＫＰＩの種類ｍ（START_TYPE）及びＫＰＩの値（new）のセット（行０６）、並びに、ＫＰＩの種類ｍ（HELP_PAGE_ACCESS）及びＫＰＩの値（0）のセット（行０７）の３つを有している。プロセス・インスタンス（ProcessInstance id="4"）（３２２）は、ＫＰＩの種類ｍ（DURATION）及びＫＰＩの値（363491）のセット（行１９）、ＫＰＩの種類ｍ（START_TYPE）及びＫＰＩの値（update）のセット（行２０）、並びに、ＫＰＩの種類ｍ（HELP_PAGE_ACCESS）及びＫＰＩの値（1）のセット（行２１）の３つを有している。
【０１０９】
このように、ワークフロー実行情報ｐは、１又は複数のプロセス・インスタンスを有し、且つ、各プロセス・インスタンスは、ＫＰＩの種類ｍ及び、当該種類ｍに関連付けられた値のセットを１つ又は複数有しうる。
【０１１０】
ＫＰＩが付与されているワークフロー情報をＸＭＬベースで出力する技法については例えば、非特許文献４を参照されたい。
【０１１１】
ステップ２０３において、コンピュータ（１０１）は、ＫＰＩリスト中のＫＰＩの全ての種類ｍそれぞれについて、以下に示すステップ２０４〜２０８を実行する処理を開始する。
【０１１２】
ステップ２０４において、コンピュータ（１０１）は、ＫＰＩリストからＫＰＩの１つの種類ｍを取得する。これは、ＫＰＩの種類ｍごとに、カテゴリ分割の条件を定める為である。
【０１１３】
ステップ２０５において、コンピュータ（１０１）は、ワークフロー実行情報ｐをＫ個に分割し、Ｋ個に分割されたワークフロー実行情報ｐから、ワークフロー・グラフＧ＿ｋを生成し、各ワークフロー・グラフＧ＿ｋの領域の条件を保存する。ステップ２０５の処理の詳細については、図２Ｂに示すフローチャートに従って以下において詳しく説明する。
【０１１４】
ステップ２０６において、コンピュータ（１０１）は、ステップ２０５で生成したワークフロー・グラフＧ＿ｋそれぞれに対するグラフ編集距離（Graph Edit Distance）ｄを算出する。ステップ２０６の処理の詳細については、図２Ｃに示すフローチャートに従って以下において詳しく説明する。
【０１１５】
ステップ２０７において、コンピュータ（１０１）は、ステップ２０６で算出したグラフ編集距離ｄのうち、当該グラフ編集距離ｄが最短である２つのワークフロー・グラフをマージして、新たなワークフロー・グラフのグループを生成する。ステップ２０７の処理の詳細については、図２Ｄに示すフローチャートに従って以下において詳しく説明する。
【０１１６】
ステップ２０８において、コンピュータ（１０１）は、新たなグループを定義する値を、カテゴリ分割の条件として求める。
【０１１７】
上記新たなグループを定義する値は、ＫＰＩの種類ｍが数値データである場合には、当該数値データにおける最小値から最大値までの範囲の値（閾値でもある）である。コンピュータ（１０１）は、上記数値データ中の値を、上記カテゴリ分割の条件として求める。
【０１１８】
上記新たなグループを定義する値は、ＫＰＩの種類ｍがカテゴリ・データである場合には、上記新たなグループを定義するカテゴリの名前（任意に付与される、マージ後のカテゴリの名前でありうる）である。コンピュータ（１０１）は、当該カテゴリの名前を、上記カテゴリ分割の条件として求める。
【０１１９】
上記のようにして、コンピュータ（１０１）は、ログをフィルタする際のカテゴリ分割の条件（ＫＰＩの閾値を含む）を自動的に求めることが可能である。
【０１２０】
ステップ２０９において、コンピュータ（１０１）は、ＫＰＩのカテゴリ分割の条件を求める処理を終了する。
【０１２１】
図２Ｂは、図２Ａに示すフローチャートのうち、ステップ２０５に示す処理の詳細を示すフローチャートである。
【０１２２】
ステップ２１１において、コンピュータ（１０１）は、ワークフロー実行情報ｐをＫ個に分割し、Ｋ個に分割されたワークフロー実行情報ｐから、ワークフロー・グラフＧ＿ｋを生成し、各ワークフロー・グラフＧ＿ｋの領域の条件を保存する処理を開始する。
【０１２３】
ステップ２１２において、コンピュータ（１０１）は、ステップ２０４で取得したＫＰＩの種類ｍが数値データであるかを判断する。コンピュータ（１０１）は、ＫＰＩの種類ｍが数値データであることに応じて、処理をステップ２１３に進める。一方、コンピュータ（１０１）は、ＫＰＩの種類ｍが数値データでないこと（すなわち、カテゴリ・データであること）に応じて、処理をステップ２１５に進める。
【０１２４】
ステップ２１３において、コンピュータ（１０１）は、ＫＰＩの種類ｍが数値データであることに応じて、当該種類ｍの値ｘに基づいて、ワークフロー実行情報ｐ（総数ｎ）をソートする。
【０１２５】
ステップ２１４において、コンピュータ（１０１）は、ステップ２１３でソート後の全てのワークフロー実行情報ｐをＫ個に分割し（Ｋ＜ｎ）、グループｋ（ｋはグループのインデックスである）とする。
【０１２６】
ステップ２１５において、コンピュータ（１０１）は、ＫＰＩの種類ｍが数値データでないこと（すなわち、カテゴリ・データであること）に応じて、当該種類ｍの値ｘに基づいて、全てのワークフロー実行情報ｐ（総数ｎ）をＫ個に分割し、グループｋ（ｋは、グループのインデックスである）とする。かかる場合の分割値Ｋは、ＫＰＩの値ｘの種類ｍの数に相当する。
【０１２７】
ステップ２１６において、コンピュータ（１０１）は、ｋを初期化する。
【０１２８】
ステップ２１７において、コンピュータ（１０１）は、ｋ＜Ｋ（分割数）であるかを判定する。コンピュータ（１０１）は、ｋ＜Ｋであることに応じて、処理をステップ２１８に進める。一方、コンピュータ（１０１）は、ｋ＜Ｋでないこと（Ｋ＜ｋであること）に応じて、処理を終了ステップ２２１に進める。
【０１２９】
ステップ２１８において、コンピュータ（１０１）は、グループｋに属するワークフロー実行情報ｐ（総数ｎ）から、例えばαアルゴリズム（又は、alpha miner）、Heuristic miner、Genetic miner、Fuzzy miner、Transition system miner、Transition system to petri net、Declare miner、ILP miner、Simple log filter、Dotted chart analysis、Trace alignment、Guidetree miner、Social network miner、LTL checker、Fitness、ETConformance、Reply log on flexible model、PomPom、又はTransition system analyzerを使用して、ワークフロー・グラフＧ＿ｋを生成する。ステップ２１８を１回経由する毎に、ワークフロー・グラフＧ＿ｋが一つ生成される。
【０１３０】
ステップ２１８で生成されたワークフロー・グラフＧ＿ｋの例を図３Ｃに示す。図３Ｃに示す例は、ＫＰＩの種類ｍが数値データであり、当該種類ｍの値ｘに基づいて、ワークフロー実行情報ｐ（総数ｎ）をソート後に、全てのワークフロー実行情報ｐをＫ個に分割した場合のワークフロー・グラフＧ＿ｋの例である。
【０１３１】
図３Ｃは、分割された各領域（３４１，３４２，・・・，及び３４３）それぞれに属するワークフロー実行情報（実行順にソートされている）から、ワークフロー・グラフＧ＿ｋ（Ｇ０（３５１），Ｇ１（３５２），・・・，及びＧｋ−１（３５３））が生成したことを示す。ν０〜νｎ−１は、ワークフローの処理時間を示す。ρ０〜ρｎ−１は、ワークフロー実行情報を示す。
【０１３２】
ステップ２１９において、コンピュータ（１０１）は、ワークフロー・グラフＧ＿ｋの条件を保存する。
【０１３３】
ステップ２１９で保存したワークフロー・グラフＧ＿ｋの条件の例を図３Ｄに示す。図３Ｄは、ワークフロー・グラフＧ０（３７１），Ｇ１（３７２），Ｇ２（３７３），・・・，及びＧｋ−１（３７４）それぞれの条件を示す。ステップ２１９を１回経由する毎に、ワークフロー・グラフＧ＿ｋの条件の一つが保存される。
【０１３４】
ステップ２２０において、コンピュータ（１０１）は、ｋを１インクリメントする。そして、コンピュータ（１０１）は、処理をステップ２１７に戻して、ステップ２１７〜２２０を繰り返す。
【０１３５】
ステップ２２１において、コンピュータ（１０１）は、ワークフロー実行情報ｐをＫ個に分割し、Ｋ個に分割されたワークフロー実行情報から、ワークフロー・グラフＧ＿ｋを生成し、各ワークフロー・グラフＧ＿ｋの領域の条件を保存する処理を終了する。
【０１３６】
図２Ｃは、図２Ａに示すフローチャートのうち、ステップ２０６に示す処理の詳細を示すフローチャートである。
【０１３７】
ステップ２３１において、コンピュータ（１０１）は、ワークフロー・グラフＧ＿ｋそれぞれに対するグラフ編集距離ｄを算出する処理を開始する。
【０１３８】
ステップ２３２において、コンピュータ（１０１）は、グラフ編集距離ｄを格納する為のグラフ編集距離テーブル（Ｋ行×Ｋ列）を作成する。
【０１３９】
ステップ２３２で生成されたグラフ編集距離テーブル（Ｋ行×Ｋ列）の例を図４に示す。図４に示す例は、Ｇａ（Ｋ行）×Ｇｂ（Ｋ列）のグラフ編集距離テーブル（４０１）である。ただし、グラフ編集距離テーブル（４０１）中のテーブル・エントリのうち、値（グラフ編集距離ｄ）を持つのは、上三角領域（又は下三角領域）のみであり、従って、（Ｋ×Ｋ−Ｋ）／２箇所のみである。
【０１４０】
ステップ２３３において、コンピュータ（１０１）は、グラフ編集距離テーブルのａ行のインデックスを初期化する。
【０１４１】
ステップ２３４において、コンピュータ（１０１）は、グラフ編集距離テーブルのｂ列インデックスにａ＋１を代入する。これは、Ｇａ＝Ｇｂの場合には、グラフ編集距離が不要である為である。
【０１４２】
ステップ２３５において、コンピュータ（１０１）は、ステップ２０５で生成したワークフロー・グラフＧ＿ｋから、２つのワークフロー・グラフＧ＿ａ及びＧ＿ｂを取得する。
【０１４３】
ステップ２３６において、コンピュータ（１０１）は、ワークフロー・グラフＧ＿ａとワークフロー・グラフＧ＿ｂとのグラフ編集距離ｄ（ａ，ｂ）を算出する。
【０１４４】
ステップ２３７において、コンピュータ（１０１）は、グラフ編集距離テーブル（３０１）のａ行及びｂ列にグラフ編集距離ｄ（ａ，ｂ）を保存する。ステップ２３７を１回経由する毎に、グラフ編集距離テーブル（３０１）のテーブル・エントリの一つにグラフ編集距離ｄ（ａ，ｂ）が保存される。
【０１４５】
ステップ２３８において、コンピュータ（１０１）は、ｂ＜Ｋ（分割数）であるか判断する。コンピュータ（１０１）は、ｂ＜Ｋであることに応じて処理をステップ２３９に進める。一方、コンピュータ（１０１）は、ｂ＜Ｋでないこと（Ｋ＜ｂであること）に応じて処理をステップ２４０に進める。
【０１４６】
ステップ２３９において、コンピュータ（１０１）は、ｂ＜Ｋであることに応じて、グラフ編集距離テーブルのａ列インデックスにａ＋１を代入する。次の行のグラフ編集距離を算出する為である。
【０１４７】
ステップ２４０において、コンピュータ（１０１）は、Ｋ＜ｂであることに応じて、グラフ編集距離テーブルのｂ列インデックスにｂ＋１を代入する。次の列のグラフ編集距離を算出する為である。そして、コンピュータ（１０１）は、処理をステップ２３５に戻す。
【０１４８】
ステップ２４１において、コンピュータ（１０１）は、ａ＜Ｋ（分割数）であるか判断する。コンピュータ（１０１）は、ａ＜Ｋであることに応じて処理を終了ステップ２４２に進める。一方、コンピュータ（１０１）は、ａ＜Ｋでないこと（Ｋ＜ａであること）に応じて処理をステップ２３４に戻す。
【０１４９】
ステップ２４２において、コンピュータ（１０１）は、ワークフロー・グラフＧ＿ｋそれぞれに対するグラフ編集距離ｄを算出する処理を終了する。
【０１５０】
ステップ２４２におけるグラフ編集距離ｄを算出する処理終了時のグラフ編集距離テーブルの例を図４に示す。グラフ編集距離テーブル（４０２）では、その上三角領域にあるテーブル・エントリにグラフ編集距離ｄが保存されている。
【０１５１】
図２Ｄは、図２Ａに示すフローチャートのうち、ステップ２０７に示す処理の詳細を示すフローチャートである。
【０１５２】
ステップ２５１において、コンピュータ（１０１）は、グラフ編集距離ｄが最短である２つのグラフをマージして、新たなグループを生成する処理を開始する。
【０１５３】
ステップ２５２において、コンピュータ（１０１）は、任意的に、グラフ編集距離テーブルに保存されている編集距離ｄを昇順にソートする。
【０１５４】
ステップ２５３において、コンピュータ（１０１）は、最も小さいグラフ編集距離ｄの２つのワークフロー・グラフＧ＿ａ及びＧ＿ｂを取得する。例えば、図５に示すグラフ編集距離テーブル（４０２）において、ワークフロー・グラフＧ０及びワークフロー・グラフＧ２のグラフ編集距離が０である（すなわち、グラフの形が同じである）為に、ワークフロー・グラフＧ０及びワークフロー・グラフＧ２のグラフ編集距離が最も小さいグラフ編集距離である。
【０１５５】
ステップ２５４において、コンピュータ（１０１）は、ｄ＜Ｄであるか判断する。Ｄは、グラフ編集距離の閾値であり、任意の数値に予め設定されうる。Ｄは例えば、0.3である。コンピュータ（１０１）は、ｄ＜Ｄであることに応じて、処理をステップ２５５に進める。すなわち、コンピュータ（１０１）は、一定の距離Ｄになるまで、ステップ２５５〜２５８の処理を繰り返し行う。一方、コンピュータ（１０１）は、ｄ＜Ｄでないこと（Ｄ＜ｄであること）に応じて、処理を終了ステップ２５９に進める。
【０１５６】
ステップ２５５において、コンピュータ（１０１）は、ワークフロー・グラフＧ＿ａに属するワークフロー実行情報及びワークフロー・グラフＧ＿ｂに属するワークフロー実行情報から、新しいワークフロー・グラフＧ＿ａｂを生成する。
【０１５７】
ステップ２５６において、コンピュータ（１０１）は、グラフ編集距離テーブルから、新しいワークフロー・グラフＧ＿ａｂの生成元であるワークフロー・グラフＧ＿ａ及びワークフロー・グラフＧ＿ｂの行及び列（すなわち、ａ行、ａ列、ｂ行及びｂ列）を削除し、グラフ編集距離テーブルを更新する。
【０１５８】
ステップ２５６でワークフロー・グラフＧ＿ａ及びワークフロー・グラフＧ＿ｂの行及び列が削除されたグラフ編集距離テーブルの例を図５に示す。図５に示すグラフ編集距離テーブル（５０１）では、グラフ編集距離テーブル（４０１）から、グラフ編集距離が最も小さいワークフロー・グラフＧ０及びワークフロー・グラフＧ２それぞれの行及び列が削除されている。
【０１５９】
ステップ２５７において、コンピュータ（１０１）は、グラフ編集距離テーブルに、新しいワークフロー・グラフＧ＿ａｂに対する行及び列を追加する。
【０１６０】
ステップ２５７で新しいワークフロー・グラフＧ＿ａｂに対する行及び列が追加されたグラフ編集距離テーブルの例を図５に示す。図５に示すグラフ編集距離テーブル（５０２）では、グラフ編集距離テーブル（５０１）に、新しいワークフロー・グラフ（Ｇ０，Ｇ２）に対する行及び列が追加されている。
【０１６１】
ステップ２５８において、コンピュータ（１０１）は、新しいワークフロー・グラフＧ＿ａｂに対する行及び列のグラフ編集距離を算出し、当該算出したグラフ編集距離をグラフ編集距離テーブルに追加して、当該グラフ編集距離テーブルを更新する。図５に示すグラフ編集距離テーブル（５０２）において、塗りつぶしたテーブル・エントリ（５１２）のグラフ編集距離が算出される。
【０１６２】
ステップ２５９において、コンピュータ（１０１）は、グラフ編集距離ｄが最短である２つのグラフをマージして、新たなグループを生成する処理を終了する。
【０１６３】
図６は、図１Ａ又は図１Ｂに従うハードウェア構成を好ましくは備えており、図２Ａ〜図２Ｄそれぞれに示すフローチャートに従って本発明の実施態様を実施するコンピュータの機能ブロック図の一例を示す図である。
【０１６４】
コンピュータ（６０１）は、例えば図１Ａに示すコンピュータ（１０１）に示されている構成、例えばＣＰＵ（１０２）、メイン・メモリ（１０３）、記憶装置（１０８）、及びディスク（１０８）を備えている。
【０１６５】
コンピュータ（６０１）は、分割手段（６１１）、グラフ生成手段（６１２）、グラフ編集距離算出手段（６１３）、及びグラフ・マージ手段（６１４）を備えている。また、コンピュータ（６０１）は任意的に、カテゴリ分割条件算出手段（６１５）をさらに備えていてもよい。また、コンピュータ（６０１）は任意的に、分割数決定手段（６１６）をさらに備えていてもよい。
【０１６６】
分割手段（６１１）は、ＫＰＩリストを格納した記録媒体（６９１）からＫＰＩリストを取得すると共に、ワークフロー実行情報を格納した記録媒体（６９２）からワークフロー実行情報を取得し、当該取得した複数のワークフロー実行情報をＫＰＩの種類についての分割数で分割する。
【０１６７】
また、分割手段（６１１）は、ＫＰＩの種類が数値データであることに応じて、上記種類に関連付けられた上記値に基づいて、上記複数のワークフロー実行情報をソートし、及び、上記ソート後の上記複数のワークフロー実行情報を上記分割数で分割しうる。
【０１６８】
また、分割手段（６１１）は、図２Ａに記載のステップ２０４及びステップ２０５のうちのワークフロー実行情報ｐの分割処理、並びに、図２Ｂに記載のステップ２１２〜２１５を実行しうる。
【０１６９】
グラフ生成手段（６１２）は、ＫＰＩの種類についての分割数で分割した後の複数のグループそれぞれについて、当該グループ中に属するワークフロー実行情報からワークフロー・グラフを生成する。
【０１７０】
また、グラフ生成手段（６１２）は、当該生成したワークフロー・グラフを、ワークフロー・グラフを格納する記憶媒体（６９３）に格納しうる。
【０１７１】
また、グラフ生成手段（６１２）は、生成したワークフロー・グラフの領域の条件を保存しうる。
【０１７２】
また、グラフ生成手段（６１２）は、図２Ａに記載のステップ２０５のうちのワークフロー・グラフＧ＿ｋの生成処理、並びに、図２Ｂに記載のステップ２１６〜２２０を実行しうる。
【０１７３】
グラフ編集距離算出手段（６１３）は、グラフ生成手段（６１２）によって生成された任意の２つのワークフロー・グラフそれぞれのグラフ編集距離を算出する。
【０１７４】
また、グラフ編集距離算出手段（６１３）は、グラフ・マージ手段（６１４）によって生成された新たなグループと他のワークフロー・グラフとのグラフ編集距離を算出しうる。
【０１７５】
また、グラフ編集距離算出手段（６１３）は、
（ｃ−１）任意の２つのワークフロー・グラフの組み合わせを取得する処理、
（ｃ−２）上記任意の２つのワークフロー・グラフの組み合わせに対してグラフ編集距離を算出する処理、
（ｃ−３）上記任意の２つのワークフロー・グラフの残りの組み合わせについて、処理（ｃ−１）及び処理（ｃ−２）を繰り返す処理
を実行しうる。
【０１７６】
また、グラフ編集距離算出手段（６１３）は、上記算出したグラフ編集距離をグラフ編集距離テーブルを格納した記憶媒体（６９４）に記録しうる。
【０１７７】
また、グラフ編集距離算出手段（６１３）は、グラフ・マージ手段（６１４）によって新たなグループが追加されたテーブルに対して、上記新たなグループに対して算出したグラフ編集距離をグラフ編集距離テーブルに記録しうる。
【０１７８】
また、グラフ編集距離算出手段（６１３）は、図２Ａに記載のステップ２０６、及び、図２Ｃに示す全ステップを実行しうる。
【０１７９】
グラフ・マージ手段（６１４）は、グラフ編集距離算出手段（６１３）によって算出されたグラフ編集距離が最短である２つのワークフロー・グラフをマージして新たなグループを生成する。
【０１８０】
また、グラフ・マージ手段（６１４）は、上記グラフ編集距離が最短である上記２つのワークフロー・グラフそれぞれに属するワークフロー実行情報から上記新たなグループを生成しうる。
【０１８１】
また、グラフ・マージ手段（６１４）は、上記グラフ編集距離が最短である２つのグループそれぞれの領域をマージして、上記新たなグループの領域の条件を保存しうる。
【０１８２】
また、グラフ・マージ手段（６１４）は、上記生成した新たなグループをグラフ編集距離テーブルに追加しうる。
【０１８３】
また、グラフ・マージ手段（６１４）は、グラフ編集距離が最短である２つのグループに属する２つのワークフロー・グラフをグラフ編集距離テーブルから削除しうる。
【０１８４】
また、グラフ・マージ手段（６１４）は、図２Ａに記載のステップ２０７、並びに、図２Ｄに記載の全ステップを実行しうる。
【０１８５】
カテゴリ分割条件算出手段（６１５）は、上記新たなグループを定義する値を上記カテゴリ分割の条件として求める。
【０１８６】
また、カテゴリ分割条件算出手段（６１５）は、上記ＫＰＩの種類が数値データである場合に、上記数値データ中の値を上記カテゴリ分割の条件として求めうる。
【０１８７】
また、カテゴリ分割条件算出手段（６１５）は、上記ＫＰＩの種類がカテゴリ・データである場合に、カテゴリの名前を上記カテゴリ分割の条件として求めうる。
【０１８８】
また、カテゴリ分割条件算出手段（６１５）は、図２Ａに記載のステップ２０８を実行しうる。
【０１８９】
分割数決定手段（６１６）は、ＫＰＩリストを格納した記録媒体（６９１）からＫＰＩリストを取得し、ＫＰＩの種類に対して分割数を決める。
【０１９０】
また、分割数決定手段（６１６）は、ＫＰＩの種類が数値データであることに応じて、統計手法を用いて、上記分割数を求めうる。
【０１９１】
また、分割数決定手段（６１６）は、ＫＰＩの種類がカテゴリ・データであることに応じて、上記種類に関するカテゴリ数、又は上記種類に関連付けられた値から上記分割数を求めうる。
【０１９２】
（実施例）
ウェブページ上のヘルプページのアクセス回数に依存して、ユーザがどのような処理をしているかを本発明の実施態様に従う処理を実行して調べた。その結果、カテゴリ分割の条件がアクセス回数２であることが求められた。アクセス回数が２回以下である場合には、ヘルプページの操作ガイダンスに従わずにユーザがヘルプページの閲覧をしており、一方、アクセス回数が２回よりも多い場合には、ヘルプページの操作ガイダンスに従ってユーザがヘルプページの閲覧をしていることが判った。
【０１９３】
従来手法に従うと、ヘルプページのアクセス回数をゼロから試行錯誤で逐一調べて、ワークフローを合成する必要があった。しかしながら、本発明の実施態様に従う処理を実行することによって、ＫＰＩの閾値（アクセス回数が２回以下、又はそれよりも多い）を自動的に検出することができる。従って、本発明の実施態様に従うと、従来手法の試行錯誤によりＫＰＩの閾値を探索する手間を省くことが可能になる。
【図１Ａ】
0006029119.tif 000002
【図１Ｂ】
0006029119.tif 000003
【図２Ａ】
0006029119.tif 000004
【図２Ｂ】
0006029119.tif 000005
【図２Ｃ】
0006029119.tif 000006
【図２Ｄ】
0006029119.tif 000007
【図３Ａ】
0006029119.tif 000008
【図３Ｂ】
0006029119.tif 000009
【図３Ｃ】
0006029119.tif 000010
【図３Ｄ】
0006029119.tif 000011
【図４】
0006029119.tif 000012
【図６】
0006029119.tif 000013
【図５】
0006029119.tif 000014