雑記 in hibernation

頭の整理と備忘録

ML-AskをGoogle Colaboratoryで試してみる

前回の記事で、asariを使ったテキスト感情分析を実装してみました。その際、結局使わなかったのですが、裏でML-Askもお試ししていました。

toeming.hatenablog.com

せっかくなのでGoogle ColaboratoryでML-Askを導入するまでの流れを備忘録として残しておこうと思います。

主に以下の記事を参考にしました。

qiita.com


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': '彼のことは嫌いではない!(;´Д`)'}

ぶっちゃけ使い方をちゃんと理解していないので、今回の記事ではいったん導入までということで。


おわりに

ということで、導入部分の備忘録でした。