DEIM Forum 2013 B1-2

ベンフォードの法則を応用した bot アカウント検出
蔵内 雄貴†

西田 京介†川中翔†

星出 高秀†

内山匡†† 日本電信電話株式会社 NTT サービスエボリューション研究所 〒 239–0847 神奈川県横須賀市光の丘 1-1
E-mail: †{kurauchi.yuki,nishida.kyosuke,kawanaka.sho,hoshide.takahide,uchiyama.tadasu}@lab.ntt.co.jp
あらまし Twitter は，毎日 3 億件を超える投稿がある．この投稿の収集や解析が可能なことから，Twitter はマーケ
ティングのための情報源として注目されている．Twitter アカウントの中には bot と呼ばれる自動生成アカウントが存在し，一般的なユーザを対象としたいマーケティングにおいてノイズとなっている．そのため，bot アカウントに特徴的な素性を利用し検出する手法が研究されているが，その精度は十分でない．そこで，従来利用されていなかった，単語頻度や投稿時間の分布をもとにした素性を利用することで，bot アカウントを高精度に検出する手法を提案する．具体的には，ベンフォードの法則に着想を得て，ユーザのツイートログに関する単語頻度と投稿間隔の数値集合における最上位桁の数値の出現確率を素性として分類器を構築することで，単語頻度と投稿間隔の分布を得るために大量のツイートが必要となる問題を解決する．実験では，Twitter データを用い，bot アカウントと human アカウ
ントの判別タスクによって評価を行った結果，従来法で利用される素性群と比較して高い精度が得られることと，従来法と組み合わせることで精度が 9.2%ポイント向上できることを確かめ，提案法の優位性が示された．
キーワード

bot アカウント検出, 異常検出, ベンフォードの法則

Bot account detection using Benford’s law
Yuki KURAUCHI† , Kyosuke NISHIDA† , Sho KAWANAKA† ,Takahide HOSHIDE† , and Tadasu UCHIYAMA†† NTT Service Evolution Laboratories, NTT Corporation
1–1 Hikarinooka, Yokosuka, Kanagawa, 239–0847 Japan
E-mail: †{kurauchi.yuki,nishida.kyosuke,kawanaka.sho,hoshide.takahide,uchiyama.tadasu}@lab.ntt.co.jp
Key words bot account detection, anomaly detection, Benford’s law

1. は じ め に情報の投稿・閲覧，コンテンツの共有手段であるソーシャル

示している bot アカウントもある一方で，明示していないものも多い．このような背景から，Twitter アカウントにおける

bot アカウント検出が必要とされている．

ネットワーキングサービス（SNS）が普及し，様々な意見や感

従来の bot アカウント検出手法では，フォローしている人

想が投稿されている．その中でも Twitter（注 1）サービスは，毎(friend) とフォローされている人 (follower) の割合が大きく偏っ

日 3 億件を越える投稿（ツイート）があり，かつ投稿内容の収ている場合に bot である可能性が高いなどの，bot アカウント

集や解析が可能なことから，マーケティングのための情報源とに特徴的な素性を用いて分類器を構築する方法が数多く提案さして注目が集まっている [19], [20]．

れている [1], [5], [7], [8], [15]．しかし，これらの研究の精度にはTwitter アカウントの中には，プログラムによって自動的にまだ改善の余地がある．また，Chu ら [5] は，SNS におけるア

ツイートや友人登録（フォロー）などを行う bot と呼ばれるアカウントは，前述の bot アカウント，一般の人間である human

カウントが存在する．マーケティングにおける対象ユーザは，アカウント，その 2 つの中間にあたる cyborg アカウントに分

消費者となる一般的なユーザであるため，これらの bot アカウ

類できるとしているが，本稿では bot アカウントとは，Chu ら

ントは対象ユーザとして不適切であり，除去すべきアカウントの分類における bot アカウントと cyborg アカウントを含むもであると言える．しかし，プロフィールに bot であることを明のとする．

（注 1）：http://twitter.comと bot アカウントで従う分布が異なることに着目し，従来は利

我々は，単語頻度と投稿間隔について，human アカウント

用されていなかった単語頻度と投稿間隔にもとづく素性を用い

