【感情分析】PythonでIBM Tone Analyzerを使ってTwitter Streamingを感情分析してみた

PythonでIBM Language Translatorを使ってTwitter Streamingを翻訳してみた の続き。 今回の目的 今回の目的は、IBM Tone Analyzerを使って、Twitter Streaming APIを使って取得したつぶやきを感情分析してみる。 問題点 残念ながら、IBM Tone Analyzerは日本語対応していない。そのため、IBM Language Translatorで英訳したものを分析してもらう。 APIキー取得 1. カタログから、Tone Analyzerを選択。 2. サービスを作成 3. ユーザー名・パスワードを表示して控えておく。 環境構築とか 前回と同じ。 ソースコード lib/tone_analyze.pyを作成する。 # -*- coding: utf-8-*- from watson_developer_cloud import ToneAnalyzerV3 as ToneAnalyzer class ToneAnalyze(object): def __init__(self): self.tone_analize = ToneAnalyzer( version=”2017-09-21″, username=”**ユーザー名**”, password=”**パスワード**” ) def analyze_text(self, text, content_type=”text/plain;charset=utf-8″): tone = self.tone_analize.tone( tone_input=text, content_type=content_type ) return tone if __name__ == ‘__main__’: tone_analyze = ToneAnalyze() print(tone_analyze.analyze_text( “Yay! I bought an Iphone! https://iphone.com”)) 実行してみる。 {‘document_tone’: {‘tones’: [{‘score’: 0.896776, ‘tone_id’: ‘joy’, ‘tone_name’: ‘Joy’}]}, ‘sentences_tone’: [{‘sentence_id’: 0, ‘text’: ‘Yay! I bought an Iphone!’, ‘tones’: [{‘score’: 0.896776, ‘tone_id’: ‘joy’, ‘tone_name’: ‘Joy’}]}, {‘sentence_id’: 1, ‘text’: ‘https://iphone.com’, ‘tones’: []}]} Joyと判定された! Twitter Streamingで取得したツイートを翻訳する…

PythonでIBM Language Translatorを使ってTwitter Streamingを翻訳してみた。

タイトルなげー。 API KEY 取得 1. IBM Cloudにアクセスして登録だのなんだのを済ませて、IBM Language Translatorにアクセス。ライトアカウントを登録する。 2. サービスを作成する。日本リージョンはない模様。IBM cloud自体がないのかな・・・・・・・? 3. API Keyを表示してコピーする 環境構築 pip でインストールする。 pip install –upgrade pip pip install watson-developer-cloud tweepy ソースコードを書く プロジェクトディレクトリ/lib配下にtranslate.py を作成。 # -*- coding: utf-8-*- from watson_developer_cloud import LanguageTranslatorV3 as LanguageTranslator class Translate(object): def __init__(self): self.translator = LanguageTranslator( version=”2018-05-01″, url=”https://gateway.watsonplatform.net/language-translator/api”, iam_api_key=”**** 取得したAPIキー ****” ) def translate_text(self, text, source=”ja”, target=”en”): translated_data = self.translator.translate( text=text, source=source, target=target ) translated_text = translated_data[‘translations’][0][‘translation’] return translated_text if __name__ == “__main__”: trans = Translate() print(trans.translate_text(“こんにちは!お元気ですか?”)) lib/translate.pyを実行してみると以下のように表示される。 python lib/translate.py Hello!How are you? プロジェクトディレクトリ配下に、main.pyを作成。Twitter の開発者情報の取得方法は割愛。 # -*- coding: utf-8 -*- import re from datetime import timedelta from lib.translate import Translate import tweepy customer_key = “CUSTOMER KEY” customer_secret = “CUSTOMER SECRET”…