あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

20
~俺のツイートがこんなにウケないはずがない~ あんちべの すべらない話

Upload: antibayesian-s

Post on 16-Nov-2014

13.219 views

Category:

Technology


1 download

DESCRIPTION

Rを用いたtwitterテキストマイニング

TRANSCRIPT

Page 1: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

~俺のツイートがこんなにウケないはずがない~

あんちべのすべらない話

Page 2: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

目的

Page 3: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

twitter渾身のネタがスルーされたり何気ない呟きがめっちゃウケたり

Page 4: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

滑ったときの恥ずかしさマジパネェ

Page 5: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

tweetする前にウケルかどうか予測できれば!

Page 6: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

それ、Rなら簡単ですよ!

Page 7: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

発表の目的

Rで自分のtweetがウケるかどうか予測をしよう!

Page 8: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

自己紹介

● ID:AntiBayesian● あんちべ!とお呼び下さい

● 専門:テキストマイニング、自然言語処理

● 職業:某ATMが○○な銀行で金融工学研究員とかいう胡散臭い素敵なことしてる

● 自然言語処理職大絶賛募集中!!!!

[email protected]

Page 9: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

なんで急にLTすることに???

↑今日の0時くらいの話です

Page 10: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

分析手順

1.訓練データ(正例、負例)を用意する

2.訓練データから予測モデルを立てる

3.自分のtweetを予測モデルに放り込んで判定

Page 11: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

訓練データを集めよう

● 正例:favstarから人気tweetを取得● 負例:twitter Streaming APIから適当にサンプリング

● 6月中のtweetを各々約1500件ずつチョイス● 正例にはfav、負例にはnonタグを付ける※Tweetを取得するツール作ったよ!http://d.hatena.ne.jp/AntiBayesian/20110702

Page 12: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~
Page 13: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

さくさくツイートマイニング

こんな感じ→

Page 14: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

訓練データの加工ttmの紹介

● TinyTextMiner● テキストを形態素解析に掛け、さらに分析ツールに投げやすいよう整形してくれるフリーソフト

● ここからDL http://mtmr.jp/ttm/※MeCabもインストールしてね

Page 15: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

加工済みデータ

● 1行目が各単語。2行目以降は、各文章から表頭の単語が何回出現したか

● 右端のTAG列がクラス。fav=正例、non=負例、test=検証するtweet。

● 要するに、testテキストがfav、nonどちらに分類されるか知りたい

Page 16: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

予測モデルを立てよう

● RandomForestを使おう!● 精度高いし汚いデータにも強い!Googleも利用!● 詳細は下記ブログを参考に

http://d.hatena.ne.jp/hamadakoichi/20110130/

Page 17: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

Rのコード

twit <- read.csv(file="twit.csv")library(randomForest)train.data <- twit[1:2877,]#訓練データが2877あるtest.data <- twit[2878:2911,]#テストデータは33rf.model <- randomForest(TAG~., data=train.data, na.a="na.omit", ntree=10)

Page 18: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

精度はどう???

rf.predict <- predict(rf.model, train.data)(result <- table(train.data$TAG, rf.predict))● 緑色のセル=正しく分類● 行:予測● 列:実際

2*result[2,2] / (2*result[2,2]+result[1,2]+result[2,1])● F値:0.9019064※訓練データで高精度は当たり前。ただの目安

Page 19: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

学習結果

rf.predict <- predict(rf.model, test.data)

● 2878行目のデータはfav、2879行目はnonと予測● favと予測されたtweetはウケルのでは???

Page 20: あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~

まとめ

● 人気tweetを収集し、人気tweetを判別するモデルを作る

● 自分のtweetをモデルで評価して、ウケル内容だけtweetする

● これで広瀬香美や孫正義を超える人気ついったったーになれる!