DEIM Forum 2013 A5-2

ソーシャルストリームからのイベント検出とユーザ位置推定の統合
山口祐人†,††

伊川洋平†††

天笠 俊之††††

北川 博之††††† 筑波大学大学院システム情報工学研究科 〒 305–8573 茨城県つくば市天王台 1–1–1†† 日本学術振興会特別研究員 DC1 〒 102–0083 東京都千代田区麹町 5–3–1††† 日本アイ・ビー・エム株式会社 東京基礎研究所 〒 135–8511 東京都江東区豊洲 5–6–52†††† 筑波大学システム情報系 〒 305–8573 茨城県つくば市天王台 1–1–1
E-mail: †yutoymgc@kde.cs.tsukuba.ac.jp, ††yikawa@jp.ibm.com, †††{amagasa,kitagawa}@cs.tsukuba.ac.jp
あらましソーシャルメディアの普及に伴い，多くのユーザが時々刻々と大量の情報を投稿し，ソーシャルストリー

ムと呼ばれる即時性の高い情報源を形成している．ソーシャルストリームを用いると地震や火事などの地理的な局所性を持つ実世界イベントを検出することが可能であり，重要視されている．しかし，ソーシャルストリームからのイベント検出にはユーザの位置情報が必要であるが，多くのユーザは自らの位置情報を公開していない．そこで本研究
では，イベント検出と位置推定を統合し，それらを継続的に行う手法を提案する．提案手法では，多くのイベントが検出されれば多くのユーザの位置推定が可能であり，多くのユーザの位置情報が分かっていれば多くのイベントの検出が可能である．実施した評価実験により，妥当なイベントが検出され，既存の位置推定手法より高精度な位置推定が可能であることが示された．
キーワード

イベント検出，位置推定，ソーシャルストリーム，ソーシャルメディア，時空間データマイニング

Yuto YAMAGUCHI†,†† , Yohei IKAWA††† , Toshiyuki AMAGASA†††† , and Hiroyuki
KITAGAWA††††† Graduate School of Systems and Information Engineering, University of Tsukuba
Tennodai 1–1–1, Tsukuba, Ibaraki†† Research Fellow of the Japan Society for the Promotion of Science
Kojimachi 5–3–1, Chiyoda-ku, Tokyo††† IBM Research–Tokyo, IBM Japan Ltd. Toyosu 5–6–52, Koto-ku, Tokyo†††† Faculty of Engineering, Information and Systems, University of Tsukuba
Tennodai 1–1–1, Tsukuba, Ibaraki
E-mail: †yutoymgc@kde.cs.tsukuba.ac.jp, ††yikawa@jp.ibm.com, †††{amagasa,kitagawa}@cs.tsukuba.ac.jp

1. は じ め に
ウェブ上では様々なソーシャルメディアが登場し，多くの人々がそれらを利用して多様な情報を発信している．例えば，写真や動画を投稿するメディアや，自らの意見や主張などをテキス
トとして投稿するメディア，レストランや本などのレビューを投稿するメディアなどがある．その中でも，マイクロブログな
どの即時性の高いソーシャルメディアからは，それぞれのユー
ザがテキストなどを投稿するという形で時々刻々と大量の情報が発信されている．本稿では，ソーシャルメディアから時々刻々とストリームのように発信される，即時性の高い情報源のことをソーシャルストリームと呼ぶ．
即時性の高い情報が時々刻々と発信されるという性質を生かして，ソーシャルストリームを用いて実世界のイベントを検出するという研究が多く行われている [2], [5], [7]〜[9], [11]〜[13], [16]．全世界のユーザがそれぞれの状況や意見を自由に投稿するため，ソーシャルストリームをモニタリングすることで，実世界の様子をある程度捉えることが出来る．例えば，東京で地震が発生した時には，東京にいるユーザが一斉に「地震だ」のような投稿をするため，ソーシャルストリームをモニタリン
グしていれば東京で地震が発生したということを検出することが可能である．ソーシャルストリームを用いた実世界イベントの検出には以下の三つの利点がある．
• 人々の投稿を用いるため，様々な種類のイベント（例えば，地震などの災害，歌手のゲリラライブ，通り魔などの犯罪）の検出が可能である．
• 人々の投稿の内容を見ることにより，イベントの検出だ
けではなく，そのイベントに対する意見やより詳細な状況など

図 1 ある期間に投稿されたツイートの地理的な分布．円の大きさは同じ位置から投稿されたツイートの数を示す．東京や大阪などの大都市からの投稿が多いことが分かる．

