DEIM Forum 2019 H8-1

Twitter を利用したユーザの移動等の状況推定
竹下

知宏†

新妻

弘崇††

太田

学††

† 岡山大学工学部情報系学科 〒 700-8530 岡山県岡山市北区津島中 3-1-1†† 岡山大学大学院自然科学研究科 〒 700-8530 岡山県岡山市北区津島中 3-1-1
E-mail: †pkx63txu@s.okayama-u.ac.jp, ††{niitsuma, ohta}@cs.okayama-u.ac.jp
あらましTwitter にはユーザの状況を伝えるツイートが数多く投稿されている．そのようなツイートからユーザが何をしているかを自動で推定することができれば，ユーザの状況に合わせた行動の推薦を行うことができる．そこで
本稿では，文章の特徴ベクトルを計算する doc2vec と，機械学習である SVM，Random Forest を利用し，ツイートからユーザがどのような状況であるかを自動推定する手法を提案し，その精度を評価する．実験の結果，提案手法ではユーザが移動しているか，移動していないかの推定は約 9 割の精度であり，そこからさらに移動手段や行動の種類を推定した結果は約 7 割の精度であった．しかし，事例が極めて少なかった移動手段の「歩き」については全く推定できない等の課題も見つかった．
キーワード

Twitter，ツイート分析，状況推定
である doc2vec を用いてそれぞれのツイートの分散表現を獲得

1 はじめに近年，スマートフォンやタブレット端末等のモバイル通信機
器の普及により，インターネットの利用率は 8 割を超え [1]，多くの人が情報アクセスや情報発信をウェブ上で行うようになった．さらにさまざまなソーシャルネットワーキングサービスの登場に伴い，人々のインターネット上での交流が簡易なものとなり，知識や経験，価値観の共有がより活発となった．こうした多くの人々に利用されているソーシャルネットワーキングサー
ビスの一つとして本稿では Twitter に注目する．

Twitter はツイートと呼ばれる 140 文字以内の文章や画像，
動画を投稿するサービスであり，不特定多数の人物があらゆる事象について気軽に発信できるツールである．ツイートには商品のプロモーションや時事問題に関する話題だけでなく「いし，得られたベクトルに状況を付与して分類器を作成し，その分類器を使用することで未知のツイートの状況を分類する．
評価実験では，著者が一人で状況判定したテストデータ 1 と，複数人の多数決で状況判定したテストデータ 2 を用いることで分類器によるツイートの状況推定の結果が適切であるかどうか考察する．
本稿では，まず 2 節で関連研究について述べる．次に，3 節で提案する状況分類の手法について説明する．そして，4 節で精度の評価方法やそれに基づく実験結果について述べ，5 節でまとめる．

2 関連研究2. 1 状 況 推 定つ」，「どこで」，「誰が」，「何を」しているというような個人のNEC [2] は相手の状況を自動で推定するスマートフォン向け状況を発信している投稿も多く見られる． ツイートからこれら

ソリューションを開発した．これはスマートフォンを持ち歩くの情報を取得し，ユーザが置かれている状況を推定することがことで「静止中」，「会議中」，「歩いている」，「車で移動中」，「電可能となればユーザの状況に応じた適切な行動の推薦を行うこ

車で移動中」の 5 パターンの中から現在の状況を推定するものとができる．

である．このソリューションは，スマートフォンに内蔵された

本稿ではユーザが「何を」しているかに着目し，ツイートの加速度センサのデータを分析することで状況を推定する．また，分析によってユーザの状況を自動で推定する手法を提案する．

システムが推定した状況に基づいて，電話やメール等適したコ

この手法の概要は以下の通りである．まずツイートを取得し，ミュニケーション手段の候補を表示することにより，ユーザがそのツイートからユーザが移動しているか，移動していないか

相手の状況を意識することなく適切なコミュニケーションを実で状況を分類する．移動していると分類された場合は，さらに

現する．

「鉄道」，
「飛行機」，「車」といったような移動手段の分類を行笠原ら [3] は旅行者の GPS の移動軌跡から移動モードを推定う．移動していないと分類された場合は，総務省統計局が定めする手法を提案した．彼らは列車やバスが減速するバス停や駅た行動の種類に基づいて，睡眠，食事など生理的に必要な活動