表 1 自然界における数値集合の，最上位桁の数値の出現確率の理論的な分布て分類器を構築することで，より高精度に bot アカウント検出
1を行うことを目指す．しかし，この際，単語頻度や投稿間隔の分布を得るためには大量のツイートが必要となるにも関わらず，

2

3

4

5

6

7

8

bot アカウントの中には少量のツイートしか行わないアカウン
トがあり，正確な素性が得られない問題がある．このようなア

定 [16] の研究があげられる．文献 [20] では，spam メール検出

カウントは，あるアカウントが多くのアカウントに支持されてと同様に単語を利用するため適用できない．文献 [11], [16] でいるように見せかけるなどのために，大量に作成されている．

は，ソーシャルネットワークをグラフとして用い，ユーザ属性

そこで，単語頻度や投稿間隔の最上位桁の数値の出現確率を素や影響力を推定している．これらは，bot の周囲には bot が多性として分布を判別することで，bot アカウント検出を行う手いという性質や，bot 同士の特徴的なネットワークの形などを法を提案する．この手法で用いる素性である最上位桁の数値の利用することで，同様に bot アカウントの検出が可能であると出現確率は，9 次元であるため，少量のツイートからでも得る考えられる．これらの手法は，我々の手法を含む，特徴的な素ことができ，上記の問題が解決できる．これは，ある数値集合性を用いた bot アカウント検出手法と組み合わせることで精度が対数的な分布に従って生成されている場合，その数値集合の向上できると期待される．

各数値における最上位桁の数値の出現確率には偏りがあるというベンフォードの法則 [14] に着想を得たものである．
実験では，収集した Twitter データを用い，bot アカウントと human アカウントの判別タスクによって評価を行った．その結果，従来法で利用される素性群と比較して高い精度が得られることと，従来法と組み合わせることで精度が 9.2%ポイン
ト向上できることを確かめ，提案法の優位性が示された．
以下，本稿では，2 章で関連研究について述べ，3 章ではベンフォードの法則を応用した素性を紹介する．4 章では上記素我々の提案する手法は，bot アカウントに特徴的な素性を用いる手法に属し，従来利用されていなかった単語頻度と投稿間
隔にもとづく素性を用いることで，その精度を向上することを目的とする．

3. ベンフォードの法則を応用した素性
本章では，まずベンフォードの法則について説明し，その後，ベンフォードの法則をもとにした素性と，Twitter におけるその素性の性質について述べる．

性を用いた提案法について詳述し，5 章では実験について述べ，

3. 1 ベンフォードの法則の概要

6 章では考察，7 章ではまとめを行う．

ベンフォードの法則とは，電気料金の請求書，住所の番地，

2. 関 連 研 究

株価，人口，川の長さ，物理・数学定数などの，自然界に表れる（対数的な分布に従って生成される）数値集合の，各数値にbot アカウント検出は，マーケティングにおいて重要となる，おける最上位桁の数値の出現確率には偏りがあるという法則でトレンド検出 [10]，意見抽出 [6]，ユーザ属性推定 [11], [20] など

ある [14]．表 1 に，その理論的な最上位桁の数値の出現確率のの前処理として必須の技術である．また，レコメンドにおいて分布を示す．この分布から大きく離れている場合，なんらかのも，ユーザが扱った情報をレコメンドする場合 [3] などにおい人手による操作などが行われた可能性がある．

て，その情報が bot アカウントから発信されていないかを判定する場合に有用である．

9

出現確率 0.301 0.176 0.125 0.097 0.079 0.067 0.058 0.051 0.046

この法則を利用すると，会計額の数値集合などが与えられた際に，その数値集合の各数値における最上位桁の数値の出現確

従来の bot アカウント検出手法では，bot アカウントに特徴的率を求め，理論的な確率分布 (表 1) と比較することで，会計額な素性を用いる方法が数多く提案されている [1], [5], [7], [8], [15]．

が人手によって操作された可能性があることを検知できる．そ用いられる素性には，総ツイート数，friend と follower の割合，のため，会計や支出に関する詐欺の指標として利用できること

投稿曜日の偏り，投稿ソース，URL を含むツイートの割合なが示されている [12]．

どがあり，推定器にはナイーブベイズ，ブースティングなどが3. 2 素性としての最上位桁の数値の出現確率用いられる．

我々はこのベンフォードの法則に着想を得て，最上位桁の数

類似のタスクである spam メール検出においては，spam で用値の出現確率を素性とすることを考えた．そのメリットとして，