を把握することが可能である．
• 新聞やテレビ，ブログなどの従来のメディアとは異なり，
ソーシャルストリームは即時性の高い情報源であるため，イベントの発生を直ちに検出することが可能である．
本研究では，選挙やクリスマスのような地理的局所性を持たないイベントではなく，地震などの地理的局所性のあるローカル
イベントを対象とする．
ソーシャルストリームを用いたローカルイベントの検出には，それぞれの投稿がどこから行われたかという位置情報が必要である．しかし，それぞれのメディアにおいて位置情報を公開する機能があまり普及していないことや，プライバシの観点などから多くのユーザは自らの位置情報を公開していない．Cheng
ら [4] によると，Twitter ユーザの約 76 ％が居住地情報（テキスト情報）を公開しておらず，またすべての投稿のうち約 99.5％には位置情報（GPS タグ）が付与されていないことが明らかになっている．本研究で実施した予備調査によると，やはり同様に Twitter ユーザの約 75 ％が居住地情報を公開していない
ことが示された（詳細は 5. 2 節）．また，Backstorm ら [1] は，
facebook においては約 94%ものユーザが居住地情報を公開していないと報告している．したがって，ソーシャルストリームを用いたイベント検出を行うには，ユーザの位置情報を推定し，それぞれの投稿がどこから行われたものかを知ることが必要である．ユーザの位置推定を行う研究は，投稿されたテキストの内容を用いるもの [3], [4], [10] や，ソーシャルグラフを用いるもの [1], [6], [10], [14] など，様々なものが提案されている．
本研究では，ソーシャルストリームを用いたローカルイベン
トの検出とユーザの位置推定を統合的かつ継続的に行う手法を提案する．提案手法は以下のアイデアに基づいている．
（ 1 ） 類似した内容を持つ投稿がある地域から局所的に多く投稿された時，その地域で何らかのローカルイベントが発生している可能性が高い．
（ 2 ） ある地域でローカルイベントが検出された時，そのイベントに関する投稿をしたユーザはその地域にいる可能性が高い．
一つ目のアイデアは多くのイベント検出手法に採用されている考え方であるが，二つ目のアイデアに基づく位置推定手法は筆者の知る限りこれまで提案されていない．図 1 はある期間に

図 2 広島で地震が発生した時に投稿された「地震」という単語を含むツイートの地理的な分布．円の大きさは同じ位置から投稿されたツイートの数を示す．普段の地理的な分布（図 1）とは異な
り，広島付近からの投稿が多くなっていることが分かる．一方で，東京や大阪などからの投稿もある程度の数を保っている事が分かる．

Twitter に投稿されたツイートの地理的な分布（注 1）を表し，図2 は広島で地震が起きた際に投稿された「地震」という単語を含むツイートの地理的な分布を表す．円の大きさは同じ位置か
ら投稿されたツイートの数を表す．これらの図によると，あるローカルイベントが発生した時にそれに関する投稿をしたユー
ザは，その付近に位置することが多いことが分かる．すなわち，既知であるユーザの位置情報を用いてローカルイベントの検出をすることが可能であり，検出されたローカルイベントの位置情報を用いて未知のユーザの位置情報を推定することが可能であると考えられる．
本研究の貢献は以下に示す三点である．
（ 1 ） イベント検出とユーザ位置推定を統合的に行う手法を提案する．
（ 2 ） ユーザの位置情報を逐次的に推定，更新する手法を提案する．
（ 3 ） Twitter データを用いた評価実験により，提案手法のイベント検出及びユーザ位置推定における有効性を示す．
提案手法では，多くの妥当なイベントが検出されれば多くのユーザの位置を精度よく推定することが可能であり，多くのユーザの位置情報が分かっていれば多くの妥当なイベントの検出が可能である．本研究では，ユーザの位置情報として居住地の推定を目的とする．これは，ユーザの投稿の多くはそのユーザの居住地付近から行われるという仮定に基づいている．
また，提案手法はイベントを検出する度にユーザの位置情報を推定し，逐次更新することが出来る．これにより，引越しなどによりユーザの居住地が変わった場合にも対応することが可能
である．
5. 節で議論する評価実験によると，提案手法によるユーザ位
置推定の精度は約 76 ％であり，これは既存の手法の精度と比較すると約 33 ％から約 121 ％の向上である．また，どの程度の規模のイベントがどれだけ発生したかにも依存するが，5. 節の評価実験によると，提案手法を二週間分の Twitter ソーシャル
ストリームに適用すると約 20,000 のユーザの位置推定が可能であった．さらに，位置情報が既知であるユーザ数が増加するほど多くの妥当なイベントが検出されることが明らかになった．
（注 1）：ツイートを投稿したユーザの居住地の地理的な分布本稿の以降の構成は以下のとおりである．まず，2. 節でイベントを検出する関連研究及びユーザ位置推定を行う関連研究を概観し，3. 節で本研究で扱う問題とそれに関する用語を定義す
る．次に，4. 節で本研究の提案手法について述べ，5. 節で提案
手法の有効性を，イベント検出の妥当性，ユーザ位置推定の精度及びどれだけの数のユーザの位置を推定できたかという効率性の観点から検証する．最後に，6. 節で本稿をまとめる．