を環境制約として利用し，移動モードを推定した．また，このである「1 次活動」，仕事，買い物といった生活する上で義務的手法では直前の移動モードからの経過時間と移動モードの遷移な性格が強い活動である「2 次活動」，これら以外の自由時間確率を用いることで低速での移動が一次的減速か，移動モード

における活動である「3 次活動」の 3 種のいずれかに分類する．

の変化かを判定し，移動モードを修正する．旅行者の GPS 移本研究では，ツイート群から Paragraph Vector の実装の 1 つ

動軌跡を対象に実験した結果，「車両」の再現率が 54.4%，「列車」の再現率が 43.1%，「徒歩」の再現率が 93.6%となった．

word2vec のベクトル化の対象を任意の長さの文章に拡張し藤岡ら [4] は Twitter ユーザの発言から健康状態を推定する

た doc2vec [8] は，文章を数値ベクトルで表現し，似ている文ために，症状に関するツイートを投稿している人物の特徴の有章同士は似たベクトルとなる．菅野ら [9] は doc2vec と，教師無を調べる手法を提案した．この研究では，まず Twitter からあり学習モデルの SVM を用いて実行ファイル内にある可読文抽出した症状を発言している人物としていない人物のツイート

字列からマルウェアを検知する手法を提案した．この手法では，を形態素解析し，TF-IDF で特徴付ける．そして症状に関する実行ファイルから文字列を抽出し，それを doc2vec でベクトル発言をしている人物同士としていない人物同士の cos 類似度を化する．そして，そのベクトルに良性のラベルもしくは悪性の計算することで，症状に関する発言をしているツイートに特徴

ラベルを付与し分類器を構築してマルウェアを検知する．実験があるか調べた．評価実験としては，「肩こり」，「頭痛」，「吐きの結果，提案した手法は未知のマルウェアに対して有効である気」の 3 つの症状について，学習データ，テストデータ，重みことが確認された．

付け用データをノイズ (リンク付きツイート，リツイート，リプライ) を除いて用意し，テストデータを用いて症状の発言をしている人物同士の cos 類似度の平均と，していない人物同士の cos 類似度の平均を求めた．その結果，3 つのいずれの症状でも，発言のある人物同士の方が発言のない人物同士よりも類似度の平均が高くなった．このことから，症状を持つ人物のツイートには特徴があると藤岡らは結論づけている．
倉田 [5] は Twitter に投稿されたテキストや位置情報と，実空間で発生するイベントとの相関について調査した．キーワー
ドとして「花火」を設定し，花火大会が行われる 2012 年 7 月

28 日と，その前日である 2012 年 7 月 27 日でツイートの動向を比較した．その結果，前日はキーワードを含むツイートが全体の 0.56% であり，地理的分布はまばらであるのに対し，開催

3 提案手法
本節では，Twitter から取得したツイートの文章からそのユーザがどういう状況であるかを推定する手法について説明する．具体的には，本研究ではツイート本文を doc2vec でベクト
ル化し，ツイートの特徴ベクトルとする．そして機械学習を利用することで，ツイートの状況を「移動している」，「移動していない」の 2 つに分類する．さらに「移動している」に分類された状況は「鉄道」，「飛行機」，「車」，「歩き」，「その他」の移動手段に分類し，「移動していない」に分類された状況は「1 次活動」，「2 次活動」，「3 次活動」に分類する．

3. 1 状況推定の概要

当日はキーワードを含むツイートが全体の 3.06% であり，地理まず最初にツイートに書かれている状況をどのように分類す的分布は花火大会が開催された地域に集中した．すなわち，開るかについて説明する．本稿で提案する状況にはまず「移動し催日とそうでない日ではキーワードを含むツイートの数とそのている」，「移動していない」の 2 種類がある．状況「移動して地理的分布が大きく異なることがわかった．このことから倉田いる」の中にはさらに詳細な状況として「移動手段：鉄道」，「移は Twitter はツイートの内容や時間，位置が実社会の出来事と動手段：飛行機」，「移動手段：車」，「移動手段：歩き」，「移動

相関を持っていると主張した．

手段：その他」の 5 種類があり，状況「移動していない」の中さらに倉田は Twitter に投稿された内容を字句，時間，緯にはさらに詳細な状況として「1 次活動」，「2 次活動」，「3 次活

