(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06F 16/35 20190101AFI20240305BHJP
【FI】
G06F16/35
(21)【出願番号】P 2020090137
(22)【出願日】2020-05-22
【審査請求日】2023-02-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齊藤 孝広
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2008-299382(JP,A)
【文献】特開2009-277136(JP,A)
【文献】特開2001-092825(JP,A)
【文献】米国特許出願公開第2014/0137076(US,A1)
【文献】水田 昌孝、外2名,LDAと時間フィルタを用いた文書ストリームからのバースト潜在トピック抽出,第87回 知識ベースシステム研究会資料 (SIG-KBS-A902),日本,社団法人人工知能学会,2010年01月20日,p.25-30
【文献】川原 大弥、外6名,時系列観測データによるマルウェア発生分布の解析,2020年 暗号と情報セキュリティシンポジウム予稿集 [online],日本,電子情報通信学会情報セキュリティ(ISEC)研究会,2020年01月28日,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
複数の文書情報を取得し、
前記文書情報のそれぞれの内容を数値化して数値化情報を算出し、
前記数値化情報を基に階層クラスタリングを行って樹形図を示す樹形図情報を生成し、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応するクラスタに属する前記文書情報の特徴を特定し、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応する前記クラスタに含まれる特定クラスタであって、前記特徴が有意性を有し、且つ、対応する前記分岐点を含む階層構造における上位の前記分岐点及び下位の分岐点に対応する前記クラスタよりも強い前記特徴を有する前記特定クラスタを抽出し、
前記抽出した前記特定クラスタの情報を出力する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記文書情報は、時刻と関連付けられた情報であり、
前記文書情報に関連付けられた前記時刻を基に、前記特徴として前記文書情報で示される事象の増減傾向を特定し、
前記増減傾向が有意性を有し、且つ、対応する前記分岐点を含む階層構造における前記上位の分岐点及び前記下位の分岐点に対応する前記クラスタよりも前記増減傾向が強い前記特定クラスタを抽出する
処理をコンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記文書情報は、発生場所が関連付けられた事象を示す情報であり、
前記特徴として前記文書情報で示される事象の、特定の前記発生場所における発生傾向を特定し、
前記発生傾向が有意性を有し、且つ、対応する前記分岐点を含む階層構造における前記上位の分岐点及び前記下位の分岐点に対応する前記クラスタよりも前記発生傾向が強い前記特定クラスタを抽出する
処理をコンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記特徴を示す
統計的な評価値を算出し、算出した前記評価値を基に、前記特徴の前有意性、及び、前記特徴の強さを求める処理をコンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
【請求項5】
前記文書情報の内容を基に、自然言語処理を行いそれぞれの文書ベクトルを数値化情報として求める処理をコンピュータに実行させることを特徴とする請求項1~4のいずれか一つに記載の情報処理プログラム。
【請求項6】
複数の文書情報を取得し、
前記文書情報のそれぞれの内容を数値化して数値化情報を算出し、
前記数値化情報を基に階層クラスタリングを行って樹形図を示す樹形図情報を生成し、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応するクラスタに属する前記文書情報の特徴を特定し、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応する前記クラスタに含まれる特定クラスタであって、前記特徴が有意性を有し、且つ、対応する前記分岐点を含む階層構造における上位の前記分岐点及び下位の前記分岐点に対応する前記クラスタよりも強い前記特徴を有する前記特定クラスタを抽出し、
前記抽出した前記特定クラスタの情報を出力する
処理をコンピュータに実行させることを特徴とする情報処理方法。
【請求項7】
複数の文書情報を取得して、前記文書情報のそれぞれの内容を数値化して数値化情報を算出する数値化部と、
前記数値化情報を基に階層クラスタリングを行って樹形図を示す樹形図情報を生成するデンドログラム作成部と、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応するクラスタに属する前記文書情報の特徴を特定する分岐点評価部と、
前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応する前記クラスタに含まれる特定クラスタであって、前記特徴が有意性を有し、且つ、対応する前記分岐点を含む階層構造における上位の前記分岐点及び下位の前記分岐点に対応する前記クラスタよりも強い前記特徴を有する前記特定クラスタを抽出する抽出部と、
前記抽出した前記特定クラスタの情報を出力する出力部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
各種の製品を市場に出荷する製造元では、製品出荷後の市場品質マネジメントが重要な経営課題となっている。例えば、製品が実際に使用されているフィールドで発生した不具合は、障害レポート(MR:Maintenance Report)として報告される。このような障害レポートは、例えば、フィールドサポート業務を行うフィールドSEによって作成されるが、対象製品によっては電話やメールによるサポートを行うコールセンター業務の中でも作成される。
【0003】
そこで、市場品質マネジメントでは、市場に出たフィールド稼働製品の障害レポートを用いて発生事象を特定し、過去事例などから発生原因及び対策方法などを判定する。そして、決定された対策方法にしたがって、障害レポートが提出された障害に対する対応が行われる。
【0004】
また近年、以下のサイクルでフィールド稼働製品の品質向上に向けた取り組みが行われている。障害レポートが各所から報告され、報告された大量の障害レポートに対して分析が行われる。この分析により、例えば、最近増加した不具合の検出が行われる。このような直近で増加した不具合は傾向障害と呼ばれ、偶発障害と区別される。傾向障害は、今後も増加し続ける可能性があるので対策策定の緊急度が高い。例えば、OS(Operating System)のアップデートにより、フィールド稼働製品に用いられているファームウェアとの間で不具合が発生した場合などは、今後、同じファームウェアを使用している製品全てで発生してしまう事になるので一刻も早く対策を打つ必要がある。
【0005】
このような傾向障害が検出された場合、製品の製造元は、検出した不具合の内容や対策を文書化し、市場に周知させることで不具合の発生を未然に防止する。例えば、製品の製造元は、「特定のファームウェアのバクに起因する不具合」の最近の増加を検知し、その傾向障害の対応策とともにその傾向障害の内容をフィールドに周知する。これにより、製造元は、該当するファームウェアを搭載した製品に対して利用者に予防措置を実施させて、その障害の発生を未然に防ぐことができる。
【0006】
従来、この傾向障害の検知は人手により行われてきた。これに対して、障害レポートの急激な増加により、人手による傾向障害の検知では、適切な検知が困難になってきた。そこで、コード情報ベースの検知手法やキーワードベースの検知手法といった情報処理装置を用いた傾向障害の検出が導入されてきている。コード情報ベースの検知手法は、不具合内容を表すコード情報が所外レポートに付与さえている場合に、そのコード情報を用いて傾向障害を検知する方法である。また、キーワードベースの検知手法は、障害レポートに記載された単語や文中の主語と述語の係り受け組をコード情報としてみなすことで増加するキーワードを検出して、傾向障害を検出する手法である。また、キーワードベースよりも大きな単位で言葉を取り扱う文書ベースの検知手法を用いることも考えられる。
【0007】
なお、文書を分析して検索する技術として、地理上の位置に基づき、提示するクラスタの粒度を変える従来技術がある。また、階層クラスタリング結果における各分岐点での代表ベクトルと、検索目標オブジェクトから生成されるベクトルとの類似度を算出して、算出した類似度の高いクラスタを提示する従来技術がある。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2011-118784号公報
【文献】特開2003-316819号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、コード情報ベースの検知手法の場合、コード情報が表す不具合内容の粒度が荒い。そのため、増加傾向にある障害を見逃されることが多い。例えば、増加傾向の障害と減少傾向の障害とが同一コードに分類されている場合、増加傾向にある障害が見逃されるおそれがある。
【0010】
また、キーワードベースの検知手法を行う場合、単語の表記揺れや同義語及び同義表現を考慮して検知を行うことが好ましい。例えば、「製造元ロゴ画面」、「製造元画面」及び「BIOS(Basic Input Output System)画面」といった単語は、全て同じ画面を指す場合があり、その場合にはそれらの単語が同義語となる。また、「停止する」や「停まる」は同義であり、さらに否定をともなった表現である「進まない」も同義語となる。しかし、単語の表記揺れや同義語及び同義表現を識別するための辞書の整備は、情報が増えるにつれて作成の煩雑さやで作成コストが増加する。そのため、障害レポートが急増する現状においては、キーワードベースの検知を行うことは困難である。そのため、これらの検知手法を用いて傾向障害を検出することは難しく、傾向障害に対する対応が遅れてしまい、製品の品質を向上させることが困難となる。
【0011】
これに対して、文書ベースの検知手法を用いることで、単語の表記揺れや同義語の処理のためのコストを抑えることができる。このような文書のグルーピングを行う場合に、クラスタを用いる手法が考えられる。クラスタを行う場合、クラスタ数となどの処理パラメータが事前に与えられる。ただし、パラメータが不適切であると適切なクラスタが生成されない場合があり、各クラスタの増加傾向を見落とすおそれがある。
【0012】
例えば、小さすぎるクラスタは、各クラスタに含まれる要素間の内容の類似性は高くなるが、障害レポートの発生件数を時間で集約すると件数が少なくなり、有意な傾向を検出し難くなる。例えば、過去6か月の月別集計結果が(0.1.0,2,2,3)の場合、危険率5%のMann-Kendallの傾向検定では有意な増加傾向は認められない。ここで、月別集計結果における括弧内の数字は、左から順に過去6か月の古い順の各月の発生件数を表す。
【0013】
また、複数の障害で構成された大きすぎるクラスタは、実際には増加傾向にある検知したい障害の増加傾向が他の障害によって薄まる可能性があり、検定では有意となりにくい場合がある。例えば、過去6か月の月別集計結果が(0,3,6,10,15,20)である障害は、有意な増加傾向が認められる。一方、月別集計結果が(52,48,44,48,46,47)である不具合は、増加傾向及び減少傾向のいずれも認められない。この2つの障害を含むクラスタの月別集計結果は、両者の和となるが、その場合にはこのクラスタにおいて有意な増加傾向が認められなくなってしまう。
【0014】
そして、単に文書ベースでクラスタリングを行った場合には、クラスタリング実行時に用いるパラメータを適切に決定することが困難であり、増加傾向を見逃すおそれがある。
【0015】
なお、地理上の位置に基づき提示するクラスタの粒度を変える従来技術では、位置に応じて適切な増加傾向にある事例の検出を行うことは難しく、地理的シソーラスに相当する情報を用いずに傾向障害を検出することは困難である。また、目標と結果とのベクトルの類似度を基にクラスタを提示する従来技術では、検索クエリの入力なしでのクラスタの提示は難しく、傾向障害を検出することは困難である。したがって、いずれの従来技術でも、製品の品質を向上させることは困難である。
【0016】
開示の技術は、上記に鑑みてなされたものであって、製品の品質を向上させる情報処理プログラム、情報処理方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の一つの態様において、以下の処理をコンピュータに実行させる。複数の文書情報を取得する。前記文書情報のそれぞれの内容を数値化して数値化情報を算出する。前記数値化情報を基に階層クラスタリングを行って樹形図を示す樹形図情報を生成する。前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応するクラスタに属する前記文書情報の特徴を特定する。前記樹形図情報が示す前記樹形図が有する複数の分岐点に対応する前記クラスタに含まれる特定クラスタであって、前記特徴が有意性を有し、且つ、対応する前記分岐点を含む階層構造における上位の前記分岐点及び下位の分岐点に対応する前記クラスタよりも強い前記特徴を有する前記特定クラスタを抽出する。前記抽出した前記特定クラスタの情報を出力する。
【発明の効果】
【0018】
1つの側面では、本発明は、製品の品質を向上させることができる。
【図面の簡単な説明】
【0019】
【
図1】
図1は、傾向障害検出システムを示す図である。
【
図2】
図2は、障害レポートの一例を表す図である。
【
図4】
図4は、階層クラスタリング部及び傾向障害検出部の詳細を表すブロック図である。
【
図5】
図5は、デンドログラムの一例を表す図である。
【
図6】
図6は、分岐点毎の増加傾向評価値の一例を表す図である。
【
図7】
図7は、クラスタの抽出を説明するための図である。
【
図8】
図8は、実施例1に係る傾向障害算出処理のフローチャートである。
【
図9】
図9は、特定顧客に特異的に多い障害の検出処理における階層クラスタの一部を表す図である。
【発明を実施するための形態】
【0020】
以下に、本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理プログラム、情報処理方法及び情報処理装置が限定されるものではない。
【実施例1】
【0021】
図1は、傾向障害検出システムを示す図である。傾向障害検出システム10は、
図1に示すように、サーバ装置1、障害レポート入力端末2、障害レポートデータベース3、単語ベクトルデータベース4、検索結果出力用クライアント端末5を有する。
【0022】
サーバ装置1と障害レポート入力端末2とは、ネットワーク6を介して接続される。また、サーバ装置1には、障害レポートデータベース3及び単語ベクトルデータベース4が接続される。さらに、検索結果出力用クライアント端末5は、サーバ装置1に接続されてもよいし、ネットワーク6に接続されてもよい。
【0023】
障害レポート入力端末2は、企業などで用いられて運用状態にある製品に障害が発生した場合に、障害対応を行った作業者が、その障害の情報を入力するための装置である。障害レポート入力端末2は、作業者から入力された障害の情報を取得する。そして、障害レポート入力端末2は、取得した障害の情報を障害レポートとして、ネットワーク6を介してサーバ装置1へ送信する。障害の情報には、例えば、その障害の情報の登録が行われた発行日、障害が発生した顧客の顧客名、障害が発生した製品の種別及び機種名、発生した障害の現象、障害の原因、その障害への対処及び対処完了日などが含まれる。
【0024】
障害レポートデータベース3は、サーバ装置1により各障害レポート入力端末2から収集された障害レポートの情報が入力される。そして、障害レポートデータベース3は、入力された障害レポートをまとめて、
図2に示すような障害レポート100を作成する。
図2は、障害レポートの一例を表す図である。障害レポート100は、個々の障害レポート101を複数含む。障害レポート101は、文書情報であり、障害レポート入力端末2から送信される1つ1つの障害レポートである。
【0025】
各障害レポート101は、発行日などの定型情報を記載するフィールドと、現象、原因及び対処法などの自由記述フィールドを有する。ここで、本実施例では発行日を記載したが、時刻まで含む発行日時でもよい。すなわち、障害レポート101は、時刻に関連付けられた文書情報であり、時刻には日にちや日時が含まれる。例えば、障害レポート101は、
図2に示すように、発行日、顧客名、種別、機種名及び対処完了日といった定型情報、現象、原因及び対処法とった自由記述情報を含む。また、障害レポート100の情報は、ここで挙げた情報に限らず、交換部品の部品型名などのその他の情報を含んでもよく、傾向障害だけでなく、様々な観点でクラスタを生成可能である。
【0026】
障害レポートデータベース3は、障害レポート100を保持する。障害レポートデータベース3が保持する障害レポート100は、障害レポート入力端末2からの入力時又は定期的に、新たな障害レポート101が登録されて更新される。
【0027】
単語ベクトルデータベース4は、単語を分散表現と呼ばれるベクトルで表現した単語ベクトルを保持する。分散表現で表現された単語ベクトルは、正解を与えずとも用例が似ている単語は同じようなベクトルとして表現される。すなわち、用例が似た単語は、同じように扱われるため、表記ゆれが存在する単語や同義語は同じように扱われる。
【0028】
サーバ装置1は、ネットワーク6を介して各障害レポート入力端末2から送信された障害レポート101を収集する。そして、サーバ装置1は、障害レポート101を障害レポートデータベース3に格納させる。
【0029】
そして、サーバ装置1は、単語ベクトルデータベース4に格納された単語ベクトルを用いて障害レポート101に含まれる障害レポート101それぞれをベクトル化し、類似度を用いてクラスタリングして複数の文書クラスタを生成する。次に、サーバ装置1は、各文書クラスタ内の障害の発生件数を集計して傾向障害を検出する。その後、サーバ装置1は、検出した傾向障害を検索結果出力用クライアント端末5へ送信する。
【0030】
検索結果出力用クライアント端末5は、傾向障害の検出結果を表示して利用者に提供する装置である。検索結果出力用クライアント端末5は、検出された傾向障害の情報をサーバ装置1から受信する。そして、検索結果出力用クライアント端末5は、取得した傾向障害の情報を出力してモニタなどへの表示を行うことで、傾向障害の情報を利用者に通知する。
【0031】
次に、
図3を参照して、サーバ装置1の詳細について説明する。
図3は、サーバ装置のブロック図である。サーバ装置1は、
図3に示すように、障害レポート情報取得部11、階層クラスタリング部12、傾向障害検出部13及び出力部14を有する。
【0032】
障害レポート情報取得部11は、障害レポート入力端末2から送信された障害レポートを収集する。そして、障害レポート情報取得部11は、収集した障害レポート101を障害レポートデータベース3へ送信して障害レポート100を更新する。
【0033】
階層クラスタリング部12は、障害レポート101に含まれる単語の単語ベクトルの作成及び作成した単語ベクトルを用いた障害レポート101のベクトル化、並びに、ベクトル化した障害レポート101のクラスタリングを行う。
図4は、階層クラスタリング部及び傾向障害検出部の詳細を表すブロック図である。階層クラスタリング部12は、
図4に示すように、文解析部121、単語ベクトル作成部122、文書ベクトル作成部123及びデンドログラム作成部124を有する。
【0034】
文解析部121は、障害レポートデータベース3に格納された障害レポート100に含まれる全ての障害レポート101を取得する。そして、文解析部121は、取得した障害レポート101を解析して単語を抽出する。その後、文解析部121は、抽出した単語を単語ベクトル作成部122へ出力する。
【0035】
また、文解析部121は、障害レポート100から傾向障害の検出に用いる複数の障害レポート101を取得する。例えば、過去6か月の傾向を判定する場合、文解析部121は過去6か月以内に発生した障害が登録された全ての障害レポート101を取得する。そして、文解析部121は、取得した障害レポート101を文書ベクトル作成部123へ出力する。
【0036】
単語ベクトル作成部122は、障害レポート100に含まれる単語の数値化を行う。具体的には、単語ベクトル作成部122は、障害レポート100から抽出された単語の入力を文解析部121から受ける。そして、単語ベクトル作成部122は、分散表現を用いて取得した単語を表して単語ベクトルを生成する。例えば、単語ベクトル作成部122は、Word2Vecを用いて単語ベクトルを生成する。単語ベクトル作成部122は、自由記述文中の単語の使われ方をニューラルネットワークにより学習して、各単語をn次元のベクトルに変換する。次元数であるnは、操作者により指定される値である。その後、単語ベクトル作成部122は、生成した単語ベクトルを単語ベクトルデータベース4に格納する。
【0037】
文書ベクトル作成部123は、障害レポート101の数値化を行う。具体的には、文書ベクトル作成部123は、傾向障害の検出に用いる障害レポート101の入力を文解析部121から受ける。そして、文書ベクトル作成部123は、単語ベクトルデータベース4に格納された単語ベクトルを用いて、各障害レポート101における現象、原因及び対処といった文書をベクトル化して、それぞれの障害レポート101の文書ベクトルを生成する。その後、文書ベクトル作成部123は、文書ベクトルで表された各障害レポート101をデンドログラム作成部124へ出力する。このベクトル化が、「数値化」の一例にあたり、文書ベクトルが「数値化情報」の一例にあたる。そして、この文書ベクトル作成部123が、「数値化部」の一例にあたる。
【0038】
ここで、文書ベクトル作成部123による文書ベクトルの作成処理の一例を詳細に説明する。入力となるテキスト情報は、障害レポート101において、現象、原因及び対処などのフィールドに分割されて記述されている。文書ベクトル作成部123は、フィールド毎の自由記述文に含まれる単語の単語ベクトルから重心ベクトルを算出する。これにより、文書ベクトル作成部123は、フィールド毎の自由記述文をn次元のベクトルとして表現する。
【0039】
他にも、文書ベクトル作成部123は、自由記述文に含まれる各単語の重みを考慮した重み付き重心ベクトルを採用することも可能である。例えば、文書ベクトル作成部123は、その文書における単語の出現確率が偏っている単語をより重視して重み付けを行っても良い。この場合、文書ベクトル作成部123は、単語をwとして、wの重み=文書におけるwの出現頻度×log(全文書数/wを含む文書数)として算出することができる。また、文書ベクトル作成部123は、算出した重心ベクトルに対して正規化を行ってもよい。例えば、文書ベクトル作成部123は、各重心ベクトルそれぞれのベクトルの長さを1にすることで正規化を行うことができる。
【0040】
各フィールドの重心ベクトルの算出後、文書ベクトル作成部123は、例えば以下の2つの方法のいずれかを用いて文書ベクトルを求める。1つのベクトル化の方法として、文書ベクトル作成部123は、フィールドから得られたn次元のベクトルの重心を文書ベクトルとして採用する。この場合、1つの文書がn次元のベクトルとして表現される。ここで、文書ベクトル作成部123は、求めた文書のベクトルを正規化して用いてもよい。
【0041】
また、他のベクトル化の方法として、文書ベクトル作成部123は、各フィールドのn次元ベクトルを結合したベクトルを文書ベクトルとして採用しても良い。例えば、現象、原因及び対処の3つのフィールドを用いる場合、障害レポート101は3次元のベクトルとして表現される。この場合も、文書ベクトル作成部123は、求めた文書のベクトルを正規化して用いてもよい。
【0042】
デンドログラム作成部124は、文書ベクトルを用いて表された各障害レポート101の入力を文書ベクトル作成部123から受ける。次に、デンドログラム作成部124は、文書ベクトルの類似度を用いて、類似度が近い障害レポート101を順番にまとめていく階層クラスタ分析を実行する。例えば、デンドログラム作成部124は、各障害レポート101をそれぞれの1つのクラスタとして、文書ベクトルで表されるクラスタ間の距離を用いてクラスタ同士をまとめていくことで、大きなクラスタを生成するcomplete linkを用いる。
【0043】
デンドログラム作成部124は、
図5に示すように障害レポート101のデンドログラム200を作成する。
図5は、デンドログラムの一例を表す図である。デンドログラム200は「樹形図」とも呼ばれ、デンドログラム200を示す情報が、「樹形図情報」の一例にあたる。
【0044】
図5における最下層のクラスタ201が、それぞれ1つの障害レポート101にあたる。そして、デンドログラム200における1つの分岐点202が、2つのクラスタが統合された1つのクラスタに対応する。デンドログラム作成部124は、作成したデンドログラム200を傾向障害検出部13へ出力する。
【0045】
ここで、実際は非常に多くの障害レポート101を用いてクラスタリングを行うため、デンドログラム200における分岐点202の数が非常に多くなる。また、階層クラスタリングは、計算コストが大きいため計算の処理数を抑えることが好ましい。そこで、例えば、デンドログラム作成部124は、k-means法などの粒度が粗く且つ計算コストが小さい方式を用いて、障害レポート101を大きく分けたうえで、階層クラスタリングを行っても良い。これにより、クラスタリングの処理時間を短縮することができ、且つ、計算コストを低く抑えることが可能となる。
【0046】
図4に戻って説明を続ける。傾向障害検出部13は、分岐点評価部131及び抽出部132を有する。
【0047】
分岐点評価部131は、デンドログラム200の入力をデンドログラム作成部124から受ける。次に、分岐点評価部131は、
図5に示すデンドログラム200の各分岐点202を抽出する。そして、分岐点評価部131は、分岐点202毎に増加傾向評価値を算出する。
【0048】
例えば、分岐点評価部131は、
図6に示すように各分岐点202について増加傾向評価値を算出する。
図6は、分岐点毎の増加傾向評価値の一例を表す図である。
図6におけるクラスタ211~213がそれぞれデンドログラム200における分岐点202におけるクラスタにあたる。
【0049】
例えば、分岐点評価部131は、クラスタ212に属する障害の過去6か月の発生件数として(0,1,0,2,2,3)を取得する。ここで、括弧内の数字は、紙面に向かって左から古い順に6か月の古い順の各月の発生件数を表す。次に、分岐点評価部131は、過去6か月の発生件数に対してMann-Kendallの傾向検定を行い単調性の指標となるtau統計量を算出する。ここでは、分岐点評価部131は、クラスタ212においてtau=0.788と算出する。次に、分岐点評価部131は、tauを用いて統計的検定に用いられる増加傾向評価値であるP値を算出する。P値は、偏りがないと考えられる帰無仮説が成立する場合に観測結果以上の偏りが発生する確率である。Mann-Kendallの傾向検定の場合、帰無仮説下では、tau統計量が標準正規分布にしたがうため、分岐点評価部131は、tau統計量からP値を算出することができる。例えば、分岐点評価部131は、クラスタ212のP値を0.788と算出する。
【0050】
同様に、分岐点評価部131は、クラスタ213に属する障害の過去6か月の発生件数として(1,0,1,1,2,2)を取得する。そして、分岐点評価部131は、クラスタ213のtau統計量を0.701と算出し、P値を0.100と算出する。
【0051】
次に、分岐点評価部131は、クラスタ212とクラスタ213との過去6か月の発生件数を合計して、クラスタ211に属する障害の過去6か月の発生件数として(1,1,1,3,4,5)を取得する。そして、分岐点評価部131は、クラスタ211のtau統計量を0.894と算出し、P値を0.027と算出する。
【0052】
分岐点評価部131は、このようにP値の算出をデンドログラム200の全ての分岐点202に対応するクラスタついて行う。そして、分岐点評価部131は、各クラスタの増加傾向評価値であるP値を各クラスタの識別情報とともに抽出部132へ出力する。
【0053】
ここで、本実施例では、分岐点評価部131は、デンドログラム200の全ての分岐点202に対応する全てのクラスタに対して増加傾向評価値を算出した。しかし、下層側のクラスタは粒度が細かすぎて有意な増加傾向が認められないことが多い。そこで、分岐点評価部131は、予め決められた数以上の障害レポート101を含むクラスタを選択して、その選択したクラスタに限定して増加傾向評価値を求めて、その選択したクラスタの中から抽出部132に傾向障害を表すクラスタを抽出させても良い。これにより、計算コストを削減することができる。
【0054】
抽出部132は、デンドログラム200における全ての分岐点202に対応するそれぞれのクラスタの識別情報及び増加傾向評価値であるP値の入力を分岐点評価部131から受ける。そして、分岐点評価部131は、統計的検定として所定の危険率と算出したP値とを比較して各クラスタに有意な増加傾向が認められるか否を判定する。例えば、危険率を5%と設定した場合、P値<0.05であれば、抽出部132は、有意な増加傾向が認められると判定する。
【0055】
例えば、
図5におけるクラスタ212のP値は0.788であり危険率5%より大きいので、抽出部132は、クラスタ212において有意な増加傾向は認められないと判定する。同様に、クラスタ213のP値は0.701であり危険率5%より大きいので、抽出部132は、クラスタ213において有意な増加傾向は認められないと判定する。これに対して、クラスタ211のP値は0.027であり危険率5%以下であるので、抽出部132は、クラスタ211において有意な増加傾向が認められると判定する。このように、含まれる障害レポート101の件数が少ないために有意な増加傾向が認められなかったクラスタ212及び213が統合されることにより、有意な増加傾向が認められるクラスタ211が生成される場合がある。
【0056】
次に、抽出部132は、特定の分岐点202を選択した場合に、その分岐点202を含む階層構造において増加傾向が最大となる分岐点202のクラスタを抽出する。
図7は、クラスタの抽出を説明するための図である。例えば、クラスタ223を選択した場合に、クラスタ223に対応する分岐点202を含む階層構造の分岐点202にはクラスタ221、222及び224~229が対応する。その中で、クラスタ221及び227~229は有意な増加傾向が認められず、クラスタ222~226は有意な増加傾向が認められる場合で説明する。なお、この場合のクラスタ221は、クラスタ222を含む下位のクラスタの統合により有意性が消失したと言える。この場合に、クラスタ223の増加傾向がクラスタ222及び224~226の増加傾向よりも大きい、すなわち増加傾向が強ければ、抽出部132は、クラスタ223を抽出する。抽出部132は、このようなクラスタをデンドログラム200の中の全ての分岐点202から抽出する。この抽出部132により抽出されたクラスタが、「特定クラスタ」の一例にあたる。
【0057】
この抽出部132によるクラスタの抽出方法の具体例を以下に説明する。抽出部132は、増加傾向評価値であるP値が高い順に各分岐点202に対応するクラスタの識別子をソートした選択リストを作成する。
【0058】
次に、抽出部132は、リストの先頭から順にエントリを抽出する。そして、抽出したエントリのクラスタに有意な増加傾向が認められるか否かを判定する。有意な増加傾向が認められれば、抽出部132は、抽出したエントリを抽出リストに追加する。そして、抽出部132は、抽出したエントリのクラスタに対応する分岐点202の下位の分岐点202に対応するクラスタのエントリを選択リストから削除する。次に、抽出部132は、削除したエントリの間を詰めて選択リストのエントリをソートしなおす。その後、抽出部132は、次の位置のエントリの抽出を行う。
【0059】
これに対して、抽出したエントリのクラスタに有意な増加傾向が認められなければ、抽出部132は、選択リストのそれ以下のエントリに有意な増加傾向が認められるエントリが存在しないので、抽出リストの作成を終了する。そして、抽出部132は、作成した抽出リストに登録されたエントリに対応するクラスタの情報を出力部14へ出力する。ここで、クラスタの情報としては、そのクラスタがどのような障害を表すグループであるかが識別できる情報であればよい。例えば、クラスタの情報は、抽出されたクラスタに属する障害レポート101の情報であっても良いし、そのクラスタに含まれる障害レポート101間で類似度の高い障害に関する単語であっても良い。
【0060】
また、抽出部132は、評価基準に対応させて抽出するクラスタ数の下限や上限を決定しても良い。本実施例では、ある分岐点202におけるクラスタの増加傾向評価値がその分岐点202を含む階層構造において最大の増加傾向評価値であるという条件にあう分岐点202に対応するクラスタを抽出したが、抽出したクラスタの数が下限に達しない場合がある。その場合は、抽出部132は、抽出したクラスタを除いて選択リストを再度作成して、上述した抽出リストを再度作成して前のリストに加えても良い。また、上限を超えた場合には、抽出部132は、増加傾向評価値の高い順に上限に収まる数のクラスタを抽出しても良い。
【0061】
出力部14は、発生率の増加傾向が認められる傾向障害のグループであるクラスタの情報の入力を抽出部132から受ける。そして、出力部14は、取得した各クラスタを発生率の増加傾向が認められる傾向障害のグループであるクラスタとして、その情報を検索結果出力用クライアント端末5へ出力する。
【0062】
利用者は、検索結果出力用クライアント端末5を用いて、発生率の増加傾向が認められる傾向障害のグループであるクラスタの情報を取得する。そして、利用者は、各クラスタの情報を用いてどのような傾向障害が発生しているかを確認する。これにより、利用者は、発生している傾向障害に対する対処を迅速に行うことが可能となる。
【0063】
次に、
図8を参照して、本実施例に係る傾向障害検出処理の流れを説明する。
図8は、実施例1に係る傾向障害算出処理のフローチャートである。
【0064】
障害レポート情報取得部11は、障害レポート入力端末2から送信された障害レポート101を収集する。そして、障害レポート情報取得部11は、収集した障害レポートを障害レポートデータベース3へ送信して、障害レポート101のそれぞれを各エントリとする障害レポート100を障害レポートデータベース3に格納する(ステップS1)。
【0065】
階層クラスタリング部12の文解析部121は、傾向障害の検出処理に用いるデータを有する障害レポート100を障害レポートデータベース3から取得する。そして、文解析部121は、障害レポート100に含まれる各障害レポート101を分析して、障害レポート100に含まれる単語を抽出する。単語ベクトル作成部122は、文解析部121により抽出された単語を、分散表現を用いて表すことで、単語ベクトルを生成する(ステップS2)。その後、単語ベクトル作成部122は、生成した単語ベクトルを単語ベクトルデータベース4に格納する。
【0066】
文書ベクトル作成部123は、傾向障害の検出に用いる障害レポート101である対象文書を、文解析部121から取得する。そして、文書ベクトル作成部123は、単語ベクトルデータベース4に登録された単語ベクトルを用いて、傾向障害の検出処理の対象文書である各障害レポート101の文書ベクトルを作成する(ステップS3)。その後、文書ベクトル作成部123は、作成した文書ベクトルをデンドログラム作成部124へ出力する。
【0067】
デンドログラム作成部124は、対象文書群に含まれる各障害レポート101の文ベクトルを文書ベクトル作成部123から取得する。次に、デンドログラム作成部124は、各障害レポート101の文書ベクトルを用いての対象文書群の階層クラスタリングを実行して、デンドログラム200を作成する(ステップS4)。その後、デンドログラム作成部124は、作成したデンドログラム200を傾向障害検出部13の分岐点評価部131へ出力する。
【0068】
分岐点評価部131は、デンドログラム作成部124から取得したデンドログラム200の各分岐点202に対応するクラスタの増加傾向評価値を算出する(ステップS5)。そして、分岐点評価部131は、算出した増加傾向評価値とともに各クラスタの識別情報を抽出部132へ出力する。
【0069】
抽出部132は、デンドログラム200の分岐点202のそれぞれに対応する各クラスタの識別情報及び増加傾向評価値を分岐点評価部131から取得する。そして、抽出部132は、増加傾向評価値の高い順にクラスタをソートして並べた選択リストを生成する(ステップS6)。
【0070】
次に、抽出部132は、選択リストにおける選択対象のエントリの先頭からの順番を表すiを1に設定する(ステップS7)。
【0071】
次に、抽出部132は、選択リストのi番目のエントリの抽出を行う(ステップS8)。
【0072】
次に、抽出部132は、i番目のエントリの抽出が成功したか否かを判定する(ステップS9)。i番目のエントリの抽出に失敗した場合(ステップS9:否定)、抽出部132は、ステップS13へ進む。
【0073】
これに対して、i番目のエントリの抽出に成功した場合(ステップS9:肯定)、抽出部132は、そのエントリに対応するクラスタの増加傾向評価値を用いて、そのクラスタにおいて有意な増加傾向が存在するか否かを判定する(ステップS10)。そのクラスタにおいて有意な増加傾向が存在しない場合(ステップS10:否定)、抽出部132は、ステップS13へ進む。
【0074】
これに対して、そのクラスタにおいて有意な増加傾向が存在する場合(ステップS10:肯定)、抽出部132は、抽出したエントリを抽出リストに追加する(ステップS11)。
【0075】
次に、抽出部132は、抽出したエントリに対応する分岐点202の下位の分岐点202に対応するエントリを選択リストから楽所する(ステップS12)。さらに、抽出部132は、選択リストにおけるエントリが削除された部分を詰めて、選択リストに含まれる各エントリに先頭から順に番号を振り直す。その後、抽出部132は、ステップS8へ戻る。
【0076】
一方、エントリの抽出が失敗した場合(ステップS9:否定)及び抽出したエントリで表されるクラスタにおいて有意な増加傾向が認められなかった場合(ステップS10:否定)、抽出部132は、以下の処理を行う。抽出部132は、抽出リストに登録されたエントリに対応するクラスタの情報を出力部14へ出力する。出力部14は、抽出部132から取得したクラスタを、各クラスタの情報を検索結果出力用クライアント端末5へ傾向障害を表すクラスタとして出力する(ステップS13)。
【0077】
以上に説明したように、本実施例に係る傾向障害検出処理では、サーバ装置は、障害レポートのそれぞれの文書ベクトルを求め、その文書ベクトルを用いて階層クラスタリングを行ってデンドログラムを作成する。その後、サーバ装置は、デンドログラムの分岐点に対応するクラスタのうち、優位な増加傾向が認められるクラスタであって、その分岐点を含む階層構造において増加傾向評価値が最大となるクラスタを抽出してその情報を通知する。
【0078】
これにより、増加傾向が最も強く現れる内容粒度のクラスタを自動的に作成することができ、増加傾向にある不具合を高精度に検出することが可能となる。また、同期語辞書などの整備が不要なため人的コストを抑えることができる。したがって、高精度な傾向障害の検出により、不具合の発生に迅速かつ適切に対処することができ、製品の品質を向上させることが可能となる。
【実施例2】
【0079】
次に、実施例2について説明する。実施例1では、増加傾向にある障害の検出処理を例に説明したが、デンドログラムの分岐点202で算出する評価値を変えることにより他の検出処理にも、本実施例で説明した手法を適用することも可能である。その場合、評価値は、特定のクラスタにおいて、クラスタ内の障害レポート101及びクラスタ外の障害レポート101と顧客名とのクロス集計結果から算出されるカイ二乗統計量である。本実施例では、特定顧客に特異的に多い障害を発見する処理について説明する。本実施例に係るサーバ装置1も
図3及び4で表される。以下の説明では、実施例1と同様の各部の動作は説明を省略する場合がある。
【0080】
図9は、特定顧客に特異的に多い障害の検出処理における階層クラスタの一部を表す図である。
図9では、クラスタ毎に、顧客Aで発生した障害と、顧客A以外の顧客で発生した障害と、そのクラスタに含まれない顧客Aで発生した障害と、そのクラスタに含まれない顧客A以外の顧客で発生した障害と、そのクラスタでのカイ二乗統計量が示される。
【0081】
例えば,クラスタ301は、顧客Aで発生した8件の障害及びそれ以外の顧客で発生した2件の障害の計10件の障害を含むクラスタである。そして、クラスタ301に含まれない障害には、顧客Aで発生した17件の障害及びそれ以外の顧客で発生した99973件の障害が含まれる。そして、クラスタ301のけるカイ二乗統計量は、22493である。
【0082】
階層クラスタリング部12のデンドログラム作成部124は、実施例1と同様に、検出処理で用いられる障害レポート101の文書ベクトルを用いて階層クラスタリングを実行して、
図9で示すような階層を一部に有するデンドログラム200を作成する。
【0083】
傾向障害検出部13の分岐点評価部131は、デンドログラム200の各分岐点202に対応するクラスタ毎の評価値であるカイ二乗統計量を算出する。
【0084】
カイ二乗統計量は、値が大きいほど顧客Aの特異性が強いことを表す。すなわち、
図9では、クラスタ302が、顧客Aの特異性が最も強く現れている。抽出部132は、顧客Aで発生した障害において有意な特異性が認められ、且つ、そのクラスタを含む階層構造において、そのクラスタのカイ二乗統計量で表される評価値が最大となる分岐点202に対応するクラスタを抽出する。これにより、顧客Aに特異的に多い障害を表すクラスタが抽出される。
【0085】
利用者は、サーバ装置1により抽出されたクラスタで表される障害を確認することで、特定の顧客において特異的に多い障害を発見することができ、特定の顧客に対して迅速で適切な対応を行うことができる。
【0086】
(ハードウェア構成)
図10は、サーバ装置のハードウェア構成図である。
図10に示すように、サーバ装置1は、CPU91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94に接続される。
【0087】
ネットワークインタフェース94は、ネットワーク6及び検索結果出力用クライアント端末5との通信用のインタフェースである。CPU91は、ネットワークインタフェース94を介して、障害レポート入力端末2や検索結果出力用クライアント端末5と通信を行う。
【0088】
ハードディスク93は、補助記憶装置である。ハードディスク93は、
図3に例示した障害レポート情報取得部11、階層クラスタリング部12、傾向障害検出部13及び出力部14の機能を実現するためのプログラムを含む各種プログラムを格納する。
【0089】
また、本実施例では、障害レポートデータベース3及び単語ベクトルデータベース4をサーバ装置1の外部に配置したが、サーバ装置1がそれらを保持する構成でもよい。その場合、ハードディスク93が、障害レポートデータベース3及び単語ベクトルデータベース4の機能を実現する。
【0090】
CPU91は、ハードディスク93に格納された各種プログラムを読み出してメモリ92に展開して実行する。これにより、CPU91及びメモリ92は、
図3に例示した障害レポート情報取得部11、階層クラスタリング部12、傾向障害検出部13及び出力部14の機能を実現する。
【符号の説明】
【0091】
1 サーバ装置
2 障害レポート入力端末
3 障害レポートデータベース
4 単語ベクトルデータベース
5 検索結果出力用クライアント端末
6 ネットワーク
10 傾向障害検出システム
11 障害レポート情報取得部
12 階層クラスタリング部
13 傾向障害検出部
14 出力部
121 文解析部
122 単語ベクトル作成部
123 文書ベクトル作成部
124 デンドログラム作成部
131 分岐点評価部
132 抽出部