2. 関 連 研 究
本節では，ソーシャルストリームからのイベント検出及びソーシャルメディアにおけるユーザ位置推定に関する研究について概観する．
2. 1 イベント検出
Sakaki ら [15] は，Twitter におけるソーシャルストリームを用いて地震や台風などのイベントを検出する手法を提案した．
Sakaki らの提案手法では，パーティクルフィルタを用いて台風などの移動するイベントの移動軌跡を推定した．Lee ら [8] は，
DBSCAN を用いてツイートをクラスタリングし，ツイートを投稿したユーザのタイムゾーンからイベントの位置を推定した．
Lappas ら [7] は，地理的に分散した複数のストリーム情報源か
らデータが流れてくる状況において，時間的，地理的にバーストしている単語を検出する手法を提案した．Ritter ら [13] は，様々な種類のイベントを検出し，そのカテゴリ分けをする手法を提案した．Watanabe ら [16] は，GPS による位置情報タグの付けられたツイートを用いて地理的な粒度の小さいイベントを検出する手法を提案した．これらの研究はイベント検出のみに注目した研究であり，ユーザ位置推定を対象としていないた
め，本研究とは異なる．
2. 2 ユーザ位置推定
ユーザ位置推定を行う手法として，ユーザの投稿を用いるものが提案されている．Cheng ら [4] は，Twitter において地理的な局所性を持つ単語を用いてユーザ位置推定を行う手法を提案した．Cheng らの手法では，まずツイートに含まれる単語とそのツイートを投稿したユーザのロケーションとを用いて，単語の地理的な分布を作る．次に，その地理的な分布から，ある地域から偏って投稿されている単語を抽出する．例えば，rocketsという単語は，アメリカのヒューストン付近から多く投稿されると報告されている．そして，抽出された単語が推定したい
ユーザのツイートに含まれていれば，それらの単語の地理的な分布からユーザのロケーションを推定する．Cheng らは，ユーザが多くのツイートを投稿していれば，比較的高い精度での推定が可能であると主張している．Chang ら [3] は，混合正規分
布を用いて単語の分布をモデル化し，ユーザ位置推定を行う手法を提案した．これらの手法は定常的な単語の地理的な分布を扱っており，時間に依存するイベントの発生を考慮していないため，本研究とは異なる．
また，ユーザ間の関係を表すソーシャルグラフを用いたユー
ザ位置推定も提案されている．Clodoveu ら [6] は，友人同士であるユーザのロケーションは近い可能性が高いとし，ユーザ
位置推定手法を提案した．具体的には，ある Twitter ユーザ
u のロケーションを推定するとき，u と相互にフォローしているユーザ群のロケーションを調べ，最も多いロケーションを uのロケーションであると推定した．Clodoveu らは，友人数が少なすぎる場合には手がかりとなる情報が少なく，また友人
数が多すぎる場合にはそのユーザは有名人やボットであり，ロケーション情報は意味をなさないため，友人数が 20 から 200程度の場合にうまくいくと主張している．Backstorm ら [1] はFacebook のデータを用いて同様にソーシャルグラフから位置推定を行う手法を提案した．Sadilek ら [14] は，Twitter における GPS による移動軌跡と，ユーザ間の友人関係は互いに関係するとして，ユーザの移動軌跡の推定とユーザ間の友人関係を予測するリンク予測という二つのタスクを行う手法を提案した．Sadilek らは，たとえユーザが現在の位置情報を公開していなくても，一緒にいるユーザがそれを公開してしまうことで自身の位置情報が知れ渡ってしまうと主張している．Li ら [10]は，ユーザは複数のロケーションを持つとし，ツイートに含まれる地名とソーシャルグラフを用いてそれらのロケーションを推定する手法を提案した．これらの手法はソーシャルグラフに基づくものであるため，本研究とは異なる．

3. 問 題 定 義
本節では，本研究で用いる用語の定義及びイベント検出とユーザ位置推定の問題定義を行う．
それぞれの投稿におけるタイムスタンプ s，テキスト t，投稿された位置 l（以下，ロケーション）の三つ組をポスト p = (s, t, l)と呼び，ポストの列をソーシャルストリーム SS = (p1 , p2 , ...)と定義する．ここで，ロケーションが未知の場合は l = N U LLとする．すべてのロケーション l はあらかじめ与えられたロケー
ション集合 L に属すものとする．また，イベント e とは，次のような性質を持つポストの集合と定義する．すべての pi ∈ e について，タイムスタンプ si が時刻の区間として定義された同一のタイムウィンドウ Wj に属し，互いのテキスト ti が十分に類似し，かつ互いのロケーション li 間の距離が互いに十分に近い．例えば，広島付近から「地震」という単語を含むポストが短期間に多く投稿された場合，それらをイベントとみなすことが出来ると考えられる．このとき，イベント検出を以下のように定義する．

[イベント検出] 与えられたタイムウィンドウ Wj に属すポストの集合からイベントの集合 Ej = {e1 , e2 , ..., en } を検出する．
一つもイベントが検出されない場合は Ej は空集合となる．ただし，一つのポストは必ず一つ以下のイベントに属する．
ソーシャルストリームに投稿をし得るユーザ u ∈ U の位置
情報は離散確率分布 Pu (l) として定義する．これをユーザのロケーション分布と呼ぶ．u がポストを投稿する際に，最も確率値の大きいロケーション lˆu = argmaxl Pu (l) が実現値として与えられるものとする．このとき，ユーザ位置推定を以下のように定義する．

[ユーザ位置推定] 検出されたイベント e が与えられた時，
ˆ
lu = argmaxl Pu (l) がユーザ u の実際のロケーション lu となるように，e を用いてユーザのロケーション分布 Pu (l) を更新
する．次のイベント検出にロケーション分布を用いるため，一つのイベントが検出されるたびにロケーション分布を逐次更新する．

4. 提 案 手 法
本節では提案手法について説明する．提案手法はソーシャル
ストリームを入力として受け取り続け，継続的にイベント検出とユーザ位置推定を行う．提案手法を用いるための初期条件として，あらかじめある程度のユーザのロケーション分布が既知であることが必要となる．

図 3 DBSCAN によるポストのクラスタリング．DBSCAN によりノ
イズとみなされたポストは破棄し，クラスタの集合のみを出力する．

