Help us understand the problem. What is going on with this article?

ML-Askでテキストの感情分析

More than 3 years have passed since last update.

ちゃお……†

今回は感情分析ライブラリML-Askについて紹介します。

ML-Askができること

感情の推定

2,100語の辞書によるパターンマッチングで{喜, 怒, 哀, 怖, 恥, 好, 厭, 昂, 安, 驚}の10種類の感情を推定します。この2,100語は、感情表現辞典に基づいているそうです。

感情の強さ

間投詞、擬態語、がさつな言葉、顔文字、「!」や「?」の数で感情の強さを推定します。

ネガポジ分類

推定された感情から文を{ネガティブ、ポジティブ、ニュートラル}の3種類に分類します。

文脈の考慮

Contextual Valence Shifters (CVS) という概念に基づいて, 文脈を考慮した感情推定を行います. たとえば, 「好きとは言えない」という文の場合、「好き」が否定されているので、「好き」の逆の感情である「厭」だと推定します。

活性的かどうか

推定された感情を元に文が{ACTIVE, NEUTRAL, PASSIVE}であるかの分類します。たとえば、「昂」はACTIVEで、「哀」はPASSIVEです。

ML-AskのPython実装

Python 2系、3系どちらにも対応しています。

開発用リポジトリ

https://github.com/ikegami-yukino/pymlask
Contributions are welcome!

インストール

pip install pymlask

※MeCabがないと動きません

使い方

from mlask import MLAsk
emotion_analyzer = MLAsk()
emotion_analyzer.analyze('彼のことは嫌いではない!(;´Д`)')
# => {'text': '彼のことは嫌いではない!(;´Д`)',
#     'emotion': defaultdict(<class 'list'>,{'yorokobi': ['嫌い*CVS'], 'suki': ['嫌い*CVS'], 'iya': ['嫌']}),
#     'orientation': 'mostly_POSITIVE',
#     'activation': 'ACTIVE',
#     'emoticon': ['(;´Д`)'],
#     'intension': 2,
#     'intensifier': {'exclamation': ['!'], 'emotikony': ['(;´Д`)']},
#     'representative': ('yorokobi', ['嫌い*CVS'])
#     }

yukinoi
自然言語処理とかPythonについて書きます。
http://ikegami-yukino.github.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした