【Exploratory】TwitterSearchを使用してみる

Exploratory
Exploratory準備記事

【やりたいこと】TwitterSearchを使用して、ツイートデータを取得したい!

TwitterSearchで指定のキーワードが含まれているツイートを取得します。

指定するキーワードは、「冬」にします。さて、「冬」といっしょによく使われる単語は、何になるのでしょうか。

【15分でできる】Twitterの冬は以外な結果に、

※ダウンロード時間は15分の中に含まれていません。

0.概要

TwitterSearchで「冬」を含むツイートを取得します。次に、重要でないツイートを消去します。最後に「冬」とよくいっしょに使われる単語のランキングを作成します。

1.使用したもの

・Exploratory

Exploratory
Data Science is not just for Engineers and Statisticians. Exploratory makes it for Everyone.

・Mecab

・Rmecab

2.手順

※下記の記事の内容を完了しているものとして、進めていきます。

①ツイートの取得

Exploratoryを起動し、プロジェクトを作成します。

データフレームの+マークをクリックし、クラウドアプリケーションデータをクリックします。

Twitter Searchをクリックします。

コネクションの右にある作成をクリックします。

追加をクリックします。

Twitter Searchをクリックします。

OKをクリックします。

Twitterアカウントが必要なので、これを機にTwitterアカウントを作成しましょう!

アクセス許可の完了後、リフレッシュをクリックします。

上記の画像のように設定します。

include RetweetsNoにすることで、リツイートを省くことができます。

設定後、データの取得をクリックし、ツイートデータが表示されたら、インポートをクリックします。

データフレームの名前を決めます。

上記の画像のように、表示されていれば成功です。

②スクリプトを作成する

Rmecabを使いやすくするために、スクリプトを作成します。

スクリプトの+マークをクリックし、スクリプトをクリックします。

mecab_tokenize <- function(tbl, text_col, .drop=TRUE){ loadNamespace("RMeCab") loadNamespace("tidyr") text_cname <- as.character(substitute(text_col)) text <- tbl[[text_cname]] tokenize <- function(text){ # WindowsでMecabをインストール時に文字コードをShift JISで使う場合   # 文字コードをUTF8からcp932に変換しておく textSjis <- iconv(text, from="UTF8", to="cp932") if(is.na(textSjis)) { # 変換に失敗したものは空文字だとRMeCabCが動かないので空白にしておく。 textSjis = " " } tokens <- unlist(RMeCab::RMeCabC(textSjis)) #UTF8に戻す tokensUTF8 <- iconv(tokens, from="cp932", to="UTF8") data.frame(.token = tokensUTF8, .pos = names(tokensUTF8)) } if(.drop){ tbl[[text_cname]] <- lapply(text, tokenize) token_col <- text_cname } else { tbl$.token <- lapply(text, tokenize) token_col <- ".token" } tidyr::unnest_(tbl, token_col) }
安倍首相に関するTwitterデータをテキストマイニングして可視化してみた (Part 1)
阿部首相に関するTwitterのデータから、テキストマイニングしてワードクラウド を作成するまでを説明したブログです。

※引用元のコードを使用してください。上記のコードは、引用元のコードを正しく表示することができませんでした。申し訳ございません。

コード記入後、保存をクリックします。

③重要でないツイートの非表示

ステップの左にある+マークをクリックします。

カスタム・コマンドをクリックします。

mecab_tokenize(text)を記入し、実行をクリックします。

品詞ごとに分類されていれば成功です。


次は、名詞と動詞だけに絞ります。

.posのメニューから、

フィルタ > どれかに等しい 

をクリックします。

値の欄に名詞動詞を記入します。

記入後、実行をクリックします。

この操作で、名詞と動詞だけが残るようになります。


次に、重要でない単語を非表示にします。

.tokenのメニューから

フィルタ > どれにも等しくない

をクリックします。

値の欄に記入されたものは、表示されなくなります。

どれかに等しいの値に記入されたもの=表示
どれにも等しくないの値に記入されたもの=非表示

次に、1文字の単語を非表示にします。

フィルタのカスタムタブを選択します。

条件の欄に

str_length(.token)>1

を記入し、実行をクリックします。

そうすることで、1文字のテキストを非表示にします。

チャートをクリックします。

上記の画像のように、設定します。

そうすることで、「冬」といっしょに使われる単語のランキングが表示されます。

しかし、上記のランキング内に、重要でない単語が含まれています。

フィルタで非表示しましょう。

上記の画像のように、どれにも等しくないの欄に重要でない単語を記入します。

以上の結果となりました。

なぜか、除外できない単語がいくつかありました。(「いる」とか)

「コミ」が断トツで1位になりました。これは、Twitterで冬コミが盛り上がったことが推測できます。

意外な点としては、「アイス」が4位にランクインしているところです。「冬 アイス」でTwitter検索した結果、「冬にこたつで食べるアイスがおいしい」のようなツイートが多く見受けられました。面白い点は、「冬 コミ」は明らかに、「冬コミ」というイベントの結果、ツイートが伸びたのに対して、「冬 アイス」は、特に、目立ったイベントを発見することができませんでした。このことから、「冬 アイス」は、継続してツイート数が多いのではないかと疑問を持つことができました。また、「冬」と「アイス」のような意外性のあるものが、Twitterでは、頻繁にツイートされやすいのではないかとも考えました。「冬はこたつで暖まろう」などは当たり前すぎて、ツイートしないように感じ、逆に「冬」に「アイス」という意外性のあることは、ツイートしやすいと思いました。

 

以上のように、ツイートの1つのキーワードに着目して集めたデータだけでも、面白い発見がたくさんあります。

3.追記

アイス食べたくなった。

【最後に】参考サイトの紹介

参考記事は、Exploratoryのサイトにあるブログを見ています。以下のリンクが、日本語に対応しており、とっつきやすいのでおすすめです。

Exploratory

コメント

タイトルとURLをコピーしました