4. 1 イベント検出
提案手法はまずこれまでに既知となっているユーザのロケー
ションとソーシャルストリームを用いてイベント検出を行う．
イベント検出はテキストの内容を用いて類似するポストをク
ラスタリングする Content Clustering と，それぞれのクラス
タに含まれるポストのロケーションが地理的な局所性を持つか判別し，局所性を持たないクラスタをフィルタリングする
Spatial Filtering というフェーズに分かれる．以下ではそれぞれのフェーズについての説明を与える．
4. 1. 1 Content Clustering
ここでは，入力としてあるタイムウィンドウ Wj に属すポストの集合が与えられるものとする．タイムウィンドウの幅
W indowSize は，例えば 10 分というように時間で与えるパラメータである．それぞれのポスト p のテキスト t を，bag-ofwords モデルを用いて単語ベクトル v(t) で表す．ベクトルの次元数は対象とする語彙に含まれる単語の種類数であり，ベク
トルの各次元には対応する単語が t に含まれていれば |T1 | ，そうでなければ 0 が入る．ここで，T は t に含まれる単語の集合である．
単語ベクトル v(t) を用いて，DBSCAN によるポストのク
ラスタリングを行う．距離関数として単語ベクトル間のユーク
リッド距離 distt (v(ti ), v(tj )) を用いる．また，DBSCAN はパラメータとして M inP ts と Eps を取る．これらはそれぞれクラスタとして許す最小のポスト数と，類似するポストとして許す最大の距離を表す．DBSCAN を用いる理由は密度の大きい部分のみがクラスタとして出力され，密度の小さい部分にあるポストはノイズとして捨てられるためである（図 3）．これ
により，短期間に類似したポストが多く投稿された場合にのみイベントとして扱われる．
Content Clustering の出力は DBSCAN によって出力されたクラスタの集合 Cj = {c1 , c2 , ..., cn } である．入力として与えられたタイムウィンドウ Wj に対して一つのクラスタ集合 Cjが出力される．
4. 1. 2 Spatial Filtering
ここでは，入力として Content Clustering の出力であるクラスタ集合 Cj が与えられるものとする．それぞれのクラスタ
c ∈ Cj に対して地理的な局所性を持つかどうか判別し，局所性を持つもののみをイベント e として出力する．ポスト p ∈ c の
ロケーションを緯度，経度のペアとして l = (lat, long) のように表す（注 2）．
クラスタの地理的な局所性を図る指標として，dispersion という指標を次のように導入する．
dispersion(c) =1 ∑distl (li , mc )|c| p ∈c(1)i（注 2）：実際にはジオコーディングなどを用いて緯度経度情報に変換する．

図 4 Spatial Filtering による地理的な局所性の判別．算出された
dispersion(c) がパラメータ M axDispersion を超えなければ，
クラスタ c をイベントとして検出する．

ただし，distl (·, ·) は二点間のユークリッド距離を表し，mc はクラスタ c の中心点として，c に含まれるポスト集合のメドイドを表す．メドイドとは，ポスト集合のうち，他のすべてのポストとの距離の合計を最小にするようなポストのことである．
dispersion(c) が小さいほどクラスタ c の地理的な局所性が大きいということになる．
算 出 し た dispersion(c) が パ ラ メ ー タ と し て 与 え ら れ た
M axDispersion を超えないクラスタ c をイベントとして検出し，イベントの集合 Ej = {e1 , e2 , ..., em } を出力する（図 4）．

4. 2 ユーザ位置推定
前節のイベント検出によってイベント e が検出されるたびに，それを用いてユーザのロケーション分布を更新する．直感的には，あるイベントが発生したときそのイベントに関する投稿をしたユーザは，イベントが発生した場所の付近にいた可能性が高い．提案手法はこの考え方に基づき，イベント e に含まれる
ポスト p を投稿したユーザのロケーション分布を，イベントが発生した場所付近の確率値が大きくなるように更新する．これにより，推定されたユーザのロケーション lˆu は，実際のロケー
ション lu に近づいていくと考えられる．以下ではまずユーザ
位置推定を行うためのモデルを提案し，次に提案したモデルを用いた分布の更新について説明する．
4. 2. 1 ロケーションモデル
取 り う る ロ ケ ー ション の 集 合 L に つ い て ，ユ ー ザ の ロ
ケーション分布 Pu (l) を以下を満たすパラメータベクトル
θu = (θu,1 , ..., θu,|L| ) で表す．
∑
Pu (l) = θu,l ,θu,l = 1, 0 <(2)= θu,l <=1
l∈L

提案手法では，それぞれのユーザ u のロケーション分布，すな
わち u のロケーションが l である確率を表すパラメータベクト
ル θu を推定する．ユーザのロケーション lˆu は，推定されたパラメータベクトル θu を用いて以下のように与えられる．

lˆu = arg max θu,l

(3)

l∈L

パラメータベクトル θu は MAP 推定

θu = arg max P (θ|Eu )(4)θ

によって得られる．ここで，Eu は u が e に含まれるポスト pを投稿したことを mention(u, e) と書くと，以下で与えられる．

Eu = {e ∈ E | mention(u, e)}(5)

ただし，E はこれまでに検出されたすべてのイベントの集合である．

4. 2. 2 パラメータベクトルの MAP 推定
MAP 推定は，ベイズの定理により以下のように書ける．
arg max P (θ|Eu ) = arg max P (Eu |θ)P (θ)
θ

(6)

θ

