Bradley-Terryを使ったツイッター分析の論文を読む

ランニング30分 英語:できず

神嶌先生が出てくるツイッター分析の論文を読む

「被フォロー順序に基づくユーザの役割推定方法の提案」(2017)

http://db-event.jpn.org/deim2017/papers/209.pdf

以前書いた人間の感性を利用した強化学習で、2つのゲームビデオ画面の好悪比較で総合的な好みの順序をBradley-Terryモデルで推定していた。

[1706.03741] Deep reinforcement learning from human preferences

この論文はこのモデルの詳細な記述があるので読んでみた。

・論文の意図

ツイッターで自分のフォローしている人々(Followee)の分類とその特性の分析である。

f:id:mabonki0725:20170820084524p:plain

 

ツイッターでは、データをダウンロードするAIP(Twitter REST API)があり

自分のフォローする特定の分野のFollowee(フォローしている先)を集める。

ユーザのフォロー先で最初に表示した先は選好先として優劣を付ける。この総合的優劣を次のBradley-Terry推定で解く。

・Bradley-Terryの方法

このBradley-Terry推定は1952年の出案でかなり古い。

 ユーザu_i u_jの優劣を決定する隠れ変数x_i,x_jを想定して、総合順序を推定する。

  p(u_i \succ u_j) = \frac{x_i}{x_i+x_j}

  x_iの推定には最尤度で行う。

  \mathcal{L}(x) = \prod_{i=1}^m \prod_{j=1}^m p(u_i \succ u_j)^{n_{ij}}

  \mathcal{L}(x) = \prod_{i=1}^m \prod_{j=1}^m \left(\frac{x_i}{x_i+x_j} \right)^{n_{ij}}

  \mathcal{L}(x) = \prod_{i=1}^m \prod_{j \gt i}^m (x_i+x_j)^{-n_{ij}} \cdot (x_i+x_j)^{-n_{ij}}\cdot x_i^{n_{ij}}\cdot x_j^{n_{ji}}

  \mathcal{L}(x) = \prod_{i=1}^m \prod_{j \gt i}^m (x_i+x_j)^{-N_{ij}}\cdot \prod_{i=1}^m x_i^{W_i}     \left(s.t \,\, Wi = \sum_j^m n_{ij} \right)

 この対数尤度は

 \mathcal{L}(x) = \sum_{i=1}^{m} W_i \log x_i - \sum_{i=1}^m \sum_{i \gt j}^m N_{ij} \log(x_i+x_j)

 ここで次の拘束を入れる

 \sum_{i+1}^m x_i = 1

最終的な対数尤度は

 \mathcal{L}(x) = \sum_{i=1}^{m} W_i \log x_i - \sum_{i=1}^m \sum_{i \gt j}^m N_{ij} \log(x_i+x_j) - \lambda \left(\sum_{i=1}^m x_i = 1\right)

 対数尤度を偏微分して連立方程式を解くと

  \sum_{j \not i}^m N_{ij} \frac{{\color{red}{x_i}}}{x_i+x_j} = W_i

 上式をx_iで解く。しかし次式は陽に解けないので次式で\tilde{x_i}が収束するまで行う

 \tilde{x_i} = \frac{W_i}{\sum_{j \not i}^m \frac{N_{ij}}{x_i+x_j}}

 

・分析結果

 ジャンルである機械学習とイアホンの2種類について上記の選好順位とフォロー数を基にした順位で以下に区分する。

 A型:選好順位とフォロー数順位の差(ギャップ)が大きい先

 B型:選好順位とフォロー数順位の差が小さい先

 C型:上記以外

f:id:mabonki0725:20170820110730p:plain

 上記の結果から以下と分析している。

 A型:個人の選好よりフォロー数が絶対的に多い先なので権威先

    @sima_simaは神嶌先生

            @ibiml:機械学習グループ

    @preferred-jp:プリファード・ネットワーク会社 

 B型:ツイート数が多い先で特定の情報を発信する先

 C型:情報収集が目的のフォロー先