ねらい †
ツイート上の統計情報(ツイート数やバーストなど)が,東日本大震災に関連する事象・事態をどのように反映しているのか,実験・調査しています.
成果物 †
名詞句に対するトレンド分析 †
- データの中で頻度が高い名詞句トップ100: http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun/top100.html
- バースト性を持つ名詞句の一覧(時間順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun/burst-time.html
- バースト性を持つ名詞句の一覧(スコア順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun/burst-ranking.html
- 名詞句の統計量を時系列可視化: http://www.cl.ecei.tohoku.ac.jp/prj311/trend/trendview.py?c=noun
Twitter Japan 株式会社より提供された179,286,297ツイートから,1,152,607,055個(3,1296,959種類)の名詞句が見つかりました. このうち,全データにおける出現頻度が1,000回以上の名詞句(71,691種類)を分析の対象としました.
実際にデモシステムを使っていると,東日本大震災の記憶が蘇ってきます. ぜひ各自で体験して頂きたいと思いますが,ここではいくつかのスクリーンショットを載せることにします.
これは,3月11日の東北地方太平洋沖地震の発生付近のバースト分析の結果です. 地震発生前は,東京都の石原慎太郎知事が4選出馬を発表したことに関するツイートにより,「石原」のキーワードが見えますが,それ以外に目立ったバースト現象は見られません. しかし,東北地方太平洋沖地震が発生した14:45~15:00までの期間では,地震発生を伝える「地震」「震度」「地震情報」,震源地を伝える「宮城」「岩手」「福島」,地震に対する心配「大丈夫」「心配」「地震大丈夫」,地震に対する印象「ちょ」「まじ」「びっくり」「ヤバイ」など,大量のキーワードがバーストします. 東日本大震災の被害を甚大にした「津波」に関するキーワード「津波警報」「津波」「高台」にもバーストが見られますが,「地震」などのキーワードと比較すると立ち上がりが遅かったことが分かります.
3月12日の16時~17時付近のバースト分析の結果です. 「コスモ石油の爆発・炎上で有害物質の雨が降る」という流言の打ち消し,「ヤシマ作戦」などの節電の呼びかけ,福島第1原子力発電所1号機の水素爆発に関するキーワードが現われています. 東日本大震災に関連する事態の進行により,目まぐるしく状況が変化する様子が映し出されています. なお,バースト分析結果のキーワードをクリックすると,そのキーワードのトレンド分析の結果を見ることができます.
データ全体のつぶやきの速度をグラフ化したものです. 奥村晴彦先生の分析でも紹介されていますが,震災後の1週間で最もツイートされた期間は3月15日の22時30分~45分の71,829[ツイート/分]で,静岡県東部の最大震度6強(M6.4)の地震に関連するものです.続いて,三陸沖の地震発生直後3月15日の15時00分~15分の63,169[ツイート/分]となります(15分単位で見る場合). MACD Histgramでバースト検出すると,前者は3,335,後者は3,535となり,バースト性としては三陸沖の地震発生直後の方が高かったことが分かります. ちなみに,MACD Histgramは正に大きく振れている時に,バーストの発生を表します.
このスクリーンショットは,「原発」という名詞句のトレンドを分析したものです. グラフ中の吹き出しにより表示されている数字は,東日本大震災および福島第一原子力発電所に関する主な出来事を表しています(システム上でマウスのポインタを数字上に移動させると,出来事の内容を閲覧できます). 本当は,各バーストの発生に合わせて,そのバーストの中心となるツイートを提示できると面白いと思うのですが,データの利用規約の制約により,公開システムには実装していません. 代わりに,東日本大震災に関する出来事を手作業で入力したものを表示し,実際の出来事とツイートの関連性を調べやすいようにしています.
名詞句の共起ペアに対するトレンド分析 †
- データの中で共起頻度が高い名詞句ペアのトップ100: http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun-cooccur/top100.html
- バースト性を持って共起した名詞句ペアの一覧(時間順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun-cooccur/burst-time.html
- バースト性を持って共起した名詞句ペアの一覧(スコア順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/noun-cooccur/burst-ranking.html
ツイート内で共起する名詞句のペア5,057,893,776件(種類数は不明)のうち,出現頻度が10,000回以上の名詞句ペア(44,685種類)に対して,トレンド分析を行いました.
係り受けの文節ペアに対するトレンド分析 †
- データの中で係り受けの頻度が高い文節ペアのトップ100: http://www.cl.ecei.tohoku.ac.jp/prj311/trend/deps/top100.html
- バースト性のある係り受け文節ペアの一覧(時間順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/deps/burst-time.html
- バースト性のある係り受け文節ペアの一覧(スコア順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/deps/burst-ranking.html
名詞,形容詞,動詞,助動詞を含む文節のうち,南瓜により係り受け関係があると推定された文節ペア885,772,477個(187,952,844種類)の中から,出現頻度が1,000回以上のもの(79,674種類)を分析対象としています.
リツイートされたユーザーに対するトレンド分析 †
- データの中でリツイートされた頻度が高いユーザーのトップ100: http://www.cl.ecei.tohoku.ac.jp/prj311/trend/rteduser/top100.html
- バースト性のある被リツイート・ユーザーの一覧(時間順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/rteduser/burst-time.html
- バースト性のある被リツイート・ユーザーの一覧(スコア順): http://www.cl.ecei.tohoku.ac.jp/prj311/trend/rteduser/burst-ranking.html
あるユーザのツイートが公式リツイートされたとき,そのユーザの情報が拡散されたと考え,公式リツイートによる影響力の強さをトレンド分析で調べました. 全ツイートの中で,公式リツイート(38,645,605件)された887,025ユーザのうち,被公式リツイート回数が100回以上の37,171ユーザを分析対象としています.
被RT回数の多いユーザのトップ5は,@NHK_PR, @nhk_seikatsu, @Asahi_Shakai, @nhk_news, @nhk_HORIJUN で,テレビ・新聞などの報道機関がツイッター上での情報発信に貢献したことが分かります. 6位と7位には,津田大介氏(@tsuda)と早野龍五氏(@hayano)がランクインし,個人で情報拡散に大きな影響力を発揮したことも,今回の特徴と言えます.
順位 | ユーザ | 被RT回数 |
1 | @NHK_PR | 630459 |
2 | @nhk_seikatsu | 304824 |
3 | @Asahi_Shakai | 279259 |
4 | @nhk_news | 209515 |
5 | @nhk_HORIJUN | 173995 |
6 | @tsuda | 165434 |
7 | @hayano | 145436 |
8 | @nhk_kabun | 127916 |
9 | @earthquake_jp | 114806 |
10 | @touhokujishin | 112592 |
URLの言及に対するトレンド分析 †
(準備中)
分析手順 †
名詞句の抽出 †
名詞句の抽出には,以下の品詞パターンを用いました.
((名詞)+の)*(名詞)+
すなわち,名詞の連接や,名詞の連接同士が助詞「の」で結合されたものを,最長一致で切り出します. また,数字,代名詞などの品詞や,「もの」「こと」などの名詞をストップワードとして除去しています.
URLの抽出と短縮URLの解決 †
トレンド分析 †
時系列データの中で短時間で頻出する特徴を取り出す研究は,バースト検出と呼ばれ,データマイニングやウェブの分野で盛んに研究が発表されています. この分野のパイオニアと言われる研究は,
- Jon Kleinberg. 2002. Bursty and Hierarchical Structure in Streams. KDD '02, pp. 91-101.
この手法は,ある特徴が「バーストしている」「バーストしていない」の2状態を持つと仮定し,時系列データからバースト状態の遷移列を推定します. この手法はバースト検出のベースラインとしてよく用いられますが,計算量がやや大きいので,さらに簡単な手法として以下を実装しました.
- Dan He and D. Stott Parker. 2010. Topic Dynamics: An Alternative Model of 'Bursts' in Streams of Topics. KDD '10, pp. 443-452.
この研究の核となるアイディアは,株取引のテクニカル指標として有名なMoving Average Convergence Divergence (MACD) をバースト検出にそのまま用いるというものです. ある時刻におけるMACDは,
MACD = (時系列値の過去f期間の移動指数平均) - (時系列値の過去s期間の移動指数平均) Signal = (MACD値の過去t期間の移動指数平均) Histgram = MACD - Signal
ここで,f, s, tはパラメータ(f < s)で,これらをまとめてMACD(f, s, t)と書きます. 今回の実験では,He and Parker (2010) の実験でも用いられていた MACD(4, 8, 5) を採用しました. MACDをテクニカル指標として用いる時は,「Signal < MACD」の状態を上げトレンド,「MACD < Signal」の状態を下げトレンドとし,Histgramがトレンドの強さを表すと言われています. 今回は,15分間の期間をひとまとまりとして(15分足),その期間内にツイッター上に出現した単語の出現頻度を15で割った値,つまり出現速度[回/分]を観測値として,MACDによるトレンド分析を行いました. MACDの計算に必要な移動指数平均の値は逐次計算が可能で,今回のトレンド分析はストリーミング・アルゴリズムとして実装できるため,ビッグデータからのトレンド分析に適していると考えています.
謝辞 †
- 東日本大震災ビッグデータワークショップの企画・運営をされている皆様に感謝いたします.
- 貴重なデータを提供して頂いたTwitter Japan 株式会社に感謝いたします.
- 形態素解析と係り受け解析にCaboCha/南瓜を用いました.
- 分散並列処理にGrid & Cluster Shell (GXP)を用いました.
- データベースとしてMongoDBとそのPythonモジュール(pymongo)を用いました.
- デモシステム構築のため,Jinja2,Twitter Bootstrap,jQuery,Highstockを用いました.
© Inui Laboratory 2010-2018 All rights reserved.