Amazon QuickSight の Twitter データソースを使ってみた

2023.04.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

先日 QuickSight を触っていたのですが、データストアに Twitter を構成出来ることに気が付きました。
気がついたというより、前から存在は知っていたのですがスルーしていました。

しかし、ここ数日なぜか急に気になり始めました。
Twitter に QuickSight を接続するって言われてもよくわからないなと。

少し調べてみたところ、あまり利用している方がいないのか使い勝手のわかる情報が見当たりませんでした。
そこで、一度作成してみれば何が出来るようになるかわかるかなと思い、データセットを作成してみることにしました。

先にまとめ

直近数日分の検索結果を取得することが出来る

このデータセットの仕組みとしては Twitter のスタンダード検索 API を使ってツイートの検索を行っています。
後述しますが、クエリ文字列を使って条件に一致するツイートを検索します。

次はクエリ文字列に「クラスメソッド」を指定した場合の結果です。

取得出来る列

基本情報としては、いつ・誰が・どんな内容のツイートをしたかを取得することが出来ます。
他にメジャーフィールドとしてリツイート数が取得出来ます。
ただし Place 系のフィールドは、用意されてはいましたが位置情報設定の関係か取得出来ていませんでした。

データセット作成の流れ

データセット作成の流れです。
新規データセット作成画面で、データストアに Twitter を選択します。

クエリは Twitter スタンダード検索 API のクエリ文字列を指定します。
取得する最大行は 1 から 700,000 まで指定することが出来ます。

また、Twitter アカウントでの認可が必要になりますのでアカウントが必須です。

データセット作成が完了すると、データセットとして利用出来るようになります。
クエリモードは SPICE のみです。

クエリ文字列

データセット作成時に指定するクエリ文字列ですが、次の Twitter スタンダード検索 API に準拠する形式で指定します。

Twitter の検索テキストで入力するあれです。

上記のように指定した場合は次のような結果となりました。

ここで注意すべき点がありまして、直近数日分(ドキュメントでは 7 日分と記載されている)のツイートのみが取得出来ます。
上記を見ていただくと 4 月 1 日から 4 月 23 日まで検索日付を範囲指定していますが、ビジュアルでは 4 月 13 日以降のツイートのみが取得されていることがわかります。

これはどうやら範囲の中で直近数日分というわけではなく、現在日付に基づいてどこまで古い情報が取得出来るか制限されているようです。
次のように前々月のデータを取得しようと指定してみたところデータセットに取り込まれた行は 0 行でした。

これは Twitter 検索 API の仕様なのでどうしようもないです。

Returns tweets created before the given date. Date should be formatted as YYYY-MM-DD. Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week.

クエリの変更

作成したデータソースののクエリを変更したい場合があると思いますが、データセットの詳細画面ではなく、データセット一覧から対象データソースの編集を行う必要があります。

さいごに

本日は Amazon QuickSight の Twitter データソースを使ってみました。

公式ドキュメントではユースケースとして「ソーシャルメディアを使用しているチームは、Twitter データにアクセスして、顧客の感情を分析、理解できます。」と記述されていました。
ただし、データセット上は感情スコアなどが取得されているわけでもなく、また QuickSight での組み込みの感情分析機能もありません。
本格的にその用途で利用するにはもっと前段階で取り込み、加工が必要だなと思いました。

また QuickSight のデータセットの取り込みの動きは、1 つのデータセットに追加でデータが取り込まれていく形ではないので、データを蓄積する用途しても向いていないと思います。

ダッシュボード上に関連ツイートを埋め込んだり、直近の件数を集計するような形で使うのが良いかなと思いました。