度，経度の 4 次元で解析を行うことで実空間の状態検知を行う動」の 3 種類がある．

AKT24 (Ayako Kurata Tweet-analyzer 24h) の設計と構築を

3. 1. 1 状況の分類行った．このシステムは，横軸がキーワード，縦軸が時刻であ

ユーザが移動しているかどうか，ユーザの移動手段は何であるグラフと地図で構成され，指定した期間の特徴キーワードとるかを知ることは，ユーザの行動パターンや特性を知る上で重それを含むツイートの地理的分布を表示することで話題になっ要な要素となりうる．そこで本稿では移動手段に着目し，状況ている事象とそれに付随する場所を検知する．キーワードは通として「移動手段：鉄道」，「移動手段：飛行機」，「移動手段：

常時との単語出現数の差分の大小から抽出する．このシステム

車」，「移動手段：歩き」，「移動手段：その他」の 5 種類を提案を評価した結果，人為的なイベントや気象状況の異変などさまする．また，状況には移動の他にも食事，余暇など多種多様な

ざまな実空間上の事象を検知できることがわかった．

ものがある．総務省統計局は社会生活基本調査を行う上で行動

2. 2 文書の分散表現の種類を 3 区分 [10] に分類した．この 3 区分は，睡眠，食事な

Mikolov ら [6] [7] は 単 語 を 低 次 元 な 数 値 ベ ク ト ル で 表 す
word2vec を提案した．word2vec では，似た意味を持つ単語同士は似たベクトルとなるため，単語同士の意味の類似度を計算することができる．また，word2vec で生成した単語の数値ベ
クトルはベクトル同士で加減算が可能で，その加減算は単語間の意味関係を表現する．よく知られた例としては，式 (1) のように「王様」から「男性」を引いて，「女性」を足すと「女王」となるようなベクトル計算式がある．
「王様」−「男性」+「女性」=「女王」

ど生理的に必要不可欠な活動である「1 次活動」，仕事，学業，
買い物など社会生活を営む上で義務的な性格の強い活動である「2 次活動」，スポーツや趣味，娯楽などの自由時間における活動である「3 次活動」である．具体的な行動とその 3 区分は表

1 のとおりである．なお，この表では，元々「2 次活動」にある「通勤・通学」と，「3 次活動」にある「移動」を著者が除いており，本研究でもこれらは移動手段の状況のいずれかに該当する
ため行動の種類の 3 区分に含めない．本研究では移動手段の 5
種類の状況に「1 次活動」，「2 次活動」，「3 次活動」の 3 種類を(1)

表 1 行動の種類の 3 区分

1 次活動

2 次活動

3 次活動

睡眠

仕事

テレビ・ラジオ・新聞・雑誌

身の回りの用事

学業

休養・くつろぎ

食事

家事・育児

学習・研究

介護・看護

趣味・娯楽

買い物

スポーツ

図2

一般的なユーザのツイートの例

社会的活動
交際・付き合い
受診・療養
その他

図 3 個人でないツイートの例

図1

状況分類の概要

加えた計 8 種類に状況を分類する．

図 4 リプライの例

実際に状況を分類するにあたって，移動を優先するために，
まずはじめに状況を「移動している」，「移動していない」の 2
種類に分類する．
「移動している」に分類された場合には「移動手段：鉄道」，「移動手段：飛行機」，「移動手段：車」，「移動手段：歩き」，「移動手段：その他」の 5 種類のいずれかに分類し，「移動していない」に分類された場合には「1 次活動」，「2 次活

図 5 加筆なしのリツイートの例

動」，「3 次活動」の 3 種類のいずれかに分類する．状況分類の概要を図 1 に示す．

3. 1. 2 対象とするツイート
本稿で状況推定の対象とするツイートは図 2 のような一般的なユーザが投稿したものである．図 3 のような個人でないアカ
ウントのツイートは使用しない．また，ノイズとなるツイートも使用しない．ここでいうノイズとは，リプライや一部のリツ
イートのことである．リプライは図 4 のように文が非常に短かったり，主となる内容が含まれていなかったりする場合が多く単体では状況の推定が困難であるため，利用しない．またリ
ツイートに関しては，図 5 のように他人のツイートを加筆せず
そのまま投稿している場合は，そのユーザの状況を表していな
いため利用しないが，図 6 のようにユーザのコメントが付け加えられている場合は利用する．これは，ニュースツイート等のマスメディアに触れているケースが多く，それらの行為は 3 次
活動に分類されるためである．

