twitter facebook

日本語の感情分類(ネガポジ・主観性)

日本語の単語でなく文章のネガポジ分析を試してみました。textblob というのを使用しますが、その日本語版の textblob-ja というのもあるようですが環境構築ができなかったり、translateというメソッドがあるっぽくんてなかったりなので 日本語→英文翻訳→感情分析 の手順にしました。今回は軽く動かすことが目的で 評価はまた別の機会にします。
準備です。google colab で動作確認済みです。
!pip3 install nltk
!pip3 install textblob
!pip install deep_translator textblob
!python -m textblob.download_corpora
ソースです。google colab で動作確認済みです。
from deep_translator import GoogleTranslator
from textblob import TextBlob

def analyze_japanese_sentiment(text):
    """日本語のテキストを感情分析する"""

    # 日本語から英語への翻訳
    translator = GoogleTranslator(source='ja', target='en')
    translated_text = translator.translate(text)

    print(f"英文: {translated_text}")

    # 翻訳されたテキストの感情分析
    blob = TextBlob(translated_text)
    sentiment = blob.sentiment

    return sentiment


# テスト
japanese_text = "この映画は本当に感動しました!"
sentiment = analyze_japanese_sentiment(japanese_text)
print(f"原文: {japanese_text}")
print(f"分析結果: {sentiment}")

japanese_text = "今日は何もかもが最悪だ。"
sentiment = analyze_japanese_sentiment(japanese_text)
print(f"原文: {japanese_text}")
print(f"分析結果: {sentiment}")
実行結果は以下です。

polarity(極性) が +1 がポジティブ、-1 がネガティブ
subjectivity(主観) が +1 が主観的、-1 が非主観的
英文: This movie was really touching!
原文: この映画は本当に感動しました!
分析結果: Sentiment(polarity=0.625, subjectivity=0.5)

英文: Everything is the worst today.
原文: 今日は何もかもが最悪だ。
分析結果: Sentiment(polarity=-1.0, subjectivity=1.0)
AUTHOR
@えのえの
最終更新日 2025/02/22
FAVORITE good stock
LINK TAG
記法を見る
1742016179