いられやすい単語を利用する手法が研究されており [13]，spam

与えられた数値集合の数が少なかったとしても分布に従うかをツイート検出にも適用されている [9]．これを適用することで判別できることがあげられる．分布に従う度合を求める方法とソーシャルネットワークサービスにおける bot アカウント検出

しては，他にも KL ダイバージェンスなどを用いる方法などがも可能であると考えられるが，そのように利用された例は見ら考えられるが，正確な分布を得るためには大量のデータが必要れない．これは，ツイート数が少ない bot も多く，このようなとなる．例えば単語頻度分布などの場合，単語の数が極めて多場合に十分な単語量が得られず精度が低下するほか，トピック

いため，単語頻度分布を得るためには大量の文章が必要となる．

によって素性とすべき単語が変化する問題があるためだと考え

しかし，最上位の数値の出現確率を用いる場合，素性とする最られる．

上位桁の数値は 1 から 9 のみであるため，最上位桁の数値の出

別の類似のタスクであるユーザの性質を推定する研究として

現確率分布は少量のデータからでも十分な精度で得られる．すは，前述のユーザ属性推定 [11], [20] のほか，ユーザの影響力推

なわち，数値集合の分布の代わりに，最上位桁の数値の出現確

ϭϬϬ

Ϭ͘ϳ

ƉŽǁ
ĞǆƉ

Ϭ͘ϲ

ϴϬ
ĞƌƌŽƌƌĂƚĞฟ ⌧☜ ⋡

Ϭ͘ϱ
Ϭ͘ϰ
Ϭ͘ϯ
Ϭ͘Ϯ

ϲϬ
ϰϬ
ϮϬ

Ϭ͘ϭ
Ϭ
ϭ

Ϯ

ϯ

ϰ

ϱ

ϲ

ϳ

ϴ

Ϭ

ϵ

ϭϬ

᭱ୖ ఩ ᱆䛾 ᩘ ್ฟ⌧ ☜ ⋡

図 1 べき乗則（パレート分布）に従う乱数 (100 個) の場合

ϲϬƐĂŵƉůĞƐŝǌĞϭϭϬ

図 3 べき乗則，指数分布におけるエラー率Ϭ͘ϳ

間隔が一般的に従う，指数分布を用いた．このとき，べき乗則Ϭ͘ϲ（パレート分布）に従う乱数は式 (1)，指数分布に従う乱数は式Ϭ͘ϱ(2) によって生成した [18]．

Ϭ͘ϰ(1 − U )−1/α(1)−θ ln(1 − U )

(2)

Ϭ͘ϯ
Ϭ͘Ϯ
Ϭ͘ϭ

ここで，U は [0, 1) の一様乱数，α は形状母数，θ は尺度母数

Ϭ
ϭ

Ϯ

ϯ

ϰ

ϱ

ϲ

ϳ

ϴ

を表し，α = 1，θ = 1 と設定した．

ϵ᭱ ୖ ఩᱆ 䛾ᩘ ್

べき乗則の場合の結果を図 1 と表 2，指数分布の場合の結果を図 2 と表 3 に示す．図の横軸は最上位桁の数値，縦軸は各数

図 2 指数分布に従う乱数 (100 個) の場合

値の出現確率，エラーバーは標準偏差を表し，表の列は最上位桁の数値を表す．その結果，標準偏差の最大値は，べき乗則に

表 2 べき乗則（パレート分布）に従う乱数 (100 個) の場合

1

2

3

4

5

6

7

8

9

おける最上位桁の数値が 1 の場合で，0.049 であった．これはmean 0.567 0.180 0.091 0.054 0.037 0.025 0.019 0.015 0.012

極めて小さく，例えば単語頻度を利用する場合，100 語の頻度

stdev 0.049 0.035 0.033 0.021 0.019 0.017 0.015 0.012 0.010が得られればその生成分布が何であるか判別が可能ということ

max

0.680 0.260 0.200 0.110 0.100 0.070 0.060 0.060 0.050

min

0.460 0.100 0.020 0.010 0.000 0.000 0.000 0.000 0.000を示唆する．
さらに，与えられた数値集合の数による判別精度の変化を，検定を用いて検証した．具体的には，各分布に従う乱数から最表 3 指数分布に従う乱数 (100 個) の場合

1

2

3

4

5

6

7

8

9

mean 0.334 0.167 0.116 0.087 0.075 0.060 0.061 0.051 0.049

上位桁の数値の出現確率を観測値として得た後，理論的な分布を期待値として，カイ二乗適合度検定 (p < 0.05) を行った．乱

stdev 0.049 0.036 0.032 0.027 0.025 0.020 0.023 0.023 0.023

数の数は 10 から 500 まで 10 きざみとして検証した．そして，

max

0.550 0.270 0.240 0.190 0.160 0.120 0.120 0.120 0.120

べき乗分布と指数分布について，それぞれ 1000 回実施し，エmin

0.220 0.060 0.040 0.040 0.020 0.020 0.010 0.000 0.010

ラー率を求めた．
結果を，図 3 に示す．横軸は与えた数値集合の数，縦軸はエ率を用いれば，数値集合の完全な分布が得られないとしても，数値集合の分布と同等の情報量を得られることを，ベンフォードの法則は示唆している．
そこで，数値集合の数が少ない場合に，最上位桁の数値の出現確率分布にどの程度の分散が生じるのかを，実験的に確かめた．具体的には，与えられた数値集合の数が 100 個であったと仮定して各分布に従う乱数を 100 個生成し，その最上位桁の数
値の出現確率分布を求める，というステップを 100 回繰り返し，各数値の最上位桁の数値の確率と標準偏差を求めた．分布には，単語頻度が一般的に従う，べき乗則（パレート分布）と，投稿ラー率を表す．すなわち，図 3 の pow はべき乗則に従う数値を入力した際にべき乗則に従わないと誤った割合を，exp は指数分布の場合を示す．これから，いずれの場合も，数値集合の数が 100 程度のときにエラー率がほぼ 0 となることがわかる．
こちらにおいても，先ほどと同じく，例えば単語頻度を利用する場合，100 語の頻度が得られればその生成分布が何であるか判別が可能という示唆を得られた．

3. 3 Twitter における最上位桁の数値の出現確率
ここでは，Twitter における数値集合として，単語頻度と投稿間隔を取り上げ，その最上位桁の数値の出現確率の検証結果
を示す．

Ϭ͘ϳ

Ϭ͘ϲ

Ϭ͘ϲ

Ϭ͘ϱ

Ϭ͘ϱ
ฟ⌧ ☜ ⋡ฟ⌧ ☜ ⋡

Ϭ͘ϳ

Ϭ͘ϰ
Ϭ͘ϯ

Ϭ͘ϰ
Ϭ͘ϯ

Ϭ͘Ϯ

Ϭ͘Ϯ

Ϭ͘ϭ

Ϭ͘ϭ

Ϭ

Ϭ
ϭ

Ϯ

ϯ

ϰ

ϱ

ϲ

ϳ

ϴ

ϵ

ϭ

Ϯ

ϯ

᭱ୖ ఩ ᱆䛾 ᩘ ್

図 4 human アカウントの単語頻度の場合

ϱ

ϲ

ϳ

ϴ

ϵ

ϴ

ϵ

図 6 human アカウントの投稿間隔の場合

Ϭ͘ϳ

Ϭ͘ϳ

Ϭ͘ϲ

Ϭ͘ϲ

Ϭ͘ϱ

Ϭ͘ϱ
ฟ ⌧☜ ⋡ฟ⌧ ☜⋡ϰ᭱ ୖ఩ ᱆ 䛾ᩘ ್

Ϭ͘ϰ
Ϭ͘ϯ

Ϭ͘ϰ
Ϭ͘ϯ

Ϭ͘Ϯ

Ϭ͘Ϯ

Ϭ͘ϭ

Ϭ͘ϭ
Ϭ

Ϭ
ϭ

Ϯ

ϯ

ϰ

ϱ

ϲ

ϳ

ϴ

ϭ

ϵ

Ϯ

ϯ

図 5 bot アカウントの単語頻度の場合

2

3

4

5

6

ϱ

ϲ

ϳ

図 7 bot アカウントの投稿間隔の場合

表 4 human アカウントの単語頻度の場合

1ϰ᭱ ୖ ఩᱆ 䛾 ᩘ್᭱ୖ ఩᱆ 䛾ᩘ್7

表 6 human アカウントの投稿間隔の場合