さらに，検出されたイベントは i.i.d であると仮定すると，イベント集合 Eu の尤度関数 P (Eu |θ) は次を満たす．

P (Eu |θ) =∏P (e|θ)(7)e∈Eu

ここで，P (e|θ) はパラメータ θ に従ってイベント e が生成される尤度を表す．以上より，求めるパラメータの MAP 推定値
は以下の式により得られる．

θu = arg max P (θ)θ∏

P (e|θ)(8)e∈Eu

以下では，イベント e の尤度関数 P (e|θ) 及びパラメータの事
前分布 P (θ) を求める．
イベント e を，e に属すポストのロケーションの集合であると考え，bag-of-words モデルと同様の考え方により，ベクトルv(e) = (ne,1 , ne,2 , ..., ne,|L| ) で表現する．ここで，ne,k はポス
ト p ∈ e のうち，ロケーションが lk であるものの数を表す．すると，イベント e を表すロケーションベクトル v(e) はパラメー
タ θ の多項分布に従って次のように生成されると考えられる．

Ne ! ∏ ne,kθkk ne,k !

P (e|θ) = M ulti(v(e); θ) = ∏

(9)

k

∑
ただし，Ne = k ne,k である．
多項分布の共役事前分布はディリクレ分布であるため，ここではパラメータ θ の事前分布としてディリクレ分布を採用する．
Γ(A) ∏ αk −1θkk Γ(αk )P (θ) = Dir(θ; α) = ∏

(10)

k

ただし，Γ(·) はガンマ関数，α はディリクレ分布のパラメータ，∑
A = k αk である．
ここまでで求めた尤度関数及び事前分布を用いると，MAP
推定は以下のように求められる（注 3）．
∏
θ u = arg max P (θ)
P (e|θ)θe∈Eu= arg max Dir(θ; α)θ∏M ulti(v(e); θ)e∈Eu= arg max Dir(θ; α +
θ

∑

v(e))

(11)

e∈Eu

これを解くと∑e∈Eu ne,k + αk − 1

θu,k = ∑e∈Eu Ne + A + |L|(12)となり，パラメータベクトル θu が得られる．

4. 2. 3 パラメータベクトルの逐次更新
新たなイベント e′ が検出された時，パラメータベクトルを更新することが可能である．これまでの事後分布 P (θ|Eu ) を事
前分布 P (θ) とし，以下のように再度 MAP 推定を行う．
′
θu= arg max P (θ|e′ ) = arg max P (e′ |θ)P (θ)
θ

(13)

θ

さらなるイベント e′′ が検出された時も同様にパラメータベクト
ルを更新する．これにより，イベントが検出されるたびにパラメータを逐次更新することが可能であり，それはすなわちユー
ザのロケーションが逐次更新されていくことを意味する．

5. 評 価 実 験
提案手法の有効性を以下の三つの観点から検証する．
（ 1 ） 検出されたイベントの妥当性（ 2 ） ユーザ位置推定の精度（ 3 ） ユーザ位置推定の効率性
ユーザ位置推定の効率性とは，ある一定の期間にどれだけの数のユーザのロケーションを推定できたかという観点である．
5. 1 節では提案手法を実装したプロトタイプシステムについて説明し，5. 2 節では本実験に用いた Twitter データセットについて説明する．5. 3 節以下ではそれぞれの実験結果を示し，考察する．
5. 1 プロトタイプシステム
提案手法を Twitter に適用し，イベント検出及びユーザ位置推定を行うプロトタイプシステムを実装した（注 4）．本システムの概要図を図 5 に示す．実線の枠で囲まれた部分が本システムの範囲である．本システムはツイートクローラによって継続的にツイートを収集する．実際には，検出したいイベントに関連すると思われる複数のキーワードを指定して，それらのうちのいずれかが含まれるツイートをリアルタイムに収集する（注 5）．収
集したツイートを投稿したユーザのロケーション情報が必要となるため，ユーザロケーションクローラによって Twitter から
ユーザ情報を収集する．しかし，Twitter から収集されたユーザのロケーション情報はテキストであるため，Yahoo! Geocoderを用いて緯度経度情報に変換する．収集したロケーション情報
をユーザ DB に格納する．ただし，ロケーション情報が未知のユーザについては NULL 値を格納する．この未知のロケーショ
ン情報を推定するのが本研究の一つの目的である．
収集したツイート及びユーザのロケーション情報を逐次イベ
ント検出コンポーネントに入力する．ここで，収集したツイー
トはツイート DB に格納されるが，これはバックアップのためであり，本質的なものではない．イベント検出コンポーネントによって検出されたイベントは一旦イベント DB に格納され，ユーザ位置推定コンポーネントに入力される．そして，ロケー
ション分布，すなわちパラメータベクトル θu を推定し，ユー
ザ DB に格納されているパラメータベクトルを更新する．推定されたロケーション情報は以後のイベント検出に用いられる．
5. 2 データセット
ツイートクローラ及びユーザロケーションクローラによって収集されたデータについて説明する．本実験は 2012/11/5 から 2012/11/19 までの二週間に五つのキーワード群について行（注 4）：システムのコードは次の URL から取得可能である．
https://github.com/yamaguchiyuto/bagel（注 3）：2 から 3 行目への変換は多項分布とディリクレ分布の共役性により導かれる．

（注 5）：キーワードを指定せずにランダムサンプリングされたツイートを収集す
る API も存在するが，収集できるツイート数が少ないため今回は用いなかった．

