質問: **(1) 実現したいこと** 文章自体は、形態素解析(Mecab)等を使って分割できたのですが、その後で、定形文字列の パターン抽出をしたい **(2) 発生している問題** 分解した文字列の中に、定形文があることは目視で確認できますが、可変情報が多く ノイズも混ざっていて、なおかつ量が膨大なため、手分類が厳しい。 定型文のパターンは、目立つものはあるが、目立たないものも混在していて、 どういうパターンが存在するかわからない **(3) 試したこと** 形態素解析の文字列でGoogle検索してみましたが、解決できませんでした。 2つの文字列を比較する方法は の方法を試してみたのですが、大量の情報から、いくつ類似パターンが存在するか 不明な状況で、パターンを抽出するアイデアが思い浮かびませんでした。 **(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%に満たない状況であり、手分類した中に重複パターンが後から見つかったりと、 手に負えなくなってしまい、お知恵を拝借させてください。
回答: prefixspanのような系列パターンマイニング系の手法でやると良いのではないでしょうか。アルゴリズムと実装はそれぞれたくさんあると思うので、目的に合っていそうなものを探してください。