2017-08-21

【R】テキストマイニングを利用して、東京ちんこ倶楽部と暇な女子大生を分析する

Rでツイッターのビッグデータを分析する




Rでツイッターのビッグデータを利用し、テキストマイニングしてみました。とはいっても、本当に基礎の基礎で、あるユーザーのツイートを3000個ほど取得し、どのような言葉をよく使っているかを調べるという企画です。


最終的な目標としては


・好きなアカウントの独特な話口を分析し
・そのアカウントっぽい言葉を特定すること


となります。

今回選ぶアカウントは、①東京ちんこ倶楽部さんと②暇な女子大生



さて、今回僕が選んだアカウントは、僕が個人的に好きなアカウントです。
まず、①東京ちんこ倶楽部さんです。日本のブラック企業皮肉力が高いアカウントで、2年ほど前からファンです。




ちなみにnavarがたっているので見るとこんな感じ。



さて、次は②暇な女子大生です。
下のツイートのように、


・高学歴の大学生、社会人を相手に
・Tinderという出会い系サイトを利用し
・喰いまくって性生活を暴露する


というアカウントです。



処理の流れ


処理の流れとしては、


1. Twitter APIに登録
2. Twitterのアクセストークンなどを取得
3. TwitteRをインストール
4. MeCab(日本語の形態素分析ツール)のインストール
5. ツイートの取得
6. Wordcloudで出力


という感じです。それでは早速。
まず初めに、https://apps.twitter.com/からTwitter ID、アクセストークンを取得します。なお事前に電話番号を取得しないとアプリを作成できないので登録しておくこと。
そして上記サイトから、以下4点を確認し、メモっておいてください。


1. consumerKey
2. consumerSecret
3. accsssToken
4. accessSecret

RでTwitter APIを利用


次にTwitterでログインするためのパッケージをインストールします。


install.packages("twitteR")
library(twitteR)
install.packages("ROuth")
library(ROAuth)


そして各種キーをセットし認証します。


consumerKey <- "Consumer Key (API Key)を入力"
consumerSecret <- "Consumer Secret (API Secret)を入力"
accessToken <- "Access Tokenを入力"
accessSecret <- "Access Token Secretを入力"
setup_twitter_oauth(consumerKey, consumerSecret, accessToken, accessSecret)


これでログインできます。さて、早速東京ちんこ倶楽部氏のツイートを取得します。


TwitteRの利用



#過去2000件のツイートを分析
tweets <- userTimeline("tokyoxxxclub", n = 2000)


#データフレームに変換し、テキスト部分だけを指定しツイートを取得

tweets <- twListToDF(tweets) #これでデータフレームにできます
tweets <- tweets$text #テキストデータだけ取得します

#テキスト変換

write.table(tweets,"tweets.txt") #一時的にテキストデータに保存します

RMeCab, dplyr, wordcloud, RColorBrewer, tm をまとめてインストール


install.packages("RMeCab", repos = "http://rmecab.jp/R")
library(RMeCab)

install.packages("dplyr")
library(dplyr)

install.packages("workcloud")
library(wordcloud)

install.packages("RColorBrewer")
library( RColorBrewer )

install.packages("tm", dependencies=TRUE)
library(tm)

日本語テキストの解析用に、パッケージ「RMeCab」を呼び出し、名刺、形容詞、動詞のみ抽出


tweetsFrq <- RMeCabFreq("tweets.txt")
tweetsFrq2 <- tweetsFrq %>% filter(Freq>10&Freq<400, Info1 %in% c("名詞"), Info2 != "数")

#URLや@などを削除

tweetsFrq2  <- gsub("^RT\\s@[0-9a-zA-Z\\._]*:\\s+","",tweetsFrq2 )
tweetsFrq2   <- gsub("https?://t.co/[0-9a-zA-Z\\._]*","",tweetsFrq2 )

wordcloud上に表示


wordcloud(tweetsFrq$Term,tweetsFrq$Freq,random.order=FALSE,
  color=rainbow(5),random.color=FALSE,scale=c(3,1),min.freq=10)



さて、ここまでの流れで、東京ちんこ倶楽部氏のツイートで頻繁につぶやかれている言葉を確認できました。





といった感じに、単語を見ると「そういえばこのアカウントこの言葉めっちゃつぶやいているなぁ」なんて言葉が出てきます。


同じ処理で暇な女子大生を分析してみたところ.....


といった言葉が出現しました。おおよそアカウントに関係する言葉が出てきたと思われます。


東京ちんこ倶楽部語、暇な女子大生語で話したい人は、下の画像をみて勉強してみてください。(1枚目が東京ちんこ倶楽部、2枚目が暇な女子大生。ちんぽの利用度が非常に多いことがわかります。)







>スポンサーリンク


注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...