BERTやModernBERT(Ruri-v3など)のようなTransformerベースのモデルは、内部的に Self-Attention メカニズムを持っており、文全体のコンテキストを考慮して各トークンのベクトルを決定しています。そのため文脈を考慮して、NERでは地名(LOC)か企業名(ORG)と言った固有表現を抽出できます。大変便利です。
すっかり高性能になったLLMを使えば、原因と結果といった事象フレームの抽出は可能です。大量のドキュメントの整理だけではなく、軽量な分類・抽出器はこれから実務的に有効だろうと思います。コモディティ化したからこそ出番ですよね(笑)。例えば、入力したら、即抽出したコンテキスト表示すれば、文書の入力の質が上がります。
素人がつらつら書いてみましたが、個人の手元の貧弱なPCで検討できるので楽しいですよ。
とりあえず、20件程度の教師データを使って学習させてみました。そのモデルを使って、原因と結果を抽出します。
入力文: システム障害によりサービスが停止した。
抽出結果:
- [CAUSE] システム障害 (信頼度: 0.9999)
- [EFFECT] サービスが停止した (信頼度: 0.9999)
テストサンプル極小なので過学習気味です。
教師データはLLMでアノテーションすればいいと思うと気が楽ですよね。
Colabノートです。
ちょっと改良ポイントありですね・・・。