このスライドは、
アレな元院生の修士論文の内容を
淡々と述べる物です。
過度な期待はしないでください。
あと、部屋は明るくして、
画面から3メートルは離れて
見やがって下さい。
大学生のTwitter 利用に関する定量分析
         ―利用目的とサービス設計の関係―

Quantitative Analysis of Twitter Usage in University Students:
 Relationship between Usage Intention and Service Design



                                      TokyoWebmining 21st
                                              2012/08/26
                                           @who_you_me
                              3
アジェンダ

1.研究概要


2.これからTwitter分析をする人へのアドバイス



3.Twitter API v1.1について


                  4
自己紹介
●   @who_you_me(冬見/ふゆみ)

●   某ISPの新入社員
●   今すぐフォローを外すべきPython界のクソ
    エンジニア
●   学位:修士(社会学)
●   Degree: Master of Social Sciences

                       5
●   勉強会やってます

●   社会ネットワーク分析勉強会(#TokyoSNA)

●   次回は9/7(金)




                6
1. 研究概要




   7
はじめに
●   社会科学に属する研究です(たぶん)
●   技術的には『集合知プログラミング』レベ
    ル

●   Hard Scienceではないので、いろいろ面倒
    くさい
     –   「お前の研究面白そうだけど、それ何かの役
          に立つの?」
     –   「それサンプル偏ってるだけだろ」
     –   「論理飛躍してるだろ」
                 8
目的
●   Twitterは、他のSNSと比べて情報収集や情
    報発信によく使わているらしい
●   Twitterと他のSNSとの違いって何だろう?
     –   140字制限
     –   人間関係に向きがある!
         ●   フォロー ←→ フレンド


●   「情報収集/発信」と「非対称な関係」
    この2つの間に関係ってあるんだろうか?
                     9
対象
●   全ユーザーを対象とするのは非現実的
●   とはいえランダムサンプリングも微妙
     –   ネットワークデータとれない
●   結果の厳密性は落ちるが、あるコミュニ
    ティに絞るのがいい
●   Twitterのボリューム層である、大学生を対
    象にしよう!

●   というのが表向きの理由
             10
データの収集
  ●   リスト機能を利用したスノーボールサンプ
      リング
                                                     yamamoto/hitotsubashi
kato/hit-u               sato/hit-u   suzuki/hit-u
             @ito
             @ito
                                                          @okazaki
                                                          @okazaki
                                                @suzuki
                                                @suzuki
                    @tanaka
                    @tanaka

                                 @sato
                                 @sato
                                                             @takahashi
                                                             @takahashi


                     @watanabe
                     @watanabe

                                        11
●   毎月一日に上記の方法で、一橋生のアカウ
    ントを取得
     –   プロフィール
     –   フォロー、フォロワー
     –   一ヶ月分のツイート
●   取得期間:2010年12月〜2011年9月

●   卒業生・他大生も含まれているので、手作
    業でクリーニング
     –   アカウント数:1,631
     –   ツイート数:1,774,684
                     12
基本統計


 13
フォロー数の中央値は119




        14
フォロワー数の中央値は121




        15
月間ツイート数の中央値は63




       16
リプライが4割強、RTは1割弱




        17
夜にたくさんつぶやく




       18
スマホからの投稿が急増




       19
ここからが本番!
●   「情報収集・情報発信」と「非対称な関
    係」この二つの関係をどう分析する?

●   ツイート内容を分析すれば、そのユーザー
    が情報発信メインか、日常会話メインかが
    わかるのでは?

●   「非対称な関係」については、片想いとか
    片想われとか
             20
ツイート内容の分析
●   MeCabで形態素解析し、ユーザーごとの名
    詞使用回数を集計

●   k-means法でクラスタリング

●   クラスタごとの特徴語をみる



               21
形態素解析
●   文を単語に分け、品詞情報などのタグを付
    与
     すもももももももものうち
     すもももももももものうち

      すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
      も 助詞,係助詞,*,*,*,*,も,モ,モ
      もも  名詞,一般,*,*,*,*,もも,モモ,モモ
      も 助詞,係助詞,*,*,*,*,も,モ,モ
      もも  名詞,一般,*,*,*,*,もも,モモ,モモ
      の 助詞,連体化,*,*,*,*,の,ノ,ノ
      うち  名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
      EOS
                     22
k-means法によるクラスタリング
●   名詞のみを取り出し、ユーザーごとの名詞
    使用回数を集計




●   k-means法でクラスタリング
     –   http://d.hatena.ne.jp/nitoyon/20090409/kmeans_visualise
                                   23
クラスタごとの特徴語




       24
●   次元縮約も何もやってないけど、意外とう
    まく分かれたんじゃね?




●   特徴語が日常会話っぽいクラスタはリプラ
    イ多いし、情報発信っぽいクラスタはRT多
    い

             25
●   日常会話クラスタではPCがスマホに取って
    代わられた
●   情報発信クラスタはPCを使い続けている




             26
非対称な関係
●   フォローに占める片想いの割合、フォロ
    ワーに占める片想われの割合で判断

●   クラスターごとに、「片想い率」「片想わ
    れ率」の頻度分布をみる




             27
さっきのクラスタ×片想い率




●   情報発信クラスタは片想いの割合が高い!
●   片想われで見ても、同様の結果

             28
結論
●   Twitterが情報発信・収集によく使われる背
    景には「非対称な人間関係」というサービ
    ス設計上の特徴が影響しているようだ




              29
おまけ
●   社会ネットワーク分析勉強会(#TokyoSNA)
    主催としてはこれをやらなくては!

●   一橋生どものTwitterネットワークをお絵描
    き




               30
31
32
2. これからTwitter分析をする人への
        アドバイス




          33
の名を借りた、ステマタイム!!




       34
Pythonとお友達になろう!
●   勉強が捗る
     –   集合知プログラミング
     –   入門ソーシャルデータ
     –   入門自然言語処理
     –   オープンソースで学ぶ社会ネットワーク分析
    これ、ぜーんぶサンプルコードがPython




                 35
●   豊富なライブラリ群
     –   NLTK, Numpy/scipy, matplotlib, networkx


●   Rに対抗しようとする人達の存在




●   個人レベルの分析なら、Python一択だね!


                           36
MongoDBとお友達になろう!
●   Web APIで取ってくるデータって、だいた
    いJSON

●   リレーショナルなDB
     –   事前に保存するデータ項目決める
     –   テーブルスキーマを定義
     –   仕様変わったらテーブル構造変えないと、、
●   スキーマレスなNoSQL
     –   JSONそのまま突っ込むだけ!!
                  37
サンプリングについて、ちゃんと考えよう
●   厳密性とデータの取りやすさ/分析のしや
    すさとの兼ね合い



継続的にデータを取ろう!
●   時系列データは貴重
    –   さっきのスマホの普及とか
    –   ソーシャルネットワークの生成過程とか

                38
Twitter様のご機嫌に注意しよう!
●   API叩くと結構な頻度で503エラーを返して
    くださりやがる

●   APIの仕様変更
     –   ちょくちょくやる上に、予告なし
     –   2010年8月 Basic認証廃止。OAuthへ移行
     –   2012年8月……



                     39
3. Twitter API v1.1について




           40
概要
●   Twitter APIの新バージョン(v1.1)が数週
    間以内にリリースされます
●   移行期間は6カ月
     –   半年後にはv1.0は使えなくなります


●   APIの利用回数制限について、大きな変更
    があります


                  41
変更点のポイント
●   すべてのエンドポイントについて、認証が
    必須に

●   エンドポイントごとに、利用回数の制限が
    かかります

●   開発者ルールの変更


                42
エンドポイントとは
●   タイムラインを取得したかったらGET
    statuses/home_timeline
     –   http://api.twitter.com/1/statuses/home_timeline.json
●   DM送信したかったらPOST
    direct_messagaes/new
     –   https://api.twitter.com/1/direct_messages/new.json


●   こうした、APIの各機能それぞれのURLの
    ことをエンドポイントと言います
                               43
認証が必須に
●   今までは一部のエンドポイントは認証なし
    で使えたのが、全て必須になる
     –   bot, スクレイピング対策


●   大半の人は元から全て認証してただろうか
    ら、影響なさそう
●   Search APIも認証必須になるのはむしろ嬉
    しい
     –   今まではIP単位で回数制限かかってたので
                   44
利用回数制限の変化
●   全てのエンドポイント合計して、1時間350
    アクセスだったのが、エンドポイントごと
    に別個で利用回数制限がかかるようになる
    –   1時間60アクセス
    –   タイムライン/プロフィールの取得、ユー
        ザー検索については、1時間720アクセス




                 45
●   どちらに転ぶか微妙、、、
     –   どんな情報を取得したいかによる


●   でも、データ取るときって普通1つのエンド
    ポイント叩きまくるような、、、

●   Twitter社の思惑を考えると、今回の変更で
    APIへの負荷は減るに決まってるから得はし
    ないような、、


                 46
開発者ルールの変更
●   アプリ開発者に向けた話なので、我々には
    あまり関係ないか

●   要はサードパーティのクライアントアプリ
    を潰したいらしい




             47
まとめ
●   リリースされてみないことにはわからん 
    \(^o^)/
●   ただし、Twitterが今後目指す方向性が見え
    てきたような
     –   すべてのtwitter.com内で完結させたい
     –   「Twitterでできること」をTwitter社が完全に
          コントロールしたい


    個人的にはこれは、うーん、、、
                    48
以上、ご清聴
ありがとうございました!

大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―

  • 1.
  • 2.
  • 3.
    大学生のTwitter 利用に関する定量分析 ―利用目的とサービス設計の関係― Quantitative Analysis of Twitter Usage in University Students: Relationship between Usage Intention and Service Design TokyoWebmining 21st 2012/08/26 @who_you_me 3
  • 4.
  • 5.
    自己紹介 ● @who_you_me(冬見/ふゆみ) ● 某ISPの新入社員 ● 今すぐフォローを外すべきPython界のクソ エンジニア ● 学位:修士(社会学) ● Degree: Master of Social Sciences 5
  • 6.
    勉強会やってます ● 社会ネットワーク分析勉強会(#TokyoSNA) ● 次回は9/7(金) 6
  • 7.
  • 8.
    はじめに ● 社会科学に属する研究です(たぶん) ● 技術的には『集合知プログラミング』レベ ル ● Hard Scienceではないので、いろいろ面倒 くさい – 「お前の研究面白そうだけど、それ何かの役 に立つの?」 – 「それサンプル偏ってるだけだろ」 – 「論理飛躍してるだろ」 8
  • 9.
    目的 ● Twitterは、他のSNSと比べて情報収集や情 報発信によく使わているらしい ● Twitterと他のSNSとの違いって何だろう? – 140字制限 – 人間関係に向きがある! ● フォロー ←→ フレンド ● 「情報収集/発信」と「非対称な関係」 この2つの間に関係ってあるんだろうか? 9
  • 10.
    対象 ● 全ユーザーを対象とするのは非現実的 ● とはいえランダムサンプリングも微妙 – ネットワークデータとれない ● 結果の厳密性は落ちるが、あるコミュニ ティに絞るのがいい ● Twitterのボリューム層である、大学生を対 象にしよう! ● というのが表向きの理由 10
  • 11.
    データの収集 ● リスト機能を利用したスノーボールサンプ リング yamamoto/hitotsubashi kato/hit-u sato/hit-u suzuki/hit-u @ito @ito @okazaki @okazaki @suzuki @suzuki @tanaka @tanaka @sato @sato @takahashi @takahashi @watanabe @watanabe 11
  • 12.
    毎月一日に上記の方法で、一橋生のアカウ ントを取得 – プロフィール – フォロー、フォロワー – 一ヶ月分のツイート ● 取得期間:2010年12月〜2011年9月 ● 卒業生・他大生も含まれているので、手作 業でクリーニング – アカウント数:1,631 – ツイート数:1,774,684 12
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    ここからが本番! ● 「情報収集・情報発信」と「非対称な関 係」この二つの関係をどう分析する? ● ツイート内容を分析すれば、そのユーザー が情報発信メインか、日常会話メインかが わかるのでは? ● 「非対称な関係」については、片想いとか 片想われとか 20
  • 21.
    ツイート内容の分析 ● MeCabで形態素解析し、ユーザーごとの名 詞使用回数を集計 ● k-means法でクラスタリング ● クラスタごとの特徴語をみる 21
  • 22.
    形態素解析 ● 文を単語に分け、品詞情報などのタグを付 与 すもももももももものうち すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS 22
  • 23.
    k-means法によるクラスタリング ● 名詞のみを取り出し、ユーザーごとの名詞 使用回数を集計 ● k-means法でクラスタリング – http://d.hatena.ne.jp/nitoyon/20090409/kmeans_visualise 23
  • 24.
  • 25.
    次元縮約も何もやってないけど、意外とう まく分かれたんじゃね? ● 特徴語が日常会話っぽいクラスタはリプラ イ多いし、情報発信っぽいクラスタはRT多 い 25
  • 26.
    日常会話クラスタではPCがスマホに取って 代わられた ● 情報発信クラスタはPCを使い続けている 26
  • 27.
    非対称な関係 ● フォローに占める片想いの割合、フォロ ワーに占める片想われの割合で判断 ● クラスターごとに、「片想い率」「片想わ れ率」の頻度分布をみる 27
  • 28.
    さっきのクラスタ×片想い率 ● 情報発信クラスタは片想いの割合が高い! ● 片想われで見ても、同様の結果 28
  • 29.
    結論 ● Twitterが情報発信・収集によく使われる背 景には「非対称な人間関係」というサービ ス設計上の特徴が影響しているようだ 29
  • 30.
    おまけ ● 社会ネットワーク分析勉強会(#TokyoSNA) 主催としてはこれをやらなくては! ● 一橋生どものTwitterネットワークをお絵描 き 30
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
    Pythonとお友達になろう! ● 勉強が捗る – 集合知プログラミング – 入門ソーシャルデータ – 入門自然言語処理 – オープンソースで学ぶ社会ネットワーク分析 これ、ぜーんぶサンプルコードがPython 35
  • 36.
    豊富なライブラリ群 – NLTK, Numpy/scipy, matplotlib, networkx ● Rに対抗しようとする人達の存在 ● 個人レベルの分析なら、Python一択だね! 36
  • 37.
    MongoDBとお友達になろう! ● Web APIで取ってくるデータって、だいた いJSON ● リレーショナルなDB – 事前に保存するデータ項目決める – テーブルスキーマを定義 – 仕様変わったらテーブル構造変えないと、、 ● スキーマレスなNoSQL – JSONそのまま突っ込むだけ!! 37
  • 38.
    サンプリングについて、ちゃんと考えよう ● 厳密性とデータの取りやすさ/分析のしや すさとの兼ね合い 継続的にデータを取ろう! ● 時系列データは貴重 – さっきのスマホの普及とか – ソーシャルネットワークの生成過程とか 38
  • 39.
    Twitter様のご機嫌に注意しよう! ● API叩くと結構な頻度で503エラーを返して くださりやがる ● APIの仕様変更 – ちょくちょくやる上に、予告なし – 2010年8月 Basic認証廃止。OAuthへ移行 – 2012年8月…… 39
  • 40.
    3. Twitter APIv1.1について 40
  • 41.
    概要 ● Twitter APIの新バージョン(v1.1)が数週 間以内にリリースされます ● 移行期間は6カ月 – 半年後にはv1.0は使えなくなります ● APIの利用回数制限について、大きな変更 があります 41
  • 42.
    変更点のポイント ● すべてのエンドポイントについて、認証が 必須に ● エンドポイントごとに、利用回数の制限が かかります ● 開発者ルールの変更 42
  • 43.
    エンドポイントとは ● タイムラインを取得したかったらGET statuses/home_timeline – http://api.twitter.com/1/statuses/home_timeline.json ● DM送信したかったらPOST direct_messagaes/new – https://api.twitter.com/1/direct_messages/new.json ● こうした、APIの各機能それぞれのURLの ことをエンドポイントと言います 43
  • 44.
    認証が必須に ● 今までは一部のエンドポイントは認証なし で使えたのが、全て必須になる – bot, スクレイピング対策 ● 大半の人は元から全て認証してただろうか ら、影響なさそう ● Search APIも認証必須になるのはむしろ嬉 しい – 今まではIP単位で回数制限かかってたので 44
  • 45.
    利用回数制限の変化 ● 全てのエンドポイント合計して、1時間350 アクセスだったのが、エンドポイントごと に別個で利用回数制限がかかるようになる – 1時間60アクセス – タイムライン/プロフィールの取得、ユー ザー検索については、1時間720アクセス 45
  • 46.
    どちらに転ぶか微妙、、、 – どんな情報を取得したいかによる ● でも、データ取るときって普通1つのエンド ポイント叩きまくるような、、、 ● Twitter社の思惑を考えると、今回の変更で APIへの負荷は減るに決まってるから得はし ないような、、 46
  • 47.
    開発者ルールの変更 ● アプリ開発者に向けた話なので、我々には あまり関係ないか ● 要はサードパーティのクライアントアプリ を潰したいらしい 47
  • 48.
    まとめ ● リリースされてみないことにはわからん  \(^o^)/ ● ただし、Twitterが今後目指す方向性が見え てきたような – すべてのtwitter.com内で完結させたい – 「Twitterでできること」をTwitter社が完全に コントロールしたい 個人的にはこれは、うーん、、、 48
  • 49.