図6

コメントを含むリツイートの例

表 2 MeCab による形態素解析の例

いて説明する．分類には Support Vector Machine (SVM) [11]

形態素

品詞情報

来年

名詞, 副詞可能

も助詞, 係助詞

よろしく

副詞, 一般お願い

名詞, サ変接続

し動詞, 自立ます

助動詞

Random Forest は分類や回帰を行う手法であり，決定木を。

記号, 句点複数の弱学習器として利用する．複数の決定木で多数決を行うと，Random Forest [12] の 2 種類の分類器を用いる．
パターン認識手法の 1 つである SVM は，マージン最大化の考えに基づき，汎用性の高い識別を行うことができる．また，SVM は，線形分離が可能でない場合にも利用することができる．

ため，一般的な決定木よりも精度の良い識別を行うことができ
表 3 ストップワードの一覧
対象

例

URL

http://…

数

34

助動詞

た たい

てる

代名詞

あれ

それ

括弧，句読点()。

る．また，各決定木作成のための計算は並列に処理することが可能なため，高速に計算できる．

4 評価実験
本節では，前節で述べた手法に基づいてツイートの状況分類を行い，その精度を評価する．まずはじめに，実験データを学習データとテストデータに分割し，学習データで SVM とRandom Forest を学習する．次に，その学習モデルの精度をテ
ストデータを使って検証する．

4. 1 実験データ
実験では TwitterAPI で検索キーワードを「near:okayama

within:100km」と 設 定 し 収 集 し た 59 の ユ ー ザ の ツ イ ー ト
154,217 件を含むデータセットを利用する．この中から無作為に選んだユーザ 1 (2,363 件)，ユーザ 2 (1,224 件)，ユーザ 3(2,683 件)，ユーザ 4 (2,089 件) の 4 人のユーザのツイート群
図 7 リンク付きツイートの例

計 8,359 件を実験データとして利用する．そして実験データを
学習データ (7,529 件)，テストデータ (830 件) に分割した．正3. 2 ツイートの特徴ベクトル

解データ作成のため，学習データを著者が手作業で状況分類しツイートの特徴ベクトルを求める方法について説明する．また．一方，テストデータについては著者が手作業で状況分類しず，前処理として取得したツイートの文章を MeCab を用いたテストデータ 1 と，同じデータについて複数人で状況分類して形態素解析し，ストップワードを除去する．次に，これをたテストデータ 2 を作成した．実験データからテストデータ 1

Paragraph Vector の実装の 1 つである doc2vec を用いて数値を作成する際，選択したテストデータ 1 の状況に偏りが生じな

ベクトルに変換する．

いようにテストデータ全体に占める各状況の割合が，学習デー

3. 2. 1 ベクトル化の前処理

タ全体に占めるその状況の割合と同程度になるようにした上で形態素解析エンジンである MeCab によってツイート文を意

無作為に選択している．例えば，学習データ内である状況が全味を持つ最小の言語単位に分解する．例えば，「来年もよろしく

体の 2 割を占める場合，テストデータ 1 でもその状況が 2 割をお願いします。」という文を MeCab を用いて解析すると表 2占めるようにした．学習データとテストデータ 1 のツイートののように解析される．また，状況分類の際に不要である語をス

状況は表 4〜表 7 のような内訳となる．これらの表にある状況

トップワードとし除く．例えば，図 7 のツイート中のハイパーの割合は式 (2) で求めたものである．

リンクの URL が挙げられる．ストップワードの一覧を表 3 に示す．

3. 2. 2 doc2vec
doc2vec は似たような文章からは似たようなベクトルを生成する．例えば電車での移動に関する文章には駅名や路線等の電車に関する単語がよく出現するため，電車で移動中のツイートからは似たようなベクトルが生成される．逆に，似たベクトルの文章には似ている単語が含まれるといえる．

状況の割合 =

ある状況のツイートの総数
ツイートの総数(2)

