デンドログラムに適したTDMを作る
デンドログラム作成の手順が分かったところで、これをテキストに適用していきます。ですがその前に、tm の removeSparseTerms() を使って TDM の語数を絞り込みます。なぜ TDM/DTM のスパース性を調整する必要があるのでしょうか?
TDM や DTM はスパース(ほとんどが 0)です。1000 件のツイートが 3000 語以上の TDM になることもあります! テキスト量が多いほど、あまりにごちゃついたデンドログラムは解釈が難しくなります。
多くの実務では、良いデンドログラムは 25~70 語の TDM を基にします。70 語を超えると可視化が混雑して理解しづらくなります。逆に 25 語未満だと、関連性のある洞察的なクラスタが描けない可能性があります。
removeSparseTerms() を使うと、sparse 引数で TDM に残す総語数を調整できます。sparse が 1 に近いほど、より多くの語が残ります。この値は、TDM 内の各語について、ゼロの割合に基づくカットオフ(しきい値)を表します。
この演習はコースの一部です
Rで学ぶBag-of-Wordsによるテキストマイニング
演習の手順
tweets_tdm は chardonnay に関するツイートから作成されています。
tweets_tdmの次元をコンソールに表示してください。tweets_tdmに対してsparse = 0.95を指定し、removeSparseTerms()でtdm1を作成してください。tweets_tdmに対してsparse = 0.975を指定し、removeSparseTerms()でtdm2を作成してください。- 何語残ったか確認するため、
tdm1をコンソールに出力してください。 - 何語残ったか確認するため、
tdm2をコンソールに出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print the dimensions of tweets_tdm
___
# Create tdm1
___ <- ___(___, ___)
# Create tdm2
___ <- ___(___, ___)
# Print tdm1
___
# Print tdm2
___