8

9

1

2

3

4

5

6

7

8

9

mean 0.622 0.167 0.077 0.045 0.030 0.021 0.016 0.012 0.010

mean 0.283 0.174 0.133 0.100 0.080 0.067 0.061 0.057 0.044

stdev 0.057 0.025 0.016 0.012 0.016 0.016 0.007 0.011 0.007

stdev 0.040 0.030 0.030 0.021 0.017 0.014 0.018 0.029 0.010

max

0.955 0.697 0.667 0.289 0.738 0.683 0.188 0.589 0.270

max

0.901 0.919 0.713 0.617 0.524 0.243 0.513 0.921 0.195

min

0.071 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

min

0.000 0.000 0.000 0.000 0.000 0.002 0.000 0.000 0.000

表 5 bot アカウントの単語頻度の場合

1

2

3

4

5

6

7

表 7 bot アカウントの投稿間隔の場合

8

9

1

2

3

4

5

6

7

8

9

mean 0.441 0.177 0.107 0.076 0.056 0.046 0.037 0.032 0.028

mean 0.296 0.147 0.189 0.075 0.071 0.061 0.084 0.044 0.033

stdev 0.175 0.087 0.073 0.060 0.054 0.045 0.040 0.036 0.033

stdev 0.153 0.078 0.142 0.054 0.044 0.040 0.087 0.061 0.028

max

0.988 0.754 0.812 0.718 0.808 0.664 0.728 0.727 0.507

max

0.991 0.893 0.906 0.797 0.423 0.732 0.765 0.923 0.534

min

0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

min

0.000 0.000 0.000 0.000 0.000 0.001 0.000 0.000 0.000

3. 3. 1 単 語 頻 度

いと予想される．一方で，human アカウントの場合は，様々な一般的に，単語頻度は zipf の法則に従い，k 番目に頻度の多トピックについて，テンプレートを持たず投稿するなどのため，い単語の頻度は最も頻度の多い単語の 1/k であることが知られ多様な単語を用いる傾向があり，zipf の法則と図 1 に従うと予ている [17]．これは，Twitter において利用される単語の頻度想される．

においても同様であると考えられる．すなわち，Twitter におこれを，実データを用いて実験的に確かめた．human アカウ

ける単語頻度の最上位の数値の出現確率は，べき乗則（パレーントの単語頻度の場合の結果を図 4 と表 4，bot アカウントのト分布）に従う乱数の場合（図 1）に近いと予測される．

単語頻度の場合の結果を図 5 と表 5 に示す．これから，human

しかし，bot アカウントの場合，投稿内容が特定のトピックアカウントはべき乗則（図 1）に従っており，標準偏差も最大でに偏ったり，テンプレート文書を含むなどのため，一部の単語

0.057 と小さいことがわかる．bot アカウントはべき乗則（図を集中的に利用する傾向があり，zipf の法則と図 1 には従わな

1）よりも指数分布（図 2）に近い特徴を持ち，標準偏差も最大

で 0.175 と大きいことがわかる．

human アカウントにおいて，最上位桁の数値が 1 である確
Twitter 特有の単語，すなわち，URL やハッシュタグなどが影響し，頻度が 1 となるような単語が多いためと考察できる．また，bot アカウントの標準偏差が大きいのは，bot アカウントにも様々な種類があり，全てのツイートがテンプレートに沿うような bot アカウントの場合，単語頻度がほぼ一様分布になるのに対し，広報などのアカウントではトピックに偏りがあるものの，human アカウントに近い分布をとることが影響していると考察できる．

ϭϬϬ
ϵϱ
ϵϬ
ϴϱ
ϴϬ
ϳϱ
ϳϬ
ϲϱ
ϲϬ
ϱϱ
ϱϬ

ΎΎΎ
ΎΎ

ΎΎΎ
ΎΎΎ

ĐĐƵƌĂĐǇ

率が，べき乗則の場合よりも 5%程度高くなっている．これは，ŐĞŶĞƌĂů
ďĞŶĨŽƌĚ;ǁŽƌĚͿďĞŶĨŽƌĚ;ƚŝŵĞͿďĞŶĨŽƌĚ;ǁŽƌĚнƚŝŵĞͿĂůůϮϬ

3. 3. 2 投 稿 間 隔
一般的に，単位時間ごとに生起する事象の数がポアソン分布