4. 2 評 価 方 法
推定した状況については，まずテストデータ 1 を使ってその状況が適切であるかどうかを評価する．テストデータ 1 には各ツイートに移動判定，詳細判定のラベルが付与されている．移動判定はユーザが移動しているかどうかを判別するものであり，「移動している」，「移動していない」の 2 種類のいずれかであ3. 3 ツイートの分類器
次にベクトル化したツイートの状況を分類するための手法につる．詳細判定はユーザの移動手段は何であるか，もしくはどのような活動をしているかを判別するものであり，「移動手段：鉄

表4

鉄道

飛行機

車

ユーザ 1

193

23

ユーザ 2

7

3

ユーザ 3

136

ユーザ 4

114

計

450

状況の割合 0.060
表5

表 8 テストデータ 2 のツイートの内訳 (移動手段)

学習データのツイートの内訳 (移動手段)
歩き

その他

計

35

2

39

292

10

11

15

46

64

85

15

19

15

31

4

105

161

32

0.014 0.021 0.004

鉄道

飛行機

車

歩き

その他

計

ユーザ 1

18

4

4

2

4

32

ユーザ 2

2

0

1

3

1

7

319

ユーザ 3

12

8

7

5

1

33

30

194

ユーザ 4

8

2

3

2

3

18

103

851

計

14

15

12

9

90

0.013 0.113

表9

学習データのツイートの内訳 (1〜3 次活動)

1 次活動 2 次活動 3 次活動

40

状況の割合

0.048

0.017 0.018 0.014

0.011 0.108

テストデータ 2 のツイートの内訳 (1〜3 次活動)

1 次活動 2 次活動 3 次活動

計

計

ユーザ 1

128

302

1407

1837

ユーザ 1

ユーザ 2

223

58

774

1055

ユーザ 2

15

5

96

116

ユーザ 3

415

500

1182

2097

ユーザ 3

37

53

144

234

ユーザ 4

302

115

1272

1689

ユーザ 4

20

12

156

188

6678

計

85

99

556

740

0.102

0.119

計

1068

975

状況の割合

0.142

0.129

4635

状況の割合

0.616 0.887

表 6 テストデータ 1 のツイートの内訳 (移動手段)

13

29

160

202

0.670 0.892

つ選ぶ．移動判定が「移動している」の場合には，移動手段を

鉄道

飛行機

車

歩き

その他

計

ユーザ 1

18

4

4

2

5

33

ユーザ 2

1

0

1

2

2

6

定が「移動していない」の場合には行動の種類の 3 区分につい

ユーザ 3

13

8

10

2

2

35

て回答した人の中で回答数の多い選択肢を詳細判定とした．以

ユーザ 4

11

2

3

1

4

21

上の結果，テストデータ 2 は表 8，表 9 のような内訳となった．

計

43

14

18

7

13

95

これらの表にある状況の割合は式 (2) で求めたものである．

状況の割合 0.052
表7

0.017 0.022 0.008

0.016 0.114

テストデータ 1 のツイートの内訳 (1〜3 次活動)

1 次活動 2 次活動 3 次活動

計

回答した人の中で回答数の多い選択肢を詳細判定とし，移動判

精度は移動判定，詳細判定の正解データと，分類器による状況推定を照らし合わせて求める．式 (3)，式 (4) のように移動判定と推定状況が一致したツイートの総数を移動判定のツイートの総数で割ったものを精度 A，詳細判定と推定状況が一致し

ユーザ 1

14

32

155

201

ユーザ 2

25

6

86

117

たツイートの総数を詳細判定のツイートの総数で割ったものを

ユーザ 3

47

55

130

232

精度 B とする．

ユーザ 4

33

12

140

185

計

119

105

511

735

0.143

0.127

状況の割合

精度 A =

移動判定と推定状況が一致したツイートの総数(3)
移動判定のツイートの総数

精度 B =

詳細判定と推定状況が一致したツイートの総数(4)
詳細判定のツイートの総数

0.616 0.886

