ドキュメント群のためのツリーマップ
著者別、製品別、企業別など、ドキュメントをグループで扱うことはよくあります。この演習では、グループを保持したままコンパクトな可視化でテキストを読み解く方法を学びます。たとえば、製品ごとにまとめたカスタマーレビューで、複数の側面を同時に探りたい場合です。まずレビューのpolarity()を計算できます。別の側面としては長さがあります。ドキュメントの長さは感情の強さを示すことがあります。お客様が短く「great shoes!」とだけ書いた場合、長めのポジティブなレビューに比べて熱量は低いと推測できるかもしれません。また、女性用・男性用・子ども用シューズなど、製品タイプごとにレビューをまとめることもあるでしょう。ツリーマップなら、これらすべての次元を一度に確認できます。
テキスト分析において、ツリーマップ内の各ボックスはツイートのような個々のドキュメントを表します。ドキュメントは著者など、何らかの方法でグループ化されます。各ボックスの大きさは単語数や文字数といった数値で決まり、色はセンチメントスコアで決まります。
ティブルを整形したら、可視化を作るために関数treemap()を含むtreemapライブラリを使います。以下のコード例では、データ、グループ化の変数、サイズ、色、その他の見た目を指定しています。
treemap(
data_frame,
index = c("group", "individual_document"),
vSize = "doc_length",
vColor = "avg_score",
type = "value",
title = "Sentiment Scores by Doc",
palette = c("red", "white", "green")
)
あらかじめ読み込まれているall_booksオブジェクトには、Shakespeare 4冊、Melville 3冊、Twain 4冊のコーパスが整然データで結合されています。ツリーマップを基に、誰の本が長いのか、著者全体および各書籍ごとの極性を読み取れるはずです。
この演習はコースの一部です
Rで学ぶSentiment Analysis
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
book_length <- all_books %>%
# Count number of words per book
___(___)
# Examine the results
book_length