ΎΎΎ
ΎΎΎ

ϮϬϬ
ηŽĨdǁĞĞƚƐ

図8

ϯϮϬϬ

実験結果 (Accuracy)に従う場合，そのような事象の生起間隔は指数分布に従う．これは，Twitter におけるツイートの投稿間隔においても同様でする．

あると考えられる．すなわち，Twitter における投稿間隔の最4. 2 概上位の数値の出現確率は，指数分布に従う乱数の場合（図 2）あるアカウントのツイート集合を入力とし，各単語の頻度をに近いと予測される．

要

数え上げた後，頻度の最上位桁における各数値の出現確率を求

しかし，bot アカウントの場合，投稿がプログラムなどによっめ，これを 9 次元の特徴ベクトルとした．この際，単語には，て制御され，投稿時間のルールや周期性を持つなどのため，投URL やハッシュタグを含む全ての品詞を利用し，ツイート中

稿間隔がばらつかず固定される傾向があり，指数分布と図 2 にに含まれる短縮 URL は，再帰的に拡張を行った．投稿間隔には従わないと予想される．一方で，human アカウントの場合

ついても，同様に 9 次元の特徴ベクトルとした．この際，投稿は，睡眠を含む様々な行動の合間に投稿を行うため，投稿間隔

間隔の単位は秒とした．

にばらつきが生じる傾向があり，指数分布と図 2 に従うと予想される．
これを，実データを用いて実験的に確かめた．投稿間隔は，秒単位として数値を得た．human アカウントの投稿間隔の場
合の結果を図 6 と表 6，bot アカウントの単語頻度の場合の結果を図 7 と表 7 に示す．これから，human アカウントは指数

この 2 種類の 9 次元特徴ベクトルは，重みづけなどを用いて統合するなど，様々な方法が考えられる．今回は，最もシンプルな方法としてそのまま結合し，18 次元の特徴ベクトルとして用いるものとした．

5. 実

験

分布（図 2）に従っており，標準偏差も最大で 0.040 と小さい

提案法の有効性を検証するため，bot アカウントと human

ことがわかる．bot アカウントは指数分布（図 2）に従っておアカウントの分類タスクで評価実験を行った．本稿では，従来

らず，いくつかのピークを持ついびつな分布であり，標準偏差法で用いられた素性群と比較して，提案する素性がどの程度有も最大で 0.153 と大きいことがわかる．また，bot アカウント用な素性であるのかと，従来法および提案法の 2 つの素性を組において特に 3 や 7 が大きな出現確率となっているが，これは，み合わせることでどの程度精度が向上するのかの 2 点を明らか

1 時間 (3600 秒) または 2 時間 (7200 秒) に 1 度投稿するようにする．

な bot アカウントが多く存在することが影響していると考察で

5. 1 デ ー タ

きる．

アカウントの収集方法は，下記の通りである．まず，bot ア

以上から，単語頻度と投稿間隔ともに，human アカウントとカウントについては，“bot”，“広報”，“PR” などの文字列を用

bot アカウントにおいて，最上位桁の数値の出現確率の傾向がいてプロフィールを検索し，該当したアカウントのプロフィー

異なっていることがわかる．そのため，単語頻度と投稿間隔に

ルとツイートについて人手によるチェックを行い，bot アカウ

おける最上位桁の数値の出現確率を素性として用いることで，ントと思われるものを収集した．次に，human アカウントに

human アカウントと bot アカウントの判別を行うことができ

ついては，ランダムサンプルを行った後，各アカウントのプロると考えられる．

フィールとツイートについて人手によるチェックを行い，human

4. 提 案 法

アカウントと思われるものを収集した．その後，各アカウン
トの過去ツイートを収集した．ツイートの収集には Twitter

ここでは，提案法の問題定義と概要について述べる．

statuses/user timeline API を用いた．収集したアカウント数

4. 1 問 題 定 義はそれぞれ 5000 アカウントずつで，ツイート総数は 15,942,560あるアカウントのツイート集合を入力とし，bot アカウント

ツイートとなった．

と human アカウントのいずれであるかを判別し出力する．こ5. 2 実験概要および結果の際，ツイート集合にはその投稿時間が付与されているものと入力とするツイート数は，最大 20 件，200 件，3200 件のときの場合について実験を行った．推定器には，liblinear（注 2）のスク [2] などには適さないと考えられる．

