(57)【要約】【課題】並列且つ独立に実施された業務イベントを含む業務プロセス間の適切な類似度を算出する。【解決手段】比較元となる業務プロセスと比較先となる業務プロセスとの各々について、当該業務プロセスに含まれる業務イベントを、業務イベントの属性に基づくグループ別に時刻順でソートし、グループ毎に当該グループに対する直前グループ及び直後グループのうち少なくともいずれかを特定する。そして、グループのソート結果と、当該グループに対する直前グループ及び直後グループのうち少なくともいずれかを表すデータとの対を、比較元の業務プロセスと比較先の業務プロセスとで比較することにより、業務プロセス間で一致するグループ数を計数し、計数されたグループ数から業務プロセス間の類似度を算出する。【選択図】図６
2010271959.tif 000002
【特許請求の範囲】
【請求項１】
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出する方法であって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、
前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する第２前後グループ特定ステップと、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出ステップと、
を含み、コンピュータにより実行される業務プロセス間の類似度算出方法。
【請求項２】
前記第１前後グループ特定ステップが、
前記第１のグループのうち前記所定属性名が処理対象の前記第１のグループとは異なるグループである第１の候補グループの中から、処理対象の前記第１のグループ内の先頭の前記業務イベントの直前に実施されたとみなされる前記業務イベントが属するグループを前記直前グループとして特定するステップと、
前記第１の候補グループの中から、処理対象の前記第１のグループ内の最後尾の前記業務イベントの直後に実施されたとみなされる前記業務イベントが属するグループを前記直後グループとして特定するステップと、
を含み、
前記第２前後グループ特定ステップが、
前記第２のグループのうち前記所定属性名が処理対象の前記第２のグループとは異なるグループである第２の候補グループの中から、処理対象の前記第２のグループ内の先頭の前記業務イベントの直前に実施されたとみなされる前記業務イベントが属するグループを前記直前グループとして特定するステップと、
前記第２の候補グループの中から、処理対象の前記第２のグループ内の最後尾の前記業務イベントの直後に実施されたとみなされる前記業務イベントが属するグループを前記直後グループとして特定するステップと、
を含む、請求項１記載の業務プロセス間の類似度算出方法。
【請求項３】
前記類似度算出ステップが、
各前記第１のグループについて、当該第１のグループのソート結果と前記第１の付加データとの対が前記第２のグループのソート結果と前記第２の付加データとの対のいずれかと一致するか判断し、当該第１のグループのソート結果と前記第１の付加データとの対が前記第２のグループのソート結果と前記第２の付加データとの対のいずれかと一致すると判断された場合に、前記一致グループ数を１インクリメントするステップ
を含む、請求項１又は２記載の業務プロセス間の類似度算出方法。
【請求項４】
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出するプログラムであって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、
前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する第２前後グループ特定ステップと、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出ステップと、
をコンピュータに実行させるためのプログラム。
【請求項５】
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出するプロセス類似度算出装置であって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートし、前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするイベントソート手段と、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納し、前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する前後グループ特定手段と、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出手段と、
を有するプロセス類似度算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、業務プロセス分析技術に関する。
【背景技術】
【０００２】
例えば、業務プロセスの分析を行う場合、図２７に示すように、最も多く発生した業務イベント（以下、単にイベントと呼ぶ場合もある）の流れを把握するため、業務プロセス間の同一性を判断する必要がある。なお、ここでイベントとは、ある業務が実施されたことを示すものであり、イベント名、発生日時、業務上のキーなどの情報を持つ。
【０００３】
例えば、実施されたイベントを業務プロセス毎に時系列に並べ、イベントの並びが初めから終わりまで完全に一致するか否かによって業務プロセス間の同一性を判断する技術が存在する。すなわち、この技術では、図２８に示すような直列的なフローに従って業務プロセス間の同一性を判断する。
【０００４】
しかしながら、実際には、図２９に示すように、イベントａの後に、イベントｂ及びｃと、イベントｄ及びｅ（プロセス２では、イベントｄ及びｆ）とが並列に実施されているかもしれない。例えば、図２９において、分岐後の左側のフロー（「ｂ」−＞「ｃ」）に着目してみると、受注工程からの一連のフロー（「ａ」−＞「ｂ」−＞「ｃ」）は、プロセス１とプロセス２において一致している。すなわち、この場合、プロセス１とプロセス２は、受注工程から生産工程までの一連のフローについて、一部一致しているものと考えられる。しかしながら、上で述べた技術では、このような並列実施部分を識別することは非常に困難であるため、プロセス１とプロセス２は全体として不一致と判断されてしまう。また、上で述べた技術では、業務プロセス間に、一致する一連のフローがあるか否かを適切に判断できないため、業務プロセス間の適切な類似度を算出することもできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１３９３５８号公報
【特許文献２】特開２０００−２２２２１５号公報
【特許文献３】特開２００５−２５０９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のように、従来技術では、並列且つ独立に実施されたイベントを含む業務プロセス間の適切な類似度を算出することができない。
【０００７】
従って、本技術の目的は、並列且つ独立に実施されたイベントを含む業務プロセス間の適切な類似度を算出するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本業務プロセス間の類似度算出方法は、並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出する方法であり、業務イベント毎に当該業務イベントが属する業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する業務イベントを抽出し、抽出した業務イベントのグループである第１のグループ毎に、抽出した業務イベントを時刻順にソートするステップと、第１のグループの所定属性名と、第１のグループ内の業務イベントの時刻情報とによって特定される、第１のグループ間の関係に基づき、各第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された直前グループを表すデータと特定された直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、イベントデータ格納部から、比較先となる第２の業務プロセスに属する業務イベントを抽出し、抽出した業務イベントのグループである第２のグループ毎に、抽出した業務イベントを時刻順にソートするステップと、第２のグループの所定属性名と、第２のグループ内の業務イベントの時刻情報とによって特定される、第２のグループ間の関係に基づき、各第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された直前グループを表すデータと特定された直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて記憶装置に格納する第２前後グループ特定ステップと、記憶装置に格納された、第１のグループのソート結果と第１の付加データとの対と、記憶装置に格納された、第２のグループのソート結果と第２の付加データとの対とを比較することにより一致グループ数を計数し、一致グループ数から第１の業務プロセスと第２の業務プロセス間の類似度を算出する類似度算出ステップとを含む。
【発明の効果】
【０００９】
並列且つ独立に実施されたイベントを含む業務プロセス間の適切な類似度を算出することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、業務プロセスの業務フローの一例を示す図である。
【図２】図２は、前提となる第１の技術を説明するための図である。
【図３】図３は、前提となる第２の技術を説明するための図である。
【図４】図４は、本技術の実施の形態における処理概要を説明するための図である。
【図５】図５は、本技術の実施の形態における処理概要を説明するための図である。
【図６】図６は、本技術の実施の形態におけるプロセス類似度算出装置の機能ブロック図である。
【図７】図７（ａ）は、ＣＳＶファイル格納部に格納されるＣＳＶ形式のデータの一例を示し、図７（ｂ）は、ＣＳＶファイル格納部のデータをテーブル化した例を示す図である。
【図８】図８は、プロセステーブル格納部に格納されるデータの一例を示す図である。
【図９】図９は、イベントテーブル格納部に格納されるデータの一例を示す図である。
【図１０】図１０は、グループテーブル格納部に格納されるデータの一例を示す図である。
【図１１】図１１は、類似度算出処理の前処理の処理フローを示す図である。
【図１２】図１２は、類似度算出処理の処理フロー（第１の部分）を示す図である。
【図１３】図１３は、比較用データ生成処理の処理フローを示す図である。
【図１４】図１４は、イベントのソート結果の一例を示す図である。
【図１５】図１５（ａ）乃至（ｃ）は、ハッシュ値の算出例を示す図である。
【図１６】図１６は、比較用データ格納部に格納されるデータの一例を示す図である。
【図１７】図１７は、類似度算出処理の処理フロー（第２の部分）を示す図である。
【図１８】図１８（ａ）は、ＣＳＶファイル格納部に格納されるＣＳＶ形式のデータの一例を示し、図１８（ｂ）は、ＣＳＶファイル格納部のデータをテーブル化した例を示す図である。
【図１９】図１９は、プロセステーブル格納部に格納されるデータの一例を示す図である。
【図２０】図２０は、イベントテーブル格納部に格納されるデータの一例を示す図である。
【図２１】図２１は、グループテーブル格納部に格納されるデータの一例を示す図である。
【図２２】図２２は、イベントのソート結果の一例を示す図である。
【図２３】図２３（ａ）乃至（ｃ）は、ハッシュ値の算出例を示す図である。
【図２４】図２４は、比較用データ格納部に格納されるデータの一例を示す図である。
【図２５】図２５は、直前グループ及び直後グループのキー名を処理に用いる場合の例を示す図である。
【図２６】図２６は、直前グループ内の最後尾イベント及び直後グループ内の先頭イベントを処理に用いる場合の例を示す図である。
【図２７】図２７は、従来技術を説明するための図である。
【図２８】図２８は、従来技術の問題を説明するための図である。
【図２９】図２９は、従来技術の問題を説明するための図である。
【図３０】図３０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
例えば図１に示すような、並列実施部分を含む業務フローを想定した場合に、業務プロセス間の類似度を算出する方法として、次のような方法が考えられる。第１の方法として、図２に示すような、イベントをノードとするフロー図を生成し、ノードのトポロジを比較することにより、一致するノードの割合を類似度として算出する方法がある。本方法によれば、図２に示すように、５ノード中、４ノードが一致する（類似度＝４／５）と判断される。
【００１２】
また、第２の方法として、例えば業務上のキーなどに従って、図３に示すようにイベントをグループ化し、一致するグループの割合を類似度として算出する方法がある。なお、図３は、プロセスＸ内のイベントを、グループ３０１とグループ３０２とグループ３０３とに分類し、プロセスＹ内のイベントを、グループ３０４とグループ３０５とグループ３０６とに分類した例を示す。図３では、グループ３０２とグループ３０５とが一致しており、さらにグループ３０３とグループ３０６とが一致している。すなわち、本方法によれば、３グループ中、２グループが一致する（類似度＝２／３）と判断される。
【００１３】
しかしながら、図１に示した業務フローでは、生産工程同士は一致しているが、直前の受注工程のイベント（「受注」と「計画」）は異なっているので、受注工程から生産工程までの一連のフローは、いずれも一致していない。上で述べた第１の方法及び第２の方法では、分岐前のイベントを考慮するようにはなっておらず、一致する一連のフローが業務プロセス間に全く存在しない場合にも、一部一致することを示す値が類似度として算出されてしまう。すなわち、上で述べた第１の方法及び第２の方法では、必ずしも適切な類似度を算出できるとは言えない。
【００１４】
そこで、本実施の形態では、例えば業務上のキーなどに従ってイベントをグループ化し、各グループについて、前後のグループや前後のイベントを含めて業務プロセス間で一致するか否かを判断する。例えば、前後のイベントを含めてグループの一致判断を行う場合の一例を図４及び図５に示す。図４に示すようにイベントが受注グループと生産グループとにグループ化された場合、受注グループについては、受注グループ内のイベントと、直後のグループである生産グループ内の先頭イベントとを比較用データとして抽出する。また、生産グループについては、生産グループ内のイベントと、直前のグループである受注グループ内の最後尾イベントとを比較用データとして抽出する。例えば図５に示すようなデータが抽出される。そして、図５に示す比較用データに基づき、各グループが一致するか否か判断する。図５の例では、比較元プロセスにおける受注グループの比較用データ（すなわち、「受注」−＞「設計」−＞「生産」というイベントの並びを示すデータ）と一致するデータが、比較先プロセスにも存在するため、受注グループは一致すると判断される。また、比較元プロセスにおける生産グループの比較用データ（すなわち、「設計」−＞「生産」−＞「配送」というイベントの並びを示すデータ）と一致するデータは、比較先プロセスには存在しないため、生産グループは不一致と判断される。図４及び図５の例では、一致グループ数は１であり、グループの総数で除した値を類似度として算出する。その後、一致グループ数を、比較元プロセス又は比較先プロセス内のグループの総数で除した値を業務プロセス間の類似度として算出する。例えば図４及び５の例では、類似度＝１／２となる。以下、本技術の一実施の形態を説明する。
【００１５】
図６に、本技術の一実施の形態に係るプロセス類似度算出装置の機能ブロック図の一例を示す。図６の例では、プロセス類似度算出装置は、ＣＳＶ（Comma Separated Value）ファイル格納部１と、イベントデータ管理部３と、プロセステーブル格納部５と、イベントテーブル格納部７と、グループ管理部９と、グループテーブル格納部１１と、入力部１３と、比較用データ生成部１５と、比較用データ格納部１７と、類似度算出部１９と、類似度格納部２１と、出力部２３とを有する。
【００１６】
なお、イベントデータ管理部３は、ＣＳＶファイル格納部１に格納され且つイベントデータを含むＣＳＶファイルからイベントデータを読み出し、プロセステーブル格納部５及びイベントテーブル格納部７にレコードを追加する。また、イベントデータ管理部３は、読み出したイベントデータをグループ管理部９に出力する。グループ管理部９は、イベントデータ管理部３からイベントデータを受信すると、グループテーブル格納部１１に格納されているデータに基づきイベントが属するグループを特定し、グループＩＤをイベントテーブル格納部７に登録する。また、グループ管理部９は、イベントがいずれのグループにも属さない場合には、そのイベントに対応する新たなグループをグループテーブル格納部１１に登録する。入力部１３は、ユーザから比較元プロセス及び比較先プロセスの選択入力を受け付け、選択データを比較用データ生成部１５に出力する。比較用データ生成部１５は、入力部１３から選択データを受信すると、後で説明する比較用データ生成処理を実施し、生成した比較用データを比較用データ格納部１７に格納する。また、比較用データ生成部１５は、比較用データ生成処理が完了すると、類似度算出部１９に類似度算出指示を出力する。類似度算出部１９は、比較用データ生成部１５から類似度算出指示を受信すると、イベントテーブル格納部７とグループテーブル格納部１１と比較用データ格納部１７とに格納されているデータを用いて業務プロセス間の類似度を算出し、算出した類似度を類似度格納部２１に格納する。出力部２３は、プロセステーブル格納部５に格納されているデータに基づきプロセス一覧データを生成して出力したり、類似度格納部２１に格納されているデータに基づき類似度一覧データを生成して出力したりする。
【００１７】
また、比較用データ生成部１５は、グループ内のイベントを時刻順にソートするイベントソート部１５１と、直前グループ及び直後グループを特定する前後グループ特定部１５３とを有する。
【００１８】
ＣＳＶファイル格納部１に格納されるデータの一例を図７（ａ）及び（ｂ）に示す。なお、ＣＳＶファイル格納部１には、図７（ａ）に示すような、カンマで区切られたデータが格納されるが、見やすいように図７（ｂ）に示すようなテーブルで表すものとする。図７（ｂ）に示すテーブルには、ＣＳＶファイル格納部１には、プロセスＩＤの列と、キー名の列と、キー値の列と、イベント名の列と、時刻情報の列とが含まれる。その他の属性情報がさらに含まれる場合もある。なお、実施されたイベントのデータがＣＳＶファイルに次々と書き込まれる。
【００１９】
また、プロセステーブル格納部５に格納されるプロセステーブルの一例を図８に示す。図８の例では、プロセステーブルには、プロセスＩＤが格納される。
【００２０】
また、イベントテーブル格納部７に格納されるイベントテーブルの一例を図９に示す。図９の例では、イベントテーブルには、イベントＩＤの列と、プロセスＩＤの列と、グループＩＤの列と、イベント名の列と、時刻情報の列とが含まれる。なお、その他の属性情報がさらに含まれる場合もある。詳細は後で説明するが、プロセスＩＤ、イベント名及び時刻情報の各列には、ＣＳＶファイル格納部１から読み出されたデータが設定される。また、イベントＩＤの列には、各イベントを識別可能な番号が設定される。さらに、グループＩＤの列には、以下で説明するグループテーブル（図１０）におけるグループＩＤのいずれかが設定される。
【００２１】
また、グループテーブル格納部１１に格納されるグループテーブルの一例を図１０に示す。図１０の例では、グループテーブルには、グループＩＤの列と、プロセスＩＤの列と、キー名の列と、キー値の列とが含まれる。なお、キー名及びキー値の列には、ＣＳＶファイル格納部１から読み出されたデータが設定される。また、グループＩＤの列には、各グループを識別可能な番号が設定される。
【００２２】
次に、図６に示したプロセス類似度算出装置の処理内容を図１１乃至図２６を用いて説明する。プロセス類似度算出装置は、類似度算出処理の前処理として図１１に示すような処理を周期的又は任意のタイミングで実施する。まず、イベントデータ管理部３が、ＣＳＶファイル格納部１に格納されているＣＳＶファイルの未処理の１行を特定し（図１１：ステップＳ１）、特定した行からプロセスＩＤ、キー名、キー値、イベント名及び時刻情報を抽出する（ステップＳ３）。なお、図１１に示す処理を過去に実施している場合には、前回の処理から今回の処理までの間にＣＳＶファイルに書き込まれた行を未処理の行とみなして処理する。
【００２３】
そして、イベントデータ管理部３は、抽出したプロセスＩＤがプロセステーブル格納部５のプロセステーブルに登録済みであるか判断する（ステップＳ５）。抽出したプロセスＩＤがプロセステーブルに登録済みである場合（ステップＳ５：Ｙｅｓルート）、以下で説明するステップＳ７の処理をスキップし、ステップＳ９の処理に移行する。
【００２４】
一方、抽出したプロセスＩＤがプロセステーブルに登録されていなければ（ステップＳ５：Ｎｏルート）、イベントデータ管理部３は、抽出したプロセスＩＤをプロセステーブルに追加登録する（ステップＳ７）。その後、ステップＳ９の処理に移行する。
【００２５】
そして、イベントデータ管理部３は、抽出したプロセスＩＤ、イベント名及び時刻情報を含むレコードをイベントテーブル格納部７のイベントテーブルに追加する（ステップＳ９）。この際、イベントデータ管理部３は、イベントを識別可能な番号（イベントＩＤ）を割り当て、レコードに設定する。なお、イベントテーブルにおけるグループＩＤの列には、この時点では、まだ何も設定されない。その後、イベントデータ管理部３は、抽出したプロセスＩＤ、キー名及びキー値をグループ管理部９に出力する。
【００２６】
そして、グループ管理部９は、イベントデータ管理部３からプロセスＩＤ、キー名及びキー値を受信すると、当該キー名及びキー値に対応するグループがグループテーブル格納部１１のグループテーブルに登録済みであるか判断する（ステップＳ１１）。キー名及びキー値に対応するグループがグループテーブルに登録済みである場合（ステップＳ１１：Ｙｅｓルート）、以下で説明するステップＳ１３の処理をスキップし、ステップＳ１５の処理に移行する。
【００２７】
一方、キー名及びキー値に対応するグループがグループテーブルに登録されていなければ（ステップＳ１１：Ｎｏルート）、グループ管理部９は、プロセスＩＤ、キー名及びキー値を含むレコードをグループテーブルに追加する（ステップＳ１３）。この際、グループ管理部９は、グループを識別可能な番号（グループＩＤ）を割り当て、レコードに設定する。その後、ステップＳ１５の処理に移行する。
【００２８】
そして、グループ管理部９は、イベントデータ管理部３から受信したキー名及びキー値を基にグループテーブルを検索し、当該キー名及びキー値に対応するグループＩＤを特定する。そして、グループ管理部９は、特定したグループＩＤを、イベントテーブルにおけるグループＩＤの列に設定する（ステップＳ１５）。なお、ステップＳ１３の処理を実施している場合には、キー名及びキー値に対応するグループＩＤが分かっているので、グループテーブルを検索する処理は省略可能である。その後、グループ管理部９は、グループＩＤの設定が完了した旨をイベントデータ管理部３に通知する。
【００２９】
そして、イベントデータ管理部３は、グループ管理部９から、グループＩＤの設定が完了した旨の通知を受信すると、ＣＳＶファイルの全行について処理が完了したか判断する（ステップＳ１７）。ＣＳＶファイルの全行について処理が完了していなければ（ステップＳ１７：Ｎｏルート）、ステップＳ１に戻り、次の行について上で述べた処理を実施する。一方、ＣＳＶファイルの全行について処理が完了した場合（ステップＳ１７：Ｙｅｓルート）、類似度算出処理の前処理を終了する。なお、処理終了時、今回最後に処理した行（すなわち、現時点のＣＳＶファイルの末尾行）の位置を、次回の処理のために保持しておく。
【００３０】
次に、プロセス類似度算出装置の類似度算出処理を図１２乃至図１７を用いて説明する。例えば、出力部２３は、ユーザからのプロセス一覧表示要求に応じて、プロセステーブル格納部５のプロセステーブルに基づきプロセス一覧データを生成し、表示装置等に表示する。そして、ユーザは、表示されたプロセス一覧の中から、比較元プロセス及び比較先プロセスを選択する。そして、入力部１３は、ユーザから比較元プロセス及び比較先プロセスの選択入力を受け付ける（図１２：ステップＳ２１）。そして、入力部１３は、選択データを比較用データ生成部１５に出力する。
【００３１】
そして、比較用データ生成部１５は、入力部１３から選択データを受信すると、イベントテーブル格納部７及びグループテーブル格納部１１に格納されているデータに基づき、比較元プロセスについて比較用データ生成処理を実施する（ステップＳ２３）。また、比較用データ生成部１５は、同じくイベントテーブル格納部７及びグループテーブル格納部１１に格納されているデータに基づき、比較先プロセスについて比較用データ生成処理を実施する（ステップＳ２５）。なお、ステップＳ２３及びステップＳ２５については処理順序を入れ替えることが可能である。また、並列に実行することも可能である。ステップＳ２３及びステップＳ２５の比較用データ生成処理については、図１３を用いてまとめて説明する。
【００３２】
まず、比較用データ生成部１５のイベントソート部１５１が、イベントテーブル格納部７から処理対象プロセスに含まれるイベントを抽出し、グループ毎に、当該グループに属するイベントを時刻順にソートしてソート結果を比較用データ格納部１７に格納する（図１３：ステップＳ５１）。例えば図９に示したようなデータがイベントテーブル格納部７に格納されている際に、比較元プロセス「Ｐ００１」及び比較先プロセス「Ｐ００２」の各々について本ステップの処理を実施した場合、図１４に示すようなソート結果となる。
【００３３】
その後、比較用データ生成部１５の前後グループ特定部１５３が、処理対象プロセスに含まれるグループのうち未処理のグループを特定する（ステップＳ５３）。そして、前後グループ特定部１５３は、グループテーブル格納部１１に格納されているキー名とイベントテーブル格納部７に格納されている時刻情報とを基に、特定されたグループに対する直前グループを探索する（ステップＳ５５）。具体的には、まず、処理対象プロセス内のグループのうち、キー名が、特定されたグループとは異なるグループを候補グループとして抽出する。そして、抽出した候補グループの中から、特定されたグループ内の先頭イベントの直前に実施されたとみなされるイベントが属するグループが存在するか判断し、該当するグループが存在すれば、直前グループとして抽出する。なお、特定されたグループ内の先頭イベントの直前に実施されたとみなされるイベントが存在しない場合には、直前グループは存在しないものと判断する。
【００３４】
例えば、図９及び図１０に示したようなデータがイベントテーブル格納部７及びグループテーブル格納部１１にそれぞれ格納されている場合、グループ「Ｇ００１」、グループ「Ｇ００２」及びグループ「Ｇ００３」については、以下のように判断される。すなわち、グループ「Ｇ００１」については、候補グループとしてグループ「Ｇ００２」及びグループ「Ｇ００３」が抽出される。しかし、グループ「Ｇ００１」内のイベント「受注」の直前に実施されたとみなされるイベントが候補グループ中に存在しないため、グループ「Ｇ００１」に対する直前グループは存在しないものと判断される。また、グループ「Ｇ００２」については、候補グループとしてグループ「Ｇ００１」が抽出される。そして、グループ「Ｇ００２」内のイベント「生産」の直前に実施されたとみなされるイベント「受注」が候補グループであるグループ「Ｇ００１」に存在している。従って、グループ「Ｇ００１」が、グループ「Ｇ００２」に対する直前グループとして特定される。さらに、グループ「Ｇ００３」も同様に、候補グループとしてグループ「Ｇ００１」が抽出され、グループ「Ｇ００１」が、グループ「Ｇ００３］に対する直前グループとして特定される。なお、キー名及び時刻情報の他の情報を用いてグループ間の関係を特定するようにしてもよい。
【００３５】
そして、直前グループを検出した場合には（ステップＳ５７：Ｙｅｓルート）、前後グループ特定部１５３は、直前グループのハッシュ値を算出し、特定されたグループのソート結果に対応付けて比較用データ格納部１７に格納する（ステップＳ５９）。例えば直前グループに含まれるイベントを時系列に並べ、時系列データに対して、ＳＨＡ１（Secure Hash Algorithm 1）などの技術を用いてハッシュ値を算出する。例えば、イベント「受注」を含むグループ「Ｇ００１」又はグループ「Ｇ００４」が直前グループとして特定された場合には、図１５（ａ）に示すようなハッシュ値「６ｂ・・・」が算出される。
【００３６】
一方、直前グループを検出しなければ（ステップＳ５７：Ｎｏルート）、ステップＳ５９の処理をスキップし、ステップＳ６１の処理に移行する。
【００３７】
そして、前後グループ特定部１５３は、グループテーブル格納部１１に格納されているキー名とイベントテーブル格納部７に格納されている時刻情報とを基に、特定されたグループに対する直後グループを探索する（ステップＳ６１）。具体的には、まず、処理対象プロセス内のグループのうち、キー名が、特定されたグループとは異なるグループを抽出する。そして、抽出したグループの中から、特定されたグループ内の最後尾イベントの直後に実施されたとみなされるイベントが属するグループを直後グループとして抽出する。なお、直後グループが複数抽出される場合もある。また、特定されたグループ内の最後尾イベントの直後に実施されたとみなされるイベントが存在しない場合には、直後グループは存在しないものと判断する。
【００３８】
例えば、図９及び図１０に示したようなデータがイベントテーブル格納部７及びグループテーブル格納部１１にそれぞれ格納されている場合、グループ「Ｇ００１」、グループ「Ｇ００２」及びグループ「Ｇ００３」については、以下のように判断される。すなわち、グループ「Ｇ００１」については、候補グループとしてグループ「Ｇ００２」及びグループ「Ｇ００３」が抽出される。そして、グループ「Ｇ００１」内のイベント「受注」の直後に実施されたとみなされるイベント「生産」が候補グループであるグループ「Ｇ００２」及び「Ｇ００３」に存在している。従って、グループ「Ｇ００２」及びグループ「００３」が、グループ「Ｇ００１」に対する直後グループとして特定される。また、グループ「Ｇ００２」については、候補グループとしてグループ「Ｇ００１」が抽出される。しかし、グループ「Ｇ００２」内のイベント「配送」の直後に実施されたとみなされるイベントが候補グループ内に存在しないため、グループ「Ｇ００２」に対する直後グループは存在しないものと判断される。なお、グループ「Ｇ００３」についても同様に、直後グループは存在しないものと判断される。
【００３９】
そして、直後グループを検出した場合には（ステップＳ６３：Ｙｅｓルート）、前後グループ特定部１５３は、直後グループのハッシュ値を算出し、特定されたグループのソート結果に対応付けて比較用データ格納部１７に格納する（ステップＳ６５）。例えば、イベント「生産」及び「配送」を含むグループ「Ｇ００２」、グループ「Ｇ００３」又はグループ「Ｇ００５」が直後グループとして特定された場合には、図１５（ｂ）に示すようなハッシュ値「１ｄ・・・」が算出される。また、例えば、イベント「生産」及び「キャンセル」を含むグループ「Ｇ００６」が直後グループとして特定された場合には、図１５（ｃ）に示すようなハッシュ値「１ａ・・・」が算出される。
【００４０】
一方、直後グループを検出しなければ（ステップＳ６３：Ｎｏルート）、ステップＳ６５の処理をスキップし、ステップＳ６７の処理に移行する。
【００４１】
そして、前後グループ特定部１５３は、処理対象プロセスに含まれる全てのグループについて処理が完了したか判断する（ステップＳ６７）。処理対象プロセスに含まれる全てのグループについて処理が完了していなければ（ステップＳ６７：Ｎｏルート）、ステップＳ５３の処理に戻り、上で述べた処理を繰り返す。一方、処理対象プロセスに含まれる全てのグループについて処理が完了した場合（ステップＳ６７：Ｙｅｓルート）、比較用データ生成処理を終了し、元の処理に戻る。
【００４２】
図１６に、比較用データ格納部１７に格納されるデータの一例を示す。例えば、プロセス「Ｐ００１」のグループ「Ｇ００１」については、自グループのソート結果と直後グループであるグループ「Ｇ００２」のハッシュ値との対が格納されている。なお、グループ「Ｇ００２」のハッシュ値とグループ「Ｇ００３」のハッシュ値とは同じ値「１ｄ・・・」であるため、図１６では、ソート結果とハッシュ値との対を１組のみ示しているが、ハッシュ値が異なる直後グループが複数存在する場合には、ソート結果とハッシュ値との対も複数格納されることとなる。また、グループ「Ｇ００２」については、自グループのソート結果と直前グループであるグループ「Ｇ００１」のハッシュ値との対が格納されている。さらに、グループ「Ｇ００３」についても、自グループのソート結果と直前グループであるグループ「Ｇ００１」のハッシュ値との対が格納されている。また、プロセス「Ｐ００２」のグループ「Ｇ００４」については、自グループのソート結果と直後グループであるグループ「Ｇ００５」のハッシュ値との対と、自グループのソート結果と直後グループであるグループ「Ｇ００６」のハッシュ値との対との２つが格納されている。さらに、グループ「Ｇ００５」については、自グループのソート結果と直前グループであるグループ「Ｇ００４」のハッシュ値との対が格納されている。また、グループ「Ｇ００６」についても、自グループのソート結果と直前グループであるグループ「Ｇ００４」のハッシュ値との対が格納されている。
【００４３】
以上のような処理を実施することにより、業務プロセス間でグループが一致するかを前後グループを含めて判断できるようになる。
【００４４】
図１２の説明に戻って、比較用データ生成処理（ステップＳ２３及びステップＳ２５）が完了すると、比較用データ生成部１５は、類似度算出指示を類似度算出部１９に出力する。そして、類似度算出部１９は、比較用データ生成部１５から類似度算出指示を受信すると、一致グループ数を０に設定する（ステップＳ２７）。
【００４５】
そして、類似度算出部１９は、比較元プロセスに含まれるグループのうち未処理のグループを特定する（ステップＳ２９）。そして、類似度算出部１９は、比較用データ格納部１７に格納されているデータに従って、比較先プロセス内に、特定されたグループと一致するグループが存在するか判断する（ステップＳ３１）。なお、比較用データ格納部１７に格納されている、グループのソート結果と前後グループのハッシュ値との対のうち、比較元プロセス内のグループに係る対を第１の対と呼び、比較先プロセス内のグループに係る対を第２の対と呼ぶこととする。すなわち、ステップＳ３１では、特定されたグループに係る第１の対が、第２の対のいずれかと一致するか判断し、一致すると判断された場合には、特定されたグループと一致するグループが比較先プロセス内に存在すると判断する。なお、第１の対と一致した第２の対については、既に照合済みであることを示すフラグを設定するなどして、判断対象から除外するようにする。
【００４６】
また、あるグループに対する直前グループ又は直後グループが複数特定された場合には、当該グループに係る第１の対又は第２の対が複数存在することとなる。例えば、グループ「Ｇ００１」の直後グループとしてグループ「Ｇ００２」とグループ「Ｇ００３」とが特定され、グループ「Ｇ００２」とグループ「Ｇ００３」とが異なるハッシュ値を持つ場合、グループ「Ｇ００２」のハッシュ値を含む第１の対と、グループ「Ｇ００３」のハッシュ値を含む第１の対との２つが存在することとなる。この場合、本実施の形態では、いずれかの第１の対が、第２の対のいずれかと一致すれば、そのグループ（グループ「Ｇ００１」）については、一致するグループが比較先プロセス内に存在するものと判断する。
【００４７】
そして、比較先プロセス内に、特定されたグループと一致するグループが存在すると判断された場合（ステップＳ３１：Ｙｅｓルート）、類似度算出部１９は、一致グループ数を１インクリメントする（ステップＳ３３）。その後、ステップＳ３５の処理に移行する。
【００４８】
一方、比較先プロセス内に、特定されたグループと一致するグループは存在しないと判断された場合（ステップＳ３１：Ｎｏルート）、ステップＳ３３の処理をスキップし、ステップＳ３５の処理に移行する。
【００４９】
そして、類似度算出部１９は、比較元プロセスに含まれる全てのグループについて処理が完了したか判断する（ステップＳ３５）。比較元プロセスに含まれる全てのグループについて処理が完了した場合（ステップＳ３５：Ｙｅｓルート）、端子Ａを介してステップＳ３７（図１７）に以降する。
【００５０】
一方、比較元プロセスに含まれる全てのグループについて処理が完了していなければ（ステップＳ３５：Ｎｏルート）、ステップＳ２９の処理に戻り、上で述べた処理を繰り返す。
【００５１】
例えば、図１６に示したようなデータが比較用データ格納部１７に格納されている場合、グループ「Ｇ００１」に係る第１の対は、グループ「Ｇ００４」に係る第２の対と一致するため、グループ「Ｇ００１」に一致するグループが比較先プロセス内に存在すると判断される。また、グループ「Ｇ００２」に係る第１の対は、グループ「Ｇ００５」に係る第２の対と一致するため、グループ「Ｇ００２」に一致するグループが比較先プロセス内に存在すると判断される。なお、グループ「Ｇ００３」に係る第１の対は、グループ「Ｇ００５」に係る第２の対と一致するが、既に照合済みであるため、グループ「Ｇ００３」に係る第１の対と一致するものは存在しない。従って、グループ「Ｇ００３」に一致するグループは存在しないと判断される。すなわち、一致グループ数は２となる。
【００５２】
図１７の説明に移行して、端子Ａの後、類似度算出部１９は、一致グループ数を比較元プロセス又は比較先プロセスに含まれるグループの総数で除することにより、比較元プロセスと比較先プロセス間の類似度を算出し、類似度格納部２１に格納する（図１７：ステップＳ３７）。この際、比較元プロセスのプロセスＩＤ及び比較先プロセスのプロセスＩＤに対応付けて類似度格納部２１に格納する。
【００５３】
そして、類似度算出部１９は、比較元プロセスと比較先プロセスとの組み合わせ全てについて処理が完了したか判断する（ステップＳ３９）。比較元プロセスと比較先プロセスとの組み合わせ全てについて処理が完了していなければ（ステップＳ３９：Ｎｏルート）、端子Ｂを介してステップＳ２３（図１２）に戻り、未処理の組み合わせについて上で述べた処理を繰り返す。なお、新たな組み合わせに係る比較元プロセス又は比較先プロセスについて比較用データ生成処理（ステップＳ２３又はステップＳ２５）を過去に実施している場合には、２回目以降の比較用データ生成処理は省略可能である。
【００５４】
一方、比較元プロセスと比較先プロセスとの組み合わせ全てについて処理が完了した場合（ステップＳ３９：Ｙｅｓルート）、出力部２３が、類似度算出処理の算出結果を出力する（ステップＳ４１）。例えば、表示装置等に類似度の一覧を表示する。例えば類似度の高いものから表示する。そして、類似度算出処理を終了する。
【００５５】
以上のような処理を実施することにより、直前グループ及び直後グループのうち少なくともいずれかを含めて各グループの比較を行うので、分岐前又は分岐後のイベントを考慮した類似度を算出することができるようになる。
【００５６】
なお、図１８乃至図２４を用いて別の具体例を説明する。ここでは、図１８（ａ）に示すようなデータがＣＳＶファイル格納部１に格納されているものとする。図１８（ａ）は、ＣＳＶ形式のＣＳＶファイル格納部１のデータを示す。なお、図１８（ａ）に示したＣＳＶ形式のデータを見やすいようにテーブル形式にすると、例えば図１８（ｂ）に示すようなテーブルとなる。
【００５７】
図１８（ａ）に示したようなデータがＣＳＶファイル格納部１に格納されている場合に、類似度算出処理の前処理（図１１）が実施されると、プロセステーブル格納部５には、図１９に示すようなデータが設定される。さらに、イベントテーブル格納部７には、図２０に示すようなデータが設定される。また、グループテーブル格納部１１には、図２１に示すようなデータが設定される。
【００５８】
例えば、類似度算出処理（図１２）におけるステップＳ２１において、プロセス「Ｐ００３」を比較元プロセス、プロセス「Ｐ００４」を比較先プロセスとする選択入力を受け付けたものとする。そうすると、これらのプロセスについて、上で説明した比較用データ生成処理（ステップＳ２３及びステップＳ２５）が実施され、以下のようなデータが生成される。
【００５９】
具体的には、まず、比較用データ生成処理におけるステップＳ５１（図１３）の処理が実施されると、図２２に示すようなソート結果が得られる。図２２は、グループ「Ｇ０１１」乃至グループ「Ｇ０１６」の各グループについてのソート結果を示す。
【００６０】
その後、比較用データ生成処理におけるステップＳ５３乃至ステップＳ６７（図１３）の処理が実施されると、直前グループ及び直後グループのうち少なくともいずれかが特定され、直前グループ又は直後グループとして特定されたグループのハッシュ値が算出される。
【００６１】
図２３（ａ）乃至（ｃ）に、ハッシュ値の一例を示す。例えば、イベント「受注」を含むグループ「Ｇ０１１」が直前グループとして特定された場合には、図２３（ａ）に示すようなハッシュ値「６ｂ・・・」が算出される。また、イベント「計画」を含むグループ「Ｇ０１４」が直前グループとして特定された場合には、図２３（ｂ）に示すようなハッシュ値「７６・・・」が算出される。さらに、イベント「生産」及び「配送」を含むグループ「Ｇ０１２」、グループ「Ｇ０１３」、グループ「Ｇ０１５」又はグループ「Ｇ０１６」が直後グループとして特定された場合には、図２３（ｃ）に示すようなハッシュ値「１ｄ・・・」が算出される。
【００６２】
そして、比較用データ格納部１７には、図２４に示すようなデータが格納される。例えば、プロセス「Ｐ００３」のグループ「Ｇ０１１」については、自グループのソート結果と直後グループであるグループ「Ｇ０１２」（もしくはグループ「Ｇ０１３」）のハッシュ値との対が格納される。また、グループ「Ｇ０１２」については、自グループのソート結果と直前グループであるグループ「Ｇ０１１」のハッシュ値との対が格納される。さらに、グループ「Ｇ０１３」についても、自グループのソート結果と直前グループであるグループ「Ｇ０１１」のハッシュ値との対が格納される。また、プロセス「Ｐ００４」のグループ「Ｇ０１４」については、自グループのソート結果と直後グループであるグループ「Ｇ０１５」（もしくはグループ「Ｇ０１６」）のハッシュ値との対が格納される。さらに、グループ「Ｇ０１５」については、自グループのソート結果と直前グループであるグループ「Ｇ０１４」のハッシュ値との対が格納される。また、グループ「Ｇ０１６」についても、自グループのソート結果と直前グループであるグループ「Ｇ０１４」のハッシュ値との対が格納される。
【００６３】
そして、類似度算出処理におけるステップＳ２９乃至ステップＳ３５では、図２４に示したデータを基に、一致グループ数がカウントされる。なお、図２４に示したデータを比較した場合、プロセス「Ｐ００３」とプロセス「Ｐ００４」とで一致するグループは存在しないため、一致グループ数は０となる。すなわち、３グループ全て不一致（類似度＝０／３）と判断する。図２に示した第１の方法、図３に示した第２の方法では、一致する一連のフローが業務プロセス間に全く存在しない場合にも、一部一致することを示す類似度を算出していたが、本実施の形態によれば、一致する一連のフローが存在しないことを示す適切な類似度を算出することができる。
【００６４】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明したプロセス類似度算出装置の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００６５】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６６】
また、上では、ソート結果と直前グループ及び直後グループのハッシュ値との対を比較することで、一致するグループが存在するか否かを判断する例を説明したが、必ずしもハッシュ値を用いらなければならないわけではない。例えば図２５に示すように、直前グループ及び直後グループのキー名をハッシュ値の代わりに用いることも可能である。また、例えば図２６に示すように、直前グループ内の最後尾イベント及び直後グループの先頭イベントをハッシュ値の代わりに用いることも可能である。なお、直前グループ及び直後グループ内のイベントの時系列データを用いるようにしてもよい。また、直前グループと直後グループとが両方存在する場合には、予め定められた設定によってどちらか一方のみを考慮するような構成にすることも可能である。さらに、前方の全てのグループや、後方の全てのグループを考慮したりするような構成を採用することも可能である。
【００６７】
以上本実施の形態をまとめると以下のようになる。
【００６８】
本業務プロセス間の類似度算出方法は、並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出する方法であり、業務イベント毎に当該業務イベントが属する業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する業務イベントを抽出し、抽出した業務イベントのグループである第１のグループ毎に、抽出した業務イベントを時刻順にソートするステップと、第１のグループの所定属性名と、第１のグループ内の業務イベントの時刻情報とによって特定される、第１のグループ間の関係に基づき、各第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された直前グループを表すデータと特定された直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、イベントデータ格納部から、比較先となる第２の業務プロセスに属する業務イベントを抽出し、抽出した業務イベントのグループである第２のグループ毎に、抽出した業務イベントを時刻順にソートするステップと、第２のグループの所定属性名と、第２のグループ内の業務イベントの時刻情報とによって特定される、第２のグループ間の関係に基づき、各第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された直前グループを表すデータと特定された直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて記憶装置に格納する第２前後グループ特定ステップと、記憶装置に格納された、第１のグループのソート結果と第１の付加データとの対と、記憶装置に格納された、第２のグループのソート結果と第２の付加データとの対とを比較することにより一致グループ数を計数し、一致グループ数から第１の業務プロセスと第２の業務プロセス間の類似度を算出する類似度算出ステップとを含む。
【００６９】
このようにすれば、直前グループ及び直後グループのうち少なくともいずれかを含めて各グループの比較を行うので、分岐前又は分岐後のイベントを考慮した類似度を算出することができるようになる。
【００７０】
また、上で述べた第１前後グループ特定ステップが、第１のグループのうち所定属性名が処理対象の第１のグループとは異なるグループである第１の候補グループの中から、処理対象の第１のグループ内の先頭の業務イベントの直前に実施されたとみなされる業務イベントが属するグループを直前グループとして特定するステップと、第１の候補グループの中から、処理対象の第１のグループ内の最後尾の業務イベントの直後に実施されたとみなされる業務イベントが属するグループを直後グループとして特定するステップとを含むようにしてもよい。そして、上で述べた第２前後グループ特定ステップが、第２のグループのうち所定属性名が処理対象の第２のグループとは異なるグループである第２の候補グループの中から、処理対象の第２のグループ内の先頭の業務イベントの直前に実施されたとみなされる業務イベントが属するグループを直前グループとして特定するステップと、第２の候補グループの中から、処理対象の第２のグループ内の最後尾の業務イベントの直後に実施されたとみなされる業務イベントが属するグループを直後グループとして特定するステップとを含むようにしてもよい。例えば同一属性名のグループは、並列実施部分と考えられ、以上のように処理することで、並列実施部分を除いたグループの中から、直前グループ又は直後グループを適切に特定することができるようになる。
【００７１】
さらに、上で述べた類似度算出ステップが、一致グループ数を第１のグループ又は第２のグループの総数で除した値を類似度として算出するステップを含むようにしてもよい。これにより、業務プロセス全体のうちどのぐらい一致しているかを容易に把握できるようになる。
【００７２】
また、上で述べた類似度算出ステップが、各第１のグループについて、当該第１のグループのソート結果と第１の付加データとの対が第２のグループのソート結果と第２の付加データとの対のいずれかと一致するか判断し、当該第１のグループのソート結果と第１の付加データとの対が第２のグループのソート結果と第２の付加データとの対のいずれかと一致すると判断された場合に、一致グループ数を１インクリメントするステップを含むようにしてもよい。
【００７３】
さらに、直前グループを表すデータが、当該直前グループの所定属性名と、当該直前グループ内の業務イベントの時系列データから計算されるハッシュ値と、当該直前グループ内の最後尾の業務イベントのデータとのうちのいずれかである場合もある。さらに、直後グループを表すデータが、当該直後グループの所定属性名と、当該直後グループ内の業務イベントの時系列データから計算されるハッシュ値と、当該直後グループ内の先頭の業務イベントのデータとのうちのいずれかである場合もある。例えばハッシュ値を用いるようにすれば、直前グループ又は直後グループ内のイベントの並びを容易に比較できるようになる。
【００７４】
なお、上記処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。なお、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７５】
また、プロセス類似度算出装置は、図３０に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出する方法であって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、
前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する第２前後グループ特定ステップと、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出ステップと、
を含み、コンピュータにより実行される業務プロセス間の類似度算出方法。
【００７８】
（付記２）
前記第１前後グループ特定ステップが、
前記第１のグループのうち前記所定属性名が処理対象の前記第１のグループとは異なるグループである第１の候補グループの中から、処理対象の前記第１のグループ内の先頭の前記業務イベントの直前に実施されたとみなされる前記業務イベントが属するグループを前記直前グループとして特定するステップと、
前記第１の候補グループの中から、処理対象の前記第１のグループ内の最後尾の前記業務イベントの直後に実施されたとみなされる前記業務イベントが属するグループを前記直後グループとして特定するステップと、
を含み、
前記第２前後グループ特定ステップが、
前記第２のグループのうち前記所定属性名が処理対象の前記第２のグループとは異なるグループである第２の候補グループの中から、処理対象の前記第２のグループ内の先頭の前記業務イベントの直前に実施されたとみなされる前記業務イベントが属するグループを前記直前グループとして特定するステップと、
前記第２の候補グループの中から、処理対象の前記第２のグループ内の最後尾の前記業務イベントの直後に実施されたとみなされる前記業務イベントが属するグループを前記直後グループとして特定するステップと、
を含む、付記１記載の業務プロセス間の類似度算出方法。
【００７９】
（付記３）
前記類似度算出ステップが、
前記一致グループ数を前記第１のグループ又は前記第２のグループの総数で除した値を前記類似度として算出するステップ
を含む、付記１又は２記載の業務プロセス間の類似度算出方法。
【００８０】
（付記４）
前記類似度算出ステップが、
各前記第１のグループについて、当該第１のグループのソート結果と前記第１の付加データとの対が前記第２のグループのソート結果と前記第２の付加データとの対のいずれかと一致するか判断し、当該第１のグループのソート結果と前記第１の付加データとの対が前記第２のグループのソート結果と前記第２の付加データとの対のいずれかと一致すると判断された場合に、前記一致グループ数を１インクリメントするステップ
を含む、付記１乃至３のいずれか１つ記載の業務プロセス間の類似度算出方法。
【００８１】
（付記５）
前記直前グループを表すデータが、当該直前グループの前記所定属性名と、当該直前グループ内の前記業務イベントの時系列データから計算されるハッシュ値と、当該直前グループ内の最後尾の前記業務イベントのデータとのうちのいずれかであり、
前記直後グループを表すデータが、当該直後グループの前記所定属性名と、当該直後グループ内の前記業務イベントの時系列データから計算されるハッシュ値と、当該直後グループ内の先頭の前記業務イベントのデータとのうちのいずれかである
付記１乃至４のいずれか１つ記載の業務プロセス間の類似度算出方法。
【００８２】
（付記６）
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出するプログラムであって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納する第１前後グループ特定ステップと、
前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするステップと、
前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する第２前後グループ特定ステップと、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出ステップと、
をコンピュータに実行させるためのプログラム。
【００８３】
（付記７）
並列且つ独立に実施されたイベントを含む複数の業務イベントで表される業務プロセス間の類似度を算出するプロセス類似度算出装置であって、
前記業務イベント毎に当該業務イベントが属する前記業務プロセスの識別子と当該業務イベントの所定属性名及び当該所定属性名の属性値に基づくグループの識別子と時刻情報とを格納するイベントデータ格納部から、比較元となる第１の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第１のグループ毎に、抽出した前記業務イベントを時刻順にソートし、前記イベントデータ格納部から、比較先となる第２の業務プロセスに属する前記業務イベントを抽出し、抽出した前記業務イベントの前記グループである第２のグループ毎に、抽出した前記業務イベントを時刻順にソートするイベントソート手段と、
前記第１のグループの前記所定属性名と、前記第１のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第１のグループ間の関係に基づき、各前記第１のグループについて、当該第１のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第１の付加データとして、当該第１のグループのソート結果に対応付けて記憶装置に格納し、前記第２のグループの前記所定属性名と、前記第２のグループ内の前記業務イベントの前記時刻情報とによって特定される、前記第２のグループ間の関係に基づき、各前記第２のグループについて、当該第２のグループに対する直前グループ及び直後グループのうち少なくともいずれかを特定し、特定された前記直前グループを表すデータと特定された前記直後グループを表すデータとのうち少なくともいずれかを第２の付加データとして、当該第２のグループのソート結果に対応付けて前記記憶装置に格納する前後グループ特定手段と、
前記記憶装置に格納された、前記第１のグループのソート結果と前記第１の付加データとの対と、前記記憶装置に格納された、前記第２のグループのソート結果と前記第２の付加データとの対とを比較することにより一致グループ数を計数し、前記一致グループ数から前記第１の業務プロセスと前記第２の業務プロセス間の類似度を算出する類似度算出手段と、
を有するプロセス類似度算出装置。
【符号の説明】
【００８４】
１  ＣＳＶファイル格納部    ３  イベントデータ管理部
５  プロセステーブル格納部    ７  イベントテーブル格納部
９  グループ管理部    １１  グループテーブル格納部
１３  入力部    １５  比較用データ生成部
１７  比較用データ格納部    １９  類似度算出部
２１  類似度格納部    ２３  出力部
１５１  イベントソート部    １５３  前後グループ特定部
【図１】
2010271959.tif 000003
【図２】
2010271959.tif 000004
【図３】
2010271959.tif 000005
【図４】
2010271959.tif 000006
【図５】
2010271959.tif 000007
【図６】
2010271959.tif 000008
【図７】
2010271959.tif 000009
【図８】
2010271959.tif 000010
【図９】
2010271959.tif 000011
【図１０】
2010271959.tif 000012
【図１１】
2010271959.tif 000013
【図１２】
2010271959.tif 000014
【図１３】
2010271959.tif 000015
【図１４】
2010271959.tif 000016
【図１５】
2010271959.tif 000017
【図１６】
2010271959.tif 000018
【図１７】
2010271959.tif 000019
【図１８】
2010271959.tif 000020
【図１９】
2010271959.tif 000021
【図２０】
2010271959.tif 000022
【図２１】
2010271959.tif 000023
【図２２】
2010271959.tif 000024
【図２３】
2010271959.tif 000025
【図２４】
2010271959.tif 000026
【図２５】
2010271959.tif 000027
【図２６】
2010271959.tif 000028
【図２７】
2010271959.tif 000029
【図２８】
2010271959.tif 000030
【図２９】
2010271959.tif 000031
【図３０】
2010271959.tif 000032