分からんこと多すぎ

何故か就職できたので技術磨く。一人前の多重線形代数使いを目指しつつ、機械学習、データマイニングをやる

はてなブックマークをデータマイニングした_2013年_06月-09月

概要

TwitterなどのSNSは、自分の興味ある話題を共有できるユーザのグループを見つけ、その人達とオススメ情報を共有するのが、メジャーな使い方でしょう。

したがって、私のようなコミュ症は、そもそもSNSに向いていません。


そこで本記事では、はてブユーザたちが形成する、

同じ話題(タグのグループ)に興味を持っている

ユーザの集団と、

彼らが有用と判断した記事郡を、勝手に解析して紹介します。

人と話す必要はないので,安全安心です.


また、そのユーザの集団の中でも特に、有用な記事を発掘してくるユーザのランキングも、合わせて記載します。

(名前出すのがまずかったら消します)


データ自体は古いので、主に、お気に入り登録すべきユーザを発見するために利用して貰えたら幸いです。

解析手法(高校生向け)やデータの詳細は、最後の方を参照してください。

はてブデータマイニング結果

このページには新着ブックマーク四ヶ月分まとめて解析した結果出てきた49カテゴリ中、

上位3カテゴリのみを書くので、もっと詳しく知りたい人は別記事参照

「順位,クラスタ名(適当につけました)・全体から見たそのクラスタの大きさ」でタイトルをつけています。

あくまで新着ブクマの順位なので,どれだけ結束力が強くて高速に情報を広める人たちの集団かという順位です.

第1位・スマートフォン・4.4%

記事ランキング(クラスタの中で著名な記事)

  1. CNET Japan
  2. iPhone 5s / 5c 価格比較:auソフトバンク横並び、ドコモは総額高の実質安。各社 MNP 乗りかえ施策 - Engadget Japanese
  3. ドイツのハッカー集団、複製した指紋でAppleのTouch IDを迂回 | TechCrunch Japan
  4. Apple - Press Info - NTT DOCOMO & Apple Team Up to Offer iPhone in Japan on Friday, September 20
  5. iOS 7の一般公開を控えて、旧バージョンiOSデバイスに旧バージョン向けアプリのインストールが可能になっている | TechCrunch Japan
  6. Google、テレビのHDMI端子に挿すChromecast を発表。価格は35ドル - Engadget Japanese
  7. アップル - iPhone 5c
  8. 現在、僕が iPhone5 にインストールしてるアプリ全115個のまとめ備忘録。
  9. ライフスタイルを彩る「5c」、未来を映す「5s」:どちらも期待を裏切らない“正統進化”――林信行の「iPhone 5c/5s」徹底レビュー (1/4) - ITmedia PC USER
  10. iOS 7にアップデートしてはいけない7つの理由 LINEに通知の不具合も

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. a_matsumoto:期間内合計ブクマ数174
  2. yadokari23:496
  3. anegishi:62
  4. ayaniimi213:349
  5. androidzaurus:337
  6. s_nagano:25
  7. riocampos2:77
  8. mpresso:57
  9. Kmusiclife:57
  10. daichiman:23

25とかでランキングに食い込んできているs_naganoさんとかが、特にこのクラスタのみ集中して調べている人です。

タグランキング(クラスタが共有する話題)

  1. iphone
  2. android
  3. ニュース
  4. webサービス
  5. mobile
  6. google
  7. myinterest
  8. ios
  9. apple
  10. myhotentry



第2位・2chまとめ(サッカー)・4.2%

記事ランキング(クラスタの中で著名な記事)

  1. 名古屋、2ステージ制反対の横断幕を置いていく…ほか各会場の2ステージ制反対横断幕まとめ : footballnet【サッカーまとめ】
  2. 日韓戦で旭日旗…横浜FMに問い合わせ殺到しクラブ側がコメント発表「旭日旗を降った人物は三年前の事件によりスタジアム無期限入場禁止処分を科しています」 : footballnet【サッカーまとめ】
  3. 本田、ミラノ入り情報もあったが、きょうのCSKAの試合にスタメン出場濃厚 : footballnet【サッカーまとめ】
  4. ザックジャパン、東アジア杯豪州戦の視聴率は14.7% : footballnet【サッカーまとめ】
  5. 梶山陽平をググるとなぜかFC東京のユニを着た柴田理恵が出てくると話題 : footballnet【サッカーまとめ】
  6. J1第17節、広島が首位浮上で折り返し!大宮は連敗…「新代表組」も活躍 : footballnet【サッカーまとめ】
  7. FC東京vs.浦和でも2ステージ制などに反対する横断幕相次ぐ(画像あり) : footballnet【サッカーまとめ】
  8. コンフェデ開幕戦、日本代表はブラジルに0-3完敗! : footballnet【サッカーまとめ】
  9. 大久保嘉人、J1得点ランク単独トップ 「(代表に)入りたいわ。マジで」「ザックは見ないと思うけど原さんは見るでしょ」 : footballnet【サッカーまとめ】
  10. 本田のミラン移籍、昨日の「今夜が山田」経緯まとめ…CSKAひどすぎる : footballnet【サッカーまとめ】

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. footballnet:期間内合計ブクマ数537
  2. ganthekei:678
  3. toronei:1811
  4. pycol
  5. sunset641229
  6. hiroyukixhp
  7. akillertwit
  8. ksk130421
  9. quamaboco
  10. shinchi

