(57)【要約】【課題】機械学習エンジンと効率的に連携し、監視システム等により検知された障害に対して精度の高い対応方法を提示・推奨する。【解決手段】障害メール３１を送信する障害メールサーバ３０と、障害メッセージに基づいて対応内容を取得し、対応内容メール４４を担当者２に対して送信する障害対応支援サーバ４０と、障害メッセージに対して分析モデル５３を用いて対応内容を取得する機械学習サーバ５０とを有し、障害メールサーバ３０は、障害メール３１を担当者２および障害対応支援サーバ４０に対して送信し、障害対応支援サーバ４０は、障害メッセージについて機械学習サーバ５０に対して対応内容の取得を要求し、機械学習サーバ５０は、障害メッセージについて、担当者２からの顧客３への連絡の要否を分類する第１の分析モデル、類似する過去の障害対応から対応内容の候補を抽出する第２の分析モデルにより、対応内容を取得する。【選択図】図１
2018136656.tif 000002
【特許請求の範囲】
【請求項１】
監視対象に発生した障害について、ユーザに対して推奨する対応内容を出力する障害対応支援システムであって、
前記障害に係る障害メッセージを含む障害通知を送信する障害通知装置と、
前記障害メッセージに基づいて前記対応内容を取得し、前記対応内容を含む対応内容通知を前記ユーザに対して送信する障害対応支援装置と、
前記障害メッセージに対して、過去の障害対応の蓄積情報に基づいて予め機械学習により構築された分析モデルを用いて、前記対応内容を取得する機械学習装置と、を有し、
前記障害通知装置は、前記障害通知を前記ユーザおよび前記障害対応支援装置に対して送信し、
前記障害対応支援装置は、受信した前記障害通知から前記障害メッセージを抽出し、抽出した前記障害メッセージについて前記機械学習装置に対して前記対応内容の取得を要求し、
前記機械学習装置は、取得した前記障害メッセージについて、前記障害についての前記ユーザからの顧客への連絡の要否を分類する第１の分析モデル、および／または、前記障害と類似する過去の障害対応から前記対応内容の候補を抽出する第２の分析モデルにより、前記対応内容を取得する、障害対応支援システム。
【請求項２】
請求項１に記載の障害対応支援システムにおいて、
前記機械学習装置は、過去の障害対応の蓄積情報に含まれる既存障害メッセージについて、それぞれ品詞毎に語句に分解し、一部もしくは全部の品詞についての前記語句からなる辞書を作成し、前記各既存障害メッセージについて、前記辞書に含まれる前記語句を対象に、その出現頻度を要素とした第１の出現頻度ベクトルを作成し、前記第１の出現頻度ベクトルに対して、語句の出現頻度に係る特徴量を算出して第１の特徴ベクトルを生成し、前記第１の特徴ベクトルを機械学習における学習データとして前記分析モデルを構築する、障害対応支援システム。
【請求項３】
請求項２に記載の障害対応支援システムにおいて、
前記機械学習装置は、取得した前記障害メッセージについて、品詞毎に語句に分解し、前記辞書に含まれる前記語句を対象に、その出現頻度を要素とした第２の出現頻度ベクトルを作成し、前記第２の出現頻度ベクトルに対して、語句の出現頻度に係る特徴量を算出して第２の特徴ベクトルを生成し、前記第２の特徴ベクトルに対して、前記分析モデルを適用して前記対応内容を取得する、障害対応支援システム。
【請求項４】
請求項３に記載の障害対応支援システムにおいて、
前記機械学習装置は、前記第１の出現頻度ベクトルおよび前記第２の出現頻度ベクトルに対して、前記第１の分析モデルに関連する所定の項目に係る重み付けされた指標を要素として追加する、障害対応支援システム。
【請求項５】
請求項１に記載の障害対応支援システムにおいて、
前記障害対応支援装置は、前記ユーザから、前記対応内容通知に対する返信として、前記対応内容通知に含まれていた前記対応内容についてのフィードバック情報が記載された対応返信通知を受信し、前記フィードバック情報を、前記機械学習装置において再学習を行う際の学習データとする、障害対応支援システム。
【請求項６】
請求項５に記載の障害対応支援システムにおいて、
前記障害対応支援装置は、前記ユーザから受信した前記対応返信通知に、前記対応返信通知に含まれる前記フィードバック情報について前記機械学習装置における再学習を即時に行う旨の指示が含まれている場合、前記機械学習装置によって再学習を行う前に、再学習に要する時間を推測し、再学習の完了予定時点に係る情報を含む反映予定通知を前記ユーザに対して送信する、障害対応支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム等における障害対応の技術に関し、特に検知された障害に対する対応方法を担当者に提示する障害対応支援システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
例えば、各種のサーバ等を有する情報処理システムに係る運用管理業務においては、監視システム等によって障害発生の有無を監視し、障害発生を検知した場合にこれに迅速に対応することが含まれる。ここでは、例えば、監視システム等が検知した障害についてオペレータ等による一次対応で解決できない場合に、もしくは障害の内容によっては即時に、開発者やエンジニア等のその場に所在しない担当者に対して連絡がなされ、当該担当者による対応が行われる。担当者へのこのような連絡は、運用する情報処理システムによっては夜間になされる場合もある。この場合、現場に所在しない担当者は、遠隔から独力で障害対応を行わなければならない場合もある。また、顧客への連絡が必要と判断した場合には顧客への連絡も行わなければならない。
【０００３】
障害対応の自動化や迅速化等に関連する技術として、例えば、特開２００５−２０２４４６号公報（特許文献１）には、業務サーバ、ネットワーク機器、業務アプリケーションが存在する環境で障害の発生を検知し、障害内容をログ情報より抽出し、障害対策情報を検索することにより、障害発生時の早期対策の実施と復旧時間の短縮を可能とする旨が記載されている。また、障害対策情報にない場合は、調査に必要なログ情報やリソース情報を編集し提供することにより、専門知識がなくても障害情報を抽出可能とする旨が記載されている。
【０００４】
また、特開２００９−２７６９２９号公報（特許文献２）には、監視対象サーバを定期的に監視し、障害を検知した場合にその前後の動作ログを採取して、障害発生のトリガーとなったエラーログを検索してエラーコード等のキーワードを抽出するとともに、当該キーワードによって事例ＤＢから類似事例を抽出して障害回避情報を取得し、これに基づいて障害回避ファイルを生成して監視対象サーバに適用する旨が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２０２４４６号公報
【特許文献２】特開２００９−２７６９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術のように、障害発生を検知した場合、その障害メッセージの内容等に基づいて、過去の障害対応履歴や障害対策情報等から該当もしくは類似するものを検索し、検索結果から対応方法を取得して担当者等に提示することは行われている。
【０００７】
これに対し、対応方法を抽出する際に、近年適用が広がっているＡＩ（Artificial Intelligence）・機械学習を用いて、抽出の精度の向上を図ることが検討されている。このとき、機械学習エンジンや機械学習サービス（以下ではこれらを「機械学習エンジン」と総称する）と、既存のものも含む監視システムとをどのように連携させるかが課題となる。例えば、障害検知時に、その内容をどのように機械学習エンジンに自動的に入力・連携して、学習済みのモデルに基づく計算結果の出力を得るかが課題となる。また、実際に障害対応を実施した結果を学習データとしてどのタイミングでどのように機械学習エンジンに反映させ、学習モデルを更新（再学習）するかも課題となる。
【０００８】
そこで本発明の目的は、機械学習エンジンと効率的に連携し、監視システム等により検知された障害に対して精度の高い対応方法を提示・推奨することを可能とする障害対応支援システムを適用することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１１】
本発明の代表的な実施の形態による障害対応支援システムは、監視対象に発生した障害について、ユーザに対して推奨する対応内容を出力する障害対応支援システムであって、前記障害に係る障害メッセージを含む障害通知を送信する障害通知装置と、前記障害メッセージに基づいて前記対応内容を取得し、前記対応内容を含む対応内容通知を前記ユーザに対して送信する障害対応支援装置と、前記障害メッセージに対して、過去の障害対応の蓄積情報に基づいて予め機械学習により構築された分析モデルを用いて、前記対応内容を取得する機械学習装置と、を有するものである。
【００１２】
そして、前記障害通知装置は、前記障害通知を前記ユーザおよび前記障害対応支援装置に対して送信し、前記障害対応支援装置は、受信した前記障害通知から前記障害メッセージを抽出し、抽出した前記障害メッセージについて前記機械学習装置に対して前記対応内容の取得を要求し、前記機械学習装置は、取得した前記障害メッセージについて、前記障害についての前記ユーザからの顧客への連絡の要否を分類する第１の分析モデル、および／または、前記障害と類似する過去の障害対応から前記対応内容の候補を抽出する第２の分析モデルにより、前記対応内容を取得する。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１４】
すなわち、本発明の代表的な実施の形態によれば、機械学習エンジンと効率的に連携し、監視システム等により検知された障害に対して精度の高い対応方法を提示・推奨することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態である障害対応支援システムの構成例について概要を示した図である。
【図２】障害メールの内容について例を示した図である。
【図３】本発明の一実施の形態における対応内容メールの内容について例を示した図である。
【図４】本発明の一実施の形態における分析モデルを事前に構築する処理の流れの例について概要を示した図である。
【図５】本発明の一実施の形態におけるＢｏＷコーパスを作成する例について概要を示した図である。
【図６】本発明の一実施の形態におけるオンラインでの分析処理の流れの例について概要を示した図である。
【図７】（ａ）〜（ｃ）は、本発明の一実施の形態における担当者による対応内容のフィードバックの例について概要を示した図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。
【００１７】
＜システム構成＞
図１は、本発明の一実施の形態である障害対応支援システムの構成例について概要を示した図である。本実施の形態の障害対応支援システム１は、例えば、企業等が運営する複数のＷｅｂサーバ等からなる監視対象サーバ１０における障害の発生が監視システム２０によって検知された場合に、開発者等の担当者２に対して対応内容を推奨・レコメンドすることで支援するサーバシステムである。
【００１８】
障害対応支援システム１は、例えば、障害メールサーバ３０と、障害対応支援サーバ４０と、機械学習サーバ５０とにより構成される。障害メールサーバ３０は、監視対象サーバ１０における障害の発生を監視システム２０が検知した場合に、これを通知する電子メールを発信する機能を有するサーバシステムである。障害対応支援サーバ４０は、発生した障害に対する対応内容を担当者２に対して推奨・レコメンドする機能を有するサーバシステムである。機械学習サーバ５０は、過去の対応内容の蓄積に基づいて対応内容を抽出・決定するための分析モデルを機械学習により作成し、分析を行う機能を有するサーバシステムである。
【００１９】
いずれのサーバも、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバ等により構成され、図示しないインターネットやＶＰＮ（Virtual Private Network）、ＬＡＮ（Local Area Network）等のネットワークにそれぞれ接続されている。そして、それぞれ、図示しないＣＰＵ（Central Processing Unit）により、ＨＤＤ（Hard Disk Drive）等の記録装置からメモリ上に展開したＯＳ（Operating System）やＤＢＭＳ（DataBase Management System）、Ｗｅｂサーバプログラム等のミドルウェアや、その上で稼働するソフトウェアを実行することで、障害対応支援に係る各種機能を実現する。なお、図１の例では、それぞれを独立したサーバシステムとして記載しているが、１つ以上のサーバが同一のサーバシステム上に構築されていてもよい。また、可能な場合にはサーバに代えてＰＣ（Personal Computer）等の情報処理装置を用いてもよい。
【００２０】
障害メールサーバ３０は、監視対象サーバ１０における障害の発生を監視する監視システム２０から障害発生の通知を受けて、これを通知する電子メールである障害メール３１を発行するメールサーバである。例えば、障害が発生した監視対象サーバ１０やアプリケーション、障害の内容等に応じて、予め登録された担当者２のメールアドレス宛に、障害メッセージ等の障害内容が記載された障害メール３１を作成して送信する。通常、担当者２はこの障害メール３１を受信して、その内容に基づいて、障害の内容や程度、対応内容、顧客３への連絡の要否等の各種事項についての判断を行っている。
【００２１】
なお、本実施の形態では、通知を行う際の具体的手段として電子メールを用いるものとしているが、通知を行う手段であれば、これに加えて、もしくはこれに代えて、他の具体的手段を用いてもよい。例えば、既に普及しているＳＭＳ（Short Message Service）を用いてもよいし、ＳＭＴＰ（Simple Mail Transfer Protocol）による通知に代えて本実施の形態独自のメッセージプロトコルを実装してもよい。
【００２２】
本実施の形態では、障害メールサーバ３０は、さらに、同内容の障害メール３１を、障害対応支援サーバ４０（すなわち、障害対応支援サーバ４０が受信可能なメールアドレス）に対しても送信する。例えば、障害メールサーバ３０が、障害メール３１を送信する宛先を同報通信（メーリングリスト）用のメールアドレスとしておき、これに障害対応支援サーバ４０が受信可能なメールアドレスを追加することで容易に実現することができる。なお、障害メール３１を送信することが可能であれば、メールサーバ機能を有することは必須ではなく、図示しない他のメールサーバや電子メールサービスを利用して障害メール３１を送信するメールクライアントであってもよい。
【００２３】
障害対応支援サーバ４０は、障害メールサーバ３０からの障害メール３１を受信して、その内容に基づいて、担当者２に対して対応内容を推奨・レコメンドする対応内容メール４４を送信する機能を有するサーバシステムである。担当者２への対応内容の推奨に際しては、例えば、対応内容が記載された電子メールである対応内容メール４４を担当者２に対して送信する。障害対応支援サーバ４０は、例えば、ソフトウェアとして実装された障害メッセージ抽出部４１、対応内容取得部４２、および対応内容反映部４３等の各部を有する。
【００２４】
障害メッセージ抽出部４１は、障害メールサーバ３０から受信した障害メール３１に対して、対応内容の分析に必要な障害メッセージの部分のみを抽出する処理を行う。図２は、一般的な障害メール３１の内容について例を示した図である。担当者２宛の障害メール３１には、例えば、定形文等からなるヘッダーやフッター、挨拶文等、障害の分析のためには不要もしくは無意味な情報が多く含まれる。図２の例では、破線枠内の部分、すなわち監視対象サーバ１０を特定する情報や障害メッセージ等の情報が記載された部分のみが必要な情報であり、その他の部分は分析のためには不要な情報である。本実施の形態では、障害メッセージ抽出部４１によりこれらの障害メッセージのみを必要部分として抽出する。これにより、機械学習サーバ５０での無用な分析を排除して分析負荷を低減するとともに、ノイズを排除して分析の精度を向上させる。
【００２５】
なお、障害メール３１から必要部分を抽出する手法は特に限定されず、障害メール３１の仕様に応じて適当な手法をとることができる。例えば、行番号や文字数等により定型的なヘッダーやフッター等の所定の領域を指定して、もしくは目印となる文字列やタグ等によってこれらの領域を特定して、当該領域を一律に削除することができる。逆に、これらの手法により必要部分を特定して抽出するようにしてもよい。
【００２６】
図１に戻り、対応内容取得部４２は、障害メッセージ抽出部４１によって障害メール３１の中の必要部分のみが抽出された情報に対して、機械学習サーバ５０によって学習済みの分析モデルを用いて対応内容を分析し、推奨・レコメンドする対応内容の候補を取得する機能を有する。機械学習サーバ５０に対する分析の依頼方法は、機械学習サーバ５０が提供する外部インタフェースの仕様に応じて適当なものを用いることができる。例えば、ＡＰＩ（Application Programming Interface）の呼び出しを行なってもよいし、実行指示の電子メールを送信してもよい。機械学習サーバ５０での分析によって取得する対応内容の候補は複数であってもよい。対応内容取得部４２は、取得した対応内容の候補を整形し、担当者２のメールアドレス宛に対応内容メール４４として通知する機能も有する。
【００２７】
図３は、本実施の形態における対応内容メール４４の内容について例を示した図である。図３の例では、「◆」の記号で囲まれた領域に、推奨する対応内容が記載されている。対応内容には、後述するように、（Ａ）顧客連絡の要否、および（Ｂ）ワークアラウンド（応急措置）の候補の２つの項目が含まれる。
【００２８】
顧客連絡の要否には、機械学習サーバ５０によって算出された、連絡が必要な可能性や確からしさを示す値（例えばパーセンテージ）が含まれる。また、ワークアラウンドには、機械学習サーバ５０によって算出された、過去の類似する障害事例との類似の程度や確からしさを示す値、および当該事例においてとられた対応内容の情報が含まれる。担当者２は、ＰＣやタブレット端末、スマートフォン等の情報処理端末である担当者端末６０によって対応内容メール４４を受信し、その内容を参照して、障害対応を行う際の有益な参考情報とすることができる。
【００２９】
図１に戻り、対応内容反映部４３は、担当者２による対応内容の実施の結果について、担当者２（担当者端末６０）からフィードバックの情報を取得し、その内容を新たな学習データとして、機械学習サーバ５０により再学習を行なって学習済みの分析モデルを更新する機能を有する。このとき、担当者２の作業負荷を低減させるため、担当者２は、障害対応支援サーバ４０から先に受信した対応内容メール４４に対して対応返信メール４５を返信することで、容易に結果のフィードバックを通知できるものとする。対応返信メール４５によるフィードバックの手法については後述する。
【００３０】
機械学習サーバ５０は、過去の対応内容の蓄積を教師データとして、対応内容を抽出・決定するための分析モデル５３を機械学習により作成し、分析を行う機能を有するサーバシステムであり、例えば、ソフトウェアとして実装された前処理部５１、および分析部５２等の各部を有する。
【００３１】
前処理部５１は、機械学習エンジンによる分析を行う前処理として、障害内容を含むテキストデータからなる障害メッセージについて、自然言語処理を行なって障害内容を分析できる形式に正規化するクレンジング機能を有する。形態素解析等の自然言語処理を行う機能については、公知の一般に利用可能な自然言語処理エンジンやライブラリ等を適宜用いることができる。クレンジング機能の内容につては後述する。
【００３２】
分析部５２は、過去の対応履歴の内容（前処理部５１により障害メッセージがクレンジングされたもの）に基づいて予め機械学習を行って、学習済みの分析モデル５３を作成する機能を有する。また、新たに発生した障害に係る障害メッセージの内容（前処理部５１によりクレンジングされたもの）について、分析モデル５３に基づいて対応内容の候補を取得して障害対応支援サーバ４０に応答する機能を有する。機械学習の機能については、公知の一般に利用可能な機械学習エンジンや機械学習サービス等を適宜用いることができる。
【００３３】
＜処理の流れ＞
図４は、本実施の形態における分析モデルを事前に構築する処理の流れの例について概要を示した図である。ここでは、機械学習サーバ５０により、過去の対応内容の蓄積に基づいて対応内容を抽出・決定するための分析モデル５３を機械学習により構築する、もしくは最新のものに更新する。当該処理は、例えば、月次のバッチ処理により、もしくは担当者２からの指示に基づいて随時実行される。
【００３４】
まず、機械学習サーバ５０は、新たな学習データ、すなわち過去の対応内容の履歴情報を取得する（Ｓ０１）。取得方法は特に限定されず、例えば、障害対応支援サーバ４０等に記録された履歴情報を自動的に機械学習サーバ５０に送信してもよいし、ユーザが機械学習サーバ５０にアクセスして手動でアップロードしてもよい。
【００３５】
その後、前処理部５１により、学習データに含まれる障害メッセージ（学習データに障害メッセージ以外の不要な内容が含まれている場合は、障害メッセージ部分を抽出した上で処理するものとする）についてクレンジング処理を行う。まず、障害メッセージに対して形態素解析を行い品詞に分解する（Ｓ０２）。分解した結果について、全ての品詞の語句を用いるようにしてもよいし、所定の品詞の語句に限定して用いるようにしてもよい。通常は、所定の品詞（例えば名詞）に限定した方が分析の精度が上がるものと考えられる。
【００３６】
次に、形態素解析した結果の語句について、障害メッセージ毎にＢｏＷ（Bag of Words）コーパスを作成して数値（ベクトル）により正規化し（Ｓ０３）、さらに、分析精度を向上させるための重み付け要素として、昼夜区分の項目を追加する（Ｓ０４）。
【００３７】
図５は、本実施の形態におけるＢｏＷコーパスを作成する例について概要を示した図である。図５の上段左側には、３つの障害メッセージについて形態素解析を行って品詞に分解した結果イメージの例を形態素解析済みメッセージ４１１として示している。
【００３８】
ここではまず、形態素解析済みメッセージ４１１に基づいて、図５の上段右側に示すような辞書４１２を作成する。辞書４１２には、例えば、各形態素解析済みメッセージ４１１に現れる全ての語句について、重複を排除した上で一意となる識別番号を付与（図５の例では、語句‘あいう’に１、語句‘かきく’に２、…等）したデータを保持している。そして、図５の中段に示すように、各障害メッセージについて、辞書４１２に登録された全ての語句の順にそれぞれの出現回数を要素として有するＢｏＷコーパス４１３（出現頻度ベクトル）を作成する。
【００３９】
ところで、障害メッセージに対して推奨・レコメンドする対応内容に含まれる情報としては、上述したように、（Ａ）顧客連絡の要否、および（Ｂ）ワークアラウンドの候補の２つの項目がある。このうち、（Ａ）顧客連絡の要否については、障害の重要度に加えて、例えば、障害メッセージが発生したタイミングが昼であるか夜であるかで、その要否の判断基準が大きく変わり得る（夜である場合は顧客連絡をできるだけ控える）ことが経験則上分かっている。
【００４０】
そこで、本実施の形態では、このような障害メッセージに直接現れない特徴項目に対して重み付けして判断することができるよう、特徴項目に所定の重み付けをした値をＢｏＷコーパス４１３に追加する。例えば、図５の下段に示すように、各ＢｏＷコーパス４１３に対して、その末尾に昼夜区分の項目の値を追加する。ここでは、例えば、障害メッセージに含まれるタイムスタンプの情報等に基づいて昼であるのか夜であるのかを判断し、該当する区分の値（１か０）に対して１０倍の重み付けをして追加していることを示している。これにより、障害発生時の昼夜の区分を、（Ａ）顧客連絡の要否の判断の際に重視するよう調整することができる。
【００４１】
図４に戻り、次に、各ＢｏＷコーパス４１３に対して、語句の出現頻度によって特徴量の評価を行うため、ＴＦ−ＩＤＦ（Term Frequency - Inverse Document Frequency）を計算する（Ｓ０５）。ＴＦ−ＩＤＦは、文章の特徴を表す指標として一般的に用いられているものであり、ある語句について、対象の文章中での出現頻度の高さを示す値と、他の文章での出現頻度の低さを示す値とを乗算して得られる数値である。この値が高い語句は、対象の文章をよく特徴付ける語句であるということができる。これを各ＢｏＷコーパス４１３中の各語句について計算することで、各ＢｏＷコーパス４１３を各障害メッセージについての特徴ベクトルに変換することができる。なお、ステップＳ０４でＢｏＷコーパス４１３に追加した昼夜区分の項目については、ＴＦ−ＩＤＦの計算の対象外とする。
【００４２】
データのクレンジング（正規化）と特徴量の評価が完了すると、分析部５２により、これらのデータを教師データとして機械学習を行い、分析モデル５３を構築する（Ｓ０６）。そして、構築した分析モデル５３をファイルやデータベース等に記録して保存し（Ｓ０７）、処理を終了する。
【００４３】
推奨・レコメンドする対応内容に含まれる（Ａ）顧客連絡の要否と（Ｂ）ワークアラウンドの候補とでは、分析モデル５３の内容も分析に用いるアルゴリズムも異なる。（Ａ）顧客連絡の要否を判断する分析モデル５３は、対象の障害メッセージに対して「不要（０）／要（１）」のいずれかを判断するものであり、いわゆるクラス分類アルゴリズムが用いられる。一方、（Ｂ）ワークアラウンドの候補については、過去の類似する障害事例を抽出し、その際の対応内容を推奨・レコメンドするものであり、類似度を分析する各種のアルゴリズムを適宜用いることができる。例えば、所定の幾何学的距離の近さやベクトルの向きの近さ（なす角度の小ささ）を計算する手法、集合体の類似度を計算する手法等、様々なアルゴリズムが提案されている。
【００４４】
図６は、本実施の形態におけるオンラインでの分析処理の流れの例について概要を示した図である。ここでは、監視対象サーバ１０での障害の発生が監視システム２０により検知され、障害メールサーバ３０から障害メール３１が送信された場合に、これを受信した障害対応支援サーバ４０が、機械学習サーバ５０によって障害メッセージの分析を行い、対応内容を取得して対応内容メール４４として担当者２（担当者端末６０）に送信する。したがって、当該処理は、障害対応支援サーバ４０が障害メッセージを受信したことをトリガーとして実行される。
【００４５】
まず、障害対応支援サーバ４０の障害メッセージ抽出部４１は、障害メール３１を受信すると（Ｓ１１）、その中から図２の例に示したように分析に必要となる障害メッセージの部分のみを抽出する（Ｓ１２）。そして、抽出した障害メッセージをパラメータとして、機械学習サーバ５０の分析処理を呼び出す（Ｓ１３）。呼び出しの方法は、上述したように、機械学習サーバ５０が提供する外部インタフェースの仕様に応じて、ＡＰＩの呼び出しや実行指示の電子メールを送信等、各種の方法をとることができる。
【００４６】
機械学習サーバ５０では、取得した障害メッセージについて、図４に示したバッチ処理の場合と同様に、前処理部５１により、形態素解析を行って品詞に分解し（Ｓ１４）、ＢｏＷコーパス４１３を作成し（Ｓ１５）、昼夜区分を追加して（Ｓ１６）、ＴＦ−ＩＤＦを計算することで（Ｓ１７）、障害メッセージのクレンジング・正規化と特徴量の評価を行う。これらの処理は、図４の例におけるステップＳ０２〜Ｓ０５と基本的に同様であるため、再度の説明は省略する。
【００４７】
なお、図４の例におけるステップＳ０３のＢｏＷコーパス４１３の作成処理では、図５に示すように、学習対象の教師データである障害メッセージを品詞に分解した形態素解析済みメッセージ４１１から辞書４１２を作成し、この辞書４１２に登録されている語句に基づいてＢｏＷコーパス４１３を作成している。すなわち、辞書４１２に登録されている語句は、学習対象とした障害メッセージ（形態素解析済みメッセージ４１１）に含まれている語句である。
【００４８】
一方、図６のステップＳ１５のＢｏＷコーパス４１３の作成処理では、辞書４１２の作成（更新）は行わず、既に作成済みの辞書４１２を用いる。このとき、処理対象の障害メッセージが、既存の辞書４１２を作成したときの学習対象の教師データには含まれていない新たな障害メッセージである場合が生じ得る。すなわち、処理対象の障害メッセージに係る形態素解析済みメッセージ４１１に含まれる語句の中に、既存の辞書４１２に登録されていない新たな語句が含まれる場合がある。この場合、当該語句については、辞書４１２に登録されていないことからステップＳ１５のＢｏＷコーパス４１３の作成処理の際には考慮されない。したがって、分析の精度が低下する可能性が生じ得る。
【００４９】
このため、例えば、図４の例に示したバッチ処理を定期的に実施して再学習を行い、学習対象である既存の障害メッセージに係る辞書４１２およびＢｏＷコーパス４１３を最新の情報に更新しておくのが望ましい。さらに、新たな障害メッセージに係る形態素解析済みメッセージ４１１に含まれる語句の中に、辞書４１２に登録されていない語句がある場合に、当該語句についてのみ、学習対象の既存の障害メッセージおよび新たな障害メッセージの双方についてＢｏＷコーパス４１３を作成するようにしてもよい。
【００５０】
その後、図４の例におけるステップＳ０６で構築された学習済みの分析モデル５３を用いて、新たな障害メッセージに係るＢｏＷコーパス４１３について分析を実施し（Ｓ１８）、分析結果を障害対応支援サーバ４０に応答する（Ｓ１９）。分析において、例えば、（Ａ）顧客連絡の要否の項目については、対象の障害メッセージが不要（０）／要（１）のいずれに分類されるのかを判断する。その際、分類結果とともにその確からしさや可能性を示す数値を出力するようにしてもよい。また、（Ｂ）ワークアラウンドの候補については、過去の障害メッセージから類似する障害事例を抽出し、その際の対応内容を取得してワークアラウンドとして出力する。その際、類似度を示す数値を併せて出力するようにしてもよい。
【００５１】
障害対応支援サーバ４０の対応内容取得部４２は、機械学習サーバ５０から応答された分析結果を取得し（Ｓ２０）、データを図３の例に示したような対応内容メール４４の形に整形して（Ｓ２１）、担当者２（担当者端末６０）宛に送信し（Ｓ２２）、処理を終了する。
【００５２】
担当者２は、受信した対応内容メール４４を参照して障害対応、すなわち、必要な場合の顧客３への連絡と、ワークアラウンドの実施や指示を行うことができる。ここで、対応内容メール４４に記載された対応内容は、障害対応支援サーバ４０および機械学習サーバ５０により推奨・レコメンドされたものであり、現実の状況には合致せず適切ではない場合もある。このような場合も含めて、担当者２は、実際に採った対応内容、もしくは結果的に採るべきであったと思われる対応内容を障害対応支援サーバ４０にフィードバックして、再学習させることができる。本実施の形態では、フィードバックに係る担当者２の作業負荷を低減させるため、受信した対応内容メール４４に対する返信として対応返信メール４５を送信することで容易にフィードバックできるようにする。
【００５３】
図７は、本実施の形態における担当者２による対応内容のフィードバックの例について概要を示した図である。図７（ａ）は、障害対応支援サーバ４０からの対応内容メール４４において（Ａ）顧客連絡の要否（図中の例では「要」）が推奨された場合の対応返信メール４５でのフィードバックの例を示している。実際に担当者２が顧客連絡を行った、もしくは行うべきであった場合（すなわち、推奨された対応内容が適切であった場合）は、対応返信メール４５として空メール（図中では「」で示す）を返信する（図中の○印）。もしくは何も返信しないものとし、障害対応支援サーバ４０側で一定時間以上対応返信メール４５を受信しなかった場合に適切であったと判断するようにしてもよい。
【００５４】
一方、実際には担当者２が顧客連絡を行わなかった、もしくは行うべきではなかった場合（すなわち、推奨された対応内容が不適切であった場合）は、対応返信メール４５として、その旨が識別できる単純な情報（図中では「×」）を返信する（図中の×印）。これらの対応返信メール４５を分析することにより、障害対応支援サーバ４０では、推奨した（Ａ）顧客連絡の要否の内容が適切であったか不適切であったかを把握し、蓄積しておくことができ、以降の分析における学習データとして分析モデル５３に反映させることができる。
【００５５】
図７（ｂ）は、障害対応支援サーバ４０からの対応内容メール４４において（Ｂ）ワークアラウンドの候補（図中の例では「一時的障害なので…」）が推奨された場合の対応返信メール４５でのフィードバックの例を示している。推奨されたワークアラウンドが適切であった場合は、対応返信メール４５として空メールを返信する（図中の○印）。もしくは何も返信しない。一方、推奨されたワークアラウンドが不適切であった場合は、対応返信メール４５として、実際に担当者２が実施した、もしくは実施すべきであったワークアラウンドの内容を文章として記載して返信する。障害対応支援サーバ４０からの対応内容メール４４において（Ｂ）ワークアラウンドの候補が複数推奨されている場合は、担当者２がその中から実際にどの候補を選択したかの情報を返信するようにしてもよい。
【００５６】
これらの対応返信メール４５を分析することにより、障害対応支援サーバ４０では、推奨した（Ｂ）ワークアラウンドの候補が適切であったか不適切であったかを把握し、蓄積しておくことができ、以降の分析における学習データとして分析モデル５３に反映させることができる。
【００５７】
上述したように、障害対応支援サーバ４０は、例えば、定期的に機械学習サーバ５０に対して再学習を要求して、担当者２からフィードバックされた内容を分析モデル５３に反映させて最新の状態に更新する。しかし、定期的な再学習では、担当者２が不適切であったとしてフィードバックした結果が再学習されて分析モデル５３に反映されるまでに、タイミングによっては間隔が開いてしまう場合がある。この場合、例えば、同様の障害が連続して発生すると、定期的な再学習が行われるまでは、前回同様の不適切な対応内容を推奨する対応内容メール４４が繰り返し送信されてしまう状態となる。
【００５８】
そこで、本実施の形態では、担当者２が対応返信メール４５を返信する際に、即時の再学習を要求できるようにする。図７（ｃ）は、担当者２が、対応内容のフィードバックを行うとともに即時の再学習を要求する場合の例を示している。図示するように、例えば、対応返信メール４５において、フィードバックするワークアラウンドの内容等の記載に加えて、即時の再学習を要求する所定の記載（図中の例では「即時再学習」の文言）を追記する。所定の記載の内容は、障害対応支援サーバ４０が認識できるものであれば特に限定されない。
【００５９】
対応返信メール４５によって即時の再学習の要求を受けた障害対応支援サーバ４０の対応内容反映部４３では、機械学習サーバ５０により、図４に示したバッチ処理と同様の処理によって再学習を行い、分析モデル５３を更新することができる。このとき、学習対象となる教師データの量によっては、分析に要する時間が非常に長時間となる場合が生じ得る。
【００６０】
そこで本実施の形態では、即時の再学習の要求を受けた際に、対応内容反映部４３が、再学習に要する時間を事前に見積もり、フィードバックした内容がいつ分析モデル５３に反映されるかの情報として反映予定メール４６により担当者２に返信する。図７の例では、反映予定の日時として表現しているが、「○○時間後」のように相対時間・経過時間により表現してもよい。担当者２は、反映予定メール４６に記載された反映予定のタイミングに係る情報を参照し、即時の再学習を実際に行わせるか否か（次回の定期的なバッチ処理での再学習まで待つか否か）を判断することができる。
【００６１】
再学習に要する時間の見積もり手法については特に限定されないが、例えば、各種のパラメータに基づいて所要時間を推測するモデルを構築し、当該モデルに基づいて計算することができる。当該モデルに含まれるパラメータとしては、例えば、過去の機械学習における所要時間の実績値や、機械学習サーバ５０のサーバスペック、処理負荷の状況、分析対象の教師データの件数、分析モデル５３におけるパラメータの数、分析に用いるアルゴリズムの種類等、各種のものを適宜用いることができる。また、上記のような所要時間を推測するモデルを、機械学習サーバ５０による機械学習の対象として精度を向上させるようにしてもよい。
【００６２】
以上に説明したように、本発明の一実施の形態である障害対応支援システム１によれば、監視対象サーバ１０において障害の発生を検知した場合に、障害メッセージに基づいて機械学習サーバ５０により推奨・レコメンドする対応内容を分析し、対応内容メール４４として担当者２に対して送信する、という一連の流れを人手を介さずに行うことができる。これにより、機械学習エンジンと効率的に連携し、監視システム２０により検知された障害に対して精度の高い対応方法を提示・推奨することが可能となる。
【００６３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６４】
例えば、上記の実施の形態では、障害メールサーバ３０からの障害メール３１を障害対応支援サーバ４０および担当者２に送信し、顧客３への連絡の要否を障害対応支援サーバ４０で判別する構成であったが、障害発生時の初動では、障害メールサーバ３０からの障害メール３１は障害対応支援サーバ４０のみに送信し、担当者２への連絡の要否についても障害対応支援サーバ４０で判別する構成としてもよい。
【００６５】
このとき、機械学習サーバ５０において、担当者２への連絡要否を判断するための分析モデル５３と、顧客３への連絡要否を判断するための分析モデル５３とは、同じであってもよいが、異なることが望ましい。通常は、障害の重要度が多少低いものであっても担当者２はその内容を確認すべきであり、顧客３への連絡は重要度が高いもののみに制限すべきであるという基準が採用されることが多いからである。したがって、このような基準に対応すべく、担当者２への連絡要否を判断するための分析モデル５３と、顧客３への連絡要否を判断するための分析モデル５３を別個に構成することが望ましい。
【００６６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【産業上の利用可能性】
【００６７】
本発明は、検知された障害に対する対応方法を担当者に提示する障害対応支援システムに利用可能である。
【符号の説明】
【００６８】
１…障害対応支援システム、２…担当者、３…顧客、
１０…監視対象サーバ、
２０…監視システム、
３０…障害メールサーバ、３１…障害メール、
４０…障害対応支援サーバ、４１…障害メッセージ抽出部、４２…対応内容取得部、４３…対応内容反映部、４４…対応内容メール、４５…対応返信メール、４６…反映予定メール、
５０…機械学習サーバ、５１…前処理部、５２…分析部、５３…分析モデル、
６０…担当者端末
【図１】
2018136656.tif 000003
【図２】
2018136656.tif 000004
【図３】
2018136656.tif 000005
【図４】
2018136656.tif 000006
【図５】
2018136656.tif 000007
【図６】
2018136656.tif 000008
【図７】
2018136656.tif 000009