library(quanteda)
本コーパスは,2017年総選挙の際に収集されたツイートから構成されている.ツイートは,TwitterのStrem APIから、キーワード“選挙”を使い,10月20日から10月31日の期間にダウンロードした.インターネット上で収集されたテキストは,英数字の全半角が統一されていないので,stri_trans_nfkc()
によって表記を標準化すると良い.
corp <- quanteda.corpora::download(url = 'https://www.dropbox.com/s/co12wpj08pzqz71/data_corpus_election2017tweets.rds?dl=1')
ndoc(corp)
## [1] 132346
## [1] "2017-10-19 16:55:25 GMT" "2017-10-31 15:09:19 GMT"
ツイートのトークン化では,ハッシュタグの後に続く改行を保持するためにremove_separator = FALSE
とし,次のtokens_remove()
で,語の位置関係を維持しながら,改行,空白,‘#’と'@'以外の記号を削除する.日本語のハッシュタグは,’#’とそれの続く語が分離されてしまうので,それらをtokens_compound()
で文書行列を作成する前に結合する.
min_count <- 10
# 漢字
# カタカナ
# 漢字,カタカナおよび数字
# ハッシュと語の結合
tweet_dfm <- dfm(toks)
ここでは,dfm_select()
によってハッシュタグを選択しているが,そこに多くに含まれる’#選挙’や’#衆院選’などのハッシュタグは,クラスターを明確にするために削除している.
tag_fcm <-
tweet_dfm %>%
fcm()
ツイートのメッセージを分析するためには,dfm_remove()
でハッシュタグやユーザー名を削除する.ここでは,平仮名だけからなる特徴は文法的な要素であることが多く,話題を理解するのに役に立たないので削除している.
msg_fcm <-
tweet_dfm %>%
fcm()