前回は「画像分類アプリ」を作成しました。
👉 前回の記事はこちら!
今回はテーマを 自然言語処理(NLP) に変えて、テキストをポジティブ/ネガティブに分類するアプリを作ってみました。
開発を通して以下のスキルを身につけることができました。
学んだこと
-
Tokenizer
を使った 分かち書き -
TF-IDF
による 文章のベクトル化 -
LogisticRegression
による クラス分類
開発環境と使用ライブラリ
開発環境
- OS:Windows 11
- Python:3.12.7
使用した主なライブラリ
ライブラリ名 | 用途 |
---|---|
streamlit | Web UI作成 |
janome | 日本語の形態素解析 |
scikit-learn | 学習・推論ロジック(TF-IDF, ロジスティック回帰) |
モデル構成と学習内容
- 分かち書き:
janome
を使用 - 特徴量抽出:
TfidfVectorizer
(sklearn) - 学習モデル:
LogisticRegression
(sklearn)
Webアプリの概要
前回同様、UI は Streamlit
を使って構築しました。
入力された日本語の文章を ポジティブ/ネガティブ に分類して表示します。
アプリの使い方
1. モデルの学習(初回のみ)
ターミナルからスクリプトを実行して学習します。
2. run.bat
を起動して、UI を表示
3. テキストを入力し、「分析する」ボタンをクリック!
4. 分類結果が表示されます!
おわりに
今回は、ロジスティック回帰による文章分類 を体験しました。
次回は、BERT(深層学習モデル) を使ってより高精度な分類にチャレンジします。
本記事のコード