図 5 実験に用いたプロトタイプシステムの概要．Twitter から継続的にデータを収集するコンポーネントと，イベント検出及びユー
ザ位置推定を行うコンポーネントに分かれる．

# of users# of seed users# of tweets

表 1 データセット
All
Earthquake
508,824
141,978
130,391 (26%) 36,613 (26%)
1,018,164
317,982

keywords-

地震# of users# of seed users# of tweets

Tornado
15,8683412 (22%)
12,073

keywords

竜巻

Emergency
81,592
20,043 (25%)
103,933
パトカー，救急車，消防車，サイレン

Weather
307,474
78,582 (26%)
519,803
大 雨 ，洪 水 ，
台風，雷われた．実験期間中に収集されたデータを表 1 に示す．各列がひとつのデータセット，すなわち一つのキーワード群について収集されたデータを示している．All は他の四つすべてのデー
タセットを統合して扱うデータセットである．ロケーション情報が既知である seed user はいずれのデータセットにおいても25%前後であった．
5. 3 イベント検出の妥当性
本実験では，提案手法によって検出されたイベントについて，
以下の項目を検証した．
• 提案手法により検出されたイベントのうちどれだけのものが妥当であるか．
• 多くのユーザ位置情報が分かっていれば多くの妥当なイベントが検出できるか．
データセットは All 以外の四つを用い，パラメータはそれ
ぞ れ W indowSize = 600s，M inP ts = 15，Eps = 0.2，
M axDispersion = 200km とした．また，既知の位置情報の割合が提案手法によるイベント検出へ影響するかを検証するために，既知の位置情報のうちそれぞれ 100%，50%，25% を用いた場合について比較した．
本実験の詳細について示す．まず，提案手法によってイベン
ト検出を行い，検出されたイベントに属す全ツイートを５名の被験者に提示する．被験者は提示されたイベントが以下の評価
基準を満たすとき，そのイベントが妥当であるという判断を下す．
• イベントに属す全ツイートのうち半数以上が同一のイベントについて言及している．
• それらのツイートに言及されているイベントは地理的な局所性がある．
そして，妥当であるとされたイベントを正解とし，適合率を算出する．適合率を図 6，検出されたイベントの数を図 7 に示す．
図 6 によると，データセットによってその適合率が大きく異なっている．Earthquake ，Weather ，Tornado においては 0.7
から 0.8 程度の適合率を示しているが，Emergency においては 0.1 程度と，非常に低い適合率を示している．これは，実

図 6 提案手法により検出されたイベントの適合率．実験期間中に多くのイベントが発生したデータセットにおける適合率が高くなっている．イベント検出に用いる位置情報の割合を大きくするとわずかに適合率が上昇している．

図 7 提案手法により検出されたイベントの数．実験期間中に多くのイベントが発生したデータセットにおいては多くのイベントが検出できている．イベント検出に用いる位置情報の割合を大きくすることで多くのイベントが検出されている．

験期間中に地震や雷，竜巻が発生しており，それに関する言
及が Twitter において多く投稿されていたためであると考えられる．実際，それらのイベントが発生した際に付近にいたユーザが状況を発信しているツイートが多く見られた．一方で，Emergency データセットに属すツイートを確認したところ，イ
ベントへの言及はほとんど見られなかった．このような場合，何も検出されないのが理想であるが，被験者によってイベントと見なされなかったものが検出されてしまったため，適合率が下がってしまったと考えられる．
イベント検出に用いる位置情報の割合を変化させたところ，割合を大きくするに連れて適合率はわずかに上昇し，検出されたイベント数はある程度増加した．本実験では，実際に位置推定を行い増加した位置情報を用いているわけではないが，位置情報の増加がイベント検出の妥当性向上に繋がることが期待される．位置情報を増やすことにより適合率が向上するのは，dispersion の算出がより正確になるためであると考えられる．ただし，Content Clustering の段階で内容が類似しているクラスタのみを検出しているため，たとえ dispersion が正
確でなくてもある程度のイベントの妥当性は保証されている．
これにより，位置情報の増加に伴う適合率の向上が数%にとどまったと考えられる．正確な dispersion を算出するためには，Content Clustering によって検出されたクラスタにおいて，高い割合のユーザの位置情報が既知であることが望まれる．クラスタ内に位置情報が既知であるユーザがふたり以上いない場合
は dispersion を算出できないため，提案手法ではイベントではないとして破棄している．そのため，位置情報を増やすことによって検出されたイベント数が増加したと考えられる．

