(57)【要約】【課題】スパースでかつ時系列性のあるユーザ反応データから故障の検知精度を向上させるためのモデルを構築することを目的とする。【解決手段】故障検知のためのモデルを構築する故障検知モデル構築装置は、時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するデータ入力部と、前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するモデル学習部とを有する。【選択図】図１
2019046386.tif 000002
【特許請求の範囲】
【請求項１】
故障検知のためのモデルを構築する故障検知モデル構築装置であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するデータ入力部と、
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するモデル学習部と、
を有する故障検知モデル構築装置。
【請求項２】
故障検知のためのモデルを構築する故障検知モデル構築装置であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するデータ入力部と、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するデータ特徴変換部と、
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するモデル学習部と、
を有する故障検知モデル構築装置。
【請求項３】
前記故障検知のためのモデルは、ロジスティック回帰の分類モデルである、請求項１又は２に記載の故障検知モデル構築装置。
【請求項４】
前記モデル学習部は、複数の分類モデルを用いてアンサンブルモデルを構築する、請求項１又は２に記載の故障検知モデル構築装置。
【請求項５】
故障検知のためのモデルを構築する故障検知モデル構築装置における故障検知モデル構築方法であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するステップと、
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するステップと、
を有する故障検知モデル構築方法。
【請求項６】
故障検知のためのモデルを構築する故障検知モデル構築装置における故障検知モデル構築方法であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するステップと、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するステップと、
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するステップと、
を有する故障検知モデル構築方法。
【請求項７】
故障検知のためのモデルを構築する故障検知モデル構築装置として、コンピュータを機能させるためのプログラムであって、当該コンピュータを、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するデータ入力手段、及び
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するモデル学習手段、
として機能させるプログラム。
【請求項８】
故障検知のためのモデルを構築する故障検知モデル構築装置として、コンピュータを機能させるためのプログラムであって、当該コンピュータを、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するデータ入力手段、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するデータ特徴変換手段、及び
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するモデル学習手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習及びデータマイニングの解析分野に属し、故障検知のための故障検知モデル構築装置、故障検知モデル構築方法及びプログラムに関する。
【背景技術】
【０００２】
コンテンツサービスプロバイダー（CSP：Content Service Provider）は自社のサービスの安定運用・サービスの品質改善をめざし、ユーザ（サービス利用者）の口コミ、サービスに関する行動ログ（検索ログなど）、Twitterなどのソーシャルネットワーキングサービス（SNS：Social Networking Service）上のデータなど、様々なデータ（ユーザ反応データと呼ぶ）を収集し、ユーザの反応を分析する。とくに、サービスの故障が発生した際に、再発防止やユーザへの周知のために、ユーザ反応データから影響範囲や異常行動がないかを分析する。また、ユーザ反応データをリアルタイムに収集・監視することで、サービス故障や異常発生の検知に役立てることができる。故障が発生している期間は、突発的に正常期間では確認されない異常なユーザ行動が観測され、ソーシャルネットワーキングサービス上ではユーザの不満の声が観測され得る。
【０００３】
このようなユーザ反応データを利用して、テロ行動や地震のイベント発生を検知する研究が行われている（非特許文献１〜非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】C. Buntain, Discovering Credible Events in Near Real Time from Social Media Streams, Proceedings of the 24th International Conference on World Wide Web, pp. 481-485, 2015
【非特許文献２】J. Zou, F. Fekri, and S. W. McLaughlin, Mining Streaming Tweets for Real-Time Event Credibility Prediction in Twitter, IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, pp.1586-1589, 2015
【非特許文献３】H. Tops, A.P.J. van den Bosch, F. A. Kunneman, Predicting time-to-event from Twitter messages, 25th Belgium-Netherlands Artificial Intelligence Conference, 2013
【発明の概要】
【発明が解決しようとする課題】
【０００５】
故障の正確な検知のために、機械学習の技術を用いて、過去のユーザ反応データと故障情報を用いて分類器を構築することを考える。検知精度の高い分類器を構築するために、ユーザ反応データから故障に寄与する特徴量を設計することが必要になる。ユーザ反応データの性質を以下にまとめる。
【０００６】
（１）ユーザ反応データのノイズ：故障の期間すべてで異常ログが観測されることは少なく、多くは突発的な期間だけであることが多いため、分類器の学習の際に異常ログの少なさがノイズとなり過学習を引き起こす可能性がある。また、一般に故障期間を正確にサービス提供者が把握することは難しく、故障発生時刻より前に、ユーザ反応データのほうで異常ログが観測されることがある。これは故障の予兆とも考えられる。正常期間でも異常ログが発生していることは、分類器の学習にとってノイズとなり学習の妨げになる。
【０００７】
（２）スパース性：ユーザ反応データの多くは、サービスサイトへのアクセスログやSNS上での発言であるため、カテゴリカルな特徴で構成される。そのため機械学習で学習に使用するデータは高次元でかつスパースな形式をとる。多くの特徴は故障の検知に寄与しないことが考えられるため、そのような特徴の寄与度を学習時に制御する必要がある。
【０００８】
（３）時系列性：多くのユーザ反応データは多変量の時系列データであり、データ間に時系列性があると考えられる。一般に機械学習の分類モデルはデータ間が独立であるという仮定があるため、時系列性を考慮した分類器が求められる。
【０００９】
非特許文献１及び２において、ユーザ反応データとして、Twitterデータを利用してテロ行動や地震のイベント発生を検知することが研究されているが、Twitterのキーワードのバースト率、Tweetアカウント情報、URLやリツート情報を利用した検知であり、Twitterのテキスト情報を利用した検知ではない。
【００１０】
また、非特許文献３では、イベントが発生するまでの時間を予測するため、Tweet情報から単語のユニグラムを取り出し、高次元でスパースなカテゴリカル特徴を作成し、情報ゲインやカイ二乗値を用いて、分類に寄与する特徴を選択しているが、これらは時系列性を考慮していない。
【００１１】
これらから、ノイズがありスパースなユーザ反応データで、時系列性を考慮して、精度の高い分類器を構築することが求められる。
【００１２】
本発明は、スパースでかつ時系列性のあるユーザ反応データから故障の検知精度を向上させることができるモデルを構築することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一形態に係る故障検知モデル構築装置は、
故障検知のためのモデルを構築する故障検知モデル構築装置であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するデータ入力部と、
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するモデル学習部と、
を有することを特徴とする。
【００１４】
また、本発明の一形態に係る故障検知モデル構築装置は、
故障検知のためのモデルを構築する故障検知モデル構築装置であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するデータ入力部と、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するデータ特徴変換部と、
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するモデル学習部と、
を有することを特徴とする。
【００１５】
また、本発明の一形態に係る故障検知モデル構築方法は、
故障検知のためのモデルを構築する故障検知モデル構築装置における故障検知モデル構築方法であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するステップと、
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するステップと、
を有することを特徴とする。
【００１６】
また、本発明の一形態に係る故障検知モデル構築方法は、
故障検知のためのモデルを構築する故障検知モデル構築装置における故障検知モデル構築方法であって、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するステップと、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するステップと、
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するステップと、
を有することを特徴とする。
【００１７】
また、本発明の一形態に係るプログラムは、
故障検知のためのモデルを構築する故障検知モデル構築装置として、コンピュータを機能させるためのプログラムであって、当該コンピュータを、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間とを入力するデータ入力手段、及び
前記特徴ベクトルと、前記故障ラベルベクトルと、前記所定の期間とに基づいて、故障検知のためのモデルを構築するモデル学習手段、
として機能させることを特徴とする。
【００１８】
また、本発明の一形態に係るプログラムは、
故障検知のためのモデルを構築する故障検知モデル構築装置として、コンピュータを機能させるためのプログラムであって、当該コンピュータを、
時刻tにおける特徴の発生頻度を表現した特徴ベクトルと、時刻tにおける故障状態を表す故障ラベルベクトルと、所定の期間Sとを入力するデータ入力手段、
時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルを生成するデータ特徴変換手段、及び
前記特徴変換ベクトルと、前記故障ラベルベクトルとに基づいて、故障検知のためのモデルを構築するモデル学習手段、
として機能させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、スパースでかつ時系列性のあるユーザ反応データから故障の検知精度を向上させることができるモデルを構築することが可能になる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例に係る故障検知モデル構築装置の全体構成図を示す。
【図２】特徴行列Xの例を示す。
【図３】故障ラベルベクトルyの例を示す。
【図４】データ特徴変換部における変換例を示す。
【図５】本発明の実施例の評価結果を示す（その１）。
【図６】本発明の実施例の評価結果を示す（その２）。
【図７】本発明の実施例に係る故障検知モデル構築装置のハードウェア構成例を示す。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施例について説明する。
【００２２】
図１に、本発明の実施例に係る故障検知モデル構築装置１００の全体構成図を示す。故障検知モデル構築装置１００は、ユーザ反応データから故障検知のためのモデルを構築する装置である。また、故障検知モデル構築装置１００は、構築されたモデルを使用してユーザ反応データから故障検知を行うこともできる。
【００２３】
Twitterのテキスト情報などのユーザ反応データは、ノイズがあり、スパースでかつ時系列性がある。このため、本発明の実施例では、故障検知の対象とするサービスに関係するテキスト情報の中から、形態素解析などによって単語を抽出し、抽出した単語の発生頻度を特徴量として集計する。なお、単語の類似性を考慮して、類似した単語の発生頻度をまとめて特徴量として集計してもよい。また、故障にも時系列性があることを考慮し、ある一定の過去の期間に渡る特徴の統計量を故障検知に利用する。
【００２４】
故障検知モデル構築装置１００は、データ入力部１０１と、データ特徴変換部１０３と、モデル学習部１０５とを有する。また、故障検知モデル構築装置１００は、故障検知を行うための故障検知部（図示せず）を更に有してもよい。
【００２５】
データ入力部１０１は、時刻tにおける特徴の発生頻度を表現した特徴ベクトルXtと、時刻tにおける故障状態を表す故障ラベルベクトルyと、所定の期間Sとを入力する。
【００２６】
具体的には、各時刻t（t=1,…,T）に対して、特徴v（v=1,…,V）の発生頻度を表現した特徴ベクトルをXt＝（x1,…,xv,…,xV)T、ただし、xv≧0とする。特徴ベクトルXtを用いて、時刻1からTまでの特徴行列をXとする。図２に特徴行列Xの例を示す。
【００２７】
また、各時刻tにおいて、故障（1）か正常（0）かを表すラベルをyt∈{0,1}とし、時刻Tまでの故障ラベルベクトルをy=(y1,…,yt,…,yT)とする。図３に故障ラベルベクトルyの例を示す。
【００２８】
時刻tからある過去の期間をSとする。
【００２９】
データ入力部１０１では、これらのXとyとSを入力する。
【００３０】
データ特徴変換部１０３は、ユーザ反応データの特徴行列Xと過去の期間を表すSを用いて、時刻t-Sから時刻tまでの特徴ベクトルを総和した特徴変換ベクトルXt'を生成する。
【００３１】
具体的には、ある特徴ベクトルXtについて、下記のとおり時刻t-Sからtまでの特徴ベクトルを総和したものを特徴変換ベクトルXt'とする。
【００３２】
【数１】
2019046386.tif 000003
図４に、S=3の場合のデータ特徴変換部における変換例を示す。図４には、時刻t=4の場合の変換例が示されている。時刻t=4の場合には、図４に示すように、時刻t-S=1から時刻t=4までの特徴ベクトルを総和した特徴変換ベクトルX4'が生成される。
【００３３】
時刻1からTまでの特徴ベクトルXtそれぞれについて、式(1)の特徴変換を行い、特徴変換行列X'を生成する。
【００３４】
このように、データ特徴変換部１０３では、時刻tの故障か正常かの検知に、過去のS期間の特徴量を時刻tにも加える。過去のS期間の特徴量を用いることで、過去のS期間の時系列に渡る特徴量の変化や突発的な特徴量の増加を時刻tにおいて考慮することができていると考えられる。また、スパースであった特徴量もこの変換により、より密な特徴ベクトルになる。
【００３５】
モデル学習部１０５は、特徴変換ベクトルXt'と、故障ラベルベクトルyとに基づいて、故障検知のためのモデルを構築する。
【００３６】
具体的には、データ特徴変換部１０３で変換された特徴変換行列X'と各時刻tの故障ラベルを表すベクトルyから、故障か正常かを分類する分類器を構築する。
【００３７】
この分類器は、例えば、ロジスティック回帰等の分類モデルを指す。なお、分類器はロジスティック回帰の分類モデルに限定されず、例えば、ランダムフォレストなどの他の分類モデルでもよい。また、モデル学習部１０５は、複数の分類モデルを構築することも可能であり、特徴変換行列X'と故障ラベルベクトルyから、複数の分類モデルを用いてアンサンブルモデルを構築することも可能である。
【００３８】
故障検知を行う場合には、データ特徴変換部１０３において特徴行列Xを特徴変換行列X'に変換し、モデル学習部１０５において構築されたモデルに入力することにより、故障か正常かを分類する。
【００３９】
＜本発明の実施例の評価結果及び効果＞
日本のある格安SIMサービスの故障事例を例に、本発明の実施例の有効性を確認する。2015/1/1 00:00:00〜2016/8/31 23:59:59までの期間で、格安SIMサービスの公式ページで公開されている故障情報を収集した。故障情報には、故障が発生していた期間と故障の種類や内容が記載されている。故障の種類にかかわらず、故障が発生していた期間のラベルを1とし、残りの期間を正常期間とみなし、0とする。故障発生回数はこの期間で11回観測された。
【００４０】
同期間でTwitter APIを用いて格安SIMサービスのサービス名を含むツイートを収集した。収集したツイートから、不要なスパムツイートや広告であるツイートを省いた。各ツイートに対して形態素解析を実施し、名詞と動詞語幹と形容詞語幹の単語のみを抽出した。各単語の頻度を1分ごとに集計し、単語頻度ベクトルを作成した。2015/1/1 00:00:00〜2016/8/31 23:59:59までは、860000分であるため、t=1〜876960まで繰り返し行い、単語頻度行列を作成し、入力となるXを準備した。
【００４１】
モデル学習部１０５の分類器として、ロジスティック回帰を使用した。パラメータ実験では、故障が発生している予測確率と実際の故障ラベルの実測値を用いて、ROC（Receiver Operating Characteristic）曲線下の面積（AUC：Area Under the Curve）を評価指標として使用した。AUCは0から1の値をとり、完全に故障と正常を分類できた場合は1をとり、ランダムな分類の場合は0.5をとる。
【００４２】
データ特徴変換部１０３の有用性を確認するため、XをS=10,30,50で特徴変換したX'とyで学習したロジスティック回帰（lr_10,lr_30,lr_50）と、比較手法としてXとyで学習したロジスティック回帰（lr）と比較する。
【００４３】
この評価では、ある故障の発生期間とその前後に発生した故障までの半期間をテストデータとした。残りのデータはすべて訓練データとして使用した。
【００４４】
図５及び図６に本発明の実施例の評価結果を示す。図５には、11回のすべての故障に対してID00〜10を付与し、各故障のAUCを算出した結果を示す。図６に、すべての故障のAUCの平均値と標準偏差を示す。
【００４５】
図６より、Sの期間を大きくすることでAUCの向上が確認された。図５より、故障によっては最適なSが異なることが確認された。また、故障ID06及び07を除いて、lrよりも特徴変換によりAUCが向上していることが確認された。故障ID06及び07の場合に特徴変換によりAUCが低下した理由は、故障が突発的であり、時系列性を考慮することでノイズが発生した等の理由が考えられる。
【００４６】
このように、ユーザ反応データのノイズがあり、スパースでかつ時系列性がある場合に、過去のS期間を考慮することで故障の検知精度を向上させることができる。
【００４７】
＜ハードウェア構成例＞
図７に、本発明の実施例に係る故障検知モデル構築装置１００のハードウェア構成例を示す。故障検知モデル構築装置１００は、ＣＰＵ（Central Processing Unit）１５１等のプロセッサ、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリ装置１５２、ハードディスク等の記憶装置１５３等から構成されたコンピュータでもよい。例えば、故障検知モデル構築装置１００の機能及び処理は、記憶装置１５３又はメモリ装置１５２に格納されているデータやプログラムをＣＰＵ１５１が実行することによって実現される。また、故障検知モデル構築装置１００へのデータの入力は、入出力インタフェース装置１５４から行われ、故障検知モデル構築装置１００からのデータの出力は、入出力インタフェース装置１５４から行われてもよい。
【００４８】
＜補足＞
説明の便宜上、本発明の実施例に係る故障検知モデル構築装置１００は機能的なブロック図を用いて説明しているが、本発明の実施例に係る故障検知モデル構築装置１００は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係る故障検知モデル構築装置１００の機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００４９】
以上、スパースでかつ時系列性のあるユーザ反応データから故障の検知精度を向上させることができるモデルを構築するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００５０】
１００  故障検知モデル構築装置
１０１  データ入力部
１０３  データ特徴変換部
１０５  モデル学習部
【図１】
2019046386.tif 000004
【図２】
2019046386.tif 000005
【図３】
2019046386.tif 000006
【図４】
2019046386.tif 000007
【図５】
2019046386.tif 000008
【図６】
2019046386.tif 000009
【図７】
2019046386.tif 000010