(1) 実現したいこと
文章自体は、形態素解析(Mecab)等を使って分割できたのですが、その後で、定形文字列の
パターン抽出をしたい
(2) 発生している問題
分解した文字列の中に、定形文があることは目視で確認できますが、可変情報が多く
ノイズも混ざっていて、なおかつ量が膨大なため、手分類が厳しい。
定型文のパターンは、目立つものはあるが、目立たないものも混在していて、
どういうパターンが存在するかわからない
(3) 試したこと
形態素解析の文字列でGoogle検索してみましたが、解決できませんでした。
2つの文字列を比較する方法は
https://teratail.com/questions/54058
の方法を試してみたのですが、大量の情報から、いくつ類似パターンが存在するか
不明な状況で、パターンを抽出するアイデアが思い浮かびませんでした。
(4) 環境
環境はPython3.6を使っています。
(5) 詳細
現在サーバのログを調査しているのですが、下記のような文字列を
AAAはBBBに成功しましった'
CCCはDDDでエラーが発生し のプロセスが強制終了しました
EEEはFFFに成功しましった'
GGGとHHHは依存関係があるため、NNNを先に終了させてください
IIIはJJJに成功しましった'
KKKとLLLは依存関係があるため、MMMを先に終了させてください
2019年5月15日00時00分00秒 にイベントが発生しました
2019年5月17日10時00分00秒 にイベントが発生しました
2019年5月18日20時00分00秒 にイベントが発生しました。(問題が発生した場合は、RRRに連絡してください。)
OOOとPPPは依存関係があるため、QQQを先に終了させてください
・・・
[['は','に成功しましった'],
['は','でエラーが発生し','のプロセスが強制終了しました'],
['と','は依存関係があるため、','を先に終了させてください'],
['にイベントが発生しました']]
というようにパターン抽出させたいのですが、うまい方法または、アルゴリズムをご存知の方はいらっしゃらないでしょうか。
ログなので、時刻やプロセス等が可変なだけで、出てくる文字列は定形化されていると思い、
手で分類しようと試みたのですが、定形文章の中に()文字列が入ったり、パターンが100パターン作っても
全体のログの10%に満たない状況であり、手分類した中に重複パターンが後から見つかったりと、
手に負えなくなってしまい、お知恵を拝借させてください。
回答4件
あなたの回答
tips
プレビュー