はじめに
テキスト分類は、機械学習と自然言語処理(NLP)で非常に重要なタスクです。
この記事では、Pythonで簡単にテキスト分類を実装する方法について、初心者にもわかりやすく解説します。具体的なコード例を交えながら、最短で成果を出す方法を紹介します。
日本では現在、ITエンジニアの人材不足が深刻化しており、
それに伴いエンジニアの需要が急速に高まっています。
プログラミングスキルを身につけることで、以下のような多くのメリットが得られます。
✅ 転職市場での競争力が向上し、収入アップのチャンスが広がる
✅ 副業として活用でき、収入源を増やせる
✅ プログラマーに限らず、IT時代を生き抜く武器になる
もし少しでも興味があるなら、まずはプログラミングスクールの無料体験を試してみるのがおすすめです。
テキスト分類とは?
テキスト分類とは、文章を特定のカテゴリに分類するタスクです。例えば、スパムメールの判定、レビューの感情分析、ニュース記事のジャンル分類などが挙げられます。
必要なライブラリのインストール
Pythonでテキスト分類を行うには、以下のライブラリを使用します。
pip install pandas scikit-learn nltk
- pandas:データ操作用
- scikit-learn:機械学習アルゴリズムの実装用
- nltk:テキスト前処理用
ステップ1:データの準備
まずはサンプルデータを用意します。以下は簡単なニュース記事の例です。
import pandas as pd
data = {'text': ['経済が成長しています', 'スポーツの試合が開催されました', '新しいテクノロジーが発表されました'],
'label': ['経済', 'スポーツ', 'テクノロジー']}
df = pd.DataFrame(data)
print(df)
ステップ2:テキストの前処理
テキスト分類の精度を上げるためには、前処理が重要です。
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(df['text'])
print(X.toarray())
ステップ3:モデルの学習
Naive Bayes(ナイーブベイズ)を使って簡単な分類モデルを作成します。
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, df['label'], test_size=0.2, random_state=42)
model = MultinomialNB()
model.fit(X_train, y_train)
ステップ4:モデルの評価
from sklearn.metrics import accuracy_score
y_pred = model.predict(X_test)
print('正解率:', accuracy_score(y_test, y_pred))
応用例:新しいテキストの分類
new_text = ['新しい経済政策が発表されました']
new_vector = vectorizer.transform(new_text)
prediction = model.predict(new_vector)
print('予測結果:', prediction)
まとめ
- Pythonとscikit-learnを使えば、数行のコードでテキスト分類が可能です。
- データの前処理が精度向上のカギ。
- Naive Bayesはシンプルかつ強力な分類モデル。
このガイドを参考に、ぜひ自分のプロジェクトで試してみてください!
コメント