タグランキング(クラスタが共有する話題)

  1. 2chまとめ
  2. サッカー
  3. football
  4. 2chまとめブログ
  5. soccer
  6. 2ch
  7. 蹴球
  8. 香川真司
  9. jリーグ



第3位・yahooニュース・3.9%

記事ランキング(クラスタの中で著名な記事)
全部yahooで元記事が消えてる…。

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. news_creeper:期間内合計ブクマ数1875
  2. daybeforeyesterday:2491
  3. pycol:5370
  4. Babar_Japan
  5. kai--to
  6. akb48all365
  7. iwax666
  8. uriuri2000gt
  9. ROYGB
  10. mikinews

タグランキング(クラスタが共有する話題)

  1. yahooニュース
  2. hatena
  3. 社会
  4. あとでみる
  5. news
  6. 凍てつく波動
  7. 政治
  8. エンタメ総合
  9. myhotentry
  10. clip



第20位・ニコニコ動画アイマス)・2.0%

記事ランキング(クラスタの中で著名な記事)

  1. 【im@sDSフェスタ4th】 アイドルマスターDSは続いていく ‐ ニコニコ動画:GINZA
  2. 春香さんがクッキーを焼くそうです ‐ ニコニコ動画:GINZA
  3. 【アイドルマスター】ロックマン的I Want ‐ ニコニコ動画:GINZA

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. nico_imas
  2. Mash
  3. DRUMSCO

タグランキング(クラスタが共有する話題)

  1. ニコニコ動画
  2. アイドルマスター
  3. idolmster



第42位・ゲーム・1.5%

個人的に好きなゲームクラスタ

記事ランキング(クラスタの中で著名な記事)

  1. 「ドラゴンズクラウン」は自分が一番作りたかったゲーム――ヴァニラウェアの神谷盛治氏に,完成までの道のりを聞く - 4Gamer.net
  2. [TGS 2013]「METAL GEAR SOLID V THE PHANTOM PAIN」の疑問に小島監督が答える。Q&Aセッションで見えてきた新世代のMGSが目指すもの - 4Gamer.net
  3. 『ぷよぷよテトリス』が発売決定、2大パズルゲームが夢の頂上決戦!! - ファミ通.com

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. gogorou
  2. otori_r
  3. a6u

タグランキング(クラスタが共有する話題)

  1. ゲーム
  2. game
  3. interview
  4. ぷよぷよ
  5. 任天堂



第48位・炎上・1.2%

ブービー賞

