Closed5

10種類の感情分類ができるライブラリ「pymlask」を試す

kun432kun432

https://qiita.com/yukinoi/items/ef6fb48b5e3694e9659c

ML-Askができること

感情の推定

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

感情の強さ

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

ネガポジ分類

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

文脈の考慮

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

活性的かどうか

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

GitHubレポジトリ

https://github.com/ikegami-yukino/pymlask

pymlaskはML-Ask(eMotive eLement and Expression Analysis system)のPython版です

ML-Askの詳細については、http://arakilab.media.eng.hokudai.ac.jp/~ptaszynski/repository/mlask.htm をご覧ください。

kun432kun432

インストール

Colaboratoryで。

Mecabと辞書をインストール

!apt install mecab mecab-ipadic-utf8

MecabのPythonラッパーをインストール

!pip install mecab-python3

pymlaskをインストール

!pip install pymlask
!pip freeze | grep pymlask
出力
pymlask==0.3.3

mecabの設定ファイルは/usr/local/etc/mecabrcを期待しているが、パッケージでインストールされたものは/etc/mecabrcにあるので、シンボリックリンクを貼っておく。

!ln -s /etc/mecabrc /usr/local/etc/mecabrc
kun432kun432

感情分析

from mlask import MLAsk

emotion_analyzer = MLAsk()
emotion_analyzer.analyze('今日の競馬はボロ負けやった。。。メインを外したのは悔しい。。。でも素晴らしいレースが見れたので、とても楽しかった!来週また頑張るぞ!')
出力
{'text': '今日の競馬はボロ負けやった。。。メインを外したのは悔しい。。。でも素晴らしいレースが見れたので、とても楽しかった!来週また頑張るぞ!',
 'emotion': defaultdict(list, {'iya': ['悔しい'], 'yorokobi': ['楽しい']}),
 'orientation': 'NEUTRAL',
 'activation': 'NEUTRAL',
 'emoticon': None,
 'intension': 2,
 'intensifier': {'exclamation': ['!'], 'emotikony': ['。。']},
 'representative': ('iya', ['悔しい'])}
このスクラップは2025/02/15にクローズされました