バイグラムはワードクラウドにどう影響しますか?
バイグラムの DTM を作成できたので、それを調べてワードクラウドを作り直してみましょう。新しいトークン化方法は、行列だけでなく、その行列に基づく可視化やモデリングにも影響します。
シャルドネのワードクラウドでは「Marvin」と「Gaye」が別々の語として出てきたのを覚えていますか? バイグラムを使うと、すべての 2 語の組み合わせをトークン化します。この演習でワードクラウドがどう変わるか観察しましょう。
この演習では stringr の str_subset を使います。正規表現については他の DataCamp コースで詳しく扱っています。参考までに、正規表現の ^ は、この演習のバイグラム内で「文字列の先頭位置」にマッチします。
この演習はコースの一部です
Rで学ぶBag-of-Wordsによるテキストマイニング
演習の手順
シャルドネに関するツイートはクレンジング済みで、bigram_dtm という DTM にまとめられています。
bigram_dtmを行列に変換してbigram_dtm_mを作成します。bigram_dtm_mにcolSums()を適用して語の出現頻度からなるオブジェクトfreqを作成します。names(freq)で語の組み合わせの文字ベクトルを取り出し、bi_wordsに代入します。bi_wordsをstr_subset()に、マッチパターン"^marvin"とともに渡して、"marvin" で始まるすべてのバイグラムを確認します。wordcloud()をシンプルに描画し、bi_words、freq、max.words = 15を関数に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create bigram_dtm_m
___ <- ___(___)
# Create freq
___ <- ___(___)
# Create bi_words
___ <- ___(___)
# Examine part of bi_words
___(___, ___)
# Plot a word cloud
___(___, ___, ___)