記事ランキング(クラスタの中で著名な記事)
加盟店従業員の不適切な行為についてのお詫びとお知らせ
コンビニ店員がアイスの冷蔵ケース内で寝転ぶ写真、Facebookに ローソンが謝罪、FC契約解除 - ITmedia ニュース
痛いニュース(ノ∀`) : 【Twitter】 お好み焼き屋「道とん堀」で客がソース容器を鼻に突っ込んだ写真公開→大炎上 - ライブドアブログ

ユーザランキング(クラスタの中で先駆的なユーザ)

  1. daybeforeyesterday
  2. silverscythe
  3. westerndog

タグランキング(クラスタが共有する話題)

  1. 炎上
  2. 社会
  3. 事件
  4. web
  5. ビジネス
  6. コンビニ
  7. ネタ
  8. ニュース
  9. twitter
  10. facebook



総評

iPhoneクラスタの団結力はやばい。

結束力が強くて情報をいち早く集める人は、iPhoneらしいです。

あるいは、はてなユーザiPhoneの人が多いのかもしれません。


パラメータチューニングしていないので、細かく分けすぎた気がする。

もっとおおまかに、政治経済とかエンタメとか、はてブの公式クラスタくらいに分けて比較してみたい。


なお、毎日解析することも可能です。

そうすると、その時々で流行っているワードのクラスタが分かります。

あとは、痛いニュース見てる人に、近いクラスタ(計算すれば分かります)の政治経済を見せるとか、そういう使い方も。

スマホのアプリ需要あるなら、たぶん1年くらいかかるだろうけれど、1からObjectve-CとかMongoDBとか勉強して作ります。


実験設定他

データ はてブ2013_06-09新着ブックマーク(4ヶ月分)
記事数 34,122記事
ユーザ数 21,251ユーザ
タグ種類数 15,054タグ
手法 初代Google検索の中の人(HITS)の父の親戚の友達的なもの
そのうち説明書きます(今回は細かめのクラスタ用パラメータ)
言語 R(フィボナッチ数列作るのにFortranの1600倍くらい時間かかる)
コア数 1コア(手法自体は並列化可能)
解析時間 間違って消したので不明.この2-3倍量のデータで30分-60分くらい



手法(HITS)の解説

高校生向け.

死ぬほど長いので,暇な人のみ読んで下さい.



インターネットにおけるつながりを可視化すると,以下のようになります.

f:id:rishida:20140118131213p:plain

数字が振ってあるのがノード(WebページやSNSユーザ),数字をつないでいるのがエッジ(リンクやフォロー)です.

インターネットにおけるつながり(グラフ構造)を,行列にすると,以下のように表すことができます.

f:id:rishida:20140118132051p:plain

ノード(Webページ)iとノードjの間にエッジ(リンク)があれば,行列Rのi行j列に1を入れています.


以下は,とりあえず,Webページの例で説明します.

記事自体に価値のあるWebページは,たくさんのページから被リンクを受けます.(仮定1)

有用な記事を拾ってくるWebページは,たくさんのページにリンクを張ります.(仮定2)

根気のあるユーザたちはWebリンクをたどり続けることにより,最終的には価値のあるWebページにアクセスすると予想できます.(仮定3)


では,それを数学で再現しましょう.

ここで,このグラフ構造(Webリンク)にしたがって,無限の人数のユーザが無限回リンクを踏んで移動した時のことを考えます.

その時,最終的にどのくらいの割合のユーザが,あるWebページiに到達するのかを計算すれば,それは(仮定3)でのアクセス数と,大体一致するはずです.


じゃあやってみようということで,無限のユーザUを用意します.

u^{T}= (\begin{array}{cccccccc} 1 & 2 & 3 & 4 & 5 & 6 & 7 \end{array} )

これは,今各ページにいるユーザの割合を示すベクトルです.(実際は(1+2+3+4+5+6+7)で割ったものを使います)

要素番号とWebページが対応しています.

つまり,初期段階でWebページ1を見に行った人は,全体の 1/(1+2+3+4+5+6+7) = 1/28 人になります.


そして,この人達が記事内容に満足できず,各Webページにあるリンクを踏んだとします.

(行列のi行j列が1だと,Webページjからiへリンクがあることとします.)

各列は,列和で割られているものとします.1列目は全部1/3,7列目は全部1/2です.

以後,この行列をRと呼びます.

Webページ1は,Webページ2,3,4からリンクを張られているため,それらのページにいた人(2+3+4)/(1+2+3+4+5+6+7) が,Webページ1に流入してきます.

例えば,Webページ2にいる人は,Webページ2が張っている4つのリンク(行列の2列目)から1つを選ぶでしょう.

つまりWebページ2のユーザの1/4が,Webページ1に流入してきます.

2/(1+2+3+4+5+6+7)(人数)× 1/4 (リンクを踏む確率)= 2/(4*(1+2+3+4+5+6+7))

が,Webページ2からWebページ1へ流入する人です.


同様の計算をすると,Webページ1にいるユーザは,(2*3 + 3*4 + 4*4)/(4*3*(1+2+3+4+5+6+7))であることが分かります.

これは,行列Rの1行目と,ベクトルuの積を取ったものに一致します.

つまり,行列Rとベクトルu=u(0) (時刻tのベクトルをu(t)と書きます)の積を取ると,それは1回リンクを踏んだあとの,各ページにおけるユーザの割合u(1)になります.

 u(1) = R u(0)

では,無限回,行列Rとベクトルu(t)の積を取ると,どうなるでしょうか?


それは,Webリンクにしたがって,無限の人数のユーザが無限回リンクを踏んで移動した状況(仮定3)と,一致するはずです.


無限回行列とベクトルの積を取ると,ある1つの状態に落ち着くことが知られています.

それは一般に,固有ベクトルと呼ばれています.

固有ベクトルというものは,無限回の積なんて取らなくても,求めることができます.

(興味のある人は,べき乗法やコレスキー分解を調べてください)

なので,一瞬で無限回リンクを踏んだ時の,各ページの人数比を知ることができます.

u( \infty )=(\begin{array}{cccccccc} 0.46 & 0.52 & 0.46 & 0.46 & 0.24 & 0.11 & 0.11 \end{array} )

ここで,この値とWebリンクの構造を見比べてみましょう.

f:id:rishida:20140118131213p:plain

実際に,一番被リンクの多い,Webページ2が,u(∞)で最大の値を取っています.

つまり,u(∞)の値が大きい順で,良いWebページであるということが分かりました.

めでたしめでたし.



蛇足

面白いデータがありそうなサービスや、詳しく解析して欲しいタグ教えて下さい。

なんでもいいのでSNSまわりのデータ下さい。ビッグデータ欲しい。ある地域のルータのアクセスログ一ヶ月分とかでも小さい。

今は新着RSSからデータを抜いているんですが、もっとはてなブックマークのサーバに負荷をかけないデータの取り方を、どなたか教えて下さい。

Internet,*internet,03_net,インターネット,ネット,みたいなタグは涙出るので統一してください。

あらゆる種類の記事に出てくる「あとで読む」「まとめ」「これは酷い」とかも勘弁してください。