【R】#pri2020冬 のワードクラウド作ってみたお話
この記事は #プリッカソン Advent Calendar 2020 の20日目の記事です。
◆ごあいさつ
せっかくプリッカソンのアドベントカレンダーに投稿するなら、わたしもなにかカッコいいことやってみたい〜(((*’ ω’ *)))
なんとなくカッコいい気がして、ワードクラウドに挑戦してみました。今回は精度よりも、とりあえず形にすることが目標です。
というわけで、R Studioやってみた!
スタートですの〜(((*’ ω’ *)))
◆成果物見てください!
Twitterに投稿された #pri2020冬 に関するつぶやきを投稿された数が多いものが大きくなるような形で表示したものです!
頻出キーワード
・ライブ
・プリパラ
・最高
・楽しい
・ありがとう
どうでしょうか〜
思い出語りのキッカケに使えそうじゃないですか??
ここからは作り方に興味ある方向けの記事です。
◆インストールやってみた
まずはRとR studioをインストールしました(((*’ ω’ *)))
なんか新しいソフトが入っていく様子ってかっこいいですよね…!
◆ツイート取得
まずは、#pri2020冬を取得しますの(((*’ ω’ *)))
素敵なハッシュタグ拡散してくださったドロシー役のずっちゃんさん本当に大好きです💕💕
ライブラリrtwieetをインポートして、検索キーワードで検索するだけです(((*’ ω’ *)))
ワードクラウド作成にあたって、URL、ハッシュタグは邪魔になってしまうので、さようならしました。
library(rtweet)
library(stringr)
library(wordcloud2)
rt <- search_tweets("#pri2020冬", n = 5000, include_rts = FALSE)
target_text <- rt$text
target_text <-str_replace_all(target_text, pattern='https?://[[:alnum:][:punct:]]+', replacement="")
target_text <-str_replace_all(target_text, pattern="#(w*[一-龠_ぁ-ん_ァ-ヴーa-zA-Za-zA-Z0-9]+|[a-zA-Z0-9_]+|[a-zA-Z0-9_]w*)", replacement="")
write.table(target_text,"pri2020winter.txt")
ここまではかんたんかんたん〜
絵文字はtxtにしたときに、かわいく表示できないので取得結果からさようならしますの(((*’ ω’ *)))
出力したテキストファイル(pri2020winter.txt)を
\<.*?\>
で置換しました。
ここきっとRでもできそうですけど、今回は自分ができる形でやってみました🥺🥺
◆キーワード化と出力
形態素解析ってなんか難しくてよくわからないかしこいプログラムさんでキーワードを抽出してもらいました!ほんとに難しくて全然わかりませんの。。。
sample <-RMeCabFreq("pri2020winter.txt")
result <- sample %>%
as_tibble %>%
filter(Term !="の",Info1 %in% c("名詞","形容詞","一般","感動詞"), Info2 != "数") %>%
filter(Term !="ん")%>%
filter(Term !="さん")%>%
filter(Freq>=5&Freq<1000) %>%
mutate(noun=str_match((Term), '[^0-90-9]+')) %>%
filter(str_length(noun[,1])>=2) %>%
select(1, 4) %>%
arrange(desc(Freq))
result <- result %>% filter(Freq>=5) %>% mutate(noun=str_match((Term), '[^0-90-9]+'))
わたし気がついてしまったんですけど、なかひこさんのPrismDBから色んな名前取ってきて辞書ファイル作ったら形態素解析の精度とっても上がりますよね!
「A・B・C・D・いいね★ダンス」とか細切れにされてしまって上手にとれなかったですし…
とにかく、最後に画像にしてもらうかわいい関数におしごとしてもらうと、最初の画像ができますの(((*’ ω’ *)))
result %>% wordcloud2(fontFamily='HG丸ゴシックM-PRO',color="random-light")
◆むすびにかえて
今回やったこと、すごいうまくいったのかなって思ったんですけど、改めてコードテストしてみたら今日はツイートが38件しか取れなくてどうしてしまったんでしょうと思いましたらsearch_tweetで検索できるのは9日以内のツイートみたいでとってもしょんぼりさんです。。。
こういうのは鮮度が大事なんですね🥺🥺
でもでも、色んな会社で使われてるお客さまの声の分析ってこれをもっと見やすくわかりやすくしているんじゃないかなって思って、貴重な経験になりました(((*’ ω’ *)))
新しいこと挑戦するのとってもとっても勉強になったので、これからもいろんなことやってみるの大切な気持ちを改めて感じました。
2021年も何か出来たらいいなぁ~
◆参考資料
この記事が参加している募集
サポートしてくださったらもう一回多くプリチャンできます(((*’ ω’ *)))