道」，「移動手段：飛行機」，「移動手段：車」，「移動手段：歩き」，「移動手段：その他」，「1 次活動」，「2 次活動」，「3 次活動」の 8
種類のいずれかである．
また本稿では状況推定の客観性を担保するために複数人にアンケートをすることで正解の状況を定めたテストデータ 2 も評価に用いる．このアンケートの回答者は岡山大学工学部情報系
学科の学部生と岡山大学大学院自然科学研究科の大学院生の計6 名である．テストデータ 2 の正解の状況は次のように定めた．
まず回答者にテストデータのツイートを提示し，はじめの質問
でユーザが移動しているかについて問う．回答者は「移動している」，「移動していない」の選択肢からどちらか一方を選ぶ．
そして，回答数が多い方の選択肢を移動判定とした． 次に「移動している」と回答した人には，移動手段は何であるかについて問い，回答者は「鉄道」「飛行機」，
「車」，
「歩き」，
「その他」
の選択肢から 1 つ選ぶ．
「移動していない」と回答した人には，行動の種類の 3 区分のうちどれに当てはまるかについて問い，回答者は「1 次活動」，「2 次活動」，「3 次活動」の選択肢から 1

4. 3 実 験 結 果
4. 3. 1 テストデータ 1
doc2vec でベクトル化を行い，SVM と Random Forest によって状況推定したところ，テストデータ 1 では表 10〜表 14のような結果となった．表 10 では SVM，Random Forest それぞれによるテストデータ 1 の精度 A，精度 B を示し，表 11，表12 ではそれぞれ移動判定，詳細判定の SVM による状況別分類
数，表 13，表 14 ではそれぞれ移動判定，詳細判定の Random

Forest による状況別分類数を示す．表 10 から精度 A は SVM，Random Forest ともに約 9 割となり，精度 B はどちらも約 7割となった．

4. 3. 2 テストデータ 2
テストデータ 2 では，表 15〜表 19 のような結果となった．
表 15 では SVM，Random Forest それぞれによるテストデー
タ 2 の精度 A，精度 B を示し，表 16，表 17 ではそれぞれ移動
判定，詳細判定の SVM による状況別分類数，表 18，表 19 ではそれぞれ移動判定，詳細判定の Random Forest による状況

表 15 各手法の分類精度 (テストデータ 2)

表 10 各手法の分類精度 (テストデータ 1)

SVM Random Forest

SVM Random Forest

精度 A

0.918

0.906

精度 A

0.919

0.907

精度 B

0.733

0.702

精度 B

0.740

0.728

表 11 SVM による移動判定の状況別分類数 (テストデータ 1)

表 16 SVM による移動判定の状況別分類数 (テストデータ 2)

推定状況

推定状況

移動判定

移動している移動していない

移動判定

移動している移動している56

39

移動している

54

36

移動していない

29706

移動していない

31709

移動していない

表 12 SVM による詳細判定の状況別分類数 (テストデータ 1)

表 17 SVM による詳細判定の状況別分類数 (テストデータ 2)

1 次：1 次活動，2 次：2 次活動，3 次：3 次活動

1 次：1 次活動，2 次：2 次活動，3 次：3 次活動

推定状況
詳細判定 鉄道

飛行機 車

歩き

その他

推定状況

1次 2次 3次

詳細判定 鉄道

飛行機 車

歩き

その他

1次 2次 3次

鉄道

25

0

0

0

2

3

0

13

鉄道

23

0

0

0

2

3

0

12

飛行機

2

10

0

0

0

0

0

2

飛行機

2

10

0

0

0

0

0

2

車

3

0

8

0

0

1

0

6

車

3

0

7

0

0

1

0

4

歩き

0

0

0

0

1

1

2

3

歩き

3

0

0

0

1

1

2

5

その他

3

0

0

0

2

1

0

7

その他

3

0

0

0

0

1

0

5

1次

0

0

1

0

1

69

4

44

1次

0

0

1

0

0

56

1

27

2次

3

1

1

0

0

7

37

56

2次

2

1

1

0

0

6

37

52

3次

17

1

2

0

2

24

8

457

3次

17

1

3

0

5

38

11

481

表 13 Random Forest による移動判定の状況別分類数

表 18 Random Forest による移動判定の状況別分類数(テストデータ 1)(テストデータ 2)
推定状況

推定状況

移動判定

移動している移動していない

移動判定

移動している移動していない

移動している25

70

移動している

23

67

移動していない

8727

移動していない10730

表 14 Random Forest による詳細判定の状況別分類数

