IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特許-辞書作成装置及び辞書作成方法 図1
  • 特許-辞書作成装置及び辞書作成方法 図2
  • 特許-辞書作成装置及び辞書作成方法 図3
  • 特許-辞書作成装置及び辞書作成方法 図4
  • 特許-辞書作成装置及び辞書作成方法 図5
  • 特許-辞書作成装置及び辞書作成方法 図6
  • 特許-辞書作成装置及び辞書作成方法 図7
  • 特許-辞書作成装置及び辞書作成方法 図8
  • 特許-辞書作成装置及び辞書作成方法 図9
  • 特許-辞書作成装置及び辞書作成方法 図10
  • 特許-辞書作成装置及び辞書作成方法 図11
  • 特許-辞書作成装置及び辞書作成方法 図12
  • 特許-辞書作成装置及び辞書作成方法 図13
  • 特許-辞書作成装置及び辞書作成方法 図14
  • 特許-辞書作成装置及び辞書作成方法 図15
  • 特許-辞書作成装置及び辞書作成方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-05
(45)【発行日】2023-04-13
(54)【発明の名称】辞書作成装置及び辞書作成方法
(51)【国際特許分類】
   G06F 11/34 20060101AFI20230406BHJP
【FI】
G06F11/34 176
【請求項の数】 8
(21)【出願番号】P 2019159570
(22)【出願日】2019-09-02
(65)【公開番号】P2021039488
(43)【公開日】2021-03-11
【審査請求日】2022-05-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】小島 祐治
【審査官】関口 明紀
(56)【参考文献】
【文献】特開2019-053767(JP,A)
【文献】特開2013-008372(JP,A)
【文献】米国特許出願公開第2019/0034517(US,A1)
【文献】米国特許出願公開第2011/0066908(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/34
(57)【特許請求の範囲】
【請求項1】
第1の装置のログから抽出する文字列を登録する第1の辞書から、一部に共通部分を有する複数の文字列を抽出して、抽出した前記複数の文字列の種類を特定する第1特定部と、
前記第1の装置のログから前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定する第2特定部と、
前記第2特定部が特定した文字列の種類に対して、前記第1特定部が特定した文字列の種類が限定的であるか判断する第1判断部と、
前記第1判断部の判断の結果、限定的であった場合に、前記第1の装置とは異なる第2の装置のログから一部に前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定するとともに、特定した該文字列の種類と、前記第2特定部が特定した文字列の種類との一致度が所定以上かを判断する第2判断部と、
前記一致度が所定以上の場合に、前記第1特定部が抽出した前記複数の文字列を、前記第2の装置のログから抽出する文字列を登録する第2の辞書に含める、辞書編集部と、
を備える辞書作成装置。
【請求項2】
前記第1判断部は、前記第2特定部が特定した文字列の種類の中に、前記第1特定部が特定した文字列の種類の全てが含まれ、かつ、前記第2特定部が特定した文字列の種類と前記第1特定部が特定した文字列の種類とが完全一致していない場合に、限定的であると判断する、ことを特徴とする請求項1に記載の辞書作成装置。
【請求項3】
前記辞書編集部は、前記第1判断部の判断の結果、限定的でなかった場合、前記共通部分を有する全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする請求項1又は2に記載の辞書作成装置。
【請求項4】
前記辞書編集部は、前記一致度が所定以上でない場合に、前記共通部分を含む全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする請求項1~3のいずれか一項に記載の辞書作成装置。
【請求項5】
前記辞書編集部は、前記第2判断部が前記第2の装置のログから前記共通部分を含む文字列を抽出できなかった場合に、前記共通部分を含む文字列を前記第2の辞書に含めないことを特徴とする請求項1~4のいずれか一項に記載の辞書作成装置。
【請求項6】
前記辞書編集部は、前記第1の辞書に任意文字が指定された箇所を含む文字列が登録されている場合に、該文字列を前記第2の辞書に含める、ことを特徴とする請求項1~5のいずれか一項に記載の辞書作成装置。
【請求項7】
前記文字列の種類を特定する処理は、前記文字列のうち共通部分以外の部分の種類を特定する処理である、ことを特徴とする請求項1~6のいずれか一項に記載の辞書作成装置。
【請求項8】
第1の装置のログから抽出する文字列を登録する第1の辞書から、一部に共通部分を有する複数の文字列を抽出して、抽出した前記複数の文字列の種類を特定し、
前記第1の装置のログから前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定し、
前記第1の装置のログから特定した文字列の種類に対して、前記第1の辞書から特定した文字列の種類が限定的であるか判断し、
前記判断の結果、限定的であった場合に、前記第1の装置とは異なる第2の装置のログから一部に前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定するとともに、特定した該文字列の種類と、前記第1の装置のログから特定した文字列の種類との一致度が所定以上かを判断し、
前記一致度が所定以上の場合に、前記第1の辞書から抽出した前記複数の文字列を、前記第2の装置のログから抽出する文字列を登録する第2の辞書に含める、
処理をコンピュータが実行することを特徴する辞書作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、辞書作成装置及び辞書作成方法に関する。
【背景技術】
【0002】
装置のサポート業務を行う場合に、装置を導入した顧客からの問い合わせに対して適切な回答を行うために、装置から出力されたログを解析する技術が知られている。近年、このような技術において、機械学習を利用することがある。機械学習においては、例えば、ログから特徴的なフレーズ(文字列)を抽出し、抽出結果から回答を推論する推論モデルを作成する。この特徴的なフレーズの一部は、辞書に登録されており、当該辞書が適切に作成されているか否かが、推論モデルの推論精度に大きく影響することが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-134124号公報
【文献】特開平11-154160号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
辞書に登録するフレーズは、各装置のログを特徴づける重要なフレーズであり、予め担当者がピックアップしているが、装置ごとに異なるため、装置ごとに辞書に登録する内容をカスタマイズする必要がある。
【0005】
したがって、新たにサポートする装置が追加された場合、当該装置の辞書を作成するのに多大な工数や時間を要するおそれがある。また、サポート業務をある程度行った後でなければ、辞書に登録すべきフレーズがわからない場合もある。
【0006】
1つの側面では、本発明は、装置のログから抽出すべき文字列を登録する辞書を簡易に作成することが可能な辞書作成装置及び辞書作成方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの態様では、辞書作成装置は、第1の装置のログから抽出する文字列を登録する第1の辞書から、一部に共通部分を有する複数の文字列を抽出して、抽出した前記複数の文字列の種類を特定する第1特定部と、前記第1の装置のログから前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定する第2特定部と、前記第2特定部が特定した文字列の種類に対して、前記第1特定部が特定した文字列の種類が限定的であるか判断する第1判断部と、前記第1判断部の判断の結果、限定的であった場合に、前記第1の装置とは異なる第2の装置のログから一部に前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定するとともに、特定した該文字列の種類と、前記第2特定部が特定した文字列の種類との一致度が所定以上かを判断する第2判断部と、前記一致度が所定以上の場合に、前記第1特定部が抽出した前記複数の文字列を、前記第2の装置のログから抽出する文字列を登録する第2の辞書に含める、辞書編集部と、を備えている。
【発明の効果】
【0008】
装置のログから抽出すべき文字列を登録する辞書を簡易に作成することができる。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る辞書作成装置の利用シーンを概略的に示す図である。
図2】サポート業務支援装置によるログの解析方法の一例を示す図である。
図3】辞書作成装置のハードウェア構成を示す図である。
図4】辞書作成装置の機能ブロック図である。
図5】辞書作成装置の処理の概要を示す図である。
図6】辞書作成装置の全体処理を示すフローチャートである。
図7図6のステップS10の詳細処理を示すフローチャートである。
図8図6のステップS14の詳細処理を示すフローチャートである。
図9図9(a)は、既存装置の辞書の一例を示す図であり、図9(b)は、処理対象を示す図である。
図10図10(a)~図10(d)は、図6のステップS10の処理を説明するための図である。
図11図11(a)は、既存装置のログの一例を示す図であり、図11(b)は、既存装置のログから抽出されたフレーズを示す図である。
図12】既存装置のログにおいて特定された可変部に対して、既存装置の辞書において特定された可変部が絞り込まれている状態を説明するための図である。
図13】既存装置のログにおいて特定された可変部に対して、既存装置の辞書において特定された可変部が絞り込まれていない状態を説明するための図である。
図14図14(a)は、既存装置のログにおいて特定された可変部に対して、既存装置の辞書において特定された可変部が絞り込まれていない状態の別例を示す図であり、図14(b)は、絞り込まれている状態の別例を示す図である。
図15図15(a)~図15(d)は、一致度が閾値以上である場合の例を示す図である。
図16図16(a)、図16(b)は、一致度が閾値未満である場合の例を示す図であり、図16(c)は、選択された固定部に対応する可変部がワイルドカードである場合において新規装置の辞書に登録されるフレーズを示す図である。
【発明を実施するための形態】
【0010】
以下、一実施形態に係る辞書作成装置について、図1図16に基づいて詳細に説明する。
【0011】
図1には、本実施形態の辞書作成装置10の利用シーンが概略的に示されている。図1に示すように、本実施形態においては、サポートセンターの担当者は、顧客に導入した装置(例えばネットワーク装置)に関する顧客からの問い合わせを受け付けると、適切な回答を行うためにサポート業務支援装置を利用する。このサポート業務支援装置に対して、辞書作成装置10は接続されている。
【0012】
顧客は、ネットワーク装置に不具合等が発生した場合に、ネットワーク装置から出力されるログをサポートセンターに送信することにより、不具合に対する問い合わせを行う。サポートセンターの担当者は、受信したログをサポート業務支援装置に入力し、解析することで、得られた回答パターンを参考にして、顧客に対して回答を行う。ここで、辞書作成装置10は、ネットワーク装置から出力されるログを事前に取得し、サポート業務支援装置が解析に用いる辞書を作成し、提供する。
【0013】
図2は、サポート業務支援装置によるログの解析方法の一例を示す図である。本実施形態では、サポート業務支援装置は、機械学習を利用してログを解析し、回答パターンを出力する。機械学習においては、前処理として、過去の問い合わせログから多数のフレーズ(文字列)を抽出し、各ログにおけるフレーズ(Word_1、Word_2、…Word_n)ごとのベクトル値を算出する。このベクトル値は、例えば、問い合せログに含まれる各フレーズの出現回数のカウント値などである。このとき、問い合わせログから抽出するフレーズは、各ネットワーク装置のログを特徴づける重要なフレーズであり、その一部の強制的に抽出するフレーズが辞書作成装置10により作成された辞書に格納されている。辞書に格納されているフレーズは、例えば、ある回答パターンに対応するログだけに含まれているフレーズなどである。そして、図2の表Aに示すように、各問い合わせログの各フレーズのベクトル値と、回答パターン(ラベル)の番号とを対応付け、これに基づいて、推論モデルを作成する。
【0014】
一方、新規問い合わせログをサポートセンターの担当者が入力すると、過去の問い合わせログと同様に、前処理として、新規問い合わせログから多数のフレーズを抽出してベクトル値を算出し、算出したベクトル値を推論モデルに入力する。この結果、新規問い合わせログに対応する回答パターンの候補が確信度の値とともに出力される(図2の表B参照)。
【0015】
サポートセンターの担当者は、表Bを参照することで、適切な回答パターンを選択し、顧客の問い合わせに対する回答を行うことができる。
【0016】
ところで、推論モデルが作成されていない新たなネットワーク装置(新規装置)をサポート対象とする場合には、新規装置の辞書を新たに作成しなおす必要がある。この作業を担当者が行うこととすると、多大な工数と時間を要するおそれがある。そこで、本実施形態においては、辞書作成装置10は、既存装置(既にサポート対象となっている装置)のサポートに利用する辞書(第1の辞書)を用いて、新規装置のサポートに利用する辞書(第2の辞書)を作成する。
【0017】
なお、新規装置の辞書を作成する場合の既存装置としては、新規装置と同一ベンダであるなど、新規装置と類似する装置を採用することができる。これにより、新規装置の辞書をより精度良く作成できる可能性がある。ただし、これに限らず、既存装置としては、新規装置に関係なく、種々の既存装置を採用してもよい。
【0018】
以下、辞書作成装置10について、詳細に説明する。図3には、辞書作成装置10のハードウェア構成が示されている。辞書作成装置10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、表示部93、入力部95、及び可搬型記憶媒体用ドライブ99等を備えている。これら辞書作成装置10の構成各部は、バス98に接続されている。辞書作成装置10では、ROM92あるいはHDD96に格納されているプログラム(辞書作成プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラムをCPU90が実行することにより、図4に示す、各部の機能が実現される。なお、図4の各部の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0019】
図4には、辞書作成装置10の機能ブロック図が示されている。辞書作成装置10においては、CPU90がプログラムを実行することにより、第1抽出部20、第2抽出部22、第1判断部としての絞り込み判断部24、第3抽出部26、一致度判定部28、辞書編集部としての登録フレーズ決定部30、としての機能が実現されている。以下、辞書作成装置10の処理の概要を示す図5を参照しつつ、辞書作成装置10の各部の機能について説明する。
【0020】
第1抽出部20は、既存装置の辞書から、一部が共通するフレーズを抽出してグループ化し(図5のステップS100)、抽出したフレーズの共通部分(固定部と呼ぶ)と、共通しない部分(可変部と呼ぶ)とに分ける(ステップS110)。以下、この固定部と可変部に分ける処理を「整形」と呼ぶ。なお、図5では、固定部(HARDWARE FAULT)を有するフレーズのグループのみを図示しているが、第1抽出部20は、既存装置の辞書から、一部が共通するフレーズのグループを全て抽出して、整形する。
【0021】
第2抽出部22は、第1抽出部20が抽出したフレーズの固定部を含むフレーズを既存装置のログから抽出してグループ化し、整形する(ステップS120)。なお、図5においては、固定部(HARDWARE FAULT)を有するフレーズのグループのみを図示している。
【0022】
絞り込み判断部24は、第2抽出部22が抽出したある固定部(例えば「HARDWARE FAULT」)に対応する可変部の種類(バリエーション)を特定する。また、絞り込み判断部24は、第1抽出部20が抽出したある固定部(例えば「HARDWARE FAULT」)に対応する可変部の種類(バリエーション)を特定する。そして、それぞれの可変部の種類を参照して、既存装置の辞書において特定された可変部の種類が、既存装置のログにおいて特定された可変部の種類に対して絞り込まれた状態であるかを判断する(ステップS130)。すなわち、図5の例では、絞り込み判断部24は、符号F2で示す可変部が、符号F1で示す可変部の全てを含み、かつ、完全一致していない場合に、絞り込まれた状態であると判断する。ここで、既存装置の辞書においてフレーズが絞り込まれていることは、ログに存在するフレーズのうち、特徴的なフレーズのみが辞書に登録されている可能性が高いことを意味する。
【0023】
第3抽出部26は、絞り込み判断部24により、絞り込まれた状態であると判断された場合に、新規装置のログから固定部(例えば、「HARDWARE FAULT」)を含むフレーズを既存装置のログから抽出して、整形する(ステップS140)。
【0024】
一致度判定部28は、第2抽出部22が抽出したフレーズの可変部の種類(F2)と、第3抽出部26が抽出したフレーズの可変部の種類(F3)との一致度(一致割合)を判定する(ステップS150)。なお、一致度の詳細については、後述する。
【0025】
登録フレーズ決定部30は、絞り込み判断部24の判断結果と、一致度判定部28の判定結果と、に基づいて、新規装置の辞書に登録するフレーズを決定する(ステップS160)。登録フレーズ決定部30の処理の詳細については後述する。
【0026】
(辞書作成装置10の処理について)
以下、図6図8のフローチャートに沿って、その他図面を適宜参照しつつ、辞書作成装置10の処理について詳細に説明する。図6は、辞書作成装置10の全体処理を示すフローチャートであり、図7は、図6のステップS10の詳細処理を示すフローチャートであり、図8は、図6のステップS14の詳細処理を示すフローチャートである。
【0027】
図6の処理においては、まず、ステップS10において、第1抽出部20が、既存装置の辞書からフレーズを抽出し、整形する処理を実行する。このステップS10においては、具体的には、図7のフローチャートに沿った処理を実行する。
【0028】
(ステップS10の詳細処理)
図7の処理では、まずステップS40において、第1抽出部20が、基点と比較対象を設定する。例えば、既存装置の辞書が図9(a)に示すような11個のフレーズを有していたとする。この場合、第1抽出部20は、図9(b)に示すように、既存装置の辞書全体を処理対象とし、最初のフレーズ(1番のフレーズ)を基点として設定し、残りの2番~11番のフレーズを比較対象として設定する。
【0029】
次いで、ステップS42では、第1抽出部20が、基点のフレーズと各比較対象のフレーズを比較する。この場合、第1抽出部20は、単語単位で、基点のフレーズに含まれる単語と一致している単語と、一致していない単語を判別する。
【0030】
そして、ステップS44では、第1抽出部20が、一致語の位置と不一致語の位置のパターンが同じ比較対象と、基点をグループ化する。例えば、図9(b)の例では、基点と比較対象1~6とが、一致語(HARDWARE FAULT)が1単語目と2単語目で、不一致語が3単語目であり、一致語及び不一致語の位置のパターンが同じである。したがって、第1抽出部20は、これらのフレーズを1つのグループとする。
【0031】
次いで、ステップS46では、第1抽出部20が、グループに含まれる各フレーズの一致語(HARDWARE FAULT)を固定部、不一致語(HARDWARE FAULT以外)を可変部とすることで、フレーズを整形する。図10(a)には、基点と比較対象1~6とを整形した状態(抽出フレーズ(整形後))が示されている。
【0032】
次いで、ステップS48では、第1抽出部20が、グループ化したものを処理対象から除外する。この場合、処理対象は、図9(a)の既存装置の辞書から図10(a)の抽出されたフレーズを除いた、図10(b)に示すものになる。
【0033】
次いで、ステップS50では、第1抽出部20が、処理対象が残っているか否かを判断する。このステップS50の判断が肯定された場合には、ステップS40に戻る。その後、第1抽出部20は、図10(b)の処理対象に対して、基点と比較対象1、2、3を設定し(S40)、基点と比較対象1、2とをグループ化し(S44)、整形する(S46)。これにより、図10(c)に示すような抽出フレーズ(整形後)が得られることになる。
【0034】
その後は、処理対象からグループ化されたフレーズが除外されるが、処理対象には、「Service Level * has occurred with core」が残っているため、ステップS50の判断が肯定され、ステップS40に戻る。その後、ステップS40~S50を更に実行することで、図10(d)に示すような抽出フレーズ(整形後)が得られる。なお、「Service Level * has occurred with core」には、ワイルドカード(任意の文字列)を示す「*」が含まれている。このような場合には、ワイルドカード(*)を不一致語(可変部)とし、それ以外を一致語(固定部)とする。その後、ステップS50の判断が否定されると、図6のステップS12に移行する。
【0035】
図6に戻り、ステップS12に移行すると、絞り込み判断部24が、ステップS10で得られたグループ(抽出フレーズ(整形後))の中から固定部を1つ選択する。ここでは、絞り込み判断部24は、図10(a)、図10(c)、図10(d)の中から固定部「HARDWARE FAULT」を選択したものとする。
【0036】
次いで、ステップS14では、絞り込み判断部24及び第2抽出部22が、選択された固定部に関し、絞り込み、未絞り込みを確認する処理を実行する。このステップS14では、具体的には、図8のフローチャートに沿った処理を実行する。
【0037】
(ステップS14の詳細処理)
図8の処理では、まず、ステップS60において、選択された固定部に対応する可変部がワイルドカードであるか否かを判断する。このステップS60の判断が否定されると、ステップS61に移行する。
【0038】
ステップS61に移行すると、絞り込み判断部24は、既存装置の辞書(図9(a))において、選択された固定部(HARDWARE FAULT)に対応する可変部の種類(バリエーション)を特定する。ここでは、絞り込み判断部24は、図10(a)に示されている7種類((I/OMod-EX)、(MDirAgnt 100)、…、(PRB))を特定する。なお、ここで特定される7種類は、既存装置の辞書から抽出されたフレーズ(図10(a))の種類数であるともいえる。
【0039】
次いで、ステップS62では、第2抽出部22が、既存装置のログにおいて、選択された固定部(HARDWARE FAULT)に対応するフレーズを抽出する。また、絞り込み判断部24が、可変部の種類(バリエーション)を特定する。より具体的には、第2抽出部22は、図11(a)に示すような既存装置のログを準備する。なお、既存装置のログは、顧客から問い合わせがあった際に送付されたログである。そして、第2抽出部22は、既存装置のログから、選択された固定部(HARDWARE FAULT)を含むフレーズを抽出し、図11(b)に示すように、固定部と可変部に分ける(整形する)。図11(b)の例では、絞り込み判断部24は、可変部の種類として8種類((I/OMod-EX)、(MDirAgnt 100)、…、(PRB)、(YMZ))を特定する。なお、ここで特定された8種類は、既存装置のログから抽出されたフレーズ(図11(b))の種類数であるともいえる。
【0040】
次いで、ステップS64では、絞り込み判断部24が、既存装置の辞書において特定された可変部の種類(図10(a))と、既存装置のログにおいて特定された可変部の種類(図11(b))と、を比較する。この比較においては、既存装置の辞書において特定された可変部の種類が、既存装置のログにおいて特定された可変部の種類に対して限定的であるかを確認する。ここで、限定的とは、既存装置の辞書において特定された可変部それぞれが、既存装置のログにおいて特定された可変部に含まれており、かつ、完全一致ではないことを意味する。
【0041】
次いで、ステップS66では、絞り込み判断部24が、限定的か否かを判断する。図10(a)と図11(b)の例では、図12に示すように、既存装置の辞書において特定された可変部(8種類)に、既存装置のログにおいて特定された可変部(7種類)の全てと、それ以外の可変部も含まれているため、限定的であると判断される。この場合、図8のステップS66の判断は肯定され、ステップS68に移行する。
【0042】
ステップS68に移行すると、絞り込み判断部24は、絞り込まれていると判断し、図8の全処理を終了し、図6のステップS16に移行する。
【0043】
一方、ステップS66の判断が否定された場合には、ステップS70に移行する。例えば、図13の下段に示すように、既存装置のログにおいて特定された可変部が7種類であった場合に、図13の上段に示すように、既存装置の辞書において特定された可変部が7種類であり、完全一致していたとする。この場合には、限定的でないため、ステップS66の判断が否定され、ステップS70に移行し、絞り込み判断部24は、絞り込みされていないと判断する。その後は、図6のステップS16に移行する。
【0044】
なお、例えば、図14(a)の左上図に示すように、固定部として「Service Level、has occurred with core」が選択され、既存装置の辞書から2種類のフレーズが抽出されたとする。また、既存装置のログから、選択された固定部「Service Level、has occurred with core」を含むフレーズとして、図14(a)の右下図に示す2種類のフレーズが抽出されたとする。このような場合には、図14(a)の左上図と右下図とにおいて、可変部の種類が完全一致しているため、既存装置の辞書は絞り込まれていないと判断される(S70)。一方、図14(b)の左上図に示すように、固定部として「Service Level、has occurred with core」が選択され、既存装置の辞書から1種類のフレーズが抽出されたとする。また、既存装置のログから、選択された固定部「Service Level、has occurred with core」を含むフレーズとして、図14(b)の右下図に示す2種類のフレーズが抽出されたとする。このような場合には、既存装置の辞書は、絞り込まれていると判断される(S68)。
【0045】
ところで、図6のステップS12において、固定部として、図10(d)の固定部「Service Level、has occurred with core」が選択されたとする。この場合、可変部がワイルドカードであるので、図8の処理においては、ステップS60の判断が肯定され、ステップS61~S66の処理・判断を経ずに、ステップS70に移行する。ステップS70に移行すると、絞り込み判断部24は、既存装置の辞書は絞り込まれていないと判断する。
【0046】
図6に戻り、ステップS16に移行すると、絞り込み判断部24は、絞り込まれているか否かを判断する。このステップS16の判断が肯定されると、ステップS18に移行する。
【0047】
ステップS18に移行した場合、第3抽出部26は、選択された固定部(HARDWARE FAULT)に対応するフレーズを新規装置のログから抽出するとともに、固定部と可変部に分けて整形する。この場合、第3抽出部26は、新規装置のログにおいて「HARDWARE FAULT」を含むフレーズを検索する。例えば、新規装置のログから抽出されたフレーズが、図15(a)に示すようなフレーズであったとする。
【0048】
次いで、ステップS20では、一致度判定部28が、新規装置のログから、選択された固定部を含むフレーズが抽出されたか否かを判断する。図15(a)のようにフレーズが1つでも抽出された場合には、ステップS20の判断が肯定され、ステップS22に移行する。
【0049】
ステップS22に移行すると、一致度判定部28は、新規装置のログから抽出されたフレーズ(図15(a))と、既存装置のログから抽出されたフレーズ(図15(b)参照)と、の一致度を算出する。具体的には、一致度判定部28は、既存装置のログから抽出されたフレーズ(図15(b))と、新規装置のログから抽出されたフレーズ(図15(a))を用いて、図15(c)のような表を作成する。ここで、図15(c)の表には、図15(a)、図15(b)の全フレーズ(固定部と可変部)が列挙されており、それぞれのフレーズが既存装置のログや新規装置のログから抽出されたかが「有」/「無」にて示されている。一致度判定部28は、この図15(c)の表から、全フレーズにおける既存装置のログと新規装置のログの両方から抽出されたフレーズの割合を「一致度」として求める。図15(c)の例では、抽出された全フレーズ数に対する、既存装置のログの欄に「有」が格納され、新規装置のログの欄に「有」が格納されているフレーズ数の割合(一致数/全フレーズ数=6/9≒0.67)を求め、一致度とする。
【0050】
次いで、ステップS24では、一致度判定部28が、一致度が閾値以上であるか否かを判断する。例えば、閾値が0.6であるとすると、図15(c)の例では、ステップS24の判断は肯定され、ステップS26に移行する。なお、ステップS24においては、既存装置における絞り込みが新規装置でも有効か否かを判断していると言える。
【0051】
ステップS26に移行した場合、既存装置のログにおいて特定された可変部のバリエーションが新規装置のログにおいて特定された可変部のバリエーションとほぼ同じと見做せる。この場合、新規装置においても既存装置と同じ絞り込みルールを用いることが有効であると考えられる。したがって、ステップS26においては、登録フレーズ決定部30は、既存装置の辞書のうち選択されている固定部(HARDWARE FAULT)を有するフレーズを新規装置の辞書にそのまま流用して登録する(図15(d)参照)。その後は、ステップS32に移行する。
【0052】
一方、図16(a)には、一致度が閾値未満になる例が示されている。図16(a)の例では、新規装置のログに含まれるフレーズの有無と、既存装置のログに含まれるフレーズの有無があまり一致していない。図16(a)において、図15(c)と同様に一致度を算出すると、一致度=4/11≒0.36となり、閾値=0.6未満となる。このような場合には、ステップS24の判断が否定され、ステップS30に移行する。ステップS30に移行した場合、既存装置のログにおいて特定された可変部のバリエーションが新規装置のログにおいて特定された可変部のバリエーションと大きく異なると見做せるので、既存装置と同じ絞り込みルールを用いることはできない。したがって、ステップS30においては、登録フレーズ決定部30は、図16(b)に示すように可変部をワイルドカード(*)指定(任意の文字列)にして新規装置の辞書に登録する。すなわち、固定部(HARDWARE FAULT)を有するフレーズの全てを抽出するという情報を新規装置の辞書に登録する。その後は、ステップS32に移行する。
【0053】
ところで、ステップS16の判断が否定されたとき、すなわち、既存装置の辞書から抽出されたフレーズが、既存装置のログから抽出されたフレーズに対して絞り込まれていなかった場合にも、登録フレーズ決定部30は、ステップS30に移行する。この場合にも、登録フレーズ決定部30は、図16(b)に示すように可変部をワイルドカード指定にして新規装置の辞書に登録する。なお、ステップS16の判断が否定される場合には、図10(d)のような、既存装置の辞書から抽出されたフレーズの可変部がワイルドカードである場合も含まれる。この場合には、登録フレーズ決定部30は、ステップS30において、図16(c)に示すように、既存装置の辞書から抽出されたフレーズそのものを新規装置の辞書に登録する。
【0054】
また、図6の処理においてステップS20の判断が否定された場合、すなわち、新規装置のログから、選択された固定部(HARDWARE FAULT)を含むフレーズが抽出されなかった場合には、登録フレーズ決定部30は、ステップS28に移行する。ステップS28に移行した場合、登録フレーズ決定部30は、選択された固定部(HARDWARE FAULT)を有するフレーズを新規装置の辞書には登録しないこととする。その後は、ステップS32に移行する。
【0055】
ステップS32に移行すると、絞り込み判断部24は、全ての固定部を選択したか否かを判断する。このステップS32の判断が否定された場合には、ステップS12に戻り、ステップS32の判断が肯定されるまで、上述したステップS12~S32の処理が繰り返し実行されることになる。そして、ステップS32の判断が肯定されると、図6の全処理が終了する。
【0056】
これまでの説明からわかるように、本実施形態では、第1抽出部20と絞り込み判断部24とにより、既存装置の辞書からフレーズを抽出して、抽出したフレーズの種類(可変部の種類)を特定する第1特定部としての機能が実現されている。また、第2抽出部22と絞り込み判断部24とにより、既存装置のログからフレーズを抽出し、抽出したフレーズの種類(可変部の種類)を特定する第2特定部としての機能が実現されている。更に、第3抽出部26と一致度判定部28とにより、新規装置のログからフレーズを抽出して、抽出したフレーズの種類(可変部の種類)を特定するとともに、特定した種類と、既存装置のログから抽出されたフレーズの種類(可変部の種類)との一致度が所定以上かを判断する第2判断部としての機能が実現されている。
【0057】
以上、詳細に説明したように、本実施形態によると、第1抽出部20は、既存装置のログから抽出するフレーズを登録する辞書(既存装置の辞書)から、一部が共通する複数のフレーズを抽出し(S10)、絞り込み判断部24は、共通する部分(固定部)以外の可変部の種類を特定する(S61)。また、第2抽出部22は、既存装置のログから固定部を含むフレーズを抽出し、絞り込み判断部24は、抽出したフレーズに含まれる可変部の種類を特定する(S62)。また、絞り込み判断部24は、既存装置のログから特定された可変部の種類に対して、既存装置の辞書から特定された可変部の種類が限定的であるかを判断する(S66~S70、S16)。この判断の結果、限定的であった場合(S16:肯定)には、第3抽出部26が、新規装置のログから固定部を含むフレーズを抽出する(S18)。また、一致度判定部28が、新規装置のログから抽出したフレーズに含まれる可変部の種類と、既存装置のログから特定された可変部の種類との一致度が閾値以上かを判断する(S24)。そして、登録フレーズ決定部30は、閾値以上の場合(S24:肯定)に、既存装置の辞書から抽出した複数のフレーズをそのまま新規装置の辞書に登録する(S26)。これにより、本実施形態では、既存装置の辞書に特徴的なフレーズが絞り込んで登録されており、かつ、新規装置のログにおいても特徴的なフレーズの絞り込みが有効であるときに、既存装置の辞書の特徴的なフレーズを新規装置の辞書に自動的に登録することができる。したがって、作業工数をかけることなく、新規装置の辞書に適切なフレーズを登録することが可能である。
【0058】
また、本実施形態では、新規装置が既存装置の系列の装置である場合以外にも、新規装置の構成物(ラインカード、インタフェースカード、チップ、部品)が既存装置と共通又は類似する場合等において、作業工数をかけずに新規装置の辞書を自動的に作成することができる。
【0059】
ここで、新規装置の辞書を作成する際に、既存装置の辞書を全て流用することも考えられる。しかしながら、この場合には、一致度が閾値未満の場合(図16(a)の場合)にも、絞り込まれたフレーズしか新規装置の辞書に登録されないことになる。したがって、適切なフレーズを用いた機械学習が行われなくなるため、回答パターンの推論精度が低下するおそれがある。これに対し、本実施形態では、一致度が閾値以上でない場合に、固定部を含む全てのフレーズ(可変部がワイルドカード指定のフレーズ)を新規装置の辞書に登録するようにしている。これにより、新規装置のログから適切なフレーズ(既存装置のログには無いが、新規装置のログにある特徴的なフレーズ)が抽出されることになる。したがって、既存装置の辞書をそのまま新規装置の辞書に登録する場合よりも、回答パターンの推論精度を向上することができる。
【0060】
一方、一致率が低い場合には、選択されている固定部を含むフレーズを新規装置の辞書へ登録しないという方法も考えられる。しかしながら、選択されている固定部を含むフレーズが新規装置のログに含まれている以上、少なくとも選択されている固定部に関しては新規装置のログを特徴づける重要なフレーズである可能性が高い。したがって、本実施形態では、このようなフレーズをワイルドカード指定で新規装置の辞書に登録して、強制的に抽出するようにしている。このようにすることで、新規装置のサポート開始時点での推論精度を高くすることができる。
【0061】
また、本実施形態では、絞り込み判断部24は、既存装置のログにおいて特定された可変部の種類の中に、既存装置の辞書において特定された可変部の種類の全てが含まれており、かつ、完全一致していない場合に、限定的であると判断する(S14、図8)。これにより、既存装置の辞書に特徴的なフレーズが登録されているか否かを適切に判断することができる。
【0062】
また、本実施形態では、絞り込み判断部24の判断の結果、限定的でなかった場合(S16:否定)、登録フレーズ決定部30は、選択された固定部を含む全てのフレーズ(可変部がワイルドカード指定されたフレーズ)を新規装置の辞書に登録する(S30)。これにより、新規装置のログからの特徴的なフレーズの抽出漏れを抑制することができる。
【0063】
また、本実施形態では、新規装置のログから選択された固定部を含むフレーズを抽出できなかった場合(S20:否定)に、登録フレーズ決定部30は、選択された固定部を含むフレーズを新規装置の辞書に登録しないこととしている(S28)。これにより、新規装置のログから回答パターンを得る際に不要である可能性の高いフレーズを新規装置の辞書に登録しないようにすることができる。
【0064】
また、本実施形態では、登録フレーズ決定部30は、既存装置の辞書にワイルドカード指定を含むフレーズが登録されている場合に、当該フレーズを新規装置の辞書に含める(S60:肯定、S70、S16:否定、S30)。これにより、新規装置のログからの特徴的なフレーズの抽出漏れを抑制することができる。
【0065】
また、本実施形態では、フレーズのうち、固定部を除く可変部の種類を特定して、絞り込まれているか否かの判断や一致度の算出を行う。したがって、フレーズ全体を用いて、絞り込まれているか否かの判断や一致度の算出を行う場合と比べて、処理量を低減することができる。
【0066】
なお、上記実施形態では、辞書やログから抽出したフレーズを固定部と可変部に分けて整形し、可変部の種類を用いて、絞り込まれているか否かの判断や一致度の算出を行う場合について説明したが、これに限られるものではない。すなわち、辞書やログから抽出したフレーズそのものの種類を用いて、絞り込まれているか否かの判断や一致度の算出を行うこととしてもよい。
【0067】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体(ただし、搬送波は除く)に記録しておくことができる。
【0068】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0069】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0070】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0071】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 第1の装置のログから抽出する文字列を登録する第1の辞書から、一部に共通部分を有する複数の文字列を抽出して、抽出した前記複数の文字列の種類を特定する第1特定部と、
前記第1の装置のログから前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定する第2特定部と、
前記第2特定部が特定した文字列の種類に対して、前記第1特定部が特定した文字列の種類が限定的であるか判断する第1判断部と、
前記第1判断部の判断の結果、限定的であった場合に、前記第1の装置とは異なる第2の装置のログから一部に前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定するとともに、特定した該文字列の種類と、前記第2特定部が特定した文字列の種類との一致度が所定以上かを判断する第2判断部と、
前記一致度が所定以上の場合に、前記第1特定部が抽出した前記複数の文字列を、前記第2の装置のログから抽出する文字列を登録する第2の辞書に含める、辞書編集部と、
を備える辞書作成装置。
(付記2) 前記第1判断部は、前記第2特定部が特定した文字列の種類の中に、前記第1特定部が特定した文字列の種類の全てが含まれ、かつ、前記第2特定部が特定した文字列の種類と前記第1特定部が特定した文字列の種類とが完全一致していない場合に、限定的であると判断する、ことを特徴とする付記1に記載の辞書作成装置。
(付記3) 前記辞書編集部は、前記第1判断部の判断の結果、限定的でなかった場合、前記共通部分を有する全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする付記1又は2に記載の辞書作成装置。
(付記4) 前記辞書編集部は、前記一致度が所定以上でない場合に、前記共通部分を含む全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする付記1~3のいずれかに記載の辞書作成装置。
(付記5) 前記辞書編集部は、前記第2判断部が前記第2の装置のログから前記共通部分を含む文字列を抽出できなかった場合に、前記共通部分を含む文字列を前記第2の辞書に含めないことを特徴とする付記1~4のいずれかに記載の辞書作成装置。
(付記6) 前記辞書編集部は、前記第1の辞書に任意文字が指定された箇所を含む文字列が登録されている場合に、該文字列を前記第2の辞書に含める、ことを特徴とする付記1~5のいずれかに記載の辞書作成装置。
(付記7) 前記文字列の種類を特定する処理は、前記文字列のうち共通部分以外の部分の種類を特定する処理である、ことを特徴とする付記1~6のいずれかに記載の辞書作成装置。
(付記8) 第1の装置のログから抽出する文字列を登録する第1の辞書から、一部に共通部分を有する複数の文字列を抽出して、抽出した前記複数の文字列の種類を特定し、
前記第1の装置のログから前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定し、
前記第1の装置のログから特定した文字列の種類に対して、前記第1の辞書から特定した文字列の種類が限定的であるか判断し、
前記判断の結果、限定的であった場合に、前記第1の装置とは異なる第2の装置のログから一部に前記共通部分を含む文字列を抽出し、抽出した文字列の種類を特定するとともに、特定した該文字列の種類と、前記第1の装置のログから特定した文字列の種類との一致度が所定以上かを判断し、
前記一致度が所定以上の場合に、前記第1の辞書から抽出した前記複数の文字列を、前記第2の装置のログから抽出する文字列を登録する第2の辞書に含める、
処理をコンピュータが実行することを特徴する辞書作成方法。
(付記9) 前記限定的であるか判断する処理では、前記第1の装置のログから特定した文字列の種類の中に、前記第1の装置の辞書から特定した文字列の種類の全てが含まれ、かつ、前記第1の装置のログから特定した文字列の種類と前記第1の装置の辞書から特定した文字列の種類とが完全一致していない場合に、限定的であると判断する、ことを特徴とする付記8に記載の辞書作成方法。
(付記10) 前記限定的であるか判断する処理の結果、限定的でなかった場合、前記共通部分を有する全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする付記8又は9に記載の辞書作成方法。
(付記11) 前記一致度が所定以上でない場合に、前記共通部分を含む全ての文字列を前記第2の装置のログから抽出するための情報を、前記第2の辞書に含めることを特徴とする付記8~10のいずれかに記載の辞書作成方法。
(付記12) 前記第2の装置のログから前記共通部分を含む文字列を抽出できなかった場合に、前記共通部分を含む文字列を前記第2の辞書に含めないことを特徴とする付記8~11のいずれかに記載の辞書作成方法。
(付記13) 前記第1の辞書に任意文字が指定された箇所を含む文字列が登録されている場合に、該文字列を前記第2の辞書に含める、ことを特徴とする付記8~12のいずれかに記載の辞書作成方法。
(付記14) 前記文字列の種類を特定する処理は、前記文字列のうち共通部分以外の部分の種類を特定する処理である、ことを特徴とする付記8~13のいずれかに記載の辞書作成方法。
【符号の説明】
【0072】
10 辞書作成装置
20 第1抽出部(第1特定部の一部)
22 第2抽出部(第2特定部の一部)
24 絞り込み判断部(第1特定部の一部、第2特定部の一部、第1判断部)
26 第3抽出部(第2判断部の一部)
28 一致度判定部(第2判断部の一部)
30 登録フレーズ決定部(辞書編集部)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16