(57)【要約】  テキストログ特徴ベクトル生成部（１２１）は、テキストログを基にテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部（１２２）は、数値ログを基に数値ログ特徴ベクトルを生成する。そして、システム特徴ベクトル生成部（１２３）は、テキストログ特徴ベクトルと数値ログ特徴ベクトルとを基に、システム特徴ベクトルを生成する。また、学習部（１２４）は、システム特徴ベクトルの複数の出現値を学習し、システムの状態を表すモデルであるシステム状態モデルを生成する。また、判定部（１２５）は、判定対象時刻におけるシステム特徴ベクトルと、システム状態モデルとに基づき、システムの判定対象時刻における状態を判定する。
2017154844.tif 000002
【特許請求の範囲】
【請求項１】
システムから出力された、テキストで表されたログであるテキストログを基に第１の特徴ベクトルを生成するテキストログ特徴ベクトル生成部と、
前記システムから出力された、数値で表されたログである数値ログを基に第２の特徴ベクトルを生成する数値ログ特徴ベクトル生成部と、
前記第１の特徴ベクトルと前記第２の特徴ベクトルとを基に、第３の特徴ベクトルを生成するシステム特徴ベクトル生成部と、
前記第３の特徴ベクトルの複数の出現値を学習し、前記システムの状態を表すモデルを生成する学習部と、
判定対象時刻における第３の特徴ベクトルと、前記モデルとに基づき、前記システムの前記判定対象時刻における状態を判定する判定部と、
を有することを特徴とする分析装置。
【請求項２】
前記テキストログ特徴ベクトル生成部は、前記テキストログの中に所定のメッセージが所定の順序で出現しているか否かを示す値を前記第１の特徴ベクトルに含めることを特徴とする請求項１に記載の分析装置。
【請求項３】
前記数値ログ特徴ベクトル生成部は、前記数値ログに含まれる所定の項目の推定値を、前記所定の項目と前記数値ログに含まれる前記所定の項目以外の項目との相関関係に基づいて算出し、前記数値ログに含まれる前記所定の項目の実際の値の、前記推定値からの乖離度合いを示す値を、前記第２の特徴ベクトルに含めることを特徴とする請求項１に記載の分析装置。
【請求項４】
前記テキストログ特徴ベクトル生成部は、前記テキストログの中に所定のメッセージが所定の順序で出現しているか否かを示す値を前記第１の特徴ベクトルに含め、
前記数値ログ特徴ベクトル生成部は、前記数値ログに含まれる所定の項目の推定値を、前記所定の項目と前記数値ログに含まれる前記所定の項目以外の項目との相関関係に基づいて算出し、前記数値ログに含まれる前記所定の項目の実際の値の、前記推定値からの乖離度合いを示す値を、前記第２の特徴ベクトルに含めることを特徴とする請求項１に記載の分析装置。
【請求項５】
前記学習部は、複数の異なる状態のそれぞれについて、前記システムの状態が既知である時の第３の特徴ベクトルと、前記システムの状態と、を関連付けて学習し、前記複数の異なる状態のそれぞれと前記第３の特徴ベクトルとの関係を表すモデルを生成し、
前記判定部は、前記モデルを用いて、前記判定対象時刻における第３の特徴ベクトルが、前記システムの前記複数の異なる状態のいずれに近いかを算出することで、前記判定対象時刻における状態を判定することを特徴とする請求項１から４のいずれか１項に記載の分析装置。
【請求項６】
前記学習部は、前記第３の特徴ベクトルを所定の期間にわたって学習することで、前記第３の特徴ベクトルの時系列傾向を表す前記モデルを生成し、
前記判定部は、前記時系列傾向を表すモデルと、前記判定対象時刻以前の前記第３の特徴ベクトルの値とを基に、前記判定対象時刻における第３の特徴ベクトルの推定値を算出し、前記判定対象時刻における第３の特徴ベクトルの実際の値の、前記推定値からの乖離度合いを基に、前記システムの前記判定対象時刻における状態を判定することを特徴とする請求項１から４のいずれか１項に記載の分析装置。
【請求項７】
前記学習部は、前記システムの状態が正常である時の第３の特徴ベクトルを学習して前記モデルを生成し、
前記判定部は、前記判定対象時刻における第３の特徴ベクトルの、前記モデルによって表される前記システムの状態が正常である時の第３の特徴ベクトルとの乖離度合いによって、前記判定対象時刻における前記システムの状態を判定することを特徴とする請求項１から４のいずれか１項に記載の分析装置。
【請求項８】
分析装置で実行される分析方法であって、
システムから出力された、テキストで表されたログであるテキストログを基に第１の特徴ベクトルを生成するテキストログ特徴ベクトル生成工程と、
前記システムから出力された、数値で表されたログである数値ログを基に第２の特徴ベクトルを生成する数値ログ特徴ベクトル生成工程と、
前記第１の特徴ベクトルと前記第２の特徴ベクトルとを基に、第３の特徴ベクトルを生成するシステム特徴ベクトル生成工程と、
前記第３の特徴ベクトルの複数の出現値を学習し、前記システムの状態を表すモデルを生成する学習工程と、
判定対象時刻における第３の特徴ベクトルと、前記モデルとに基づき、前記システムの前記判定対象時刻における状態を判定する判定工程と、
を含んだことを特徴とする分析方法。
【請求項９】
コンピュータを、請求項１から７のいずれか１項に記載の分析装置として機能させるための分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析装置、分析方法および分析プログラムに関する。
【背景技術】
【０００２】
従来、サーバシステムやネットワークシステムにおける異常検知や状態分析のために、シスログ（Ｓｙｓｌｏｇ）やＭＩＢ（Management  Information  Base）情報等のテキストログを用いたシステム監視運用業務が行われている。具体的には、取得したテキストログに、異常に関わる特定のキーワードが含まれるか否かを監視することや、障害発生時にテキストログの内容を確認して原因の推定に役立てることが行われている。一方で、性能情報や付属センサ等によって取得される時系列数値ログを用いた閾値判定によるシステム監視運用業務も知られている。【０００３】
また、テキストログのクラスタリングにより得られる平常時のログ遷移モデルに対し、ログに変化があった時に性能情報、すなわち数値ログを取得指示し、取得された性能情報とテキストログ情報とから障害の有無を判断する方法も知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】山西健司、「データマイニングによる異常検知」、2009年、共立出版
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術には、テキストログと数値ログの双方から総合的にシステム状態を分析することができないという問題があった。【０００６】
例えば、前述の、ログに変化があった時に数値ログを取得し、障害の有無を判断する方法では、テキストログに変化がある場合のみ数値ログを用いた判断が行われ、テキストログに変化がない場合には数値ログを用いた判断が行われない。このように、テキストログに変化がない場合には、テキストログと数値ログの双方から総合的にシステム状態を分析することができない。さらに、この結果、障害事例が見逃され、検知精度が低下することになる。
【課題を解決するための手段】
【０００７】
本発明の分析装置は、システムから出力された、テキストで表されたログであるテキストログを基に第１の特徴ベクトルを生成するテキストログ特徴ベクトル生成部と、前記システムから出力された、数値で表されたログである数値ログを基に第２の特徴ベクトルを生成する数値ログ特徴ベクトル生成部と、前記第１の特徴ベクトルと前記第２の特徴ベクトルとを基に、第３の特徴ベクトルを生成するシステム特徴ベクトル生成部と、前記第３の特徴ベクトルの複数の出現値を学習し、前記システムの状態を表すモデルを生成する学習部と、判定対象時刻における第３の特徴ベクトルと、前記モデルとに基づき、前記システムの前記判定対象時刻における状態を判定する判定部と、を有することを特徴とする。【０００８】
また、本発明の分析方法は、分析装置で実行される分析方法であって、システムから出力された、テキストで表されたログであるテキストログを基に第１の特徴ベクトルを生成するテキストログ特徴ベクトル生成工程と、前記システムから出力された、数値で表されたログである数値ログを基に第２の特徴ベクトルを生成する数値ログ特徴ベクトル生成工程と、前記第１の特徴ベクトルと前記第２の特徴ベクトルとを基に、第３の特徴ベクトルを生成するシステム特徴ベクトル生成工程と、前記第３の特徴ベクトルの複数の出現値を学習し、前記システムの状態を表すモデルを生成する学習工程と、判定対象時刻における第３の特徴ベクトルと、前記モデルとに基づき、前記システムの前記判定対象時刻における状態を判定する判定工程と、を含んだことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、テキストログと数値ログの双方から総合的にシステム状態を分析することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る分析装置の構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る分析装置を用いて、ネットワーク装置のログを分析する場合の例を説明するための図である。
【図３】図３は、第１の実施形態に係る分析装置を用いて、工作機械のログを分析する場合の例を説明するための図である。
【図４】図４は、第１の実施形態に係る分析装置を用いて、ウェアラブル端末のログを分析する場合の例を説明するための図である。
【図５】図５は、第１の実施形態に係る分析装置の学習処理の流れを示すフローチャートである。
【図６】図６は、第１の実施形態に係る分析装置の判定処理の流れを示すフローチャートである。
【図７】図７は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る分析装置、分析方法および分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１２】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る分析装置の構成を説明する。図１は、第１の実施形態に係る分析装置の構成の一例を示す図である。図１に示すように、分析装置１０は、入出力部１１、制御部１２および記憶部１３を有する。また、入出力部１１は、テキストログ入力部１１１および数値ログ入力部１１２を有する。また、制御部１２は、テキストログ特徴ベクトル生成部１２１、数値ログ特徴ベクトル生成部１２２、システム特徴ベクトル生成部１２３、学習部１２４および判定部１２５を有する。また、記憶部１３は、システム状態モデル記憶部１３１を有する。
【００１３】
また、図１に示すように、分析装置１０には、分析対象のシステムから出力されたテキストログ１０１ａおよび数値ログ１０２ａが入力される。なお、分析装置１０の分析対象のシステムは、テキストログおよび数値ログが取得可能なシステムであればよい。分析装置１０の分析対象のシステムは、例えば、サーバマシン、パーソナルコンピュータ、ストレージ等で構成される計算機システムであってもよいし、ルータ、ファイアウォール、ロードバランサ、光伝送装置、光伝送中継器等で構成されるネットワークであってもよい。さらに、分析装置１０の分析対象のシステムは、計算機システムやネットワークシステムが仮想化された環境であってもよい。
【００１４】
また、分析装置１０の分析対象のシステムは、プラントや発電機、工作機械であってもよいし、乗用車、飛行機、電車等の乗用機器であってもよいし、家電、携帯電話、スマートフォン等の小型電子機器であってもよいし、人間や動物等の生体および当該生体の生体情報を測定するセンサ機器からなるシステムであってもよい。
【００１５】
テキストログ入力部１１１は、テキストログ１０１ａの入力を受け付ける。テキストログ１０１ａは、例えば、ＯＳ（オペレーティングシステム）のシスログ、アプリケーションやデータベースの実行ログ、エラーログ、操作ログ、ネットワーク機器から得られるＭＩＢ情報、監視システムのアラート、行動ログ、動作状態ログ等である。また、テキストログ１０１ａには、時刻情報が含まれていてもよい。
【００１６】
また、数値ログ入力部１１２は、数値ログ１０２ａの入力を受け付ける。数値ログ１０２ａは、例えば、ＯＳから取得可能な性能情報（ＣＰＵ（Central  Processing  Unit）使用率、メモリ使用量、ネットワーク送受信データ量、ストレージ書き込みデータ量および読み出しデータ量等）や、ＨＤＤ回転数、温度、湿度、音声のパワースペクトル、心拍数、歩数、重力加速度等のセンサで取得される物理量等である。また、数値ログ１０２ａには、時刻情報が含まれていてもよい。
【００１７】
テキストログ特徴ベクトル生成部１２１は、システムから出力された、テキストで表されたログであるテキストログ１０１ａを基に第１の特徴ベクトル、すなわちテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部１２２は、システムから出力された、数値で表されたログである数値ログ１０２ａを基に第２の特徴ベクトル、すなわち数値ログ特徴ベクトルを生成する。そして、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルと数値ログ特徴ベクトルとを基に、第３の特徴ベクトル、すなわちシステム特徴ベクトルを生成する。このとき、システム特徴ベクトル生成部１２３は、例えばテキストログ特徴ベクトルおよび数値ログ特徴ベクトルを結合することでシステム特徴ベクトルを生成する。
【００１８】
なお、システム特徴ベクトル生成部１２３は、時々刻々取得されるテキストログ１０１ａおよび数値ログ１０２ａに基づく現在のシステム特徴ベクトルを生成してもよいし、過去のある時点におけるテキストログ１０１ａおよび数値ログ１０２ａに基づく過去のシステム特徴ベクトルを生成してもよい。例えば、現在のシステム特徴ベクトルは、システム状態の監視に用いられる。また、例えば、過去のシステム特徴ベクトルは、過去の時点におけるシステム状態の分析や、モデルの学習に用いられる。
【００１９】
テキストログ特徴ベクトル生成部１２１は、例えば、以下の全てまたは一部をテキストログ特徴ベクトルの特徴量に含めることができる。
・正常時に定常的に表れるログシーケンスが一定時間内に出現しているか否か
・特定の異常発生前に現れる確率の高いログシーケンスが一定時間内に出現しているか否か
・当該ログシーケンスが途中まで出現している場合におけるその進捗度
・特定の異常発生後に現れる確率の高いログシーケンスが一定時間内に出現しているか否か
・当該ログシーケンスが途中まで出現している場合におけるその進捗度
・一定時間内に出現したログ種別の分布
・当該分布に基く尤度
・一定時間内に出現したログ種別の出現頻度、当該出現頻度の対数、出現の有無
なお、ログシーケンスとは、所定のメッセージが所定の順序で出現することである。
【００２０】
数値ログ特徴ベクトル生成部１２２は、例えば、以下の全てまたは一部を数値ログ特徴ベクトルの特徴量に含めることができる。
・測定結果数値そのもの
・ある測定数値項目について、多数の測定結果数値から得られた平均および標準偏差を用い、平均０、標準偏差１に正規化した値
・ある測定数値項目について、多数の測定結果数値から得られた最大値および最小値を用い、最大値を１、最小値を０（または−１）に正規化した値
・複数の測定数値項目間の相関関係を、例えば単回帰や重回帰分析により推定し、その相関関係から計算される予測値と実際の測定結果数値との差分値そのもの
・当該差分値がある範囲（例えば当該差分値の標準偏差の数倍を閾値とする範囲）を超えたか否か
・各々の測定数値項目の測定結果数値が、当該測定数値項目ごとに定められた閾値の範囲内であったか否か
・複数の測定数値項目を用いた加減乗除を含む特定の計算により算出した値
・正常時の数値ログ特徴ベクトルを学習して生成した正常時モデルからの乖離を表す異常測度（例えばＬＯＦ（Local  Outlier  Factor）による異常測度、マハラノビス距離等）
【００２１】
また、学習部１２４は、システム特徴ベクトルの複数の出現値を学習し、システムの状態を表すシステム状態モデルを生成する。また、判定部１２５は、判定対象時刻におけるシステム特徴ベクトルと、システム状態モデルとに基づき、システムの判定対象時刻における状態を判定する。
【００２２】
学習部１２４による特徴ベクトルの学習、および判定部１２５によるシステム状態の判定には、機械学習技術を用いることができる。機械学習技術は、過去データからモデルを生成し、モデルと分析対象データとから、分析対象データの異常度を判定したり、分類したり、直近の観測値を予測したり、発生確率を算出したりする技術である。
【００２３】
例えば、異常度を算出して異常検知する機械学習技術としては、ＬＯＦと呼ばれる密度に基づいた異常度を利用する方法や、マハラノビス距離を異常度に利用する方法や、時系列の変化度合いを異常度として利用する変化点検知等が知られている。
【００２４】
また、分類を行う機械学習技術としては、パーセプトロン、ＰＡ（Passive  Aggressive）、ＰＡ１、ＰＡ２、ＣＷ（Confidence  Weighted）、ＡＲＯＷ（Adaptive  Regularization  of  Weight  vectors）、ＮＨＥＲＤ（Normal  Herd）等のアルゴリズムや、近傍データの重み付き多数決による分類技術等が知られている。
【００２５】
なお、ＰＡ等については、例えば、参考文献１（Koby  Crammer,  Ofer  Dekel,  Shai  Shalev-Shwartz  and  Yoram  Singer,  Online  Passive-Aggressive  Algorithms,  Proceedings  of  the  Sixteenth  Annual  Conference  on  Neural  Information  Processing  Systems  (NIPS),  2003.）、参考文献２（Koby  Crammer  and  Yoram  Singer.  Ultraconservative  online  algorithms  for  multiclass  problems.  Journal  of  Machine  Learning  Research,  2003.）、参考文献３（Koby  Crammer,  Ofer  Dekel,  Joseph  Keshet,  Shai  Shalev-Shwartz,  Yoram  Singer,  Online  Passive-Aggressive  Algorithms.  Journal  of  Machine  Learning  Research,  2006.）等に記載されている。
【００２６】
また、ＣＷについては、例えば、参考文献４（Mark  Dredze,  Koby  Crammer  and  Fernando  Pereira,  Confidence-Weighted  Linear  Classification,  Proceedings  of  the  25th  International  Conference  on  Machine  Learning  (ICML),  2008.）、参考文献５（Koby  Crammer,  Mark  Dredze  and  Fernando  Pereira,  Exact  Convex  Confidence-Weighted  Learning,  Proceedings  of  the  Twenty  Second  Annual  Conference  on  Neural  Information  Processing  Systems  (NIPS),  2008）、参考文献６（Koby  Crammer,  Mark  Dredze  and  Alex  Kulesza,  Multi-Class  Confidence  Weighted  Algorithms,  Empirical  Methods  in  Natural  Language  Processing  (EMNLP),  2009.）等に記載されている。
【００２７】
また、ＡＲＯＷについては、例えば、参考文献７（Koby  Crammer,  Alex  Kulesza  and  Mark  Dredze,  Adaptive  Regularization  Of  Weight  Vectors,  Advances  in  Neural  Information  Processing  Systems,  2009.）等に記載されている。
【００２８】
また、ＮＨＥＲＤについては、例えば、参考文献８（Koby  Crammer  and  Daniel  D.  Lee,  Learning  via  Gaussian  Herding,  Neural  Information  Processing  Systems  (NIPS),  2010.）等に記載されている。
【００２９】
また、直近の観測値を予測する機械学習技術としては、時間による単回帰や、自己回帰等の技術が知られている。また、発生確率を算出し、分類や異常検知を行う機械学習技術としては、ベイズ推定技術等が知られている。
【００３０】
また、判定部１２５によるシステム状態の判定には、例えば、正常であるか異常であるかの判定、障害発生前に現れる予兆状態を検知する障害予兆検知が含まれる。また、判定部１２５は、障害発生時にその原因ごとの異なる状態を判定し、判定した異なる状態を基に障害原因を推定してもよい。
【００３１】
例えば、学習部１２４は、正常時のシステム特徴ベクトルを学習してもよい。このとき、判定部１２５は、異常検知技術により正常または異常の判定を行う。また、例えば、学習部１２４は、正常状態や、複数の障害発生後の状態について、システム特徴ベクトルを各状態のラベル付きで学習してもよい。このとき、判定部１２５は、分類技術により、分析対象システム特徴ベクトルがどの状態に近いか推定してもよいし、分類結果に基づいて障害原因を推定してもよいし、ベイズ推定により各状態である確率を求めることで状態を推定してもよい。
【００３２】
同様に、学習部１２４は、障害発生後ではなく、障害発生前のシステム特徴ベクトルを各状態ラベル付きで学習してもよい。このとき、判定部１２５は、常時監視されるシステム特徴ベクトルから、システム状態が障害発生に近いかどうかの障害予兆検知を行うことができる。また、判定部１２５は、直近一定時間のシステム特徴ベクトルの時系列分析（自己回帰等）により、直後のシステム特徴量を推定し、当該推定値と実測値との乖離により異常を検知することもできる。
【００３３】
以下、各種システムのシステム状態を、分析装置１０を用いて分析する場合の具体的な例について説明する。なお、分析装置１０の分析対象とすることができるシステムは、ここで説明するものに限定されず、テキストログおよび数値ログを出力可能なシステムであればよい。
【００３４】
［ネットワーク装置のログを分析する場合の例］
まず、図２を用いて、ネットワーク装置のログを分析する場合の例について説明する。図２は、第１の実施形態に係る分析装置を用いて、ネットワーク装置のログを分析する場合の例を説明するための図である。図２に示すように、分析対象のシステムは、ネットワーク装置３０、サーバ３１およびデータベース３２から構成されている。
【００３５】
ネットワーク装置３０は、ルータ兼ファイアウォールとして、外部の操作端末とサーバ３１との間のＴＣＰ／ＩＰ通信を中継転送し、あらかじめ設定したセキュリティ設定に基づきファイアウォール動作を行う。そして、ネットワーク装置３０は、動作状況を適宜シスログに記録し、また、性能情報を取得する。そして、シスログおよび性能情報は、収集装置２０に転送される。
【００３６】
サーバ３１は、例えばアプリケーションサーバであり、特定のコマンドやコマンド実行に必要なデータを受け付け、内部のデータベース内の情報を適宜参照、更新等しながら処理を実施する。そして、サーバ３１は、動作状況を適宜アプリケーションログに記録し、また、性能情報を取得する。そして、アプリケーションログおよび性能情報は、ネットワーク装置３０を介して収集装置２０に転送される。
【００３７】
データベース３２は、サーバ３１からの操作に基づき、データの格納、検索、変更、削除等を行う。そして、データベース３２は、動作状況を適宜データベースログに記録し、また、性能情報を取得する。そして、データベースログおよび性能情報は、ネットワーク装置３０を介して収集装置２０に転送される。
【００３８】
収集装置２０は、各ホスト（ネットワーク装置３０、サーバ３１およびデータベース３２）から取得したテキストログであるシスログ、アプリケーションログ、データベースログ等を時系列に並べた１つのテキストログファイル１０１ｂ、またはテキストログファイル１０３ｂを生成し、保存する。なお、テキストログファイル１０１ｂには、例えば、時刻、ホスト名、メッセージが含まれる。
【００３９】
同様に、収集装置２０は、各ホストから取得した数値ログである性能情報の数値を、ホストや測定項目ごとに時系列に並べたＣＳＶファイル形式の数値ログファイル１０２ｂ、または数値ログファイル１０４ｂを生成し、保存する。
【００４０】
分析装置１０は、収集装置２０に収集された過去のシステムの状態が既知である期間Ａにおけるテキストログファイル１０１ｂ、数値ログファイル１０２ｂを入力とし、当該期間Ａに複数発生した複数種別の障害事例（例えばデータベース故障、アプリケーションダウン、ネットワーク機器故障等）それぞれの発生時刻ごとにシステム特徴ベクトルを生成し、障害種別ラベルとともに学習することで、システム状態モデルを生成する。
【００４１】
このとき、テキストログ特徴ベクトル生成部１２１は、テキストログ特徴ベクトルを、例えば以下のように生成する。まず、テキストログ特徴ベクトル生成部１２１は、テキストログファイル１０１ｂに含まれる各ログメッセージを、パラメータ部分以外のメッセージの意味ごとに対応付いた個別のログＩＤに変換する。
【００４２】
そして、テキストログ特徴ベクトル生成部１２１は、あらかじめ設定された複数のログＩＤの順列であるログＩＤシーケンスが、直近の一定時間帯（例えば１時間）の間に出現しているか否かを判定し、出現していれば１、出現していなければ０をテキストログ特徴ベクトル内の所定の特徴量次元の値として設定する。
【００４３】
ここで、ログＩＤシーケンスが出現するとは、ログＩＤシーケンスを構成するログＩＤ群が、間に別のログＩＤが入るか否かに関わらず、順序性を守りつつ出現することをいう。例えば、（Ａ、Ｂ、Ｃ）というログＩＤシーケンスが設定されていた場合、当該時間帯に「ＤＡＨＦＢＥＣＧＧ」というログＩＤシーケンスが得られた場合、第２要素、第５要素および第７要素に、Ａ、Ｂ、ＣがログＩＤシーケンスに設定された通りの順序で表れているため、この場合、ログＩＤシーケンス（Ａ、Ｂ、Ｃ）が出現しているといえる。
【００４４】
このように、テキストログ特徴ベクトル生成部１２１は、テキストログの中に所定のメッセージが所定の順序で出現しているか否かを示す値をテキストログ特徴ベクトルに含めてもよい。
【００４５】
また、数値ログ特徴ベクトル生成部１２２は、数値ログ特徴ベクトルを、例えば以下のように生成する。まず、数値ログ特徴ベクトル生成部１２２は、数値ログファイル１０２ｂに含まれる項目から、一方を説明変数、他方を従属変数とするペアを作成する。そして、数値ログ特徴ベクトル生成部１２２は、ペアごとにあらかじめ設定された相関関数を用いて、ペアの説明変数である項目の数値から、ペアの従属変数である項目の数値の推定値を算出する。
【００４６】
そして、数値ログ特徴ベクトル生成部１２２は、ペアの従属変数である項目の数値の推定値と、当該項目の実際の値との乖離値（残差）を計算し、当該乖離値の直近の一定時間帯における最大値を特徴量次元とする数値ログ特徴ベクトルを生成する。ここで、あらかじめ設定された相関関数は、障害を含まない期間の数値ログを用いて最小二乗法による線形回帰を用いて作成されたものであってもよいし、設計上想定される相関関数として決定されたものであってもよい。また、テキストログ特徴ベクトル生成部１２１がログＩＤシーケンスの出現を判定する際の一定時間と、数値ログ特徴ベクトル生成部１２２が最大値を判定する際の一定時間は、同じであってもよいし、異なっていてもよい。
【００４７】
このように、数値ログ特徴ベクトル生成部１２２は、数値ログに含まれる所定の項目の推定値を、所定の項目と数値ログに含まれる所定の項目以外の項目との相関関係に基づいて算出し、数値ログに含まれる所定の項目の実際の値の、推定値からの乖離度合いを示す値を、数値ログ特徴ベクトルに含めてもよい。
【００４８】
システム特徴ベクトル生成部１２３は、例えば、テキストログ特徴ベクトルと数値ログ特徴ベクトルを結合し、システム特徴ベクトルを生成する。このとき、テキストログ特徴ベクトルがＮ次元、数値ログ特徴ベクトルがＭ次元であれば、システム特徴ベクトルはＮ＋Ｍ次元となる。
【００４９】
学習部１２４は、例えば、線形分類アルゴリズムＡＲＯＷを用いてシステム特徴量を学習する。具体的に、学習部１２４は、期間Ａのシステム特徴ベクトルのうち、障害時に取得されたログから生成したものに、当該時間帯に発生した障害の障害種別ラベルを付与して学習し、それ以外の時間帯に取得されたログから生成したものに「正常」のラベルを付与して学習することで、システム状態モデルを生成する。
【００５０】
また、学習部１２４によって生成されたシステム状態モデルを用いて、システム状態が未知である時のシステム状態を分析する場合、分析者は、分析したい期間Ｂのテキストログファイル１０３ｂおよび数値ログファイル１０４ｂを分析装置１０に入力し、期間Ｂにおけるシステム状態を分析する。
【００５１】
このとき、テキストログ特徴ベクトル生成部１２１は、テキストログファイル１０３ｂからテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部１２２は、数値ログファイル１０４ｂから数値ログ特徴ベクトルを生成する。さらに、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルからシステム特徴ベクトルを生成する。
【００５２】
そして、判定部１２５は、システム特徴ベクトルおよびシステム状態モデルを取得し、システムの状態を判定する。このとき、判定部１２５は、線形分類アルゴリズムＡＲＯＷを用いて、分析対象のシステム特徴ベクトルが、「正常」、または、各障害種別のいずれに近いかを推定し、最も近いと推定された状態を、これをシステム状態の推定値とする。
【００５３】
このように、学習部１２４は、複数の異なる状態のそれぞれについて、システムの状態が既知である時のシステム特徴ベクトルと、システムの状態と、を関連付けて学習し、複数の異なる状態のそれぞれとシステム特徴ベクトルとの関係を表すシステム状態モデルを生成してもよい。このとき、判定部１２５は、システム状態モデルを用いて、判定対象時刻におけるシステム特徴ベクトルと最も近いと推定される状態を、システムの判定対象時刻における状態として判定する。
【００５４】
これにより分析者は、期間Ｂにおけるシステム状態が、いずれの障害に近い状態であったかを把握でき、障害原因を推定する一助にすることができ、効率的な障害原因分析作業を実施することができる。
【００５５】
［工作機械のログを分析する場合の例］
次に、図３を用いて、工作機械のログを分析する場合の例について説明する。図３は、第１の実施形態に係る分析装置を用いて、工作機械のログを分析する場合の例を説明するための図である。図３に示すように、分析対象のシステムは、工作機械４０である。
【００５６】
工作機械４０は、多関節型可動式アームに設置された溶接機を１基持つ溶接ロボットである。また、工作機械４０は、各関節の回転、溶接の実施等、実施した操作を、操作実施時刻とともにテキストログである操作ログとして記録する。また、工作機械４０は、１分ごとに付属のセンサで取得できる測定項目（溶接温度、アーム回転速度、アームトルク等）の実測値を数値ログである性能ログとして記録する。そして、操作ログおよび性能ログは、収集装置２０に転送される。
【００５７】
収集装置２０は、工作機械４０から取得した操作ログをテキストログファイル１０１ｃ、またはテキストログファイル１０３ｃとして保存する。また、収集装置２０は、工作機械４０から取得した性能ログの数値を、測定項目ごとに時系列に並べたＣＳＶファイル形式の数値ログファイル１０２ｃ、または数値ログファイル１０４ｃを生成し、保存する。
【００５８】
分析装置１０は、収集装置２０に収集された過去のシステムの状態が既知である期間Ａにおけるテキストログファイル１０１ｃ、数値ログファイル１０２ｃを入力とし、当該期間Ａのうち、工作機械４０が正常運転をしていた時刻のシステム特徴ベクトルを正常データとして学習し、障害が発生する前に発生していた小規模の異常等、障害の前兆期間と判断された時刻のシステム特徴ベクトルを予兆データとして学習することで、システム状態モデルを生成する。
【００５９】
このとき、テキストログ特徴ベクトル生成部１２１は、テキストログファイル１０１ｃの直近の一定工程数（例えば５工程）の範囲に、あらかじめ設定された複数の操作手順（ログシーケンス）の全部または一部が含まれているか否かを判定し、当該操作手順がどの程度進捗しているかを示す進捗率をテキストログ特徴ベクトル内の特徴量次元の値として設定する。
【００６０】
具体的に、テキストログ特徴ベクトル生成部１２１は、例えば、（Ａ、Ｂ、Ｃ、Ｄ）という操作手順が設定されており、かつ、テキストログファイル１０１ｃの当該時間帯の範囲に「ＧＥＡＢＣ」というログシーケンスが得られた場合、当該操作手順の進捗状況として全４工程中の３工程が完了しているため、７５％という値をテキストログ特徴ベクトル内の特徴量次元の値として設定する。
【００６１】
また、数値ログ特徴ベクトル生成部１２２は、数値ログファイル１０２ｃの全測定項目の、直近の一定工程数の間の平均値を特徴量次元とする数値ログ特徴ベクトルを生成する。また、テキストログ特徴ベクトル生成部１２１が操作手順の判定を行う一定工数と、数値ログ特徴ベクトル生成部１２２が平均値の算出を行う一定工数は、同じであってもよいし、異なっていてもよい。
【００６２】
システム特徴ベクトル生成部１２３は、例えば、テキストログ特徴ベクトルと数値ログ特徴ベクトルを結合し、システム特徴ベクトルを生成する。このとき、テキストログ特徴ベクトルがＮ次元、数値ログ特徴ベクトルがＭ次元であれば、システム特徴ベクトルはＮ＋Ｍ次元となる。
【００６３】
学習部１２４は、例えばベイズ推定アルゴリズムを用いてシステム特徴量を学習する。具体的に、学習部１２４は、期間Ａのシステム特徴ベクトルについて、各特徴量次元を複数の値域を持つカテゴリに分割し、入力された正常データと予兆データについて、それぞれ各特徴量次元の測定値から各カテゴリの頻度分布を計算することで、システム状態モデルを生成する。
【００６４】
また、学習部１２４によって生成されたシステム状態モデルを用いて、システム障害予兆検知を行う場合、分析者は、分析したい期間Ｂの一定工数分のテキストログファイル１０３ｃおよび数値ログファイル１０４ｃを分析装置１０に入力し、期間Ｂにおけるシステム状態を分析する。
【００６５】
このとき、テキストログ特徴ベクトル生成部１２１は、テキストログファイル１０３ｃからテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部１２２は、数値ログファイル１０４ｃから数値ログ特徴ベクトルを生成する。さらに、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルからシステム特徴ベクトルを生成する。
【００６６】
そして、判定部１２５は、システム特徴ベクトルおよびシステム状態モデルを取得し、システムの状態を判定する。このとき、判定部１２５は、ベイズ推定アルゴリズムを用いて、分析対象のシステム特徴ベクトルが、予兆データである確率を計算し、これをシステム状態の推定値とする。
【００６７】
これにより分析者は、直近におけるシステム状態が、障害の発生にどの程度近い状態であるかを把握でき、ある程度障害発生に近づいた場合には、予防保全作業を行うことで、障害を未然に防ぎ、効率的な運用を実施することができる。
【００６８】
なお、前述の通り、判定部１２５は、一定時間のシステム特徴ベクトルの時系列分析により、直後のシステム特徴量を推定し、当該推定値と実測値との乖離により異常を検知することもできる。このため、判定部１２５は、期間Ａのシステム特徴ベクトルを基に生成されたシステム状態モデルと、期間Ａのシステム特徴ベクトルと、を基に所定の時刻のシステム特徴量を推定し、当該推定値と実測値との乖離により当該所定の時刻における状態が異常であるか否かを判定することも可能である。
【００６９】
つまり、学習部１２４は、システム特徴ベクトルを所定の期間にわたって学習することで、システム特徴ベクトルの時系列傾向を表すシステム状態モデルを生成することができる。そして、このとき、判定部１２５は、時系列傾向を表すモデルと、判定対象時刻以前のシステム特徴ベクトルの値とを基に、判定対象時刻におけるシステム特徴ベクトルの推定値を算出し、判定対象時刻におけるシステム特徴ベクトルの実際の値の、推定値からの乖離度合いを基に、システムの判定対象時刻における状態を判定することができる。
【００７０】
［ウェアラブル端末のログを分析する場合の例］
次に、図４を用いて、ウェアラブル端末のログを分析する場合の例について説明する。図４は、第１の実施形態に係る分析装置を用いて、ウェアラブル端末のログを分析する場合の例を説明するための図である。図４に示すように、分析対象のシステムは、ウェアラブル端末５０、ユーザの身体５２に備えられたセンサ５１から構成されている。
【００７１】
ウェアラブル端末５０は、ユーザ入力による各時刻に実施した行動種別（歩行、走行、静止（立位）、静止（座位）、跳躍、食事、睡眠等）をテキストログである行動ログとして記録する。また、ウェアラブル端末５０は、身体５２と接触したセンサ５１から得られる生体測定データ（心拍、歩数、３軸加速度等）を数値ログである生体ログとして記録する。そして、行動ログおよび生体ログは、収集装置２０に転送される。
【００７２】
収集装置２０は、行動ログおよび生体ログをデータベースのテーブルとして保存する。収集装置２０は、ウェアラブル端末５０から取得した行動ログを、行動ログテーブル１０１ｄまたは行動ログテーブル１０３ｄに追記する。また、収集装置２０は、ウェアラブル端末５０から取得した生体ログを、生体ログテーブル１０２ｄまたは１０４ｄに追記する。
【００７３】
分析装置１０は、収集装置２０に収集された過去のシステムの状態が正常である期間Ａにおける行動ログテーブル１０１ｄ、生体ログテーブル１０２ｄを入力とし、システム特徴ベクトルを学習し、正常状態のシステム状態モデルを生成する。
【００７４】
このとき、テキストログ特徴ベクトル生成部１２１は、あらかじめ設定された複数の行動種別シーケンス（行動種別の順列）が、直近の一定時間（例えば１日）の間に、行動ログテーブル１０１ｄの中に出現した回数を、テキストログ特徴ベクトル内の特徴量次元の値として設定する。
【００７５】
ここで、行動種別シーケンスが出現するとは、行動ログの中に、一連の行動種別シーケンスが、間に別の行動種別が入らないように出現することをいう。例えば、（Ａ、Ｂ、Ｃ）という行動種別シーケンスが設定されていた場合に、当該時間帯に「ＤＡＢＥＡＢＣＧＧＡＢＣＤ」という行動種別シーケンスが得られたとする。この場合、第５要素から第７要素にかけてと、第１０要素から第１２要素にかけての２回にわたり（Ａ、Ｂ、Ｃ）の行動種別シーケンスが含まれているため、テキストログ特徴ベクトル生成部１２１は、回数２を（Ａ、Ｂ、Ｃ）に対応する特徴量次元の値として設定する。
【００７６】
また、数値ログ特徴ベクトル生成部１２２は、生体データの各測定項目について、直近の一定期間（例えば１０測定分前から１測定分前まで）分のデータを利用して、当該測定項目に関する直近の時系列モデルを生成する。そして、数値ログ特徴ベクトル生成部１２２は、時系列モデルを用いて今回の測定で得られる値の推定値を算出し、その推定値と実際に得られた測定値との乖離値を、当該測定項目に対応する数値ログ特徴ベクトル内の特徴量次元の値として設定する。なお、数値ログ特徴ベクトル生成部１２２は、例えば、自己回帰による時系列回帰分析等の方法を利用して時系列モデルを生成する。
【００７７】
システム特徴ベクトル生成部１２３は、例えば、テキストログ特徴ベクトルと数値ログ特徴ベクトルを結合し、システム特徴ベクトルを生成する。このとき、テキストログ特徴ベクトルがＮ次元、数値ログ特徴ベクトルがＭ次元であれば、システム特徴ベクトルはＮ＋Ｍ次元となる。さらに、テキストログ特徴ベクトルの所定の要素と、数値ログ特徴ベクトルの所定の要素との加減乗除や論理演算による加工をした特徴量次元をＬ次元作って結合することにより、システム特徴ベクトルはＮ＋Ｍ＋Ｌ次元とすることもできる。
【００７８】
学習部１２４は、例えばＬＯＦアルゴリズムを用いてシステム特徴量を学習する。ＬＯＦアルゴリズムを用いる場合、学習部１２４は、過去に登録されたシステム特徴ベクトル群に対し、分析対象となるシステム特徴ベクトルがどの程度外れているかを表す異常測度を算出する。具体的には、学習部１２４は、分析対象となるシステム特徴ベクトルの近傍における過去に登録された特徴ベクトルの密度と、当該近傍内のシステム特徴ベクトル群のさらに近傍における過去に登録された特徴ベクトルの密度との比較により、異常測度を算出する。
【００７９】
このとき、学習部１２４は、正常な期間Ａのシステム特徴ベクトルを登録し、当該システム特徴ベクトル全てを分析対象とした場合の異常測度のうち、上位一定割合（例えば１％）とそれ以外とを識別できる閾値を算出し、登録済みのシステム特徴ベクトル群と当該閾値とを含む正常状態のシステム状態モデルを生成する。
【００８０】
また、分析装置１０を体調異常検知システムとして機能させる場合、判定部１２５は、行動ログテーブル１０３ｄおよび生体ログテーブル１０４ｄに追記される最新のデータを常に監視し、直近の追記データから行動ログデータおよび生体ログデータを取得し、現在のユーザの体調状態を分析する。
【００８１】
このとき、テキストログ特徴ベクトル生成部１２１は、行動ログテーブル１０３ｄの追記データから取得した行動ログデータを基にテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部１２２は、生体ログテーブル１０４ｄの追記データから取得した生体ログデータを基に数値ログ特徴ベクトルを生成する。さらに、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルからシステム特徴ベクトルを生成する。
【００８２】
そして、判定部１２５は、システム特徴ベクトルおよび正常状態のシステム状態モデルを取得し、システムの状態を判定する。このとき、判定部１２５は、ＬＯＦアルゴリズムを用いて、分析対象のシステム特徴ベクトルの異常測度を算出し、当該異常測度が正常状態のシステム状態モデルに含まれる閾値を超えているか否かによって、異常か否かを判定する。
【００８３】
このように、学習部１２４は、システムの状態が正常である時のシステム特徴ベクトルを学習し、システム状態モデルを生成してもよい。このとき、判定部１２５は、判定対象時刻におけるシステム特徴ベクトルの、システム状態モデルによって表されるシステムの状態が正常である時のシステム特徴ベクトルとの乖離度合いによって、判定対象時刻におけるシステムの状態を判定する。
【００８４】
このように、分析装置１０を体調異常検知システムとして機能させることで、現在の健康状態が、過去に登録された正常データと比較して異常であるかを分析でき、さらに、異常である場合は、ユーザ本人への警告や、主治医への警報連絡を行うことができるため、重篤な状態になる前に受診を促すこと等により、体調管理の実施が可能となる。
【００８５】
［第１の実施形態の処理］
図５を用いて、第１の実施形態に係る分析装置の学習処理の流れを説明する。図５は、第１の実施形態に係る分析装置の学習処理の流れを示すフローチャートである。図５に示すように、まず、テキストログ入力部１１１は、テキストログの入力を受け付ける（ステップＳ１０１）。そして、テキストログ特徴ベクトル生成部１２１は、テキストログを基にテキストログ特徴ベクトルを生成する（ステップＳ１０２）。
【００８６】
また、数値ログ入力部１１２は、数値ログの入力を受け付ける（ステップＳ１０３）。そして、数値ログ特徴ベクトル生成部１２２は、数値ログを基に数値ログ特徴ベクトルを生成する（ステップＳ１０４）。なお、ステップＳ１０１およびステップＳ１０２より先に、ステップＳ１０３およびステップＳ１０４が行われてもよい。
【００８７】
そして、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルを基にシステム特徴ベクトルを生成する（ステップＳ１０５）。そして、学習部１２４は、システム特徴ベクトルを学習し、システム状態モデルを生成する（ステップＳ１０６）。
【００８８】
図６を用いて、第１の実施形態に係る分析装置の判定処理の流れを説明する。図６は、第１の実施形態に係る分析装置の判定処理の流れを示すフローチャートである。図６に示すように、まず、テキストログ入力部１１１は、テキストログの入力を受け付ける（ステップＳ２０１）。そして、テキストログ特徴ベクトル生成部１２１は、テキストログを基にテキストログ特徴ベクトルを生成する（ステップＳ２０２）。
【００８９】
また、数値ログ入力部１１２は、数値ログの入力を受け付ける（ステップＳ２０３）。そして、数値ログ特徴ベクトル生成部１２２は、数値ログを基に数値ログ特徴ベクトルを生成する（ステップＳ２０４）。なお、ステップＳ２０１およびステップＳ２０２より先に、ステップＳ２０３およびステップＳ２０４が行われてもよい。
【００９０】
そして、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルを基にシステム特徴ベクトルを生成する（ステップＳ２０５）。そして、判定部１２５は、システム特徴ベクトルおよびシステム状態モデルを基に、システムの状態を判定する（ステップＳ２０６）。
【００９１】
［第１の実施形態の効果］
テキストログ特徴ベクトル生成部１２１は、システムから出力された、テキストで表されたログであるテキストログを基に第１の特徴ベクトル、すなわちテキストログ特徴ベクトルを生成する。また、数値ログ特徴ベクトル生成部１２２は、システムから出力された、数値で表されたログである数値ログを基に第２の特徴ベクトル、すなわち数値ログ特徴ベクトルを生成する。そして、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルと数値ログ特徴ベクトルとを基に、第３の特徴ベクトル、すなわちシステム特徴ベクトルを生成する。また、学習部１２４は、システム特徴ベクトルの複数の出現値を学習し、システムの状態を表すシステム状態モデルを生成する。また、判定部１２５は、判定対象時刻におけるシステム特徴ベクトルと、システム状態モデルとに基づき、システムの判定対象時刻における状態を判定する。
【００９２】
このように、テキストログと数値ログの両方の情報が反映されたシステム特徴ベクトルを用いた分析を行うことで、テキストログと数値ログの双方から総合的にシステム状態を分析することが可能となる。
【００９３】
また、システムの状態を示す特徴が、テキストログまたは数値ログのいずれかにしか現れない場合が考えられる。本実施形態によれば、このような場合であってもシステムの状態を高精度で分析することが可能となる。
【００９４】
テキストログ特徴ベクトル生成部１２１は、テキストログの中に所定のメッセージが所定の順序で出現しているか否かを示す値をテキストログ特徴ベクトルに含めてもよい。これにより、１つの特徴量で、メッセージの種類や並び順といった多くの情報を表すことが可能となる。
【００９５】
数値ログ特徴ベクトル生成部１２２は、数値ログに含まれる所定の項目の推定値を、所定の項目と数値ログに含まれる所定の項目以外の項目との相関関係に基づいて算出し、数値ログに含まれる所定の項目の実際の値の、推定値からの乖離度合いを示す値を、数値ログ特徴ベクトルに含めてもよい。これにより、例えば、過去のデータから外れた測定値が測定された場合であっても、その測定値の、相関関係に基づく推定値との乖離度合いが許容範囲内であれば、その測定値は異常値として判断されない。このため、分析の過程で、正常な値を異常値として判断してしまう可能性を低減させることができる。
【００９６】
学習部１２４は、複数の異なる状態のそれぞれについて、システムの状態が既知である時のシステム特徴ベクトルと、システムの状態と、を関連付けて学習し、複数の異なる状態のそれぞれとシステム特徴ベクトルとの関係を表すシステム状態モデルを生成してもよい。このとき、判定部１２５は、システム状態モデルを用いて、判定対象時刻におけるシステム特徴ベクトルと最も近いシステム状態を推定し、システムの判定対象時刻における状態として判定する。これにより、判定対象時刻のシステムの状態がどの状態に近いかを把握できるため、例えば過去の障害発生後のシステム状態を、障害原因毎のラベルを付与して学習しておけば、新たに発生した障害の障害原因の推定を効率的に行うことができるし、過去の障害発生前のシステム状態を障害予兆状態として学習しておけば、現在の状態が障害発生に近づいている予兆状態であるかを判定する事で、障害予兆検知に利用して、障害を未然に防止することができる。
【００９７】
学習部１２４は、システム特徴ベクトルを所定の期間にわたって学習することで、システム特徴ベクトルの時系列傾向を表すシステム状態モデルを生成してもよい。このとき、判定部１２５は、時系列傾向を表すモデルと、判定対象時刻以前のシステム特徴ベクトルの値とを基に、判定対象時刻におけるシステム特徴ベクトルの推定値を算出し、判定対象時刻におけるシステム特徴ベクトルの実際の値の、推定値からの乖離度合いを基に、システムの判定対象時刻における状態を判定する。これにより、判定対象時刻において、システムがどの程度通常状態から乖離しているかを把握できるため、システム監視に利用することができる。
【００９８】
学習部１２４は、システムの状態が正常である時のシステム特徴ベクトルを学習し、システム状態モデルを生成してもよい。このとき、判定部１２５は、判定対象時刻におけるシステム特徴ベクトルの、システム状態モデルによって表されるシステムの状態が正常である時のシステム特徴ベクトルとの乖離度合いによって、判定対象時刻におけるシステムの状態を判定する。これにより、判定対象時刻のシステムの状態が、正常状態からどの程度乖離しているかを把握することができるため、異常状態に備えて事前の対策を行うことが可能となる。
【００９９】
［その他の実施形態］
第１の実施形態では、システム特徴ベクトル生成部１２３は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルを結合することによってシステム特徴ベクトルを生成している。一方で、システム特徴ベクトル生成部１２３がシステム特徴ベクトルを生成する方法は、テキストログ特徴ベクトルおよび数値ログ特徴ベクトルを結合することに限定されない。
【０１００】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０１】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１０２】
［プログラム］
一実施形態として、分析装置は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習および判定を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置として機能させることができる。ここでいう情報処理装置には、サーバマシンおよび、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【０１０３】
また、分析装置は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の学習および判定に関するサービスを提供するサーバ装置として実装することもできる。例えば、分析装置は、テキストログおよび数値ログを入力とし、システム特徴モデルやシステム状態の判定結果を出力とする分析サービスを提供するサーバ装置として実装される。この場合、分析装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【０１０４】
図７は、プログラムが実行されることにより分析装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【０１０５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【０１０６】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、分析装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、分析装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【０１０７】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１０８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１０９】
１０  分析装置
１１  入出力部
１２  制御部
１３  記憶部
２０  収集装置
３０  ネットワーク装置
３１  サーバ
３２  データベース
４０  工作機械
５０  ウェアラブル端末
５１  センサ
５２  身体
１０１ａ  テキストログ
１０２ａ  数値ログ
１０１ｂ、１０１ｃ、１０３ｂ、１０３ｃ  テキストログファイル
１０２ｂ、１０２ｃ、１０４ｂ、１０４ｃ  数値ログファイル
１０１ｄ、１０３ｄ  行動ログテーブル
１０２ｄ、１０４ｄ  生体ログテーブル
１１１  テキストログ入力部
１１２  数値ログ入力部
１２１  テキストログ特徴ベクトル生成部
１２２  数値ログ特徴ベクトル生成部
１２３  システム特徴ベクトル生成部
１２４  学習部
１２５  判定部
１３１  システム状態モデル記憶部
【図１】
2017154844.tif 000003
【図２】
2017154844.tif 000004
【図３】
2017154844.tif 000005
【図４】
2017154844.tif 000006
【図５】
2017154844.tif 000007
【図６】
2017154844.tif 000008
【図７】
2017154844.tif 000009
【国際調査報告】
2017154844.tif 000010
2017154844.tif 000011