表 19 Random Forest による詳細判定の状況別分類数(テストデータ 1)
1 次：1 次活動，2 次：2 次活動，3 次：3 次活動(テストデータ 2)
1 次：1 次活動，2 次：2 次活動，3 次：3 次活動

推定状況
詳細判定 鉄道

飛行機 車

歩き

その他

推定状況

1次 2次 3次

詳細判定 鉄道

飛行機 車

歩き

その他

1次 2次 3次

鉄道

13

0

0

0

1

2

1

26

鉄道

12

0

0

0

1

2

1

24

飛行機

2

2

0

0

0

0

0

10

飛行機

2

2

0

0

0

0

0

10

車

3

0

2

0

0

3

0

10

車

3

0

1

0

0

3

0

8

歩き

0

0

0

0

0

3

0

4

歩き

1

0

0

0

0

2

0

9

その他

2

0

0

0

0

0

1

10

その他

1

0

0

0

0

0

1

7

1次

1

0

0

0

1

56

1

60

1次

1

0

0

0

1

48

0

35

2次

3

0

0

0

0

6

30

66

2次

3

0

0

0

0

6

29

61

3次

3

0

0

0

0

19

9

480

3次

4

0

1

0

0

28

11

512

別分類数を示す．表 15 からテストデータ 1 と同様，精度 A はどうかや移動手段は何であるかを推定することを検討していく．

SVM，Random Forest ともに約 9 割で，精度 B はどちらも約

表 12 の結果と笠原らの手法を比較すると，笠原らの「列車」

7 割となった．
4. 4 考察

表 4，表 6，表 8 から分かるように実験データ全体における移動を示すツイートの割合は小さい．このことから Twitter ユー
ザがツイート文で移動しているという状況の投稿を頻繁にしないということがわかった．このことを踏まえ，今後は移動を表すツイートだけでなくツイートの前後関係から移動しているかの再現率は 43.1% であるのに対し，「移動手段：鉄道」に関して
は詳細判定 43 件のうち 25 件 (58.1%) が正しく分類されており，笠原らの手法より良い結果が得られた．しかし，本研究の「移動手段：車」は詳細判定 18 件中 8 件 (44.4%)，「移動手段：歩き」は 7 件中 0 件 (0%) とどちらも笠原らの「車両」(54.4%)，「徒歩」(93.6%) の結果には及ばなかった．
表 12，表 14，表 17，表 19 に示したように，提案手法では

「歩き」に分類されるツイートはなかった．理由として学習デー
タに「歩き」に分類されるツイートが少なかったことが挙げられる．また，図 8 のようなテストデータ 1，テストデータ 2 ともに「移動手段：歩き」が正解であるツイートは，SVM では「2 次活動」，Random Forest では「1 次活動」に分類された．

SVM，Random Forest で分類が異なるのはツイート文の「お図 8 テストデータ 1，2 で「歩き」と判定されたツイート

店」というワードから「1 次活動」に含まれる「食事」と「2次活動」に含まれる「買い物」のどちらとも分類し得るためと推測される．本稿では移動手段の推定を主要な目的としている
ため，まず移動しているかどうかで分類したが，図 8 のツイー
トのように移動していても移動以外の他の活動を含んでいると

図 9 テストデータ 2 で「3 次活動」と判定されたツイート「移動していない」に分類されることがわかった．今後は状況の分類を排他的にするのではなく，1 つのツイート文から複数の状況を推定することを検討していく．

い結果であったが，移動手段の「車」，「歩き」の推定に関して

本実験では著者がツイートの状況を判定したテストデータ 1

は笠原らの実験結果に及ばなかった．また，テストデータ 1 とに加えて，複数人によって判定したテストデータ 2 も用いて精テストデータ 2 の比較により著者と複数の人との間で状況の判度を評価した．表 7 と表 9 を比較するとテストデータ 2 はテス

定基準に相違が見られた．学習データの状況判定は著者が一人

トデータ 1 と比べて「1 次活動」の割合が少なく，「3 次活動」ので行ったため，客観的な正解とは異なる状況推定がなされてい割合が高い．これは図 9 のようなツイートを著者は「食事」とるツイートがあることがわかった．今後の課題としては 1 つの捉え「1 次活動」に判定したが，アンケートの回答者の多くがツイート文の内容だけでなく，前後のツイートの時間経過や内「休養・くつろぎ」と捉え「3 次活動」に分類したためである．

