日本時間の2月20日に、IBM Bluemix 内のサービスラインナップが更新され、いくつかの新しいサービスが追加されました。

追加されたサービスの1つに IBM Insights for Twitter があります。2014年10月末に Twitter 社と IBM との連携が発表されましたが、そのサービスの API が IBM Bluemix を通じて誰でも(現時点では無料で)利用できるようになりました:
ibm-twitter-form-data-partnership-140x105

具体的には "decahose" と呼ばれる、Twitter の公開ツイート全体の中のランダムな約 10% のデータが検索の対象として提供されます。 ただこの IBM Insights for Twitter では、単に IBM に提供された decahose を誰でも検索できる、というだけではなく、IBM InfoSphere BigInsights を使ったビッグデータのリアルタイム解析によって付与されたメタ情報と合わせて 100 万ツイートまで無料で検索することができるようになっています:
2015022307


このサービスに関してはデモサイトが用意されているので、まずは論より証拠で使ってみましょう:
IBM Insights for Twitter Demo App

上記サイトにアクセスすると、検索キーワードの入力ボックス1つとボタンが表示された、シンプルなページが表示されます:
2015022301


このキーワードボックスに適当な検索ワード(この例では "oscar")と入力して "Twitter Search" ボタンをクリックすると、検索ワードにかかったツイートが一覧で表示されます。ちょうどアカデミー賞授与式が行われている頃の検索だったこともあり、式をリアルタイムに見ている人のツイートが見て取れます:
2015022302


検索結果をよく見ると、"message" という大きなブロックの中に "body"(本文)や "location"(位置情報)といったブロックに分かれて各ツイートの情報が得られていることが分かります:
2015022303


シンプルな検索結果に見えますが、実は一般的な Twitter API を使ったことのある開発者からはこの時点でもいくつかの目新しい機能があることに気づきます。

例えば一般的な Twitter API を使うにはまず開発者登録とアプリケーション登録を行い、OAuth 認証のための ID を発行する必要があります。そしてその ID を使って OAuth 認証の仕組みを使ってアクセスした上で検索の API を実行する必要があります。 IBM Bluemix から提供されている IBM Insights for Twitter  の API ではこの部分が省略され、よりシンプルなしくみで検索を実行することができるようになっています。

また、検索結果の各ツイートの内容をよく見ると "message" ブロックの下に "cde" というブロックが付与されています:
2015022304


これは "Context Data Extractor" のデータという意味です。元々のツイートには含まれていない情報を、そのデータの内容から推測・計算して得られた附属情報です。例えば「このツイートを書いた人の性別」や「このツイートの内容がポジティブなものか、ネガティブなものか」といった情報になります。 これらの情報は Twitter から提供されているものではなく、IBM Insights サービスによって格納時にリアルタイムにストリーミング処理されて付与された情報です。

IBM Insights for Twitter では、この CDE 情報を検索条件に含めることも可能です。こちらも試してみましょう。 先ほどの画面の検索ボックスにおいて "oscar" というキーワードに加えて、"sentiment:positive" と加えて検索してみます:
2015022305


すると同じような検索結果が表示されますが、その結果の CDE 情報を見ると、すべて cde.content.sentiment.polarity の値が POSITIVE になっているものばかりになっているはずです。つまり「"oscar" というキーワードを含んで、かつポジティブな内容のもの」が検索されたことになります。ちなみに値を sentiment:negative にするとネガティブなものだけ、sentiment:neutral にすると中間的なものだけを抽出することも可能です:
2015022306


CDE の sentiment 検索については、現時点では英語のみに対応している模様で、残念ながら日本語テキストの判断はできないようです。ただ、この CDE の情報まで含めてほぼリアルタイムな Twitter 検索ができる、というこの環境が誰でも無料で使えるようになる、という IBM Insights for Twitter サービスはアプリケーション開発において、その可能性を感じずにいられません。


現在はまだバージョン1がベータリリースされたばかりで、検索パラメータに指定できることも限られてしまっていますが、開発者の皆様には是非使っていただいて、どのような機能要望があるのか、その声を聞かせていただきたいと思っています。そんな IBM Insights for Twitter サービスのチュートリアルや API リファレンスはこちら:
Getting started with IBM Insights for Twitter(BETA)

↑デモサイトの検索ボックスに、どのように入力すればどのような条件で検索できるか、といった情報が詳しく書かれています。


まだベータ版ということもあって、今後の仕様変更についての可能性もあると思いますが、開発する立場で見ても可能性も多い楽しみなサービスだと思っています。