twitterのfav(favorite機能)類似度を測るスクリプトを書いてみた
こんな感じでAさんとBさんがどれだけ同じものをfavっているのか軽く数えてみた。y_benjoさんが以前favった関係を無向グラフ化してクラスタ分けしていたが、ここでは「集合知プログラミング」の2章にある、「ユークリッド距離の二乗に1足して逆数を取る方法」を使っている。
今回は私と許可のいただけたfubaさん、y_benjoさん、それとfavotterで並んでた3名(仮にAさん、Bさん、Cさんとする)の方で類似度を測定してみた。条件として、最新5ページのfavを対象としている。
結果は表の通りとなった。数値は0〜1の範囲を取る。1に近ければ近いほど似た投稿をfavったと判断できる。同じIDで比較すると全てのfavが一致するので1になる。また比較の順番を変えても結果は変化しない。
showyou | fuba | y_benjo | |
showyou | 1 | 0.0064 | 0.0064 |
fuba | - | 1 | 0.0067 |
y_benjo | - | - | 1 |
A | B | C | |
A | 1 | 0.0088 | 0.0079 |
B | - | 1 | 0.0099 |
C | - | - | 1 |
表を見比べてもらうと少しわかるかと思うが、下側の方が少し類似度が高い。
実は後者の3名はふぁぼったーで並んでるとこから採用した。
現在はとくにアニメの実況など行われていないので類似度も低めだが、アニメの実況などで同じpostをfavっているときに類似度判断を行うとかなり高い類似度が得られるのではないか。
今後はこれを改良して、「これをfavった人はこんなpostもfavっています」とか「あなたと似たpostをfavっているのはこの方です」とかやってみると面白いかもしれない。twitterに負荷をかけてるので多用はできないだろうけど。