JP6407205B2 - ラベル列生成装置、ラベル列生成方法、及びプログラム - Google Patents

ラベル列生成装置、ラベル列生成方法、及びプログラム Download PDF

Info

Publication number
JP6407205B2
JP6407205B2 JP2016123822A JP2016123822A JP6407205B2 JP 6407205 B2 JP6407205 B2 JP 6407205B2 JP 2016123822 A JP2016123822 A JP 2016123822A JP 2016123822 A JP2016123822 A JP 2016123822A JP 6407205 B2 JP6407205 B2 JP 6407205B2
Authority
JP
Japan
Prior art keywords
label
work
string
countermeasure
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016123822A
Other languages
English (en)
Other versions
JP2017228094A (ja
Inventor
暁 渡邉
暁 渡邉
石橋 圭介
圭介 石橋
敬志郎 渡辺
敬志郎 渡辺
松尾 洋一
洋一 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016123822A priority Critical patent/JP6407205B2/ja
Publication of JP2017228094A publication Critical patent/JP2017228094A/ja
Application granted granted Critical
Publication of JP6407205B2 publication Critical patent/JP6407205B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ラベル列生成装置、ラベル列生成方法、及びプログラムに関する。
大規模化・構成機器の多様化が進むITネットワークシステムにおいて、システム上で発生する故障事例が多様化しており、発生した異常の原因究明と対処判断とが従来よりも困難になっている。一方で、あらゆる故障事例を解決可能なエキスパートと呼ばれるオペレータは、運用管理すべきシステムの数と比較して圧倒的に少ない。また、近年では特に運用管理の対象となるシステムの大規模化と運用期間の長期化が進んだため、特定の個人のエキスパートのみの活動に依存したシステム運用は困難である。そのため、高いスキルを持つエキスパートによる故障回復手順を、オペレーションチーム全体へ共有する手段が求められている。ここでは、エキスパートを含むオペレータらによる、問題の見極めから対処完了までの一連の故障回復手順を、プロセスと定義する。
一般に、プロセスは、問題が複雑であるほど暗黙知であることが多い。そのため、プロセスの獲得には、オペレータ自身も把握していない情報を得る手段が必要となる。プロセスの把握を自動的に行うために、故障が発生したときの状況を記述した、作業記録と呼ばれる文書を用いる方法がある(非特許文献2)。当該技術では、非定型な文書から作業の記録を抽出した後(例えば、特許文献1)、同一の作業を示す文を特定してIDを与えることで(例えば、特許文献2)、まず非定型な作業の文書を構造化された作業ログ列に変換する。なお、文書が得られない場合でも、入力コマンドの記録を作業ログとみなすことで、作業ログは得られる。
故障したシステムの復旧においては、同じシステム障害の発生条件であっても、作業者が実際に行なった対処が複数あり得るため、異なる作業ログ列が記録される。例えば、あるWebサーバが接続不可となった場合の対処を考える。Webサーバに接続不可の場合、オペレータは、まず、pingコマンド等で外部端末からWebサーバに疎通可能かどうかを確認する。疎通不可能であれば、オペレータは、Webサーバの配置場所に赴き原因確認を行う。疎通可能ならば、オペレータは、原因となるアプリケーションをログ確認等によって特定する。アプリケーションが原因であれば、オペレータは、当該アプリケーションに応じた負荷を下げる対処を行う。そのため、Webサーバ接続不可の故障が複数回発生すると、毎回実施される作業は少しずつ異なるが、<"pingコマンドによる疎通確認"、"サーバ配置場所への移動"、"原因究明作業">と、<"pingコマンドによる疎通確認"、"サーバへのログイン"、"アプリケーションの停止ログ確認">とのどちらかに類似した作業ログ列が複数蓄積されることとなる。このとき、両者に共通して出現する部分ログ列<A>=<"pingコマンドによる疎通確認">と、片方にのみ出現する部分ログ列<B>=<"サーバ配置場所への移動"、"原因究明作業">、<C>=<"サーバへのログイン"、"アプリケーションの停止ログ確認">に類似した部分作業ログ列が、回数は異なるが作業ログ列中に頻出する。このような頻出する作業ログ列を、「対処パターン」と呼ぶこととする。再びWebサーバが接続不可となった場合に、作業者は、Webサーバ接続不可時の作業ログ列から対処パターンを把握し、<A>を行なった後に結果に応じて<B>または<C>を実施することが、解決のためのプロセスであると分かる。このように、作業ログ列の集合からプロセスを得るためには、複数の作業ログ列の集合に含まれる、頻出の類似する作業ログ列、すなわち、対処パターンの把握が必要である。
非特許文献1では、異なる対処パターンへ遷移する作業を作業分岐点と呼び、作業分岐点を自動的に抽出する方法が開示されている。非特許文献1では、選択された特定の作業ログより後の作業ログ列を2つにクラスタリングし、クラスタリング結果による分割の良さを所定のスコアを用いて評価する。良いクラスタリングであると判断された場合には、後続の作業ログ列が頻出の2種類のパターンで構成されているとし、選択された作業ログが作業分岐点とみなされ、後続の作業列のクラスタリング結果が対処パターンであるとみなされる。
特開2015−153188公報 特開2016−053871公報
渡邉, 木村, 豊野, 石橋,"運用手順の獲得に向けた作業ログにおける業務分岐点の抽出",電子情報通信学会技術研究報告. ICM, 情報通信マネジメント 114(523), 55-60, 2015-03-12 Akio Watanabe, Keisuke Ishibashi, Tsuyoshi Toyono, Tatsuaki Kimura, Keishiro Watanabe, Yoichi Matsuo, and Kohei Shiomoto, "Workflow Extraction for Service Operation using Multiple Unstructured Trouble Tickets," In Proc. of NOMS, 2016.
しかしながら、非特許文献1による方法では、複数の作業分岐点が存在する場合に、組み合わせによる最適な作業分岐点の抽出が行えず、精度が低下しやすいという問題が有る。例として、次に示す作業ログ列集合Tが与えられたとする。なお、作業ログ列集合Tは、図1に図示されている。
T={<a,b,c,e,f,g,h,i,j,k,q,r>,<a,b,c,e,f,g,h,i,j,k,q,r>,<a,b,c,l,m,n,q,r>,<a,b,c,l,m,n,q,r>,<a,b,o,p,q,r>,<a,b,o,p,q,r>}
このとき、同時に出現する作業ログができるだけ一つの対処パターンに含まれるように作業分岐点を獲得すると、理想的な作業分岐点は、図2に示されるように、bとcとである。図2では、作業が変化した瞬間に作業ログ列が分岐し、対処パターン列が明確である。
一方、従来技術を用いて作業分岐点を獲得した結果は、図3に示したようになる。従来技術では、対処パターンの作業分岐点の獲得に失敗することがある。すなわち、図3では、cが作業分岐点として獲得されていない。このような作業分岐点の獲得の失敗は、従来技術において、(i)対処パターンへの作業分岐点を、スコアを最大化させる作業分岐点から先に獲得し、作業分岐点の順序を考慮しないことと、(ii)作業分岐点の探索を再帰的に実施すること、に起因する。従来技術では、任意の作業ログに対して、その作業ログより後ろにある作業ログ列をクラスタリングし、クラスタリングの良さを示すスコアが大きい作業ログを作業分岐点とみなす。このとき、作業分岐点の位置は考慮しない。複数の作業分岐点があるとき、異なる作業ログが多く含まれる長い作業ログ列は、スコアが高くなり、先に作業分岐点だと判別される傾向にある。図3の例の場合、本来は後に分岐すべき作業ログ列<e,f,g,h,i,j,k,q,r>を、先に分岐すると判断してしまい、作業ログ列bが作業分岐点として獲得されてしまっている。手法の特性上、一度作業分岐点で分割された作業ログ列においてのみ作業分岐点を再探索しない。言い換えると、作業分岐点と判断された作業ログよりも前にある作業ログは、作業分岐点になり得ない。そのため、2度目の作業分岐点探索で、部分作業ログ列集合{<a,b,c,l,m,n,q,r>,<a,b,c,d,l,m,n,q,r>,<a,b,o,p,q,r>,<a,b,o,p,q,r>}から、再びbを作業分岐点として見つけ出してしまう。結果として、長いログ列への作業分岐点よりも手前に別の作業分岐点があると、獲得位置の間違いが起こる。
本発明は、上記の点に鑑みてなされたものであって、記号列の集合から複数の分岐点を抽出可能とすることを目的とする。
そこで上記課題を解決するため、ラベル列生成装置は、記号の系列である記号列の集合である記号列集合T={Y,...,Y|T|},Y=<yi1...yi|Yi|>を入力し、前記記号列集合Tを記号の並び順の類似性に基づいて複数の部分記号列に分類した場合の前記部分記号列の分類ごとに割り当てられるラベルを前記記号列集合Tに付与した結果であるラベル列集合L={X,...,X|T|},X=<xi1...xi|Xi|>を生成する生成部を有し、
前記生成部は、隠れマルコフモデルへの適合度を示すScore(T,L)=Πi=1 |T|in(xi1)pem(yi1|xi1)Πt=2 |Yi|tr(xit|xit−1)pem(yit|xit
但し、pin(xi1)は、先頭のラベルがxi1である確率、pem(yit|xit)は、t番目のラベルがxitのときに前記記号がyitである確率、ptr(xit|xit−1)は、t−1番目のラベルがxit−1のときにt番目のラベルがxitである確率
が最大となるラベル列集合Lを生成する。
記号列の集合から複数の分岐点を抽出可能とすることができる。
作業ログ列集合の一例を示す図である。 作業ログ列集合に対する対処パターン列の理想的な獲得結果を示す図である。 従来技術による対処パターン列の獲得の結果と過程とを示す図である。 対処パターン集合の一例を示す図である。 第1の実施の形態における対処ラベル列生成装置のハードウェア構成例を示す図である。 第1の実施の形態における対処ラベル列生成装置の機能構成例を示す図である。 二分木を説明するための図である。 対処ラベル列生成部が実行する処理手順の一例を説明するためのフローチャートである。 対処ラベル列集合の生成結果を示す図である。 ワークフローの一例を示す図である。 第2の実施の形態における対処ラベル列生成装置の機能構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。まず、本実施の形態における問題を定式化する。入力となる作業ログ列とは、Y=<y...y|Y|>のように表される、作業(作業ログ)を表す記号の系列であるとし、記号の並び順は作業の実行順に対応する。但し、出現する全ての作業の集合をΩとしてy∈Ωであるとする。本実施の形態の入力は、作業ログ列集合T={Y,...,Y|T|}とする。すなわち、作業ログ列集合Tは、複数の作業ログ列の集合である。なお、|Y|は、作業ログ列Yに含まれる作業ログの数を示す。また、|T|は、作業ログ列集合Tに含まれる作業ログ列の数を示す。すなわち、本実施の形態において、|X|という表記は、X内の要素数を示す。
また、本実施の形態では、対処ラベルという概念が導入される。対処ラベルとは、同じの対処パターンに属する作業ログを識別するためのラベルである。より詳しくは、対処ラベルとは、作業ログ列集合Tを作業ログの並び順の類似性に基づいて複数の部分作業ログ列に分類した場合の部分作業ログ列の分類ごとに割り当てられるラベルをいう。したがって、作業ログ列のうち、同じ対処パターンに属する作業ログに対して、同じ値の対処ラベルが付与される。なお、対処パターンとは、作業ログ列中に頻出する部分作業ログ列をいい、作業ログ列集合から、エキスパートを含むオペレータらによる、問題の見極めから対処完了までの一連の故障回復手順であるプロセスを抽出した場合に、作業分岐点によって区切られる部分作業ログ列をいう。
本実施の形態では、入力として作業ログ列集合が与えられた場合に、当該作業ログ列集合中の任意の作業ログに対して、対応する対処ラベル列が出力される。i番目の作業ログ列をY=<yi1...yi|Yi|>としたとき、yijに対応する対処ラベルをxijとすると、出力の対処ラベル列集合はL={X,...,X|T|}、X=<xi1...xi|Xi|>となお。但し、xijは、{1,...,K}のいずれかの値をとり、対処ラベルの数Kは、利用者によって指定される。
ある作業ログ列において特定の対処ラベルkに対応する部分作業ログ列を、対処kの対処パターン集合と呼ぶ。また、xij≠xij+1であるとき、xijは次の作業において対処が変化していると考え、yijを異なる対処に遷移した作業分岐点であるとみなせる。例として、作業ログ列集合T={<a,b,c,d>,<a,b,c,d>,<a,b,e,f,g>,<a,b,e,f,h>}、K=5が入力として与えられ、対処ラベル列集合L={<1,1,2,2>,<1,1,2,2>,<1,1,3,3,4>,<1,1,3,3,5>}が出力されたとする。図4の上段には、作業ログ列集合Tを構成する作業ログ列Yごとに、各作業ログyに対して対処ラベル(1〜5)が付与されている。また、図4の下段には、対処パターン集合の遷移図が示されている。
図4において、x12=1、x13=2であるため、y12=bが作業分岐点として考えられる。同様にして、y34=fも、作業分岐点として考えられる。実際に、図4の例では、作業ログbの後に続く作業ログ列は{<c,d>,<c,d>}と{<e,f,g>,<e,f,h>}の類似した2種類があり、また作業ログfの後に続く作業ログ列は{<g>,<h>}の2種類があり、頻出の対処パターンは{<a,b>,<c,d>,<e,f>,<g>,<h>}と考え、この出力結果は、作業ログ列集合が生成されたと考えられる頻出の対処パターン列を表していると考えられる。
従来技術の課題を解決するために、本実施の形態では、スコアを最大化する対処ラベル列集合の獲得を行いたい。なお、従来技術の非特許文献1を用いても、対処ラベル列集合の獲得は可能である。従来技術において複数の作業分岐点を得る場合は、スコアを最大化するひとつの作業分岐点を選択した後、選択された作業に後続する作業ログ列のみを部分列として取り出し、作業ログ列の部分列集合に対して、部分的にスコアを最大化する作業分岐点を再帰的に探索する。スコアを最大化する作業分岐点の組は、入力の作業ログ列集合から、類似した部分作業ログ列を対処パターンとして取り出すことに該当する。
但し、従来技術は、スコアの大きい分岐点を順に得る貪欲法を用いて対処ラベルの組み合わせを部分的に探索する。そのため、計算は容易だが最適解の近似解しか得られず、分岐順序の入れ替えがあると、得られる対処ラベル列集合が最大スコアとならない。そのため、図2で示したスコアが最大化される作業分岐点が得られず、図3の近似解となる。
しかしながら、スコアを最大化する対処ラベル列集合(作業分岐点)の獲得は、対処ラベルの組み合わせの数だけ解があり得る。そのため、一般には全てのとり得る対処ラベルの組み合わせのスコアが現実的な時間で計算出来ない。
そこで、本実施の形態では、隠れマルコフモデルを入力データに対して適用し、対処パターンの抽出のスコアを隠れマルコフモデルへの適合度を表す尤度で定義し、分岐点の数に関わらず、スコアを最大化する対処ラベル列集合を獲得可能にする。
隠れマルコフモデルは、対処ラベルがひとつ前の対処ラベルにのみ依存するという、現実のデータの近似に適した仮定を置くモデルである。この仮定がある場合において、モデルへの適合度を示す尤度という値を最大化するラベル列を効率的に得る手法が、既に確立されている。また、この尤度という値は、従来技術におけるスコアと同様に、対処パターンの集まりの良さを示すスコアであるとみなせる。したがって、複数の分岐点がある場合でも、従来技術と比較して合計スコアがより高くなる対処ラベル列を獲得でき、分岐点の数に依らず最適な対処パターンの推定が可能となる。このように、隠れマルコフモデルを用いる利点は、スコアが最大化される対処ラベル列を効率的に獲得できることである。
以下、上記を実現する対処ラベル列生成装置10について具体的に説明する。図5は、第1の実施の形態における対処ラベル列生成装置のハードウェア構成例を示す図である。図5の対処ラベル列生成装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
対処ラベル列生成装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って対処ラベル列生成装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図6は、第1の実施の形態における対処ラベル列生成装置の機能構成例を示す図である。図6において、対処ラベル列生成装置10は、対処ラベル列生成部11、状態遷移グラフ生成部12、及びワークフロー表示部13等を有する。これら各部は、対処ラベル列生成装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。対処ラベル列生成装置10は、また、作業ログ列DB14を利用する。作業ログ列DB14は、例えば、補助記憶装置102、又は対処ラベル列生成装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
作業ログ列DB14には、作業者が作業を実施した際に記録された作業ログ列の集合である作業ログ列集合Tが記憶されている。
対処ラベル列生成部11は、作業ログ列集合Tと対処ラベル数Kとを入力とし、作業ログ列集合Tに対応する対処ラベル列集合Lを生成する。より詳しくは、対処ラベル列生成部11は、作業ログ列DB14に記憶されている作業ログ列集合Tの各作業ログに、同じ対処パターンから生成されたと思われる場合に同一の対処パターンであることを示す対処ラベルを与える。対処ラベル列生成部11は、また、同一対処パターンに同一の対処ラベルが与えられていることを示すスコアを最大化させる対処ラベルの組み合わせ(対処ラベル列集合L)を自動的に算出する。
状態遷移グラフ生成部12は、作業ログ列集合T及び対処ラベル列集合Lを用いて、作業ログ列集合Tの根本となるプロセスを表示可能な状態遷移グラフを生成する。
ワークフロー表示部13は、状態遷移グラフを出力する。
本実施の形態において、対処ラベル列生成部11は、潜在的な対処列から生成される隠れマルコフモデル(HMM)に基づく、以下の尤度関数Score(T,L)を最大化させる対処ラベル列集合Lを生成する。なお、HMMについては、例えば、「C.M.ビショップ, パターン認識と機械学習 下 - ベイズ理論による統計的予測, 丸善出版,pp.328--330,2012.」に詳しい。
Score(T,L)=Πi=1 |T|in(xi1)pem(yi1|xi1)Πt=2 |Yi|tr(xit|xit−1)pem(yit|xit) (1)
但し、pin(xi1)は、先頭の対処ラベルがxi1である確率、pem(yit|xit)は、t番目の対処ラベルがxitのときに作業ログがyitである確率、ptr(xit|xit−1)は、t−1番目の対処ラベルがxit−1のときにt番目の対処ラベルがxitである確率を表し、以下の条件を満たす。
Σk=1 in(x=k)=1,
Σo∈Ωem(o|x=k)=1(k=1,...,K),
Σk'=1 tr(x'=k'|x=k)=1(k=1,...,K)
本実施の形態において、HMMを用いる利点は、確率pin、pem、ptrのパラメータを求めることで、Score(T,L)を最大化させるLを容易に求められる点である。非特許文献1は、作業分岐点集合(図4の例では{b、f})を出力するものであるが、途中の処理過程のデータを用いて、対処ラベル列集合={<1,1,2,2>,<1,1,2,2>,<1,1,3,3,4>,<1,1,3,3,5>}を出力可能である。定義は異なるが、非特許文献1でも分岐点としての良さを表すスコアを定義し、スコアをより大きくする分岐点を候補の中から選択している。しかしながら、分岐点を再帰的に探索する非特許文献1の方法では、分岐点が複数、すなわちK≧5の場合に得られるLが、必ずしもスコアを最大化させる最適解とならない。本実施の形態はHMMを用いることで、よく知られたViterbiアルゴリズムを用いて、非常に効率的に最適解を得ることができる。
また、本実施の形態では、HMMにおける状態遷移確率ptrに、二分木に基づく制約を加えた、二分木HMMを用いる。HMMは、確率ptrに様々な制約条件を与えることで、多様な応用が可能なことが知られている(例えば、「C.M.ビショップ, パターン認識と機械学習 下- ベイズ理論による統計的予測, 丸善出版,pp.331--333, 2012.」参照)。有名なものでは、k'<kのときにptr(k'|k)=0とする、left−to−rightHMMが挙げられる。
二分木とは、図7に示すような、任意のノードにおいて子ノードの数が2個以下であるグラフである。二分木HMMでは、任意の対処ラベルkにおいて、二分木でkの子孫に当たる対処ラベルのみ、次のラベルとしての出現確率が与えられる。そのため、二分木HMMではptrに次の制約条件が与えられる。
tr(k'|k)=0 if(k'が二分木においてkの子孫ノードでない)
上記制約があっても、殆ど通常のHMMと同様に、確率分布のパラメータ推定から対処ラベル列の推定を実施可能である。尚、状態遷移に制約条件を用いたHMMは多数存在するが、二分木HMMと同じ制約を与えた事例は見当たらない。
本実施の形態は、隠れマルコフモデルに基づいている。そのため、対処ラベル列生成部11は、隠れマルコフモデルに基づく確率分布を、対処ラベル列集合Lのランダムサンプリングによって推定する確率分布推定部111と、推定した確率分布に基づいて、最適な対処ラベル列集合Lを隠れマルコフモデルに基づいて算出する最適対処ラベル列算出部112とを含む。隠れマルコフモデルに基づく確率分布は、pin(xi1)、pem(yit|xit)、及びptr(xit|xit−1)によって規定される。したがって、確率分布の推定とは、これら3つのパラメータの値を推定することをいう。
確率分布を対処ラベル列集合Lランダムサンプリングによって推定する場合、前のサンプリング時点t−1のサンプリング結果L(t−1)を元に、pin (t−1)(xi1)、ptr (t−1)(xij|xij−1)、pem (t−1)(yij|xij)を算出する(例えば、「C.M.ビショップ, パターン認識と機械学習 下- ベイズ理論による統計的予測, 丸善出版,pp.257--261, 2012.」参照)。このとき、それぞれの確率は次の様になる。
in (t−1)(k)=(c(t−1)(x*1=k)+1)/(|L(t−1)|+K) (2)
tr (t−1)(k'|k)=(c(t−1)(x*j=k',x*j−1=k)+1)/(c(t−1)(x*j−1=k)+K) (3)
em (t−1)(o|k)=(c(t−1)(y*j=o,x*j=k)+1)/(c(t−1)(x*j=k)+K) (4)
但し、c(t−1)(x*1=k)は、L(t−1)においてx(t−1) i1=kであるiの数、c(t−1)(x*j=k',x*j−1=k)は、L(t−1)においてxij=k'、xij−1=kである(i,j)の数、c(t−1)(y*j=o,x*j=k)は、L(t−1)においてxij=k、yij=oである(i,j)の数を表す。
なお、各サンプリング時点tにおけるサンプリング結果L(t)は、入力である作業ログ列集合Tの各作業ログ列及び各作業ログに対応する対処ラベル列及び対処ラベルによって構成される。
確率分布推定部111におけるサンプリングでは、一般的に用いられる手法であるギブスサンプリングのような全てのラベルxijを一つずつランダム決定する方法は用いない。特定の観測列、この場合、作業ログ列に対するラベル列Xを一度にランダム決定する、Forward−filtering−backward−sampling(FFBS)が用いられる(例えば、「V. Rao, Y. W. Teh, "Fast MCMC Sampling for Markov Jump Processes and Extensions, " Journal of Machine Learning Research, Vol. 14, pp. 3295--3320, 2013.」参照)。二分木HMMの制約条件では、前後のラベルが決まると、その中間でとり得るラベルが限定される。サンプリング可能なラベルが、特定のラベルだけを見ると限定されてしまうため、ギブスサンプリングではランダムなラベル獲得が殆どできず、サンプリング回数を現実的でない程多く行わないと良いサンプルが得られない。これに対してFFBSでは一度にラベル列をランダム決定するため、前後のラベルも同時に変更することで、二分木HMMにおける収束が非常に高速となる。
一方、最適対処ラベル列算出部112は、隠れマルコフモデルにおいて効率的に最適解を得ることが可能な、Viterbiアルゴリズムを用いる。
図8は、対処ラベル列生成部が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、確率分布推定部111は、作業ログ列DB14から、作業ログ列集合T={Y,...,Y|T|},Y=<yi1...yi|Yi|>を読み込む。ここで、yij∈Ω、Ωは出現する作業ログの集合である。なお、第1の実施の形態では、或る一つのプロセスに関する作業ログ列集合Tが読み込まれる。
続いて、確率分布推定部111は、対処ラベル列集合Lの初期値L(0)に、{X(0) ,...,X(0) |T|},X(0) =<x(0) i1...x(0) i|Xi|>,x(0) ij=1を代入する(S102)。すなわち、全ての対処ラベルが1である対処ラベル列集合が、初期値L(0)とされる。
続いて、確率分布推定部111は、変数tに0を代入する(S103)。続いて、確率分布推定部111は、変数tに1を加算する(S104)。
続いて、確率分布推定部111は、pin (t−1)(xi1)、ptr (t−1)(xij|xij−1)、pem (t−1)(yij|xij)を、L(t−1)における対処ラベルの出現数に基づき、式(2)、式(3)、及び式(4)を利用して算出する(S105)。
続いて、確率分布推定部111は、L(t)={X(t) ,...,X(t) |T|},X(t) =x(t) i1...x(t) i|Xi|、(t) ij∈{1,...,K}(i=1,...,|T|)を、ステップS105において算出されたpin (t−1)(xi1)、ptr (t−1)(xij|xij−1)、及びpem (t−1)(yij|xij)に従うFFBSに基づいて決定する(S106)。なお、Kは、入力として与えられた対処パターン数である。
確率分布推定部111は、ステップS104〜S105を、max_loop回数分繰り返す(S107)。max_loopは、予め設定される値である。ステップS104〜S105が、max_loop回数分実行されると(S107でYes)、確率分布推定部111は、得られたL(1),…,L(max_loop)における全ての対処ラベルの出現数に基づいて、pin(xi1)、ptr(xij|xij−1)、pem(yij|xij)を算出する(S108)。
続いて、対処ラベル列算出部は、ステップS108において算出されたpin(xi1)、ptr(xij|xij−1)、pem(yij|xij)に基づいて、Viterbiアルゴリズムで式(1)が最大となる対処ラベル列集合Lを推定する(S109)。その結果、尤度関数Score(T,L)を最大化させる対処ラベル列集合Lが得られる。例えば、図1の作業ログ列集合Tについては、図9に示されるような対処ラベル列集合L={<1,1,2,4,4,4,4,4,4,4,4,4>,<1,1,2,4,4,4,4,4,4,4,4,4>,<1,1,2,5,5,5,5,5>,<1,1,2,5,5,5,5,5>,<1,1,3,3,3,3>,<1,1,3,3,3,3>}が生成される。図9では、作業ログ列集合Tの各作業ログに対して、対処ラベルが付与されている。図9に示した対処ラベル列集合Lによれば、図2に示したように作業分岐点{b,c}が得られる。
式(1)を最大化することは、スコアを最大化する最適な対処パターン集合の獲得と同値である。ViterbiアルゴリズムとFFBSとからなる図8のアルゴリズムは、一例であり、二分木HMMに基づいた複数の分岐点を与えたときの尤度を示す式(1)を最大化する対処ラベル列集合Lが得られれば、他のアルゴリズムが採用されてもよい。例えば、FFBSに基づくランダムサンプリングではなく、Baum−Welchアルゴリズムによりpin(xi1)、ptr(xij|xij−1)、pem(yij|xij)を獲得する方法も考えられる。
また、上記説明では二分木HMMを用いた場合について説明したが、制約のない通常のHMMや、それ以外の制約条件を用いても良い。
第1の実施の形態では、対処ラベル列生成部11の出力結果である対処ラベル列集合Lが、状態遷移グラフ生成部12によって利用される。
状態遷移グラフ生成部12は、作業ログ列集合Tと対処ラベル列集合Lとを用いて、作業ログ列集合Tの根本に有る一つのプロセスを表示可能な状態遷移グラフを獲得する。
作業ログ列集合T={Y,...,Y|T|}と、対処ラベル列集合L={X,...,X|T|}の、対応する作業ログ列Y=<yi1...yi|Yi|>と対処ラベル列X=<x(0) i1...x(0) i|Xi|>との、対応する作業ログと対処ラベルとのペアを作業ノードと呼び、wij=(yij,xij)で示す。作業ノードの系列W=<wi1...wi|Yi|>を、作業フローと呼び、また、F={W,...,W|T|}を、作業フロー集合と呼ぶ。
このとき、作業フロー集合Fに含まれる全ての作業ノードの集合をVとする。また、作業フロー集合Fに含まれる作業フローのうち、連続する作業ノードeit=(wit,wit+1)(1≦t≦|X|−1)を作業順序と呼ぶ。作業フロー集合Fに含まれる全ての作業フローに含まれる作業順序の集合をEとする。状態遷移グラフ生成部12は、G=(V,E)を状態遷移グラフとして出力する。
例として、
T={<a,b,c,d>,<a,b,c,d>,<a,b,e,f,g>,<a,b,e,f,h>}
L={<1,1,2,2>,<1,1,2,2>,<1,1,3,3,4>,<1,1,3,3,5>}
が入力に与えられたとする。このとき、
F={<(a,1),(b,1),(c,2),(d,2)>,<(a,1),(b,1),(c,2),(d,2)>,<(a,1),(b,1),(e,3),(f,3),(g,4)>,<(a,1),(b,1),(e,3),(f,3),(h,5)>}
V={(a,1),(b,1),(c,2),(d,2),(e,3),(f,3),(g,4),(h,5)}
E={((a,1),(b,1)),((b,1)),(c,2)),((c,2),(d,2)),((b,1),(e,3)),((e,3),(f,3)),((f,3),(g,4)),((f,3),(h,5))}
となる。G=(V,E)は、ワークフロー表示部13に入力される。
ワークフロー表示部13は、入力であるG=(V,E)に従い、ワークフローを示す図を表示装置106に表示する。図10は、ワークフローの一例を示す図である。図10では、Vの全ての要素をノードとし、またEの任意の要素e=(s,d)に対して、sからdへのエッジを表現する線が描画されている。
上述したように、第1の実施の形態によれば、複数の作業分岐点が存在する作業ログ列集合が与えられた場合において各作業分岐点を抽出可能とすることができる。すなわち、目標とするスコアを最大化する最適な対処パターン集合を抽出可能とすることができる。
したがって、任意のシステム異常を復旧させた際の作業ログ列集合から、その作業ログ列集合の根本であると考えられる対処パターン列の集合からなる、システム異常を解決するまでのプロセスを把握することができる。これにより、故障時に実施すべきプロセスを自動的に獲得し、把握することができ、故障対応時間の短縮化が実現できる。従来の技術(非特許文献1)の利用では、得られる作業分岐点と対処パターンが、スコア最大化の最適解とならないため、複数の作業分岐点がある、すなわち対処の候補が3つ以上ある場合には正しい作業分岐点の組が得られず、適用可能な故障の種類が限定的であった。これに対して、本実施の形態を用いることで、オペレータにとって問題となりやすい、3つ以上の対処パターンが考えられるケースでの故障対応のプロセスを、把握することが可能となる。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
図11は、第2の実施の形態における対処ラベル列生成装置の機能構成例を示す図である。図11中、図6と同一部分には同一符号を付し、その説明は省略する。
図11において、対処ラベル列生成装置10は、状態遷移グラフ生成部12及びワークフロー表示部13の代わりに対処パターン集合獲得部15を有する。対処パターン集合獲得部15は、対処ラベル列生成装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
対処パターン集合獲得部15は、作業ログ列集合Tと、対応する対処ラベル列集合Lとを入力とし、同一の対処ラベルを持つ作業ログだけで構成した作業ログ列の部分列を全て出力する。
作業ログ列集合T={Y,...,Y|T|}と、対処ラベル列集合L={X,...,X|T|}の、対応する作業ログと対処ラベルのペアを作業ノードと呼び、wij=(yij,xij)で示す。作業ノードの系列W=<wi1...wi|Yi|>を、作業フローと呼び、また、F={W,...,W|T|}を、作業フロー集合と呼ぶ。
任意の作業フローWにおいて、対処ラベルがkである作業ノードの作業ログだけを取り出した部分列をX'(k)とする。例えば、W=<(a,1),(b,1),(e,3),(f,3),(g,4)>において、X'(3)=<e,f>である。作業フロー集合Fにおける全ての部分列X'(k)の集合S={X'(k);i=1,...,|T|,k=1,...,K}を、対処パターン集合とする。対処パターン集合獲得部15は、対処パターン集合Sを出力する。
例えば、
T={<a,b,c,d>,<a,b,c,d>,<a,b,e,f,g>,<a,b,e,f,h>}、
L={<1,1,2,2>,<1,1,2,2>,<1,1,3,3,4>,<1,1,3,3,5>}が与えられたとき、
S={<a,b>,<c,d>,<e,f>,<g>,<h>}となる。
なお、第2の実施の形態では、複数のプロセスに係る作業ログ列を含む作業ログ列集合が対処ラベル列生成部11に対して入力される。例えば、過去に蓄積された全ての作業ログ列集合が入力されてもよい。したがって、対処パターン集合獲得部15による出力結果によれば、複数のプロセスに関する作業ログ列集合に含まれる対処パターンを総覧することができる。
上述したように、第2の実施形態によれば、蓄積された作業ログ列集合から、頻出の作業ログ列である対処パターン列を獲得することができる。これにより、例えば、故障時に実施した作業ログにおいて頻出する対処パターンを部分作業ログ列として蓄積しておくことで、対処パターン列を回復措置として、故障が再発した際の業務マニュアル制定を効率的に実施することが可能となる。
なお、上記各実施の形態は、作業ログ列以外の記号列に対して適用されてもよい。すなわち、上記各実施の形態は、記号列の集合から類似した記号列の出現領域を取り出し、当該出現領域の変遷を獲得するに際し、様々な場合に適用可能である。ここで、類似した記号列の出現領域は、上記各実施の形態において、同じ対処ラベルが付与される作業列に該当する。作業ログ列以外の記号列で考えられる例としては、任意のシステムにおいて動作中に生成されるシステムログや、装置の安全監視において生成されるエラーログやセキュリティログを、それぞれエラーIDなどIDのみを取り出して記号列としたものなどが挙げられる。
なお、上記各実施の形態において、対処ラベル列生成装置10は、ラベル列生成装置の一例である。対処ラベル列生成部11は、生成部の一例である。確率分布推定部111は、推定部の一例である。最適対処ラベル列算出部112は、算出部の一例である。作業ログ列集合は、記号列集合の一例である。対処ラベルは、ラベルの一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 対処ラベル列生成装置
11 対処ラベル列生成部
12 状態遷移グラフ生成部
13 ワークフロー表示部
14 作業ログ列DB
15 対処パターン集合獲得部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
111 確率分布推定部
112 最適対処ラベル列算出部
B バス

