(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-13
(45)【発行日】2023-03-22
(54)【発明の名称】文書処理方法、文書処理プログラムおよび情報処理装置
(51)【国際特許分類】
G06F 16/35 20190101AFI20230314BHJP
【FI】
G06F16/35
(21)【出願番号】P 2019075907
(22)【出願日】2019-04-11
【審査請求日】2022-01-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齊藤 孝広
【審査官】原 秀人
(56)【参考文献】
【文献】特開2013-145461(JP,A)
【文献】特開2018-045559(JP,A)
【文献】特開2014-215658(JP,A)
【文献】特開2002-230012(JP,A)
【文献】特開2007-172249(JP,A)
【文献】特開2010-146222(JP,A)
【文献】米国特許出願公開第2016/0232222(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する文書処理方法であって、
一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定し、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、
取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定し、
前記複数の文書の中から、前記第二着目文を含む複数文から構成される複数の第二文書を取得し、
前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する
処理を実行することを特徴とする文書処理方法。
【請求項2】
前記除外する処理によって、前記第二着目文の除外された複数の文書を、文書間の類似度を基にして複数のクラスタに分類する処理を更に実行することを特徴とする請求項1に記載の文書処理方法。
【請求項3】
前記第一着目文は、障害内容に関して記述された文であり、前記複数のクラスタに属する文書の数を基にして、前記障害内容に関して記述された文に関連するクラスタを検出する処理を更に実行することを特徴とする請求項2に記載の文書処理方法。
【請求項4】
前記複数の文書に含まれる複数の文のうち、前記第一着目文に類似する文を正例とした学習を行うことで、前記第一着目文に類似する文か否かを判別する判別モデルを生成する処理を更に実行し、前記第一文書を取得する処理は、前記判別モデルを基にして、前記複数の文書の中から、特定した第一着目文を含む複数文から構成される前記複数の第一文書を取得することを特徴とする請求項1、2または3に記載の文書処理方法。
【請求項5】
コンピュータに、
一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定し、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、
取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定し、
前記複数の文書の中から、前記第二着目文を含む複数文から構成される複数の第
二文書を取得し、
前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する
処理を実行させることを特徴とする文書処理プログラム。
【請求項6】
一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定する第一特定部と、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定する第二特定部と、
前記複数の文書の中から、前記第二着目文を含む複数文から構成される複数の第二文書を取得し、前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する除外処理部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書処理方法等に関する。
【背景技術】
【0002】
フィールドで稼働する製品に障害が発生した場合、保守作業員は、対象製品の修理を行うと共に、障害内容を記載した障害レポート(MR:Maintenance Report)を作成し、保守管理部門等に報告する。
【0003】
保守管理部門では、報告された複数のMRに対して分析を行い、たとえば、発生件数の多い障害を検出する。保守管理部門では、検出した発生件数の多い障害内容および対策を文書化し、フィールドに周知させることで、製品に起こり得る障害を未然に防止する。
【0004】
製品を販売する会社は、上記のような取り組みを繰り返し実行することで、製品の保守性や品質を向上させている。かかる取り組みのサイクルを迅速に行うため、現状では人手に頼っているMRの分析作業をAI(artificial intelligence)を用いて効率化することが求められている。
【0005】
これまで、MRの記述内容は、表記揺れや同義語、類義語を含んでおり、同一の障害のMRであるか否かの判断を、コンピュータが実行することは難しかった。しかし、単語の分散表現を活用することで、単語をベクトル化し、表記揺れや同義語、類義語を含むMRを対応付けることが可能となっている。たとえば、各単語のベクトルを重み付き合成によって文書(MR)のベクトルを算出し、文書間の類似性を定量化する従来技術もある。
【0006】
また、文書のベクトルを用いて、文書間の類似度を算出し、類似度の高い文書同士を同一のクラスタに分類する従来技術(クラスタリング)がある。たとえば、各MRの類似度を基にして、クラスタリングを行い、所定数以上のMRが含まれるクラスタを、発生件数の多い障害に対応するMRのクラスタとして見なすことが可能である。
【0007】
たとえば、互いに類似度が1となるMRのみで構成されるクラスタは、同一障害のクラスタと見なすことができるが、多発障害の検出漏れを抑制するためには、類似度の閾値を1未満にしたほうがよい。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2009-146397号公報
【文献】特開2017-194727号公報
【文献】特開2018-106390号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
MRには障害内容を記述した文以外の文が含まれている場合もあり、かかるMRに対してクラスタリングを実行すると、共通する障害内容を記述していないMR同士が同一のクラスタに分類され、適切なクラスタが生成されない。
【0010】
MRは、一般的な文書と比べ文字数および文数が非常に少ないという特徴があり、MRに含まれる障害内容と関係のない文の存在が、クラスタリングの結果に影響を与えやすい。
【0011】
たとえば、MR「syn flood攻撃の検知が頻発。対処方法を教えて欲しい。」には、文A「syn flood攻撃の検知が頻発。」と、文B「対処方法を教えて欲しい。」とを含んでいる。この文A、文Bのうち、文Aは、障害内容を記述した文であり、文Bは、障害内容を記述した文ではない。
【0012】
ここで、文Aを含むMRの件数よりも、文Bを含むMRの件数の方が多い場合、障害内容に関わりなく、文Bを含むMRが一つのクラスタ(第1クラスタ)に分類される。第1クラスタに含まれるMRの件数は多くなるが、かかる第1クラスタは、障害内容とは関わりのない文Bを共通に持つMRのクラスタであるため、かかる第1クラスタを検出すると、誤検知の発生に繋がる。
【0013】
また、文Aを含み、文Bを含まないMRは、文Bを含むMRとは別のクラスタ(第2クラスタ)に分類される。第2クラスタは、障害内容に対応するMRを分類したクラスタであるにもかかわらず、文Aと文B両方を含むMRは第1クラスタに属してしまうため、第2クラスタに含まれるMRの件数が少なくなるので、かかる第2クラスタは検出対象から除外され、検出漏れが発生する。
【0014】
このため、MR等の文書から、障害内容等を記述した所定の文を残しつつ、他の文を文書から除外することが求められている。
【0015】
1つの側面では、本発明は、障害内容を記述した文を残しつつ、障害内容とは関係のない他の文を文書から除外することができる文書処理方法、文書処理プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0016】
第1の案では、コンピュータは、以下の処理を実行する。コンピュータは、一文または複数文から構成される複数の文書を取得する。コンピュータは、複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定する。コンピュータは、複数の文書の中から、特定した第一着目文を含む複数文から構成される複数の第一文書を取得する。コンピュータは、取得した複数の第一文書の中から、特定した第一着目文以外の一文から構成される第二着目文を特定する。コンピュータは、複数の文書の中から、第二着目文を含む複数文から構成される複数の第二文書を取得する。コンピュータは、複数の第一文書および複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、複数の文書の中から第二着目文を除外する。
【発明の効果】
【0017】
障害内容を記述した文を残しつつ、障害内容とは関係のない他の文を文書から除外することができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図3】
図3は、文書DBのデータ構造の一例を示す図である。
【
図4】
図4は、セットSテーブルのデータ構造の一例を示す図である。
【
図5】
図5は、セットMテーブルのデータ構造の一例を示す図である。
【
図6】
図6は、セットM’テーブルのデータ構造の一例を示す図である。
【
図7】
図7は、判別モデルテーブルのデータ構造の一例を示す図である。
【
図8】
図8は、除外処理部の処理の一例を説明するための図(1)である。
【
図9】
図9は、除外処理部の処理の一例を説明するための図(2)である。
【
図10】
図10は、除外処理部の処理の一例を説明するための図(3)である。
【
図11】
図11は、除外処理部の処理の一例を説明するための図(4)である。
【
図12】
図12は、除外処理部の処理の一例を説明するための図(5)である。
【
図15】
図15は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。
【
図16】
図16は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。
【
図17】
図17は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0019】
以下に、本願の開示する文書処理方法、文書処理プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【0020】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。情報処理装置は、複数の文書(たとえば、MR)から、障害内容を記述した文1aを含み、他の文を含まない文書S1を検出する。
【0021】
また、情報処理装置は、文1aと他の文を含む文書M1,M2,M3(および他の文書)と、文1aを含まないM4、M5(および他の文書)とを検出する。
図1において、文1a,文2aは、それぞれ異なる障害内容を記述した文とする。文1b,文1c、他の文は、障害内容が記述された文か否かが不明な文とする。
【0022】
同一の文書において、障害内容を記述した文1aと共起する他の文は、障害内容を記述した文、または、障害内容を記述していない文のいずれかとなる。また、障害内容を記述していない文は、特定の障害内容とは関わりなく、障害内容を記述した文と共起することが多いという特徴がある。逆に言えば、様々な障害を記述する文と共起する文は障害内容を記述していないといえる。
【0023】
ここで、各文書M1~M5を、区分10A,10B,10Cに分類する。区分10Aは、文1aと、文1bとが共起しており、かつ、文1cを含まない文書M2,M3(図示しない他の文書)を含む。区分10Bは、文2aと、文1cとが共起している文書M4,M5(図示しない他の文書)を含む。区分10Cは、文1aと、文1bと、文1cとが共起している文書M1を含む。
【0024】
ここで、区分10Aに含まれる、文書M2、M3および図示しない他の文書は、文1aと、文1bとが共起しており「文1bは、文1aの障害内容と関係のある文」と言える。一方、区分10Bにおいて、文1cは、文1aとは異なる障害内容を記述した、文2aと共起しているため、「文1cは、文1aの障害内容と関係のない文」と言える。このため、情報処理装置は、文書M1から、文1cを除外する。
【0025】
上記のように、本実施例に係る情報処理装置は、着目した障害内容を記述した文を含む文書を検出し、検出した文書のうち、複数の文を含む文書について、着目した障害内容に関係のある文(障害内容を記述した文)を残す。また、情報処理装置は、着目した障害内容に関係のない文(障害内容を記述していない文)を削除する処理を行う。このように、障害内容を記述した文に関連する文を残し、関連しない文を削除することができるので、クラスタリング処理による障害検出において、誤検知や検出もれを抑止することができる。
【0026】
次に、本実施例に係る情報処理装置の構成の一例について説明する。
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0027】
通信部110は、ネットワークを介して外部装置とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。後述する制御部150は、通信部110を介して、データをやり取りする。たとえば、通信部110は、障害内容を記述した文書の情報を外部装置から受信する。
【0028】
入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。利用者は、入力部120を操作して、障害内容を記述した文書の情報を、情報処理装置100に入力してもよい。
【0029】
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。表示部130は、液晶ディスプレイ、タッチパネル等の表示装置に対応する。
【0030】
記憶部140は、文書DB(Data Base)141と、セットSテーブル142と、セットMテーブル143と、判別モデルテーブル145とを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0031】
文書DB141は、障害内容を記述した複数の文書(MR)の情報を登録するデータベースである。
図3は、文書DBのデータ構造の一例を示す図である。
図3に示すように、この文書DB141は、文書識別情報と、文書情報とを対応付ける。文書識別情報は、文書を一意に識別する情報である。文書情報は、障害内容を記述した一つの文または複数の文を含む文書の情報である。たとえば、一つの文書情報に含まれる各文は、句読点によって、他の文と区分される。
【0032】
図3において、文書識別情報「MR1」に対応する文書情報は「syn flood攻撃が検知されました。対処方法を教えてください。」である。この文書情報には、文「syn flood攻撃が検知されました。」と、文「対処方法をおしえてください。」とを含む。
【0033】
図3において、文書識別情報「MR100」に対応する文書情報は「syn flood攻撃が検知されました。」である。この文書情報は、文「syn flood攻撃が検知されました。」を含む。このように、文書情報に一つの文しか含まれない場合、かかる一つの文は、障害内容を記述した文と見なす事ができる。
【0034】
セットSテーブル142は、文書DB141に登録された各文書情報のうち、一つの文を含む文書情報を登録するテーブルである。
図4は、セットSテーブルのデータ構造の一例を示す図である。
図4に示すように、このセットSテーブル142は、文書識別情報と、文書情報(一つの文)とを対応付ける。
【0035】
セットMテーブル143は、文書DB141に登録された各文書情報のうち、複数の文を含む文書情報を登録するテーブルである。
図5は、セットMテーブルのデータ構造の一例を示す図である。
図5に示すように、このセットMテーブル143は、文書識別情報と、文書情報(複数の文)とを対応付ける。
【0036】
セットM’テーブル144は、セットMテーブル143に登録される文書情報を、一文毎に分割した情報を登録するテーブルである。
図6は、セットM’テーブルのデータ構造の一例を示す図である。
図6に示すように、このセットM’テーブル144は、文書識別情報と、文書サブ識別情報と、削除フラグと、文書情報とを対応付ける。文書識別情報は、
図5で説明した文書識別情報に対応する。文書サブ識別情報は、複数文の文書情報に含まれる各文をそれぞれ識別する情報である。削除フラグは、対応する文書情報を削除するか否かを示すフラグである。削除する場合には「オン」となり、削除しない場合には「オフ」となる。削除フラグは、後述する除外処理部154に設定される。削除フラグの初期値は「オフ」である。文書情報は、一つの文の情報である。
【0037】
判別モデルテーブル145は、対象文書情報と類似する文書であるか否かを判定するモデルを登録するテーブルである。
図7は、判別モデルテーブルのデータ構造の一例を示す図である。
図7に示すように、この判別モデルテーブル145は、対象文書識別情報と、判別モデルとを対応付ける。対象文書識別情報は、判別モデルの対象となった文書情報の文書識別情報、または、文書サブ識別情報(後述する)を示す情報である。判別モデルは、対象文書識別情報の文書と類似する文書を判別するための判別モデルの情報である。
【0038】
図2の説明に戻る。制御部150は、取得部151と、第一特定部152と、第二特定部153と、除外処理部154と、検出部155とを有する。制御部150は、CPUやMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0039】
取得部151は、ネットワークを介して、外部装置等から、障害内容を記述した文書情報を取得し、取得した文書情報を、文書DB141に登録する。文書情報に対応する文書識別情報は、文書情報に予め設定されていてもよいし、取得部151が、文書情報にユニークな文書識別情報を割り当ててもよい。取得部151は、入力部120を介して、文書情報を取得してもよい。
【0040】
第一特定部152は、文書DB141に含まれる複数の文書情報のうち、一文から構成される文書情報を特定し、特定した文書情報および文書識別情報を、セットSテーブル142に登録する。
【0041】
また、第一特定部152は、セットSテーブル142に登録された各文書情報(文)から一つの文S1を選択し、下記の処理を実行することにより、文S1と類似する文を判別する判別モデルを生成する。
【0042】
第一特定部152が、判別モデルを生成する処理の一例について説明する。第一特定部152は、文S1と、セットSテーブル142に含まれる各文(文S1を含む)との類似度をそれぞれ算出し、セットSテーブル142に含まれる各文のうち、類似度上位の文を特定する。
【0043】
たとえば、第一特定部152は、word2vec等と同様にして、文に含まれる各単語のベクトルを算出し、文に含まれる各単語のベクトルを積算することで、文のベクトルを算出する。第一特定部152は、文S1のベクトルと、セットSテーブル142に登録された各文のベクトルとの距離をそれぞれ類似度として算出する。第一特定部152は、ベクトル間の距離が近いほど、類似度を大きくする。第一特定部152は、類似度の降順に、文をソートし、上位nに含まれる文を、類似度上位の文として特定する。
【0044】
第一特定部152は、特定した類似度上位の文を「正例」としたPU(Positive Unlabeled)学習を行い、文S1に類似する文であるか否かを判別する判別モデルを生成する。第一特定部152は、文S1を識別する対象文書識別情報と、判別モデルの情報とを対応付けて、判別モデルテーブル145に登録する。
【0045】
ここで、PU学習は、訓練データとして、一部の正例のみが与えられている場合に機械学習を行う学習法である。PU学習により学習される判別モデルは、正負不明のデータに対して正例確率を推定する推定モデルである。また、PU学習により学習される判別モデルは、算出された正例確率によって重みづけされた判別モデルである。なお、以降の処理においてはこのPU学習を用いているが、類似度が低い文を負例とみなして通常の機械学習方式を用いて判別モデルを構築することもできる。
【0046】
たとえば、第一特定部152は、PU学習を行う場合に、確率変数x、y、zを定義する。ここで、x∈R(実数全体),y∈{-1,1},s∈{0,1}とする。xは、入力(文のベクトル)、yはクラスラベル(負例=-1,正例=1)、sはデータがラベリングされているか否か(ラベリングされていないs=0,ラベルされている=1)を示す。
【0047】
まず、第一特定部152は、p(s=1|x)の推定モデルを学習する。上記のように、類似度上位の文には「正例」ラベルが付与され(s=1)、他の文にはラベルが付与されていない(s=0)ので、ラベルが付与されているデータ(文のベクトル)は、正例である。このため、p(s=1|x)の推定モデルは、「正例らしさの確率」を推定するモデルであると言える。第一特定部152は、たとえば、NN(Neural Network)のパラメータを調整する学習を行うことで、p(s=1|x)の推定モデルを学習する。
【0048】
続いて、第一特定部152は、p(s=1|x)の推定モデルの出力を正例らしさと見なして、判別モデルp(y=1|x)=p(s=1|x)/p(s=1|y=1)を学習する。第一特定部152は、NNのパラメータを調整する学習を行うことで、p(y=1|x)の判別モデルを学習する。この判別モデルに、文のベクトルを入力すると、文S1に類似する文である確からしさが出力される。
【0049】
第一特定部152は、セットSテーブル142に登録された他の文(S2~Sn)についても、文S1と同様の処理を実行することで、判別モデルを生成し、対象文識別情報と、判別モデルの情報とを対応付けて、判別モデルテーブル145に登録する。
【0050】
第二特定部153は、文書DB141に含まれる複数の文書情報のうち、複数文から構成される文書情報を特定し、特定した文書情報および文書識別情報を、セットMテーブル143に登録する。
【0051】
第二特定部153は、セットMテーブル143を基にして、セットM’テーブル144を生成する。たとえば、第二特定部153は、セットMテーブル143のレコードを選択し、選択したレコードに含まれる複数文を、一文毎に分割し、各文に文書サブ識別情報を割り当てる。第二特定部153は、文書識別情報と、文書サブ識別情報と、文書情報(一つの文)とを対応付けて、セットM’テーブル144に登録する。
【0052】
第二特定部153は、判別モデルテーブル145に含まれる各文の判別モデルから、文S1の判別モデルを取得する。第二特定部153は、セットM’テーブル144に含まれる各文書情報(一つの文)を、文S1の判別モデルに適用することで、セットM’テーブル144に含まれる各文書情報のうち、文S1と類似する文書情報を特定する。
【0053】
たとえば、第二特定部153は、セットM’テーブル144に含まれる文書情報のベクトルを、判別モデルに入力し、判別モデルから出力される確からしさの値が、閾値以上である場合に、文書情報が、文S1と類似する文書情報として特定する。
【0054】
第二特定部153は、特定した文S1と類似する文書情報の文書サブ識別情報と、セットM’テーブル144とを比較して、係る文書サブ識別情報に対応する文書識別情報を特定し、特定した文書識別情報を、リストL1(S1)として生成する。
【0055】
第二特定部153は、文S2~Snについても、文S1と同様の処理を行い、リストL1(S2)~リストL1(Sn)を生成する。
【0056】
除外処理部154は、下記の処理を実行することで、セットMテーブル143の文書情報(複数文)から、障害内容と関係のない文を除外する処理部である。たとえば、除外処理部154は、判別モデルを生成する処理、リストL2を生成する処理、削除フラグを設定する処理、除外する処理を行う。
【0057】
除外処理部154が実行する「判別モデルを生成する処理」について説明する。ここでは一例として、リストL1(S1)を用いて説明する。除外処理部154は、リストL1(S1)に含まれる文書情報に含まれる複数文のうち、文S1と類似しない文を選択し、選択した文の判別モデルを生成する。
【0058】
図8は、除外処理部の処理の一例を説明するための図(1)である。
図8に示すように、たとえば、リストL1(S1)には、文書識別情報MR1、MR2、・・・、MR10が登録されているものとする。また、文書識別情報MR1の文書には、文書サブ識別情報T11,T12が含まれる。文書サブ識別情報T11の文が、文S1と類似する文とすると、除外処理部154は、文書サブ識別情報T12の文を選択し、選択した文の判別モデルを生成する。除外処理部154は、リストL1(S1)に含まれる文書識別情報MR2、・・・MR10の文書についても、文S1と類似しない文を選択し、選択した文の判別モデルを生成する。
【0059】
一例として、文書サブ識別情報T11の判別モデルを生成する処理の一例について説明する。以下の説明では、文書サブ識別情報T12の文書情報を「文T12」と表記する。除外処理部154は、文T12と、セットM’データに含まれる各文(文T12を含む)との類似度をそれぞれ算出し、セットM’テーブルに含まれる各文のうち、類似度上位の文を特定する。除外処理部154が、各文の類似度を算出する処理は、第一特定部152と同様にして、文のベクトルを用いる。
【0060】
除外処理部154は、特定した類似度上位の文を「正例」としたPU学習を行い、文T12に類似する文であるか否かを判別する判別モデルを生成する。除外処理部154は、文T12を識別する対象文書識別情報と、判別モデルの情報とを対応付けて、判別モデルテーブル145に登録する。除外処理部154が実行するPU学習は、第一特定部152が実行するPU学習と同様である。
【0061】
除外処理部154は、リストL1(S1)に含まれる、文S1と類似しない他の文についても、文T11と同様の処理を実行することで、判別モデルを生成し、対象文書識別情報と、判別モデルの情報とを対応付けて、判別モデルテーブル145に登録する。
【0062】
除外処理部154は、リストL1(S2~Sn)に含まれる、文S2~Snと類似しない他の文についても、文T12と同様の処理を実行することで、判別モデルを生成し、対象文書識別情報と、判別モデルの情報とを対応付けて、判別モデルテーブル145に登録する。
【0063】
続いて、除外処理部154が実行する「リストL2を生成する処理」について説明する。除外処理部154は、各リストL1(S1~Sn)に対して、複数のリストL2を生成する。たとえば、一つのリストL1(S1)に対応するリストL2の数は、リストL1(S1)の各文のうち、文S1と類似しない文の数となる。
【0064】
図9は、除外処理部の処理の一例を説明するための図(2)である。たとえば、リストL1(S1)には、文書識別情報MR1、MR2、MR10が登録されているものとする。また、文書識別情報MR1の文書には、文書サブ識別情報T11,T12が含まれており、文書サブ識別情報T11の文は、文S1に類似しているものとする。
【0065】
文書識別情報MR2の文書には、文書サブ識別情報T21,T22が含まれており、文書サブ識別情報T21の文は、文S1に類似しているものとする。文書識別情報MR10の文書には、文書サブ識別情報T101,T102が含まれており、文書サブ識別情報T101の文は、文S1に類似しているものとする。この場合、除外処理部154は、リストL1(S1)に対応するリストL2として、文書サブ識別情報T12,T22,T102に基づく、リストL2(T12)、リストL2(T22)、リストL2(T102)を生成する。
【0066】
ここでは一例として、文S1と類似しない文(T12)のリストL2(T12)を生成する場合について説明する。
【0067】
除外処理部154は、判別モデルテーブル145に含まれる各文の判別モデルから文T12の判別モデルを取得する。除外処理部154は、セットM’テーブル144に含まれる各文書情報(一つの文)を、文T12の判別モデルに適用することで、セットM’テーブル144に含まれる各文書情報のうち、文T11と類似する文書情報を特定する。
【0068】
たとえば、除外処理部154は、セットM’テーブル144に含まれる文書情報のベクトルを、判別モデルに入力し、判別モデルから出力される確からしさの値が、閾値以上である場合に、文書情報が、文T12と類似する文書情報として特定する。
【0069】
除外処理部154は、特定した文T12と類似する文書情報の文書サブ識別情報と、セットM’テーブル144とを比較して、係る文書サブ識別情報に対応する文書識別情報を特定し、特定した文書識別情報を、リストL2(T12)として生成する。
【0070】
除外処理部154は、リストL2(T12)を生成する処理と同様にして、文T22の判別モデルを用いて、リストL2(T22)を生成する。除外処理部154は、文T102の判別モデルを用いて、リストL2(T102)を生成する。
【0071】
また、除外処理部154は、リストL1(S1)に対する複数のリストL2を生成する処理と同様にして、各リストL1(S2~Sn)に対する、複数のリストL2を生成する。
【0072】
続いて、除外処理部154が実行する「削除フラグを設定する処理」について説明する。一例として、リストL1(S1)と、リストL2(T12)とを基にして、文書サブ識別情報T12の文を除外するか否かを判定する処理について説明する。たとえば、除外処理部154は、リストL1(S1)とリストL2(T12)とで共通する文書情報の件数が多い場合に、文S1と文T12とが関連し、文T12を残すと判定する。
【0073】
一方、除外処理部154は、リストL1(S1)とリストL2(T12)とで共通する文書情報の件数が少ない場合に、文S1と文T12とが関連せず、文T12を除外すると判定する。除外処理部154は、文T12を除外すると判定した場合、セットM’テーブル144の文書サブ識別情報「T12」の削除フラグを「オン」に設定する。また、除外処理部154は、文書サブ識別情報「T12」の判別モデルを基にして、文T12に類似する他の文(類似文)をセットM’テーブル144から検出し、検出した他の文(類似文)に対応する削除フラグを「オン」に設定する。
【0074】
図10は、除外処理部の処理の一例を説明するための図(3)である。
図10に示す例では、リストL1(S1)には、文書識別情報「MR1,MR2,・・・,MR10」の文書情報が登録されているものとする。リストL2(T12)には、文書識別番号「MR1,MR2,MR3,MR11,・・・,MR20」の文書情報が含まれているもとする。
【0075】
また、除外処理部154は、リストL1(S1)と、リストL2(T12)とを比較し、表20Aの得るものとする。
図10に示すように、リストL1(S1)に含まれ、かつ、リストL2(T12)に含まれる文書情報の数を「3件」とする。リストL1(S1)に含まれ、かつ、リストL2(T12)に含まれない文書情報の数を「7件」とする。リストL1(S1)に含まれず、かつ、リストL2(T12)に含まれる文書情報の数を「10件」とする。リストL1(S1)に含まれず、かつ、リストL2(T12)に含まれない文書情報の数を「980件」とする。
【0076】
除外処理部154は、表20Aに対して検定(正解確率検定、カイ二乗検定等)を行い、文S1と、文T12との関連性の有無を判定する。たとえば、表20Aに対する検定では、危険度5%で、p値=1.96×10-4となり、p値の値が閾値未満であり、関連性ありと判定する。この場合、除外処理部154は、文T12を除外しないと判定する。
【0077】
図11は、除外処理部の処理の一例を説明するための図(4)である。
図11に示す例では、リストL1(S1)には、文書識別情報「MR1,MR2,・・・,MR10」の文書情報が登録されているものとする。リストL2(T102)には、文書識別番号「MR1,MR21,MR22,・・・,MR40」の文書情報が含まれているもとする。
【0078】
また、除外処理部154は、リストL1(S1)と、リストL2(T102)とを比較し、表20Bを得るものとする。
図11に示すように、リストL1(S1)に含まれ、かつ、リストL2(T102)に含まれる文書情報の数を「1件」とする。リストL1(S1)に含まれ、かつ、リストL2(T102)に含まれない文書情報の数を「9件」とする。リストL1(S1)に含まれず、かつ、リストL2(T102)に含まれる文書情報の数を「20件」とする。リストL1(S1)に含まれず、かつ、リストL2(T102)に含まれない文書情報の数を「970件」とする。
【0079】
除外処理部154は、表20Bに対して検定(正解確率検定、カイ二乗検定等)を行い、文S1と、文T102との関連性の有無を判定する。表20Bに対する検定では、危険度5%で、p値=0.196となり、p値の値が閾値以上であるため、関連性なしと判定する。除外処理部154は、セットM’テーブル144の文書サブ識別情報T102に対応する削除フラグを「オン」に設定する。
【0080】
除外処理部154は、リストL1(S1~Sn)と、対応するリストL2とを比較して、各文が関連するか否かを判定し、関連しないと判定した文については、削除フラグを「オン」にする処理を繰り返し実行する。
【0081】
続いて、除外処理部154が実行する「除外する処理」について説明する。除外処理部154は、文書DB141と、セットM’テーブル144とを比較して、削除フラグが「オン」となる文を、文書DB141から削除する処理を実行する。
【0082】
図12は、除外処理部の処理の一例を説明するための図(5)である。
図12に示すように、文書サブ識別情報T12に対応する削除フラグが「オン」となっているため、除外処理部154は、文書識別情報「MR1」に対応する文書情報から、文書サブ識別情報T12に対応する文「対処方法を教えてください。」を削除する。
【0083】
除外処理部154は、文書サブ識別情報T22に対応する削除フラグが「オン」となっているため、文書識別情報「MR2」に対応する文書情報から、文書サブ識別情報T12に対応する文「対処方法が不明です。」を削除する。
【0084】
除外処理部154は、他の文書情報についても、削除フラグが「オン」となっている文を削除する処理を繰り返し実行することで、文書DB141を更新する。更新した文書DB141を、文書DB141aと表記する。ここで、除外処理部154は、文書DB141aを参照し、文書DB141aに含まれる文書情報のうち、上記の除外する処理により、一つの文となった文書情報を、セットSテーブル142に登録する。
【0085】
図2の説明に戻る。検出部155は、文書DB141aに対してクラスタリングを行うことで、文書DB141aに含まれる各文書情報を複数のクラスタに分類する。検出部155は、複数のクラスタのうち、クラスタに属する文書情報の数か所定数以上となるクラスタを検出する。所定数以上の文書情報が属するクラスタは、障害内容を記述した文書情報といえる。
【0086】
たとえば、検出部155は、文書DB141aの各文書情報のベクトルを算出する。文書情報に一つの文が含まれている場合には、文書情報のベクトルは、かかる文のベクトルとなる。文書情報に、複数の文が含まれている場合には、各文のベクトルを積算することで、文書情報のベクトルを算出する。検出部155は、各文書情報のベクトルの類似度を算出し、類似度が閾値以上となる文書情報が同一のクラスタに属するようにクラスタリングを行う。
【0087】
検出部155は、検出結果を表示部130に出力して表示させてもよいし、ネットワークを介して、外部装置に通知してもよい。
図13は、検出結果の一例を示す図(1)である。
図13に示すように、検出部155は、更新された文書DB141aをクラスタリングすることで、複数のクラスタ30A~30Cを生成する。たとえば、検出部155は、クラスタ30Aに属する文書情報の数が所定数以上の場合には、クラスタ30Aを、検出結果として検出する。管理者は、クラスタ30Aを参照すると「syn flood(シンフラット)攻撃」に関する文書情報の数が所定数以上であるため「syn flood攻撃」を多発障害として特定することができる。
【0088】
ところで、仮に、更新していない文書DB141に対してそのままクラスタリングを行い、同様にクラスタを検出すると、
図14に示すものとなる。
図14は、検出結果の一例を示す図(2)である。
図14に示すように、仮に、検出部155は、文書DB141をクラスタリングすることで、複数のクラスタ31A~31Cを生成する。たとえば、検出部155は、クラスタ31Aに属する文書情報の数が所定数以上の場合には、クラスタ31Aを、検出結果として検出する。クラスタ31Aに含まれる各文書情報は、障害内容に関係のない、文「対象方法を教えてください」の影響により同一のクラスタに属しているため、管理者は、クラスタ31Aを参照しても、それぞれの障害の発生件数が所定数に満たないため、多発障害なしと判断してしまう。
【0089】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図15及び
図16は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図15に示すように、情報処理装置100の第一特定部152は、文書DB141の各文書情報のうち、1文で構成される文書情報をセットSテーブル142に登録する(ステップS101)。情報処理装置100の第二特定部153は、文書DB141の各文書情報のうち、複数の文で構成される文書情報を、セットMテーブル143に登録する(ステップS102)。
【0090】
第二特定部153は、セットMテーブル143を基にして、セットM’テーブル144を生成する(ステップS103)。第一特定部152は、セットSテーブル142から、1文(たとえば、文S1)を抽出する(ステップS104)。情報処理装置100は、セットSテーブル142の全ての文を抽出している場合(抽出に成功しない場合)には(ステップS105,No)、処理を終了する。
【0091】
一方、第一特定部152は、セットSテーブル142の文の抽出に成功した場合には(ステップS105,Yes)、文の判別モデルを生成する(ステップS106)。第二特定部153は、文の判定モデルをセットM’テーブル144に適用し、文の類似文を含む複数の文書情報を検出し、リストL1に登録する(ステップS107)。
【0092】
情報処理装置100の除外処理部154は、リストL1の文書情報から、類似文以外の1文(たとえば、T11)を抽出し(ステップS108)、
図16のステップS109に移行する。
【0093】
図16の説明に移行する。除外処理部154は、抽出に成功した場合には(ステップS109,Yes)、リストL1から抽出した文の判別モデルを生成する(ステップS110)。除外処理部154は、リストL1から抽出した文の判別モデルをセットM’テーブルに適用し、文の類似文を含む文書情報を検出し、リストL2に登録する(ステップS111)。
【0094】
除外処理部154は、リストL1およびリストL2を基にして、抽出した各文(たとえば、文S1と、文T12)との関連の有無を判定する(ステップS112)。除外処理部154は、各文が関連しない場合には(ステップS113,No)、ステップS115に移行する。
【0095】
一方、除外処理部154は、各文が関連する場合には(ステップS113,Yes)、リストL1から抽出した文およびこの文に類似する類似文に対応する削除フラグをオンに設定する(ステップS114)。
【0096】
除外処理部154は、リストL1から、未選択の文を抽出し(ステップS115)、ステップS109に移行する。
【0097】
ところで、除外処理部154は、抽出に成功しない場合には(ステップS109,No)、文書DB141の各文書情報から、削除フラグがオンとなる文を削除する(ステップS116)。除外処理部154は、削除により1文となって文書情報を、セットSテーブル142に追加し(ステップS117)、
図15のステップS104に移行する。
【0098】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、着目した障害内容を記述した文を含む文書を検出し、検出した文書のうち、複数の文を含む文書について、着目した障害内容に関係のある文(障害内容を記述した文)を残す。また、情報処理装置は、着目した障害内容に関係のない文(障害内容を記述していない文)を削除する処理を行う。このように、障害内容を記述した文に関連する文を残し、関連しない文を削除することができるので、クラスタリング処理による障害検出において、誤検知や検出もれを抑止することができる。
【0099】
たとえば、
図13で説明したように、障害内容を記述した文書情報を残し、障害内容を記述していない文書情報を削除することで、類似する障害内容に関連する文書情報をクラスタに分類することができるので、多発障害を特定することが容易となる。
図14で説明したように、仮に、障害内容を記述していない文書情報が残っていると、障害内容を記述していない文書情報を共通に含む文書情報が同一のクラスタに分類されてしまい、多発障害を検出することが難しい。
【0100】
また、情報処理装置100は、文と類似する他の文を判別する場合に、PU学習を基にして、文の判別モデルを生成し、かかる判別モデルを基にして、類似する他の文を判別する。これによって、文に関する教師データが少ない場合でも、類似する文を判別することができる。
【0101】
次に、本実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図17は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0102】
図17に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る読み取り装置504と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置505とを有する。コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507とを有する。そして、各装置501~507は、バス508に接続される。
【0103】
ハードディスク装置507は、取得プログラム507a、第一特定プログラム507b、第二特定プログラム507c、除外処理プログラム507d、検出プログラム507eを有する。CPU501は、取得プログラム507a、第一特定プログラム507b、第二特定プログラム507c、除外処理プログラム507d、検出プログラム507eを読み出してRAM506に展開する。
【0104】
取得プログラム507aは、取得プロセス506aとして機能する。第一特定プログラム507bは、第一特定プロセス506bとして機能する。第二特定プログラム507cは、第二特定プロセス506cとして機能する。除外処理プログラム507dは、除外処理プロセス506dとして機能する。検出プログラム507eは、検出プロセス506eとして機能する。
【0105】
取得プロセス506aの処理は、取得部151の処理に対応する。第一特定プロセス506bの処理は、第一特定部152の処理に対応する。第二特定プロセス506cの処理は、第二特定部550cの処理に対応する。除外処理プロセス506dの処理は、除外処理部154の処理に対応する。検出プロセス506eの処理は、検出部155の処理に対応する。
【0106】
なお、各プログラム507a~507eついては、必ずしも最初からハードディスク装置507に記憶させておかなくてもよい。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500が各プログラム507a~507eを読み出して実行するようにしてもよい。
【0107】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0108】
(付記1)コンピュータが実行する文書処理方法であって、
一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定し、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、
取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定し、
前記複数の文書の中から、前記第二着目文を含む複数文から構成される複数の第二文書を取得し、
前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する
処理を実行することを特徴とする文書処理方法。
【0109】
(付記2)前記除外する処理によって、前記第二着目文の除外された複数の文書を、文書間の類似度を基にして複数のクラスタに分類する処理を更に実行することを特徴とする付記1に記載の文書処理方法。
【0110】
(付記3)前記第一着目文は、障害内容に関して記述された文であり、前記複数のクラスタに属する文書の数を基にして、前記障害内容に関して記述された文に関連するクラスタを検出する処理を更に実行することを特徴とする付記2に記載の文書処理方法。
【0111】
(付記4)前記複数の文書に含まれる複数の文のうち、前記第一着目文に類似する文を正例とした学習を行うことで、前記第一着目文に類似する文か否かを判別する判別モデルを生成する処理を更に実行し、前記第一文書を取得する処理は、前記判別モデルを基にして、前記複数の文書の中から、特定した第一着目文を含む複数文から構成される複数の第一文書を取得することを特徴とする付記1、2または3に記載の文書処理方法。
【0112】
(付記5)コンピュータに、
一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定し、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、
取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定し、
前記複数の文書の中から、前記第二着目文を含む複数文から構成される複数の第に文書を取得し、
前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する
処理を実行させることを特徴とする文書処理プログラム。
【0113】
(付記6)前記除外する処理によって、前記第二着目文の除外された複数の文書を、文書間の類似度を基にして複数のクラスタに分類する処理を更に実行することを特徴とする付記5に記載の文書処理プログラム。
【0114】
(付記7)前記第一着目文は、障害内容に関して記述された文であり、前記複数のクラスタに属する文書の数を基にして、前記障害内容に関して記述された文に関連するクラスタを検出する処理を更に実行することを特徴とする付記6に記載の文書処理プログラム。
【0115】
(付記8)前記複数の文書に含まれる複数の文のうち、前記第一着目文に類似する文を正例とした学習を行うことで、前記第一着目文に類似する文か否かを判別する判別モデルを生成する処理を更に実行し、前記第一文書を取得する処理は、前記判別モデルを基にして、前記複数の文書の中から、特定した第一着目文を含む複数文から構成される複数の第一文書を取得することを特徴とする付記5、6または7に記載の文書処理プログラム。
【0116】
(付記9)一文または複数文から構成される複数の文書を取得し、
前記複数の文書の中から予め設定された条件を満たす一文から構成される第一着目文を特定する第一特定部と、
前記複数の文書の中から、特定した前記第一着目文を含む複数文から構成される複数の第一文書を取得し、取得した前記複数の第一文書の中から、特定した前記第一着目文以外の一文から構成される第二着目文を特定する第二特定部と、
前記複数の第一文書および前記複数の第二文書のそれぞれに含まれる同一文書の数と、同一文書以外の文書の数との関係に基づいて、前記複数の文書の中から前記第二着目文を除外する除外処理部と
を有することを特徴とする情報処理装置。
【0117】
(付記10)前記除外処理部によって、前記第二着目文の除外された複数の文書を、文書間の類似度を基にして複数のクラスタに分類する検出部を更に有することを特徴とする付記9に記載の情報処理装置。
【0118】
(付記11)前記第一着目文は、障害内容に関して記述された文であり、前記検出部は、前記複数のクラスタに属する文書の数を基にして、前記障害内容に関して記述された文に関連するクラスタを検出する処理を更に実行することを特徴とする付記10に記載の情報処理装置。
【0119】
(付記12)前記第一特定部は、複数の文書に含まれる複数の文のうち、前記第一着目文に類似する文を正例とした学習を行うことで、前記第一着目文に類似する文か否かを判別する判別モデルを生成する処理を更に実行し、前記第二特定部は、前記判別モデルを基にして、前記複数の文書の中から、特定した第一着目文を含む複数文から構成される複数の第一文書を取得することを特徴とする付記9、10または11に記載の情報処理装置。
【符号の説明】
【0120】
100 情報処理装置
110 通信部
120 入力部
130 表示部
140 記憶部
141 文書DB
142 セットSテーブル
143 セットMテーブル
144 セットM’テーブル
145 判別モデルテーブル
150 制御部
151 取得部
152 第一特定部
153 第二特定部
154 除外処理部
155 検出部