23
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PythonAdvent Calendar 2021

Day 15

マンガの台詞をネガポジ判定してみた[Python]

Last updated at Posted at 2021-12-14

概要

  • Huggingface Transformersを使って、台詞がポジティブorネガティブの感情分析をしたいと思います。
  • Huggingface Transformersとは?
    • 自然言語理解や自然言語生成の最先端の汎用アーキテクチャと何千もの事前学習済みモデルを提供するライブラリです。
    • 他に「テキスト分類」「質疑応答」「要約」などができるようです。

今回使う台詞は?

コード(GoogleColabで実行)

  • Huggingface Transformersのインストール
!pip install transformers
  • 感情分析を実行
from transformers import pipeline 
from transformers import AutoModelForSequenceClassification 
from transformers import BertJapaneseTokenizer 

# パイプラインの準備
model = AutoModelForSequenceClassification.from_pretrained('daigo/bert-base-japanese-sentiment') 
tokenizer = BertJapaneseTokenizer.from_pretrained('cl-tohoku/bert-base-japanese-whole-word-masking') 
nlp = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer) 

# マンガの台詞
# マンガの台詞
manga_list = ["“海賊王”に!!!おれはなるっ!!!!",
              "あきらめたらそこで試合終了ですよ……?",
              "計画通り",
              "お前はもう 死んでいる",
              "生殺与奪の権を他人に握らせるな!",
              "さすがディオ! おれたちにできない事を平然とやってのける そこにシビれる! あこがれるゥ!",
              "我がドイツの医学薬学は世界一ィィィ!",
              "『てめーは、おれを怒らせた』",
              "だが断る",
              "吐き気をもよおす『邪悪』とはッ! なにも知らぬ無知なる者を利用する事だ……!! 自分の利益だけのために利用する事だ… 父親がなにも知らぬ『娘』を!! てめーだけの都合でッ! 許さねえッ! あんたは今 再びッ! オレの心を『裏切った』ッ!"]

# 感情分析の実行
for manga in manga_list:
    print(nlp(manga))

# 感情分析の実行
for manga in manga_list:
    print(nlp(manga))

実行結果

  • labelはポジティブ・ネガティブ、scoreは0.5~1で評価されるようです。

  • 4,9,10の台詞はネガティブと分析されました。

  • 予想としては、「生殺与奪の権を他人に握らせるな!」「『てめーは、おれを怒らせた』」はネガティブと判定されそうでしたが、意外にもポジティブと判定されました!

[{'label': 'ポジティブ', 'score': 0.9633078575134277}]
[{'label': 'ポジティブ', 'score': 0.8562269806861877}]
[{'label': 'ポジティブ', 'score': 0.9065709710121155}]
[{'label': 'ネガティブ', 'score': 0.9287938475608826}]
[{'label': 'ポジティブ', 'score': 0.6454976797103882}]
[{'label': 'ポジティブ', 'score': 0.6881616711616516}]
[{'label': 'ポジティブ', 'score': 0.9514427185058594}]
[{'label': 'ポジティブ', 'score': 0.9115254282951355}]
[{'label': 'ネガティブ', 'score': 0.7114869952201843}]
[{'label': 'ネガティブ', 'score': 0.5508970022201538}]

感想

  • Huggingface Transformersと使うことで、簡単に日本語による感情分析を試すことができました。

参考にしたサイト

23
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?