(57)【要約】【課題】自動処理のうち、ユーザに説明が必要な処理を選択し、当該処理を行った理由について説明する情報を、ユーザが容易に理解できる情報として生成し提示する。【解決手段】説明情報生成装置１は、フローチャートで示される処理を示すノードのうち、説明対象となる説明対象ノードを決定する説明対象ノード決定部１１２と、説明対象ノードから、フローチャートにおいて矢印を反対に進んで到達する判断ノードを、所定のロジックに基づき、説明ポイントとして設定する説明ポイント設定部１１３と、説明ポイントして設定された判断ノードについて、フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出する説明パーツ抽出部１１４と、説明ポイントにおけるログで示される情報であるログ情報と抽出した説明パーツとを用いて説明情報を生成する説明情報生成部１２３とを備える。【選択図】図２
2017220134.tif 000002
【特許請求の範囲】
【請求項１】
処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置であって、
前記処理システムが実行する処理のフローチャートを読み込むフローチャート読込部と、
前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定する説明対象ノード決定部と、
前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定する説明ポイント設定部と、
前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出する説明パーツ抽出部と、
前記処理システムから出力されたログを取得するログ取得部と、
前記取得されたログの中から、前記説明ポイント設定部が設定した説明ポイントで示されるノードにおいて処理されたログを抽出する説明ポイントログ抽出部と、
前記説明ポイントにおけるログで示される情報であるログ情報と、前記説明パーツ抽出部が抽出した説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成する説明情報生成部と、
前記説明情報生成部が生成した説明情報を出力する説明情報出力部と、
を備えることを特徴とする説明情報生成装置。
【請求項２】
前記説明ポイント設定部が、前記説明対象ノードに対応する説明ポイントを設定するための前記所定のロジックは、
前記フローチャートにおいて、前記説明対象ノードから前記矢印を反対に進んで到達する最初の前記判断ノードを前記説明ポイントに含め、当該説明ポイントに含めた判断ノードからさらに矢印を反対に進んで次に到達するノードが判断ノードである場合には、当該判断ノードを前記説明ポイントに含めること、
であることを特徴とする請求項１に記載の説明情報生成装置。
【請求項３】
前記説明ポイント設定部が、前記説明対象ノードに対応する説明ポイントを設定するための前記所定のロジックは、
前記フローチャートにおいて、前記説明対象ノードから前記矢印を反対に進んで到達する最初の前記判断ノードを前記説明ポイントに含め、当該説明ポイントに含めた判断ノードからさらに矢印を反対に進んでノードを次々に到達していき、二度同じノードに至る場合、前記次々に到達したノードを前記説明ポイントに含めること、
であることを特徴とする請求項１に記載の説明情報生成装置。
【請求項４】
前記説明対象ノード決定部は、
前記フローチャートで示されるノードのうち、前記判断ノードを前記説明対象ノードとして抽出すること、
を特徴とする請求項１乃至請求項３のいずれか１項に記載の説明情報生成装置。
【請求項５】
処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置の説明情報生成方法であって、
前記説明情報生成装置は、
前記処理システムが実行する処理のフローチャートを読み込むステップと、
前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定するステップと、
前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定するステップと、
前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出するステップと、
前記処理システムから出力されたログを取得するステップと、
前記取得されたログの中から、前記設定された説明ポイントで示されるノードにおいて処理されたログを抽出するステップと、
前記説明ポイントにおけるログで示される情報であるログ情報と、前記抽出された説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成するステップと、
前記生成された説明情報を出力するステップと、
を実行することを特徴とする説明情報生成方法。
【請求項６】
処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置としてのコンピュータに、
前記処理システムが実行する処理のフローチャートを読み込む手順、
前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定する手順、
前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定する手順、
前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出する手順、
前記処理システムから出力されたログを取得する手順、
前記取得されたログの中から、前記設定された説明ポイントで示されるノードにおいて処理されたログを抽出する手順、
前記説明ポイントにおけるログで示される情報であるログ情報と、前記抽出された説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成する手順、
前記生成された説明情報を出力する手順、
を実行させるための説明情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログを解析することにより、処理を実行した理由を示す説明情報を生成する、説明情報生成装置、説明情報生成方法および説明情報生成プログラムに関する。
【背景技術】
【０００２】
現在、業務の自動化、システム化（自動処理）が様々な分野で進められている。この自動化、システム化（自動処理）が進むと、処理スピードが高速化する一方で、どうしてそのように処理されたのかについては、ユーザにとって直ちには分かりにくくなってしまう。従来は、この点に関し、自動処理のログ情報を掻き集め、その上で当該処理が行われた理由を示しているログを取捨選択していくなどの手間のかかる処理が必要であった。または、特定の自動処理についての結果を説明するために十分なログ出力を個々に設定するようなログ解析装置を個別に用意する必要があった（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６８７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した自動処理のログ情報を掻き集め解析する処理や、個々にログ出力を設定する処理には、該当する処理に関するログの抽出や解析を素早く行うことや、当該処理を実行した理由をユーザが容易に理解できる情報として提示することについては、更なる改善の余地があった。
【０００５】
このような点を鑑みて本発明がなされたのであり、本発明は、自動処理のうち、ユーザに説明が必要な処理を選択し、当該処理を行った理由について説明する情報を、ユーザが容易に理解できる情報として生成し提示することができる、説明情報生成装置、説明情報生成方法および説明情報生成プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、請求項１に記載の発明は、処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置であって、前記処理システムが実行する処理のフローチャートを読み込むフローチャート読込部と、前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定する説明対象ノード決定部と、前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定する説明ポイント設定部と、前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出する説明パーツ抽出部と、前記処理システムから出力されたログを取得するログ取得部と、前記取得されたログの中から、前記説明ポイント設定部が設定した説明ポイントで示されるノードにおいて処理されたログを抽出する説明ポイントログ抽出部と、前記説明ポイントにおけるログで示される情報であるログ情報と、前記説明パーツ抽出部が抽出した説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成する説明情報生成部と、前記説明情報生成部が生成した説明情報を出力する説明情報出力部と、を備えることを特徴とする説明情報生成装置とした。
【０００７】
また、請求項５に記載の発明は、処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置の説明情報生成方法であって、前記説明情報生成装置が、前記処理システムが実行する処理のフローチャートを読み込むステップと、前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定するステップと、前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定するステップと、前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出するステップと、前記処理システムから出力されたログを取得するステップと、前記取得されたログの中から、前記設定された説明ポイントで示されるノードにおいて処理されたログを抽出するステップと、前記説明ポイントにおけるログで示される情報であるログ情報と、前記抽出された説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成するステップと、前記生成された説明情報を出力するステップと、を実行することを特徴とする説明情報生成方法とした。
【０００８】
また、請求項６に記載の発明は、処理システムからログを収集して当該処理システムが実行した処理を解析する説明情報生成装置としてのコンピュータに、前記処理システムが実行する処理のフローチャートを読み込む手順、前記フローチャートで示される処理を示すノードのうち、当該処理を何故実行したのかの説明対象となるノードを示す説明対象ノードを決定する手順、前記説明対象ノードから、前記フローチャートにおいて、処理の流れを示す記号である矢印を反対に進んで到達するノードのうちの判断ノードを、所定のロジックに基づき、前記説明対象ノードが実行した処理の説明に必要となる判断を実行したノードを示す説明ポイントとして設定する手順、前記説明ポイントして設定された判断ノードについて、前記フローチャートで示される判断の内容を示す文字情報を説明パーツとして抽出する手順、前記処理システムから出力されたログを取得する手順、前記取得されたログの中から、前記設定された説明ポイントで示されるノードにおいて処理されたログを抽出する手順、前記説明ポイントにおけるログで示される情報であるログ情報と、前記抽出された説明パーツとを用いて、前記説明対象ノードが当該処理を何故実行したのかを説明する説明情報を生成する手順、前記生成された説明情報を出力する手順、を実行させるための説明情報生成プログラムとした。
【０００９】
このように、説明情報生成装置は、処理システムが実行するフローチャートで示される処理のうち、当該処理を何故実行したのかの説明対象となる説明対象ノードを決定し、その説明対象ノードに対応する判断ノードである説明ポイントを設定する。そして、説明情報生成装置は、説明ポイントとして設定した判断ノードの判断内容を示す文字情報である説明パーツと、当該判断ノードにおけるログのログ情報とを用いて、説明情報を生成する。
これにより、ユーザに説明が必要な処理について、その処理を実行した理由を示す説明情報を、ユーザが容易に理解できる情報として生成し提示することができる。
【００１０】
請求項２に記載の発明は、前記説明ポイント設定部が、前記説明対象ノードに対応する説明ポイントを設定するための前記所定のロジックが、前記フローチャートにおいて、前記説明対象ノードから前記矢印を反対に進んで到達する最初の前記判断ノードを前記説明ポイントに含め、当該説明ポイントに含めた判断ノードからさらに矢印を反対に進んで次に到達するノードが判断ノードである場合には、当該判断ノードを前記説明ポイントに含めること、であることを特徴とする請求項１に記載の説明情報生成装置とした。
【００１１】
このようにすることで、説明情報生成装置は、説明対象ノードが処理に至った直接的な分岐判断に絞って簡潔に当該処理の理由を説明することができる。
【００１２】
請求項３に記載の発明は、前記説明ポイント設定部が、前記説明対象ノードに対応する説明ポイントを設定するための前記所定のロジックが、前記フローチャートにおいて、前記説明対象ノードから前記矢印を反対に進んで到達する最初の前記判断ノードを前記説明ポイントに含め、当該説明ポイントに含めた判断ノードからさらに矢印を反対に進んでノードを次々に到達していき、二度同じノードに至る場合、前記次々に到達したノードを前記説明ポイントに含めること、であることを特徴とする請求項１に記載の説明情報生成装置とした。
【００１３】
このようにすることで、説明情報生成装置は、説明対象ノードが処理に至った理由について、フローチャートにおけるループ処理を考慮し、全体の判断の流れを分かりやすく説明することができる。
【００１４】
請求項４に記載の発明は、前記説明対象ノード決定部が、前記フローチャートで示されるノードのうち、前記判断ノードを前記説明対象ノードとして抽出すること、を特徴とする請求項１乃至請求項３のいずれか１項に記載の説明情報生成装置とした。
【００１５】
このようにすることで、説明情報生成装置は、フローチャートで示されるノードのうち、説明対象とするノードを自動で抽出し、説明情報を生成することができる。
【発明の効果】
【００１６】
本発明によれば、自動処理のうち、ユーザに説明が必要な処理を選択し、当該処理を行った理由について説明する情報を、ユーザが容易に理解できる情報として生成し提示する、説明情報生成装置、説明情報生成方法および説明情報生成プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る説明情報生成装置の処理概要を説明するための図である。図１（ａ）は、任意のフローチャートの一例を示す図である。図１（ｂ）は、説明情報の一例を示す図である。
【図２】本実施形態に係る説明情報生成装置の構成を示す機能ブロック図である。
【図３】本実施形態に係る説明情報生成装置の説明ポイント設定部が実行する説明ポイントの抽出事例（第１ロジック）と、説明情報とを説明するための図である。
【図４】本実施形態に係る説明情報生成装置の説明ポイント設定部が実行する説明ポイントの抽出事例（第１ロジック）を説明するための図である。
【図５】本実施形態に係る説明情報生成装置の説明ポイント設定部が実行する説明ポイントの抽出事例（第２ロジック）と、説明情報とを説明するための図である。
【図６】本実施形態に係るログおよびログフォーマットの一例を示す図である。
【図７】本実施形態に係る説明情報生成装置が実行する処理の流れ（設定時）を示すフローチャートである。
【図８】本実施形態に係る説明情報生成装置が実行する処理の流れ（運用時）を示すフローチャートである。
【発明を実施するための形態】
【００１８】
次に、本発明を実施するための形態（以下、「本実施形態」という。）における、説明情報生成装置１（図２参照）、説明情報生成方法および説明情報生成プログラムについて説明する。
【００１９】
＜発明の概要＞
まず、本発明の概要について説明する。
本実施形態に係る説明情報生成装置１は、自動処理を行う任意の処理システムについて、そのフローチャート情報を取り込む。そして、説明情報生成装置１は、当該処理システムにおいて、説明対象となる処理（後記するフローチャートにおける「説明対象ノード」）を何故実行するに至ったかを、フローチャートの分岐処理に着目して解析する。そして、説明情報生成装置１は、自動処理により出力されたログのうち、説明対象となる処理に関連する分岐処理（後記する「説明ポイント」）についてのログを抽出する。また、説明情報生成装置１は、説明対象となる処理に関連する分岐処理を実行するノード（説明ポイント）のフローチャートにおける文章等を抽出し、説明ポイントのログの情報（以下、「ログ情報」と称する。）と併せて、説明情報を生成し出力する。以下、より詳細に説明する。
【００２０】
図１は、本実施形態に係る説明情報生成装置１の処理概要を説明するための図である。
図１（ａ）は、任意の処理システムが実行する処理のフローチャートの一例を示す。また、図１（ｂ）は、図１（ａ）に示すフローチャートに基づき、本実施形態に係る説明情報生成装置１が、説明対象となる処理に関する説明情報１００を生成して、表示させた例を示す図である。
【００２１】
図１（ａ）は、任意の処理システム（自動処理システム）のフローチャートの一例として、通信ネットワークの輻輳制御システムにおける処理の流れを示している。この処理システム（輻輳制御システム）では、以下の処理が実行される。
まず、輻輳制御システムの輻輳制御装置が、ステップＳ００１において、通信ネットワーク内のＮＥ（ネットワーク装置）の処理負荷を計測する。そして、輻輳制御装置が、処理負荷が閾値以上か否かを判定する（ステップＳ００２）。処理負荷が閾値以上である場合は（ステップＳ００２→Ｙｅｓ）、ステップＳ００３に進む。
【００２２】
ステップＳ００３において、輻輳制御装置は、そのネットワーク装置において、輻輳制御が既に発動済みか否かを判定する。そして、輻輳制御装置は、輻輳制御が発動済みである場合には（ステップＳ００３→Ｙｅｓ）、処理を終える。一方、輻輳制御装置は、輻輳制御が発動済みでない場合には（ステップＳ００３→Ｎｏ）、輻輳制御を発動し（ステップＳ００４）、処理を終える。
【００２３】
また、ステップＳ００２において、輻輳制御装置が、処理負荷が閾値以上でないと判定した場合は（ステップＳ００２→Ｎｏ）、ステップＳ００５に進み、そのネットワーク装置において、輻輳制御が既に発動済みか否かを判定する。そして、輻輳制御装置は、輻輳制御が発動済みである場合には（ステップＳ００５→Ｙｅｓ）、輻輳制御を解除し（ステップＳ００６）、処理を終える。一方、輻輳制御装置は、輻輳制御が発動済みでない場合には（ステップＳ００５→Ｎｏ）、処理を終える。
【００２４】
上記のような、処理を実行する自動処理システムにおいて、ここでは、ステップＳ００４の処理「輻輳制御発動」が（ユーザに対し）説明対象となる処理であるとする。なお、ここでステップＳ００４の説明対象となる処理をフローチャートにおける「説明対象ノード」と称して説明する。本実施形態に係る説明情報生成装置１は、説明対象ノードからフローチャートを矢印（処理の流れを示す記号）の反対に進んで到達する判断ノードに着目し、説明対象ノードに対応する判断ノードを抽出する。ここでは、ステップＳ００４から矢印を反対に進んで到達するステップＳ００３とステップＳ００２を抽出する。この説明対象ノードからフローチャートを矢印の反対に進んで到達する判断ノード（説明対象ノードに対応する判断ノード）を以下「説明ポイント」と称する。
【００２５】
なお、本実施形態において、例えば、図１（ａ）に例示するようなフローチャートにおけるステップＳ００１やステップＳ００４の「処理」を実行する矩形で示す記号を「処理ノード」と称する。また、例えば、ステップＳ００２やステップＳ００３の判断を実行するひし形で示す記号を上記のように「判断ノード」と称する。また、フローチャートのおける「スタート」および「エンド」を示す記号について、それぞれ「始点ノード」「終点ノード」と称する。
【００２６】
説明情報生成装置１は、対象とする処理システムのフローチャートのうち、説明対象ノードを決定し、その説明対象ノードに対応する判断ノードである説明ポイントを抽出する。そして、抽出した説明ポイントのフローチャートにおける文章を抽出するとともに、「Ｙｅｓ」「Ｎｏ」の判断を抽出する。そして、説明情報生成装置１は、その説明ポイントで示される判断ノードに関するログを抽出する。このフローチャートから抽出した文章等（文字情報）とログの情報とに基づき、説明情報生成装置１は、図１（ｂ）に示すような説明情報１００を生成する。
【００２７】
図１（ｂ）に示す説明情報１００には、説明対象ノード（ここでは、ステップＳ００４）の処理を実行した理由が表示させる。この説明情報１００のうち、『』内は、フローチャートの説明ポイント（判断ノード）の文章を抽出した結果が表示される。また、下線部は、説明ポイント（判断ノード）の判断結果「Ｙｅｓ」「Ｎｏ」に対応付けた文章として、「であり」「でない」等の語句が表示される。さらに、説明ポイント（説明対象ノードに対応する判断ノード）が複数抽出された場合には接続する語句として「かつ」が表示される。なお、この説明ポイントの抽出手法の詳細は後記する。
一方、説明ポイント（説明対象ノードに対応する判断ノード）に関するログ情報から、その判断処理に関するパラメータが抽出されて、説明情報１００に表示される。
これにより、例えば、ステップＳ００４の処理が実行された理由として、「『処理負荷は閾値以上』であり、かつ、『輻輳制御発動済み』でないため。」の文字情報が表示され、併せて、ログから抽出した説明ポイント（説明対象ノードに対応する判断ノード）のパラメータに基づき、「処理負荷：９０％」「処理負荷閾値：７０％」が表示される。
【００２８】
このように、本実施形態に係る説明情報生成装置１によれば、処理システムが実行する自動処理のうち、ユーザに説明が必要な処理について、その処理を実行した理由を示す説明情報１００を、ユーザが容易に理解できる情報として生成し提示することができる。
【００２９】
＜説明情報生成装置の構成＞
次に、本実施形態に係る説明情報生成装置１の構成について説明する。
図２は、本実施形態に係る説明情報生成装置１の構成を示す機能ブロック図である。
説明情報生成装置１は、処理の説明対象となるフローチャートを実行する処理システム１０００に接続される。また、説明情報生成装置１は、当該処理システム１０００を外部から制御する管理装置（図示省略）等に接続されていてもよい。そして、説明情報生成装置１は、処理システム１０００の処理に関するフローチャート情報や処理システム１０００から出力されるログのログフォーマット等を、例えば、オフラインで入力情報として取得したり、管理装置等から取得したりすることにより記憶しておく。説明情報生成装置１は、取得したフローチャート情報と処理システム１０００が出力したログの情報とに基づき、説明情報１００を生成する。
【００３０】
この説明情報生成装置１は、制御部（図示省略）、入出力部１３および記憶部（図示省略）を備えるコンピュータにより構成される。
入出力部１３は、通信接続される処理システム１０００やその管理装置等との間の情報の入出力を行う。また、入出力部１３は、通信回線を介して情報の送受信を行う不図示の通信インタフェースと、キーボード等の入力手段やモニタ等の出力手段（表示装置）（いずれも図示省略）との間で入出力を行う入出力インタフェースとから構成される。
記憶部は、ハードディスクやフラッシュメモリ、ＲＡＭ（Random Access Memory）等の記憶手段からなり、取得したフローチャート情報やログフォーマット、ログ等を記憶する。また、この記憶部には、説明情報生成装置１の処理を実行するためのプログラム（説明情報生成プログラム）が格納される。
【００３１】
次に、説明情報生成装置１の処理を実行する制御部の機能について説明する。説明情報生成装置１の制御部は、大きく分けて変換ルール蓄積部１１とログ変換部１２とにより構成される（図２参照）。
変換ルール蓄積部１１は、対象となる処理システム１０００のフローチャート情報や、ログフォーマットを取得し、説明対象ノードを決定した上で、その説明対象ノードに対応する判断ノード（説明ポイント）を抽出する。また、変換ルール蓄積部１１は、抽出した説明ポイントで示される判断ノードの文章等（文字情報）を、説明情報１００を生成するための説明パーツとして抽出しておく。
ログ変換部１２は、処理システム１０００からログを取得して、説明ポイント（説明対象ノードに対応する判断ノード）に関するログを選択して抽出する。そして、ログ変換部１２は、抽出したログの情報（ログ情報）と、変換ルール蓄積部１１が抽出した説明パーツとを用いて、説明情報１００を生成し出力する。
【００３２】
図２に示すように、変換ルール蓄積部１１は、フローチャート読込部１１１、説明対象ノード決定部１１２、説明ポイント設定部１１３、説明パーツ抽出部１１４およびログフォーマット蓄積部１１５を含んで構成される。
また、ログ変換部１２は、ログ取得部１２１、説明ポイントログ抽出部１２２、説明情報生成部１２３および説明情報出力部１２４を含んで構成される。
【００３３】
まず、変換ルール蓄積部１１の各機能について説明する。
フローチャート読込部１１１は、処理システム１０００の管理装置等からやオフラインによる入力により、処理システム１０００が実行する処理に関するフローチャート情報を取得する。
【００３４】
説明対象ノード決定部１１２は、処理システム１０００のフローチャートで示される処理のうち、ユーザ等に対し何故その処理を実行するに至ったかの説明が必要とされる処理（フローチャート上でのノード）、すなわち、説明対象ノードを決定する。
説明対象ノード決定部１１２は、所定の手法で説明対象ノードを決定する。この所定の手法は、例えば、フローチャートで示されるノードのうち、判断ノードに着目し、判断ノードから矢印の方向に進んで、最初に到達する処理ノードを、説明対象ノードとして決定する。その他にも、説明対象ノード決定部１１２は、入出力部１３を介して、処理システム１０００のフローチャートで示される処理のうち、説明対象ノードに指定する情報（説明対象ノード指定情報）を管理装置等から取得し、その説明対象ノード指定情報に基づき、説明対象ノードを決定するようにしてもよい。
【００３５】
以下の説明においては、説明対象ノード決定部１１２は、フローチャートを用いて、判断ノードに着目し、その判断ノードから矢印の方向に進んで最初に到達する処理ノードを、説明対象ノードの候補として抽出する。そして、説明対象ノード指定情報を取得している場合には、説明対象ノードの候補の中から、指定されたノードを、説明対象ノードとして決定し、説明対象ノード指定情報を取得していない場合には、抽出された説明対象ノードの候補のすべてを、説明対象ノードとして決定するものとして説明する。
【００３６】
説明ポイント設定部１１３は、説明対象ノード決定部１１２が決定した説明対象ノード毎に、その説明対象ノードに対応する判断ノードを抽出し説明ポイントとして設定する。
説明ポイント設定部１１３は、以下に説明する（第１ロジック）、（第２ロジック）のいずれか、または、両方を用いて、説明ポイントを抽出する。（第１ロジック）と（第２ロジック）の相違は、フローチャートにおけるループ処理を考慮するか否かの違いである。
【００３７】
≪説明ポイント抽出の（第１ロジック）≫
（第１ロジック）は、フローチャートにおけるループ処理を考慮せず、説明対象ノードからフローチャートを矢印と反対に進んで到達する判断ノードを説明ポイントに含める処理である。具体的には、説明ポイント設定部１１３が、（第１ロジック）として、以下の手順を実行する。
【００３８】
〔手順１〕：説明対象ノードからフローチャートを矢印と反対に進んで到達する最初の判断ノードを、説明ポイントに含める。
〔手順ｊ〕（ｊ≧２の整数）：〔手順ｊ−１〕で説明ポイントに含めた判断ノードの直前のノード（フローチャートにおいて、その説明ポイントに含めた判断ノードから矢印と反対に進んで次に到達するノード）が判断ノードの場合（複数の判断ノードが該当する場合もある。）、当該判断ノードを説明ポイントに含める。なお、〔手順ｊ−１〕で説明ポイントに含めた判断ノードの直前のノードが判断ノードでない場合、説明ポイントの抽出を終了する。
ただし、〔手順１〕〔手順ｊ〕において、既に到達済みの判断ノードに二度目に至るか、始点ノードに至った時点でも説明ポイントの抽出を終了する。
【００３９】
以下、具体例を示して説明する。
・（第１ロジック）説明ポイントの抽出事例１
上記した図１（ａ）に示した例においては、説明対象ノードがステップＳ００４に決定されている。この場合、説明ポイント設定部１１３は、説明ポイント抽出の（第１ロジック）に基づき、〔手順１〕で、説明対象ノードであるステップＳ００４のノードからフローチャートを矢印に反対に進んで到達する最初の判断ノードであるステップＳ００３のノードを、説明ポイントに含める。
続いて、説明ポイント設定部１１３は、〔手順ｊ＝２〕で、〔手順１〕で説明ポイントに含めた判断ノードであるステップＳ００３のノードの直前のノードであり判断ノードであるステップＳ００２のノードを、説明ポイントに含める。
説明ポイント設定部１１３は、〔手順ｊ＝２〕において、説明ポイントに含めたステップＳ００２のノード（判断ノード）から、〔手順ｊ＝３〕において、さらに直前のノードについて判断ノードか否かを判断し、ここでは、ステップＳ００１が判断ノードではないため、処理を終了する。
以上より、説明ポイント設定部１１３は、ステップＳ００３およびステップＳ００２の判断ノードを、説明ポイントとして設定する。
【００４０】
・（第１ロジック）説明ポイントの抽出事例２
図３（ａ）に示すフローチャートの例においては、説明対象ノードがエンドノード（終点ノード）に決定されている。この場合、説明ポイント設定部１１３は、説明ポイント抽出の（第１ロジック）に基づき、〔手順１〕で説明対象ノードであるエンドノードからフローチャートを矢印に反対に進んで到達する最初の判断ノードであるステップＳ１０６のノードを、説明ポイントに含める。
続いて、説明ポイント設定部１１３は、〔手順ｊ＝２〕で、〔手順１〕で説明ポイントに含めたステップＳ１０６のノード（判断ノード）から、さらに直前のノード、ここでは、ステップＳ１０５のノードについて、判断ノードか否かを判断し、ここでは、ステップＳ１０５が判断ノードではないため、処理を終了する。
以上より、説明ポイント設定部１１３は、ステップＳ１０６の判断ノードを、説明ポイントとして設定する。なお、図３（ｂ）の説明は後記する。
【００４１】
・（第１ロジック）説明ポイントの抽出事例３
図４に示すフローチャートの例においては、説明対象ノードがエンドノード（終点ノード）に決定されている。この場合は、説明ポイント設定部１１３は、説明ポイント抽出の（第１ロジック）に基づき、〔手順１〕で説明対象ノードであるエンドノードからフローチャートを矢印に反対に進んで到達する最初の判断ノードである、ステップＳ２０１のノードと、ステップＳ２０３の２つのノードを、説明ポイントに含める。
続いて、説明ポイント設定部１１３は、説明ポイントに含めた複数（ここでは２つ）のノードそれぞれについて、〔手順ｊ〕を実行する。
まず、説明ポイント設定部１１３は、説明ポイントに含めたステップＳ２０１のノードについて、〔手順ｊ＝２〕を実行し、さらに直前のノードを判断するが、ここでは、直前のノードがスタートノード（始点ノード）であるので、処理を終了する。
また、説明ポイント設定部１１３は、説明ポイントに含めたステップＳ２０３のノードについて、〔手順ｊ＝２〕を実行し、〔手順１〕で説明ポイントに含めた判断ノードであるステップＳ２０３のノードの直前のノードであり判断ノードであるステップＳ２０１のノードを、説明ポイントに含める。なお、この場合、ステップＳ２０１は、すでに、説明ポイントに含まれている。続いて、説明ポイント設定部１１３は、説明ポイントに含めたステップＳ２０１のノードについて、〔手順ｊ＝３〕を実行し、さらに直前のノードを判断するが、ここでは、直前のノードがスタートノード（始点ノード）であるので、処理を終了する。
以上より、説明ポイント設定部１１３は、ステップＳ２０１およびステップＳ２０３の判断ノードを、説明ポイントとして設定する。
【００４２】
≪説明ポイント抽出の（第２ロジック）≫
次に、説明ポイント設定部１１３が実行する、説明ポイント抽出の（第２ロジック）について説明する。
（第２ロジック）は、フローチャートにおけるループ処理を考慮して、説明対象ノードからフローチャートを矢印と反対に進んで到達する判断ノードを説明ポイントに含める処理である。具体的には、説明ポイント設定部１１３が、（第２ロジック）として、以下の手順を実行する。
【００４３】
〔手順１〕：説明対象ノードからフローチャートを矢印と反対に進んで到達する最初の判断ノードを、説明ポイントに含める。
〔手順２〕：〔手順１〕で説明ポイントに含めた判断ノードからさらに同様に矢印と反対に進み（複数矢印がある場合は、ぞれぞれの矢印について反対に進み、次々にノードに到達していき）、二度同じノードに至る場合（ループとなっている場合）、その間に到達したすべてのノードを説明ポイントに含める。
ただし、上記〔手順１〕〔手順２〕で二度同じノードに至らない場合（ループとなっていない場合）、（第１ロジック）を実行する。
【００４４】
以下、具体例を示して説明する。
・（第２ロジック）説明ポイントの抽出事例
図５（ａ）に示すフローチャートの例においては、説明対象ノードがエンドノード（終点ノード）に決定されている。この場合、説明ポイント設定部１１３は、説明ポイント抽出の（第２ロジック）に基づき、〔手順１〕で説明対象ノードであるエンドノードからフローチャートを矢印に反対に進んで到達する最初の判断ノードであるステップＳ１０６のノードを、説明ポイントに含める。
続いて、説明ポイント設定部１１３は、〔手順２〕において、〔手順１〕で説明ポイントに含めた判断ノードであるステップＳ１０６のノードからさらに矢印と反対に進む。ここでは、ステップＳ１０２の直前の矢印において、ステップＳ１０６に戻る。つまり、二度同じノードに至ることになりループになっているとして、説明ポイント設定部１１３は、この間に到達したすべてのノード、ステップＳ１０２，Ｓ１０３，Ｓ１０４，Ｓ１０５，Ｓ１０６を説明ポイントに含める。なお、図５（ｂ）の説明は後記する。
【００４５】
説明ポイント設定部１１３が、（第１ロジック）、（第２ロジック）のいずれか、または、両方のうち、どのロジックを用いて、説明ポイントを抽出するかについては、この説明情報生成装置１の管理者等（ユーザ）が予め設定しておくものとする。
なお、（第１ロジック）のように、ループ処理を考慮しない場合には、説明対象の処理に至った直接的な分岐判断に絞って簡潔に説明できるというメリットがある。一方、（第２ロジック）のように、ループ処理を考慮した場合には、全体の判断の流れを分かりやすく説明できるというメリットがある。
よって、管理者等が、説明対象とする処理（説明対象ノード）に応じて、上記メリットを考慮し、（第１ロジック）または（第２ロジック）を設定してもよいし、両方のメリットを同時に得るために、（第１ロジック）と（第２ロジック）の両方を設定し、それぞれの説明情報１００を表示させるようにしてもよい。
【００４６】
図２に戻り、説明パーツ抽出部１１４は、説明ポイント設定部１１３が設定した説明ポイントについて、フローチャートに記載された判断ノードの文章を抽出する。そして、フローチャートのノードを識別する番号（例えば、ステップ番号）に対応付けて、当該文章を記憶しておく。また、抽出した説明ポイントで示される判断ノードの判断結果として、「Ｙｅｓ」「Ｎｏ」を抽出する。そして、説明パーツ抽出部１１４は、「Ｙｅｓ」の場合には、「であり」等の語句を対応させて記憶しておき、「Ｎｏ」の場合には、「でない」等の語句を対応させて記憶させる。これにより、説明パーツ抽出部１１４は、各説明ポイントに対応した文章等（文字情報）を説明パーツとして予め抽出しておくことができる。
【００４７】
ログフォーマット蓄積部１１５は、処理システム１０００の管理装置等から処理システム１０００から出力されるログに関するログフォーマットを取得し、記憶部に蓄積する。
処理システム１０００から出力されるログは、例えば、図６（ａ）に示す形式で出力されるものであり、ログの内容であるログ情報として、以下の情報が含まれる。
【００４８】
LogTypeID：ログ種別識別子
フローチャートのステップ番号（ノード番号）と同一若しくは対応する情報が与えられる。図６（ａ）の例では、「LogtypeID=proc002」でありフローチャートのうちのステップＳ００２の処理に対応するログであることを示している。
Timestamp：処理時刻を示すタイムスタンプ
図６（ａ）の例では、「Timestamp=20160529172358」であり、2016年05月29日17時23分58秒の時間を示している。
ProcLoadPerCent：処理負荷（％）
図６（ａ）の例では、「ProcLoadPerCent=90」であり、処理負荷が９０％であることを示している。
Threshold_ProcLoadperCent：処理負荷閾値（％）
図６（ａ）の例では、「Threshold_ProcLoadperCent=70」であり、処理負荷閾値が７０％であることを示している。
【００４９】
ログフォーマット蓄積部１１５は、処理システム１０００の管理装置等からやオフラインによる入力により、上記のログを解析するための情報となるログフォーマットを取得する。図６（ｂ）は、図６（ａ）で示すログを取得する際のフォーマットである。説明情報生成装置１は、このログフォーマットを予め取得しておくことにより、処理システム１０００から取得したログを解析する。なお、このログフォーマットは、データを規定する言語なら、特に限定なく定義可能であり、例えば、Data Format Description Languageで記述される。
【００５０】
図２に戻り、ログ変換部１２の各機能について説明する。
ログ取得部１２１は、処理システム１０００からのログを取得し、記憶部に蓄積する。
【００５１】
説明ポイントログ抽出部１２２は、説明ポイント設定部１１３が設定した説明ポイント（説明対象ノードに対応する判断ノード）の情報を取得し、当該判断ノードの識別子（ステップ番号等）に基づき、記憶部に記憶されたログ全体の中から、説明ポイントにおいて処理されたログを抽出する。この抽出したログのログ情報には、少なくとも、「LogTypeID」（ログ種別識別子）および「Timestamp」（タイムスタンプ）が含まれる（図６（ａ）参照）。
【００５２】
説明情報生成部１２３は、説明ポイントログ抽出部１２２が抽出した説明ポイントにおけるログのログ情報と、当該説明ポイントについて説明パーツ抽出部１１４が抽出した説明パーツである文章等（文字情報）に基づき、説明情報１００を生成する。
例えば、説明情報生成部１２３は、図１（ａ）に示すフローチャートの例において、説明ポイントとなるステップＳ００２およびステップＳ００３の判断ノードについての文章「『処理負荷は閾値以上』であり」と「『輻輳制御発動済み』でない」を説明パーツとして取得するとともに、ステップＳ００２およびステップＳ００３のログ情報（処理負荷：９０％、処理負荷閾値：７０％）を取得し、説明対象ノード決定部１１２が決定した説明対象ノード（図１（ａ）においては、ステップＳ００４）の処理を実行した理由を示す説明情報１００を生成する。そして、説明情報出力部１２４により、説明情報生成装置１の表示装置（図示省略）や、外部の装置（管理装置等）に出力することにより説明情報１００を表示させる（図１（ｂ）参照）。
【００５３】
図３（ｂ）は、説明情報生成装置１の説明ポイント設定部１１３が、（第１ロジック）に基づき設定した説明ポイントについて、説明情報生成部１２３が、図３（ａ）のフローチャートから生成する説明情報１００を示している。ここでは、エンドノード（終点ノード）を実行した処理の理由として、説明ポイントであるステップＳ１０６の判断ノードについての文章等に基づき、「『ｉが５以下』でないため。」と、ステップＳ１０６に関して抽出したログのログ情報に基づき「ｉ＝６」が説明情報１００として生成される。
【００５４】
また、図５（ｂ）は、説明情報生成装置１の説明ポイント設定部１１３が、（第２ロジック）に基づき設定した説明ポイントについて、説明情報生成部１２３が、図５（ａ）のフローチャートから生成する説明情報１００を示している。ここでは、エンドノード（終点ノード）を実行した処理の理由として、ループ処理を考慮した説明ポイントであるステップＳ１０２およびステップＳ１０６の判断ノードについての文書に基づき、「『ａが０以上』であった」と「『ｉが５以下』でない」とを結びつけた文章として、「『ａが０以上』であったこと、かつ、『ｉが５以下』でないため。」が生成される。また、説明ポイントに含まれる各ノードのログのうち、説明対象ノードであるエンドノード（終点ノード）の処理に至る直前の各説明ポイントのログのログ情報から、「ａ＝３、ｂ＝０、ｉ＝６」が抽出される。そして、説明情報生成部１２３は、これらの情報を用いて、図５（ｂ）に示す説明情報１００を生成する。
【００５５】
なお、説明情報生成部１２３は、（第２ロジック）に基づき、説明情報１００を生成する場合に、例えば、ログ情報に含まれるタイムスタンプの情報を用いて、〔手順１〕において説明対象ノードからフローチャートを矢印と反対に進んで到達する最初の判断ノード（ここでは、ステップＳ１０６）が最後に処理した時点でのループの情報を、「ａ＝３、ｂ＝０、ｉ＝６」として説明情報１００に含める。
また、説明情報生成部１２３は、説明ポイントとして抽出した範囲のノードのうち、処理ノード（ここではステップＳ１０３）についてのログ情報（ｂ＝０）については、説明情報１００に含めないようにし、判断ノードに関するログ情報のみを用いて説明情報１００を生成するようにしてもよい。
【００５６】
図２に戻り、説明情報出力部１２４は、説明情報生成部１２３が生成した説明情報１００を説明情報生成装置１の表示装置（図示省略）や、外部の装置に出力する。
【００５７】
＜処理の流れ＞
次に、説明情報生成装置１が実行する処理について、図７および図８を参照して説明する。
図７は、本実施形態に係る説明情報生成装置１が実行する処理の流れ（設定時）を示すフローチャートである。
【００５８】
まず、説明情報生成装置１のログフォーマット蓄積部１１５は、処理システム１０００の管理装置等からやオフラインによる入力により、処理システム１０００から出力されるログに関するログフォーマットを取得し（ステップＳ１０）、記憶部に蓄積する。
処理システム１０００の管理装置等から取得するログフォーマットは、例えば、図６（ｂ）に示す情報である。
【００５９】
続いて、説明情報生成装置１のフローチャート読込部１１１は、処理システム１０００の管理装置等からやオフラインによる入力により、処理システム１０００が実行する処理に関するフローチャート情報を取得する（ステップＳ１１）。
【００６０】
次に、説明情報生成装置１の説明対象ノード決定部１１２は、処理システム１０００のフローチャートで示される処理のうち、ユーザ等に対し何故その処理を実行するに至ったかの説明が必要とされる処理として、説明対象ノードを決定する（ステップＳ１２）。
【００６１】
具体的には、説明対象ノード決定部１１２は、フローチャートで示されるノードのうち判断ノードに着目し、その判断ノードから矢印の方向に進んで最初に到達する処理ノードを、説明対象ノードの候補と抽出する。そして、説明対象ノード決定部１１２は、入出力部１３を介して、説明対象ノードを指定するための説明対象ノード指定情報を取得しているか否かを判定する。説明対象ノード決定部１１２は、説明対象ノード指定情報を取得している場合には、説明対象ノードの候補の中から、指定されたノードを、説明対象ノードとして決定する。一方、説明対象ノード決定部１１２は、説明対象ノード指定情報を取得していない場合には、抽出された説明対象ノードの候補のすべてを、説明対象ノードとして決定する。
【００６２】
続いて、説明情報生成装置１の説明ポイント設定部１１３は、説明対象ノード決定部１１２が決定した説明対象ノード毎に、その説明対象ノードに対応する判断ノードを抽出し説明ポイントとして設定する（ステップＳ１３）。
ここで、説明ポイント設定部１１３は、上記した（第１ロジック）、（第２ロジック）のいずれか、または、両方を用いて、説明ポイントを設定する。
なお、説明ポイント設定部１１３は、設定した説明ポイントを、説明ポイントログ抽出部１２２に出力する。
【００６３】
そして、説明情報生成装置１の説明パーツ抽出部１１４は、説明ポイント設定部１１３が設定した説明ポイントについて、フローチャートに記載された判断ノードの文章や「Ｙｅｓ」「Ｎｏ」を抽出する。説明パーツ抽出部１１４は、フローチャートのノードを識別する番号（例えば、ステップ番号）に対応付けて、当該文章等（文字情報）を説明パーツとして抽出し記憶しておく（ステップＳ１４）。ここまでが、説明情報生成装置１が、処理システム１０００のログを収集する前に行っておく処理である。
【００６４】
次に、説明情報生成装置１がログ収集の際（運用時）において実行する処理について説明する。
図８は、本実施形態に係る説明情報生成装置１が実行する処理の流れ（運用時）を示すフローチャートである。
まず、説明情報生成装置１のログ取得部１２１は、処理システム１０００からログを取得し（ステップＳ２０）、記憶部に蓄積する。
【００６５】
続いて、説明情報生成装置１の説明ポイントログ抽出部１２２は、説明ポイント設定部１１３が設定した説明ポイント（説明対象ノードの対応する判断ノード）の情報を取得し、当該判断ノードの識別子（ステップ番号等）に基づき、記憶部に記憶されたログ全体の中から、説明ポイントにおいて処理されたログを抽出する（ステップＳ２１）。
【００６６】
説明情報生成装置１の説明情報生成部１２３は、説明ポイントログ抽出部１２２が抽出した説明ポイントにおけるログのログ情報と、当該説明ポイントについて説明パーツ抽出部１１４が抽出した説明パーツである文章等（文字情報）に基づき、説明情報１００を生成する（ステップＳ２２）。
【００６７】
そして、説明情報生成装置１の説明情報出力部１２４は、説明情報生成部１２３が生成した説明情報１００を説明情報生成装置１の表示装置（図示省略）や外部の装置等に出力し（ステップＳ２３）、処理を終える。
【００６８】
このようにすることで、本実施形態に係る説明情報生成装置１、説明情報生成方法および説明情報生成プログラムによれば、処理システム１０００が実行する自動処理のうち、ユーザに説明が必要な処理について、その処理を実行した理由を示す説明情報１００を、ユーザが容易に理解できる情報として生成し提示することができる。
【符号の説明】
【００６９】
１      説明情報生成装置
１１    変換ルール蓄積部
１２    ログ変換部
１００  説明情報
１１１  フローチャート読込部
１１２  説明対象ノード決定部
１１３  説明ポイント設定部
１１４  説明パーツ抽出部
１１５  ログフォーマット蓄積部
１２１  ログ取得部
１２２  説明ポイントログ抽出部
１２３  説明情報生成部
１２４  説明情報出力部
１０００  処理システム
【図１】
2017220134.tif 000003
【図２】
2017220134.tif 000004
【図３】
2017220134.tif 000005
【図４】
2017220134.tif 000006
【図５】
2017220134.tif 000007
【図６】
2017220134.tif 000008
【図７】
2017220134.tif 000009
【図８】
2017220134.tif 000010