地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

基本的なテキスト解析を振り返りつつ、LLMの解析を組み入れてみる。

LLMになんでも頼りがちですが、基本的な言語解析はざっくり把握には大切です。数的なボリューム感を把握しておくというのは大事です。そこで、nlplot をよく利用させていただいていました。また、センチメント解析や分類タスクもLLMでは定番です。ローカルLLMの利用も悪くありません。そこで、nlplotをベースにLLMによるセンチメント解析を機能として加えてみました。

 

googleのjulesを多用して進めました。だいぶコツはつかめるようになってきました。コツがつかめると、寝てたり遊んでいたりする間も頑張ってくれるいい奴です。が、結構やらかすので、頼りっきりにはできず、Clineなどを併用しつつ作ってみました。

 

LLMは、LiteLLMを使っているので幅広く利用できるようにしています。実際のテストはollama+gemma3:4b-it-qatの組み合わせで行っています。

 

出来たものは以下です。

github.com

 

十分なテストを行っているわけではありません。

 

日本語前処理は(形態素解析として)Janomeを利用しました。速度はありませんが、無難です。また、LLMで解析を繰り返すこともあるだろうとキャッシュも入れました。

 

解析タイプ(付け加えたもの)

LLMを使うものとして

- Sentiment

- Categorization

- Summarization

LLMを使わないものとして
- TF-IDF top N

- Keyword in Context (KWIC) display

です。Summarizationは必要だったかわかりませんが、LLMの性能の味見にはぴったりなので流れで入れています。オリジナルからはかなり変えてしまったので、名前を付けなおしたレポジトリとしました。

 

基本的な解析を行っておくと、解析結果の妥当性の肌感を感じられます。振り返り完了です(笑)

 

 

デモ streamlit画面:



オリジナルです。感謝です。

github.com