Pythonでテキスト解析

python

こんばんは。

今日の夜はPythonについて書いていきたいと思います。

テキストが与えられた時、その言葉がどういう感情を示しているのかを知りたい時って結構あると思います。

無料から有料まで様々なサービスを紹介していきたいと思います。

Watoson API

今日調べた中で、一番使って見たいのはWatosonAPIでした。

テキストをwatson側にAPIで渡して、Jsonで返ってくるやつ。

ただ、英語のみ….

Watson tone Analyzer

また後で書きますが、とにかく日本語は難しい言語なんだなと思いました。

日本語にはわびさびや忖度などかなり相手に言葉を想像させる要素が強いので、それをプログラムで読み取って感情を数値化するというのはかなりの機械学習で訓練を積んだ教師型のAIが必要になると思いました。

そういう意味では、日々サーチエンジンを利用している我々の言葉をデータベースで管理しているGoogleはすごいなと感じました。

Azure Text Analytics API

毎月の無料枠APIトランズアクション回数が5000回とtwitterなどのbigデータ解析をするとなると少し物足りないような気がします。

というか、この分野はかなりお金が取れると感じました。

うん。

高いね。

ただ、API叩くだけでテキストデータの感情パラメータが数値で返ってくる意味は大きい。

Google cloud  Natural Lungage API

Cloud Natural Language API

Azureよりも安いと思います。

また、Google Cloudを用いたWebアプリ、スマホアプリにも実装できそうです。

これなら、Pythonを叩く意味というのがあまりわからなくなりますが、自分でこういう教師型の機械学習モデルを構築したいというのもあるので、引き続きPythonで。

ただ、言語の縛りはもうほとんどありませんね。

正直、REST APIの使い勝手が良すぎて、そういう意味ではNode.jsがいい気がします。

非同期処理できるのが強みなので。

Amazon Comprehend 

やっぱりLambdaの構築楽だよね。。

はい。

慣れたら、他のもの使えないくらい楽です。

いつも使っているLambdaで走らせるならこれ?なのかも

ただ、少しお高め。

Mecabで自分で組むやつ

これ結構しんどいです。

Mecabで形態素解析を行うやつです。

今回、ねむらは日本語のポジティブ・ネガティブを数値パラメータで表したサイトがあるので、それをRESTAPIでリクエストを送って

テキストデータを取得し…

という形をとりました。

その中にあれば、数値を返し、ということを繰り返し行い、その人の発言がトータルを通してネガティブなのか、ポジティブなのかを判定します。

ただ、先ほども記述しましたが、日本語は難しいです。

あるものを比較して否定して本来のものを褒めるという否定用法的なものがあると思いますが、

ex

花子は甘いものをあまり食べない。

甘いものをあまり食べる

この場合、スケールが想定されるような全称量化の解釈が得られず、「甘いものを食べるけれども、あまるほど食べるわけではない」という解釈を与えるだけである。

日本語否定文の構造

なんかむずい

日本語やっぱ世界でトップクラスに難しいな

まとめ

個人的には5000リクエスト限定ですが、一番データ持っていそうなGoogleを一回使って見たいなと思いました。

JS勉強します😭

コメント