L2-regularized logistic regression (primal) を利用した．評価

従来の spam/bot アカウント検出の手法は，用いる素性がには，10-cross validation を用い，その際のパラメタは，予備

spam/bot 提供者側に知られてしまうと，spam/bot 提供者が実験においてテストデータとは別のデータセットを用意し，最対応し検出されないよう工夫されてしまう，いわゆるイタチ

適な値を求めてこれを利用した．評価指標には，accuracy を用

ごっことなってしまう問題があった．しかし，単語頻度や投稿いた．

間隔がべき乗則に従うようにツイートを生成することは難しい

比較手法には，[1], [5], [7], [8], [15] など多くの手法に共通してと考えられる．そのため，単語頻度や投稿間隔を素性にしてい用いられている素性として，総ツイート数，friend と follower

ることが spam/bot 提供者側に知られても，対応されない，もの割合，投稿曜日の偏り，投稿ソース，URL を含むツイート

しくは対応が難しいために，提案法にはイタチごっこを防ぐ効の割合を用い，提案法と同一の推定器によって判別する手法を果も期待できる．

用いた．
結果を図 8 に示す．図における横軸の数値は入力としたツイー

7. ま と め

ト数を，general は比較手法を，benford(word) は単語頻度の本稿では，ベンフォードの法則を応用した bot アカウント検

最上位桁の数値の出現確率を素性にした場合を，benford(time)

出手法を提案した．これは，従来利用されていなかった，使用は投稿間隔の最上位桁の数値の出現確率を素性にした場合を，単語や投稿時間の分布をもとにした素性を利用することで，bot

benford(word+time) は上記 2 つの素性を組み合わせた場合を，アカウントを高精度に検出する手法である．本研究の貢献は，

all は全ての素性を組み合わせた場合を表す．

ベンフォードの法則に着想を得て，ユーザのツイートログに関

まず，入力とするツイート数の変化による精度の変化は，全てする単語頻度と投稿間隔の数値集合における最上位桁の数値のの素性において，ツイート数が多くなるほどに精度が上昇する

出現確率を素性として分類器を構築することで，各分布を得る

が，200 ツイート以降は大きな変化がないことがわかる．また，ために大量のツイートが必要となる問題を解決し，bot アカウ

最もツイート数の影響を受けるのは単語頻度 (benford(word))

ント検出の精度を改善した点にある．実験では，Twitter デー

であることがわかる．単語頻度と投稿間隔を組み合わせた場合

タを用い，bot アカウントと human アカウントの判別タスク(benford(word+time))，ツイート数によらず，単体で用いた場によって評価を行った結果，従来法で利用される素性群と比較合 (benford(word), benford(time)) よりも精度が上がっている

して高い精度が得られることと，従来法と組み合わせることでことがわかる．これから，ツイート数が少ない場合でも，組合精度が 9.2%ポイント向上できることを確かめ，提案法の優位せる際に精度への悪影響を与えることはないと考えられる．

性が示された．

十分にツイート数がある場合には，単語頻度 (benford(word))
および投稿間隔 (benford(time)) は単一の素性のみを用いているにも関わらず，比較手法 (general) よりも高い精度が得られていることがわかる．特に，単語頻度 (benford(word)) のみを用いた場合には，86.8%の精度が得られており，比較手法(general) の精度である 82.6%と比べても，4.2%ポイントの精度改善ができている．また，全ての素性を組み合わせる (all) ことで，91.8%と，比較手法 (general) よりも 9.2%ポイントの精度改善ができた．

6. 考察

提案法は，数値集合の最上位桁の数値の出現分布という，極めて一般的な素性を用いている．そのため，Twitter における

bot アカウント検出だけでなく，様々なタスクに利用できると考えられる．例えば，ソーシャルネットワーク全般における

bot アカウント検出や，ゲームなどにおける bot アカウント検
出 [4]，spam メール検出，spam サイト検出などがあげられ，極めて一般的に異常検出として用いることができると考えられる．
ただし，ユーザ単位などのある程度のまとまりがないと最上位桁の数値の出現分布を構成できないために，ごく少量の文章などには適用が難しいという特徴を持つ．そのため，単一のツイートなどに対する処理，例えば，デマツイート検出などのタ（注 2）：http://www.csie.ntu.edu.tw/c̃jlin/liblinear/文