5. 4 ユーザ位置推定の精度
提案手法によるユーザ位置推定の精度を，既存手法である
Cheng らの手法 [4]（注 6），Clodoveu らの手法 [6]，及びランダムにロケーションを割り当てる手法 (Random）と比較した．以下，実験の詳細について説明する．
提案手法は五つのデータセットのうち Weather データセッ
トを用いて，ロケーション情報が既知である seed user のロケーションを一つ抜き交差検定（Leave-One-Out Cross Validation）で推定し，精度を算出した．提案手法のパラメータはそれぞれ W indowSize = 600s，M inP ts = 15，Eps = 0.5，
M axDispersion = 150km である．これらは実験的に決定した．
Cheng ら，及び Clodoveu らの手法については，提案手法によって推定された seed user の中から 1,000 ユーザをランダム
サンプリングし，それらのユーザに対して位置推定を行い，精度を算出した．Cheng らの手法は単語のロケーション分布を学
習データ（ツイート）を用いて学習する必要があるため，All
データセットのユーザから 10,000 ユーザをランダムサンプリン
グし（注 7），それぞれのユーザの直近 100 ツイートを取得して学習データとした．提案手法に用いた全ツイート数が約 1,000,000であるため，Cheng に用いる学習データも 1,000,000 のツイートとした．推定の対象とする 1,000 ユーザそれぞれの直近 3,200
ツイートを収集し，それらに含まれる単語と事前に学習した単語のロケーション分布を用いてユーザの位置推定を行った．また，Clodoveu らの手法は推定の対象とするユーザと相互にフォローしているユーザのロケーション情報を用いるため，それらのデータも収集した．
図 8，表 2 に結果を示す．図 8 の横軸は許容する推定誤差の値を示し，縦軸はそれに対応する精度を示している．表 2 において，Mean E.D. は推定誤差の平均値を表し，Median E.D.
は推定誤差の中央値を表す．結果から，提案手法が最も高い精度を示していることが分かる．推定誤差 160km での提案手法の精度を Cheng の精度と比較すると約 122%，Clodoveu らの手法と比較すると約 33%の向上となった．また，推定誤差の平均値及び中央値に関しても提案手法が最も良い結果を示した．
提案手法では Weather データセットを用いたが，データの収集期間に日本各地で大雨や雷が多く発生していたため，強い局
所性を持つイベントが多く検出され，精度が高くなったと考えられる．また，Cheng の精度は元論文中 [4] における精度よりも大きく低下している．元論文で報告されていた精度は 0.510であった．これは，元論文ではアメリカ全土における位置推定を行なっているのに対し，本実験では日本を対象として位置推定を行なっているためであると考えられる．元論文での実験と本稿での実験は扱っている言語が異なるため，ストップワードなどのチューニングを行うことで Cheng らの手法は精度が向上すると考えられる．
提案手法は精度では比較手法を上回ったが，任意のユーザのロケーションを推定できないという点で比較手法と異なっている．Cheng 及び Clodoveu は任意のユーザのツイート集合もしくは相互にフォローしているユーザ集合が与えられれば位置推定が可能であるが，提案手法は検出されたイベントに関するポストを投稿していないユーザの位置推定は出来ない．しかし，
この違いは，未知のユーザのロケーションを推定し，既知の（注 6）：ただし，論文中 [4] であまり効果がないとされていたスムージングは行
なっていない．
（注 7）：推定の対象とする 1,000 ユーザとの重複は許さない．

図8

ユーザ位置推定の精度の比較結果．推定誤差 160km での提案手法の精度を Cheng と比較すると約 122%，Clodoveu と比較す
ると約 33%の精度向上を示している．
表2

精度及び平均推定誤差の具体的な値
Proposed Cheng
Clodoveu Random

Pre@160km
Pre@80km
Mean E.D. (m)Median E.D. (m)

0.761
0.696
134,114
22,8620.344
0.284
336,489
290,465

0.573
0.520
227,100
49,1180.170
0.092
457,666
416,106

ユーザのロケーション情報を増やし，イベント検出に役立てるという本研究の目的を達成する上では問題にならない．また，推定に用いている情報がそれぞれ異なるため，提案手法と比較
手法とを組み合わせることが可能であると考えられる．
5. 5 ユーザ位置推定の効率性
ある一定の期間にどれだけの数のユーザのロケーションを推定できたかという効率性について検証する．本節では，五つのデータセットによるそれぞれの結果の比較，パラメータ
MaxDispersion の変化による結果の比較を行う．パラメータはそれぞれ W indowSize = 600s，M inP ts = 15，Eps = 0.5，
M axDispersion = 200km である．
5. 5. 1 位置推定されたユーザ数の時間推移
五つのデータセットそれぞれに対して提案手法を適用し，6時間ごとにそれまでにロケーションを推定できたユーザの数を記録した．結果を図 9 に示す．横軸は経過時間を表し，縦軸はそれまでにロケーションが推定されたユーザ数，すなわち効率性を表す．
All，Earthquake，Weather データセットでは効率性が高くなっているが，Tornado，Emergency データセットでは効率性が低いことが分かる．これは，効率性の高い三つのデータセッ
トでは多くのイベントが検出されたためである．また，図 9 において，推定されたユーザ数が階段上に増加している部分があるが，これは比較的大きなイベントが検出されたためである．
従って，イベントが多く発生するようなソーシャルストリーム
を用いれば効率良くユーザ位置推定が行えると考えられる．
5. 5. 2 MaxDispersion の変化による影響
パラメータ MaxDispersion を変化させることによって，それぞれのデータセットにおける精度と効率性の関係を検証した．結果を図 10 に示す．横軸は効率性を表し，縦軸は精度を表す．MaxDispersion は 50km から 50km 刻みで 300km までと，Spatial Filtering を行わない，すなわち MaxDispersion が無限である NSF について比較した．
図 10 によると，MaxDispersion を大きくするにしたがって，
ロケーションが推定されたユーザ数は単調増加していることが分かる．これは，MaxDispersion が大きいと地理的な局所性を

推定の結果の相互作用を調査することで，より適切なアルゴ
リズム及びパラメータが検討できると考えられる．また，イベントの情報のみではなくソーシャルグラフなどを考慮すること
により，より広い範囲のユーザの位置推定が可能になると考えられる．さらに，本稿ではユーザの位置情報を離散確率分布によってモデル化したが，正規分布などの連続確率分布によるモデル化による精度の向上も考えられる．
謝辞 本研究に関して議論していただいた日本アイ・ビー・エ
ム株式会社東京基礎研究所の皆様に深く感謝する．
図 9

図 10

提案手法によってロケーションを推定されたユーザ数の時間推移．多くのイベントが検出されたデータセットにおいては推定されたユーザ数が大きいのが分かる．また，推定されたユーザ数が階段上に増加しているのは比較的大きなイベントが検出されたからであると考えられる．

パラメータ MaxDispersion を変化させた時の精度及び効率性への影響．精度と効率性はトレードオフの関係にあることが分かる．また，MaxDispersion がデータセットに対して小さすぎる場合は精度，効率性共に小さくなっていることが分かる．

あまり持たないクラスタであってもイベントとして検出され，それに伴い多くのユーザがロケーションを推定されるためである．一方で，精度は MaxDispersion を大きくするに従って下がる傾向にあることが分かる．これは，局所性をあまり持たないイベントではうまくユーザのロケーションを推定できないためであると考えられる．また，All，Weather において見られるが，MaxDispersion が小さすぎると精度も下がる傾向にある．
これは，データセットに対して小さすぎる MaxDispersion を与えると，妥当なイベントを検出できなくなるためであると考えられる．実際に，これらのデータセットにおいては Dispersionの値が 50km を下回るような妥当なイベントはあまり見られな
かった．

6. 結

論

本研究では，ソーシャルストリームからのイベント検出とユーザ位置推定を統合的かつ継続的に行う手法を提案した．提案手法は，地理的な局所性を持つローカルイベントに関するポストを投稿したユーザはそのローカルイベントが発生した場
所にいる可能性が高いというアイデアに基づいている．また，Twitter におけるソーシャルストリームを用いて評価実験を行い，検出されたイベントの妥当性，ユーザ位置推定の精度及び効率性という観点から提案手法の有効性を示した．
今後の課題として，提案手法を長期的に稼働させる実験をす
る必要がある．長期的なスパンで，イベント検出とユーザ位置

文

献[1] Backstrom, L., Sun, E. and Marlow, C.: Find me if you can:improving geographical prediction with social and spatial
proximity, WWW, pp. 61–70 (2010).
[2] Becker, H., Naaman, M. and Gravano, L.: Beyond Trending Topics: Real-World Event Identification on Twitter,
ICWSM (2011).
[3] Chang, H.-W., Lee, D., Eltaher, M. and Lee, J.: @Phillies
Tweeting from Philly? Predicting Twitter User Locations
with Spatial Word Usage, ASONAM, pp. 111–118 (2012).
[4] Cheng, Z., Caverlee, J. and Lee, K.: You are where you
tweet: a content-based approach to geo-locating twitterusers, CIKM, pp. 759–768 (2010).
[5] Cui, A., Zhang, M., Liu, Y., Ma, S. and Zhang, K.: Discover
breaking events with popular hashtags in twitter, CIKM,
pp. 1794–1798 (2012).
[6] Jr., C. A. D., Pappa, G. L., de Oliveira, D. R. R. and de
Lima Arcanjo, F.: Inferring the Location of Twitter Messages Based on User Relationships, T. GIS, Vol. 15, No. 6,
pp. 735–751 (2011).
[7] Lappas, T., Vieira, M. R., Gunopulos, D. and Tsotras, V. J.:
On The Spatiotemporal Burstiness of Terms, PVLDB,
Vol. 5, No. 9, pp. 836–847 (2012).
[8] Lee, C.-H.: Mining spatio-temporal information on microblogging streams using a density-based online clustering
method, Expert Syst. Appl., Vol. 39, No. 10, pp. 9623–9641(2012).
[9] Li, C., Sun, A. and Datta, A.: Twevent: segment-based
event detection from tweets, CIKM, pp. 155–164 (2012).
[10] Li, R., Wang, S. and Chang, K. C.-C.: Multiple Location
Profiling for Users and Relationships from Social Network
and Content, PVLDB, Vol. 5, No. 11, pp. 1603–1614 (2012).
[11] Marcus, A., Bernstein, M. S., Badar, O., Karger, D. R.,
Madden, S. and Miller, R. C.: Twitinfo: aggregating andvisualizing microblogs for event exploration, CHI, pp. 227–236 (2011).
[12] Mathioudakis, M., Bansal, N. and Koudas, N.: Identifying,
Attributing and Describing Spatial Bursts, PVLDB, Vol. 3,
No. 1, pp. 1091–1102 (2010).
[13] Ritter, A., Mausam, Etzioni, O. and Clark, S.: Open domain event extraction from twitter, KDD, pp. 1104–1112(2012).
[14] Sadilek, A., Kautz, H. A. and Bigham, J. P.: Finding yourfriends and following them to where you are, WSDM, pp.
723–732 (2012).
[15] Sakaki, T., Okazaki, M. and Matsuo, Y.: Earthquake shakes
Twitter users: real-time event detection by social sensors,
WWW, pp. 851–860 (2010).
[16] Watanabe, K., Ochi, M., Okabe, M. and Onai, R.: Jasmine: a real-time local-event detection system based on geolocation information propagated to microblogs, CIKM, pp.
2541–2544 (2011).