Amazon Comprehend を利用して、Twitter からエゴサーチ #reinvent
ども、藤本です。
AWS re:Invent 2017 にて自然言語処理(Natural Language Processing)サービスの Amazon Comprehend がリリースされました。Amazon Comprehend に関しては下記エントリにまとめてみました。
使ってみて何かスゴいな、という印象は受けるのですが、じゃあ実際に何ができるのでしょうか?ユースケースを考えてみて実装してみました。
概要
Amazon Coprehend はドキュメントから様々な情報を検出することができます。その一つの検出機能に感情の検出があります。感情の検出はPositive
、Negative
、Neutral
、Mixed
という 4つの指標からドキュメントに含まれる感情の検出、およびスコアリングを行ってくれます。この感情の検出を利用して、Twitter のツイートからエゴサーチしてみましょう。
ハッシュタグ#reinvent
で検索した直近10,000件のツイートを抽出し、それぞれ感情の検出を行い、トータルの件数、パーセンテージの算出、および最もポジティブ、ネガティブと判断されたツイートを抽出します。
簡単に図示すると↓のようなイメージ。
エゴサーチしてみた
環境
- 端末:Macbook
- 言語:Python
- Python:3.6.1
- Boto3:1.4.8
- Botocore:1.8.6
- Twitter SDK:python-twitter
ソースコード
ササッと書いたソースコードを Gist に添付しました。ブログ最下部にソースコードを張り付けています。
実行
2017/12/02 23:20頃の結果です。
$ time ./sentiment.py Positive : 993件 : 14.0% Negative : 22件 : 2.0% Mixed : 7件 : 1.0% Neutral : 8021件 : 84.0% Most positive tweet is "#reInvent 2017 was an amazingly marvelous experience!! A huge thank you to @awscloud for all the awesomeness!!" Most negative tweet is "xxxxxxxxxxxxxxxxxxxxxxx" ./sentiment.py 7.02s user 0.62s system 3% cpu 3:42.37 total
Neutral が多いのはしょうがないですが、うん、Negative に比べて、Positive なツイートが圧倒的に多いですね!re:Invent 素晴らしい!行ったことないけど。最も Positive なツイートは限りなく Positive ですね!実装しておいてなんですが、最も Negative なツイートはマスキング。
まとめ
いかがでしたでしょうか? Twitter API も簡単ですし、Amazon Comprehend の API も前回のエントリでまとめた通り簡単に扱うことができ、簡単に実装することができました。是非、日本語対応した際には弊社のブログや、会社名でエゴサーチしてみたいですね笑