献[1] Benevenuto, F., Magno, G., Rodrigues, T. and Almeida, V.:
Detecting spammers on twitter, Collaboration, Electronic
messaging, Anti-Abuse and Spam Conference (CEAS),
Vol. 6 (2010).
[2] Castillo, C., Mendoza, M. and Poblete, B.: Informationcredibility on twitter, Proceedings of the 20th international
conference on World wide web, ACM, pp. 675–684 (2011).
[3] Chen, J., Nairn, R. and Chi, E.: Speak little and well: recommending conversations in online social streams, Proceedings of the 2011 annual conference on Human factors incomputing systems, ACM, pp. 217–226 (2011).
[4] Chen, K., Pao, H. and Chang, H.: Game bot identiﬁcation
based on manifold learning, Proceedings of the 7th ACM
SIGCOMM Workshop on Network and System Support forGames, ACM, pp. 21–26 (2008).
[5] Chu, Z., Gianvecchio, S., Wang, H. and Jajodia, S.: Whois tweeting on twitter: human, bot, or cyborg?, Proceedingsof the 26th Annual Computer Security Applications Conference, ACM, pp. 21–30 (2010).
[6] Dey, L. and Haque, S.: Opinion mining from noisy text
data, International journal on document analysis and recognition, Vol. 12, No. 3, pp. 205–226 (2009).
[7] Gayo-Avello, D. and Brenes, D.: Overcoming Spammers
in Twitter-a tale of ﬁve algorithms, Spanish Conference on
Information Retrieval (CERI) (2010).
[8] Grier, C., Thomas, K., Paxson, V. and Zhang, M.: @spam:
the underground on 140 characters or less, Proceedings ofthe 17th ACM conference on Computer and communica-

tions security, ACM, pp. 27–37 (2010).
[9] Irani, D., Webb, S., Pu, C. and Li, K.: Study of trendstuﬃng on twitter through text classiﬁcation, Collaboration, Electronic messaging, Anti-Abuse and Spam Conference (CEAS) (2010).
[10] Mathioudakis, M. and Koudas, N.: Twittermonitor: trend
detection over the twitter stream, Proceedings of the 2010
international conference on Management of data, ACM, pp.
1155–1158 (2010).
[11] Mislove, A., Viswanath, B., Gummadi, K. and Druschel, P.:
You are who you know: inferring user proﬁles in online social networks, Proceedings of the third ACM international
conference on Web search and data mining, ACM, pp. 251–
260 (2010).
[12] Nigrini, M.: I ve got your number，Journal of Accountancy,
Vol. 187, No. 5, pp. 79–83 (1999).
[13] Sahami, M., Dumais, S., Heckerman, D. and Horvitz, E.:
A Bayesian approach to ﬁltering junk e-mail, Learning
for Text Categorization: Papers from the 1998 workshop,
Vol. 62, Madison, Wisconsin: AAAI Technical Report WS98-05, pp. 98–105 (1998).
[14] Varian, H.: Benford s law，The American Statistician,Vol. 26, No. 3, pp. 65–6 (1972).
[15] Wang, A.: Don’t follow me: Spam detection in twitter, Security and Cryptography (SECRYPT), Proceedings of the2010 International Conference on, IEEE, pp. 1–10 (2010).
[16] Weng, J., Lim, E., Jiang, J. and He, Q.: Twitterrank:ﬁnding topic-sensitive inﬂuential twitterers, Proceedings ofthe third ACM international conference on Web search anddata mining, ACM, pp. 261–270 (2010).
[17] Zipf, G.: The psycho-biology of language. (1935).
[18] 四辻哲章計算機シミュレーションのための確率分布乱数生成法，
プレアデス出版 (2010).
[19] 池田和史， 服部元，松本一則マーケット分析のための Twitter
投稿者プロフィール推定手法 (コンシューマ・デバイス & システム Vol. 2 No. 1)，情報処理学会論文誌 論文誌トランザクショ
ン， Vol. 2, No. 1, pp. 82–93 (2012).
[20] 蔵内雄貴，内山俊郎，内山 匡マルコフ確率場を用いたソーシャ
ルネットワークからのユーザ属性推定，Web DB フォーラム2012 論文集 (2012).