前回の記事で、asariを使ったテキスト感情分析を実装してみました。その際、結局使わなかったのですが、裏でML-Askもお試ししていました。
せっかくなのでGoogle ColaboratoryでML-Askを導入するまでの流れを備忘録として残しておこうと思います。
主に以下の記事を参考にしました。
1. ライブラリ類のインストール
何気にここが一番の山場です(環境構築マジ苦手人間目線)。というか、これをメモっておくためにこの記事を書いている。
PythonでML-Askを利用するにはpipで"pymlask"をインストールすれば良いのですが、その前準備としてMeCab(オープンソースの形態素解析エンジン)がインストールされている必要があります。
ということで、先にGoogle ColabにMeCabをインストールしていきます。手順は以下のリンクを参照。
ColaboratoryでMeCabを使えようにする。 - Qiita
!apt install aptitude !aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y !pip install mecab-python3==0.7 !pip install pymlask
2. 動作確認
一応、MeCabが動いていることを確認します。ちゃんと分かち書きが処理できているのでヨシ。
import MeCab tagger = MeCab.Tagger("-Owakati") output = tagger.parse("今日はいい天気ですね") print(output)
今日 は いい 天気 です ね
で、本題のML-Askです。MLAsk()で解析用のインスタンスを用意し、メソッドのanalyze()に分析対象のテキストをぶっ込むと結果が辞書型で返ってきます。
from mlask import MLAsk emotion_analyzer = MLAsk() result = emotion_analyzer.analyze('彼のことは嫌いではない!(;´Д`)') result
{'activation': 'NEUTRAL', 'emoticon': ['(;´Д`)'], 'emotion': defaultdict(list, {'suki': ['嫌い*CVS'], 'yorokobi': ['嫌い*CVS']}), 'intensifier': {'emotikony': ['´Д`', 'Д`', '´Д', '(;´Д`)'], 'exclamation': ['!']}, 'intension': 2, 'orientation': 'POSITIVE', 'representative': ('yorokobi', ['嫌い*CVS']), 'text': '彼のことは嫌いではない!(;´Д`)'}
ぶっちゃけ使い方をちゃんと理解していないので、今回の記事ではいったん導入までということで。
おわりに
ということで、導入部分の備忘録でした。