あんちべのすべらない話~俺のツイートがこんなにウケないはずがない~
DESCRIPTION
Rを用いたtwitterテキストマイニングTRANSCRIPT
~俺のツイートがこんなにウケないはずがない~
あんちべのすべらない話
目的
twitter渾身のネタがスルーされたり何気ない呟きがめっちゃウケたり
滑ったときの恥ずかしさマジパネェ
tweetする前にウケルかどうか予測できれば!
それ、Rなら簡単ですよ!
発表の目的
Rで自分のtweetがウケるかどうか予測をしよう!
自己紹介
● ID:AntiBayesian● あんちべ!とお呼び下さい
● 専門:テキストマイニング、自然言語処理
● 職業:某ATMが○○な銀行で金融工学研究員とかいう胡散臭い素敵なことしてる
● 自然言語処理職大絶賛募集中!!!!
なんで急にLTすることに???
↑今日の0時くらいの話です
分析手順
1.訓練データ(正例、負例)を用意する
2.訓練データから予測モデルを立てる
3.自分のtweetを予測モデルに放り込んで判定
訓練データを集めよう
● 正例:favstarから人気tweetを取得● 負例:twitter Streaming APIから適当にサンプリング
● 6月中のtweetを各々約1500件ずつチョイス● 正例にはfav、負例にはnonタグを付ける※Tweetを取得するツール作ったよ!http://d.hatena.ne.jp/AntiBayesian/20110702
さくさくツイートマイニング
こんな感じ→
訓練データの加工ttmの紹介
● TinyTextMiner● テキストを形態素解析に掛け、さらに分析ツールに投げやすいよう整形してくれるフリーソフト
● ここからDL http://mtmr.jp/ttm/※MeCabもインストールしてね
加工済みデータ
● 1行目が各単語。2行目以降は、各文章から表頭の単語が何回出現したか
● 右端のTAG列がクラス。fav=正例、non=負例、test=検証するtweet。
● 要するに、testテキストがfav、nonどちらに分類されるか知りたい
予測モデルを立てよう
● RandomForestを使おう!● 精度高いし汚いデータにも強い!Googleも利用!● 詳細は下記ブログを参考に
http://d.hatena.ne.jp/hamadakoichi/20110130/
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)
精度はどう???
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※訓練データで高精度は当たり前。ただの目安
学習結果
rf.predict <- predict(rf.model, test.data)
● 2878行目のデータはfav、2879行目はnonと予測● favと予測されたtweetはウケルのでは???
まとめ
● 人気tweetを収集し、人気tweetを判別するモデルを作る
● 自分のtweetをモデルで評価して、ウケル内容だけtweetする
● これで広瀬香美や孫正義を超える人気ついったったーになれる!