Claims (7)

  1. 記号の系列である記号列の集合である記号列集合T={Y,...,Y|T|},Y=<yi1...yi|Yi|>を入力し、前記記号列集合Tを記号の並び順の類似性に基づいて複数の部分記号列に分類した場合の前記部分記号列の分類ごとに割り当てられるラベルを前記記号列集合Tに付与した結果であるラベル列集合L={X,...,X|T|},X=<xi1...xi|Xi|>を生成する生成部を有し、
    前記生成部は、隠れマルコフモデルへの適合度を示すScore(T,L)=Πi=1 |T|in(xi1)pem(yi1|xi1)Πt=2 |Yi|tr(xit|xit−1)pem(yit|xit
    但し、pin(xi1)は、先頭のラベルがxi1である確率、pem(yit|xit)は、t番目のラベルがxitのときに前記記号がyitである確率、ptr(xit|xit−1)は、t−1番目のラベルがxit−1のときにt番目のラベルがxitである確率
    が最大となるラベル列集合Lを生成することを特徴とするラベル列生成装置。
  2. 前記生成部は、
    隠れマルコフモデルに基づいて、pin(xi1)、pem(yi1|xi1)、及びptr(xit|xit−1)を推定する推定部と、
    前記推定部によって推定されたpin(xi1)、pem(yi1|xi1)、及びptr(xit|xit−1)を前記Score(T,L)に当てはめて、前記ラベル列集合Lを算出する算出部と、
    を有することを特徴とする請求項1記載のラベル列生成装置。
  3. tr(xit|xit−1)に、二分木に基づく制約が与えられる、
    ことを特徴とする請求項1又は2記載のラベル列生成装置。
  4. 記号の系列である記号列の集合である記号列集合T={Y,...,Y|T|},Y=<yi1...yi|Yi|>を入力し、前記記号列集合Tを記号の並び順の類似性に基づいて複数の部分記号列に分類した場合の前記部分記号列の分類ごとに割り当てられるラベルを前記記号列集合Tに付与した結果であるラベル列集合L={X,...,X|T|},X=<xi1...xi|Xi|>を生成する生成手順をコンピュータが実行し、
    前記生成手順は、隠れマルコフモデルへの適合度を示すScore(T,L)=Πi=1 |T|in(xi1)pem(yi1|xi1)Πt=2 |Yi|tr(xit|xit−1)pem(yit|xit
    但し、pin(xi1)は、先頭のラベルがxi1である確率、pem(yit|xit)は、t番目のラベルがxitのときに前記記号がyitである確率、ptr(xit|xit−1)は、t−1番目のラベルがxit−1のときにt番目のラベルがxitである確率
    が最大となるラベル列集合Lを生成することを特徴とするラベル列生成方法。
  5. 前記生成手順は、
    隠れマルコフモデルに基づいて、pin(xi1)、pem(yi1|xi1)、及びptr(xit|xit−1)を推定する推定手順と、
    前記推定手順において推定されたpin(xi1)、pem(yi1|xi1)、及びptr(xit|xit−1)を前記Score(T,L)に当てはめて、前記ラベル列集合Lを算出する算出手順と、
    を含むことを特徴とする請求項4記載のラベル列生成方法。
  6. tr(xit|xit−1)に、二分木に基づく制約が与えられる、
    ことを特徴とする請求項4又は5記載のラベル列生成方法。
  7. 請求項1乃至3いずれか一項記載の生成部としてコンピュータを機能させることを特徴とするプログラム。
JP2016123822A 2016-06-22 2016-06-22 ラベル列生成装置、ラベル列生成方法、及びプログラム Active JP6407205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016123822A JP6407205B2 (ja) 2016-06-22 2016-06-22 ラベル列生成装置、ラベル列生成方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016123822A JP6407205B2 (ja) 2016-06-22 2016-06-22 ラベル列生成装置、ラベル列生成方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017228094A JP2017228094A (ja) 2017-12-28
JP6407205B2 true JP6407205B2 (ja) 2018-10-17

Family

ID=60891673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016123822A Active JP6407205B2 (ja) 2016-06-22 2016-06-22 ラベル列生成装置、ラベル列生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6407205B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6897580B2 (ja) * 2018-01-12 2021-06-30 日本電信電話株式会社 切り分け作業特定装置、切り分け作業特定方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4940220B2 (ja) * 2008-10-15 2012-05-30 株式会社東芝 異常動作検出装置及びプログラム
JP6365274B2 (ja) * 2014-12-04 2018-08-01 富士通株式会社 共通操作情報生成プログラム、共通操作情報生成方法、及び共通操作情報生成装置

Also Published As

Publication number Publication date
JP2017228094A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
US10423647B2 (en) Descriptive datacenter state comparison
Deka et al. Learning for DC-OPF: Classifying active sets using neural nets
Fu Performance metric selection for autonomic anomaly detection on cloud computing systems
CN113590370B (zh) 一种故障处理方法、装置、设备及存储介质
US10712733B2 (en) Methods and systems for discovery of prognostic subsequences in time series
US20080270088A1 (en) Method and system for causal modeling and outlier detection
CN105071983A (zh) 一种面向云计算在线业务的异常负载检测方法
CN111897695B (zh) 获取kpi异常数据样本的方法、装置和计算机设备
JP6280862B2 (ja) イベント分析システムおよび方法
CN115048370B (zh) 用于大数据清洗的人工智能处理方法及大数据清洗系统
US20210365813A1 (en) Management computer, management program, and management method
JP2018190127A (ja) 判定装置、分析システム、判定方法および判定プログラム
CN110781818A (zh) 视频分类方法、模型训练方法、装置及设备
US10346450B2 (en) Automatic datacenter state summarization
CN116383096A (zh) 基于多指标时序预测的微服务系统异常检测方法及装置
JP6190539B2 (ja) ログ分析装置、ログ分析システム、ログ分析方法及びコンピュータプログラム
JP6407205B2 (ja) ラベル列生成装置、ラベル列生成方法、及びプログラム
Zhang et al. Pace: Prompting and augmentation for calibrated confidence estimation with gpt-4 in cloud incident root cause analysis
CN117675691A (zh) 路由器的远程故障监控方法、装置、设备及存储介质
JP6398991B2 (ja) モデル推定装置、方法およびプログラム
Villaça et al. Online learning under resource constraints
JP6263487B2 (ja) プロセス抽出装置、プロセス抽出方法、及びプログラム
EP4024296A1 (en) Information processing program, information processing method, and information processing device
CN113360899B (zh) 一种机器行为的识别方法及系统
JP2007213441A (ja) 多変数決定木構築システム、多変数決定木構築方法および多変数決定木を構築するためのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R150 Certificate of patent or registration of utility model

Ref document number: 6407205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150