容の変化に注目するなどして，移動やその他の状況の推定をよ

著者は学習データを作成する際にこれに類似した多くのツイー

り正確なものにしていく必要がある．
文

トを「1 次活動」と分類した．そのため SVM，Random Forest
ともに図 9 のツイートを「1 次活動」と分類している．表 12，
表 14，表 17，表 19 の結果より，詳細判定「3 次活動」の全体

[1]
[2]

の数 (テストデータ 1 では 511 件，テストデータ 2 では 556 件)に対する，詳細判定「3 次活動」が「1 次活動」に分類された[3]数の割合が SVM のときテストデータ 1 では 0.047 であるのに対し，テストデータ 2 では 0.068 と多くなっており，Random[4]

Forest のときもテストデータ 1 では 0.037 であるのに対し，テストデータ 2 では 0.050 と多くなっている．このことからコー[5]

ヒーを飲むような小休憩の意味合いを含む飲食を 3 次活動と判定する人が多いこと，客観的にみると「3 次活動」である状況[6]を分類器が「1 次活動」に分類してしまうことがわかった．今後はこのようなテストデータ 1 とテストデータ 2 の相違に注目し，学習データを精査したい．

5 ま と め

[7]

[8]

本稿ではツイートの文章を分析することでユーザの状況を自動で推定する手法を提案した．提案手法は，ツイート文を移動[9]しているか，移動していないかで分類し，移動している場合には移動手段で分類を行い，移動していない場合には総務省統計[10]

局が定めた行動の種類を基に「1 次活動」，「2 次活動」，「3 次活
動」に分類した．分類方法としては，まずツイートを doc2vec
でベクトル化し，それを分類器である Random Forest と SVMで分類した．推定の精度は，著者が一人で状況判定したテスト
データ 1 と複数人で状況判定したテストデータ 2 の 2 つを用いて評価した．実験の結果，最終的な状況分類の精度は約 7 割であった．移動手段の「鉄道」の推定は笠原らの実験結果より良

[11]
[12]

献

総務省 ICT サービスの利用動向 ，http://www.soumu.go.jp/
johotsusintokei/whitepaper/ja/h28/html/nc252110.html.
NEC プレスリリース ，http://www.nec.co.jp/press/ja/
1202/2002.html.
笠原秀一，飯山将晃， 美濃導彦， 環境制約を用いた旅行者 GPS
軌跡からのオンライン移動モード推定手法 ，電子情報通信学会
技術研究報告，vol. 115，no. 245，pp. 43-48，2015．
藤岡亮太，吉田稔，松本和幸，北研二， Twitter から抽出したユーザの発言に基づく健康状態の推定 ，人工知能学会全国大会，vol. 30，pp. 1-4，2016．
倉田彩子， Twitter を用いた状況検知システムの設計と構築 ，
慶應義塾大学環境情報学部卒業論文，2013．
Mikolov，T.，Sutskever，I.，Chen，K.，Corrado G. andDean，J.， Distributed representations of words and phrases
and their compositionality ，Advances in Neural Information Processing Systems 26，pp. 3111-3119，2013．
Mikolov，T.， Chen， K.， Corrado G. and Dean， J. Efficient estimation of word representations in vector space ，arXiv preprint arXiv:1301.3781，pp. 1-12，2013．
Le，Q. and Mikolov，T.， Distributed Representations ofSentences and Documents ，Proceedings of the 31st International Conference on Machine Learning，pp. 1188-1196，2014．
菅野賢輝，三浦紘弥，三村守，田中秀磨， Doc2Vec を用いた
静的解析によるマルウェア検知 ，情報処理学会全国大会，vol.
80，no. 3，pp. 547-548，2018．
平成 8 年社会生活基本調査 用語と分類 ，https://www.
stat.go.jp/data/shakai/1996/4.html.
Cortes，C. and Vapnik，V.， Support-Vector Networks ，Machine Learning，vol. 20，no. 3，pp. 273-297，1995．
Breiman，L.， Random forests ，Machine Learning，vol.
45，no. 1，pp. 5-32，2001．