さっそく始めましょう! 極性を可視化する
センチメント分析は、著者が対象に対してどのように感じているかを読み解くのに役立ちます。 この演習で、これから学ぶ内容の雰囲気をつかみましょう!
person 列と text 列をもつ会話を表す text_df を用意しています。
qdap の polarity() 関数を使って text_df にスコアを付けましょう。polarity() は、単一の文字ベクトル、またはグループ化用の変数を含むデータフレームを受け取り、ポジティブ/ネガティブのスコアを計算します。
この例では、magrittr パッケージのドルパイプ演算子 %$% を使います。ドル記号はデータフレームを polarity() に渡し、引用符なしでテキスト列名、あるいはテキスト列名とグループ化変数を指定できます。
text_data_frame %$% polarity(text_column_name)
ドル記号の演算子でオブジェクトを作るには、次のようにします。
polarity_object <- text_data_frame %$%
polarity(text_column_name, grouping_column_name)
特に、あるテキストのセンチメントを定量的に判断するには、スコアを与える必要があります。 単純な方法としては、文、段落、またはコーパスと呼ばれる文書集合に対して、ポジティブまたはネガティブな値を割り当てます。 ポジティブ/ネガティブのみで採点することを「極性(polarity)」と呼びます。 極性スコアを取り出すのに便利な関数が、極性オブジェクトに対して適用する counts() です。 すばやく可視化したいときは、polarity() の結果に対して plot() を呼び出します。
この演習はコースの一部です
Rで学ぶSentiment Analysis
演習の手順
text_dfの会話データフレームを確認します。%$%を使ってtext_dfをpolarity()に渡し、列名textを引用符なしで指定します。 これで全テキストの極性が表示されます。- 新しいオブジェクト
datacamp_conversationを作成します。text_dfを%$%でpolarity()に渡し、textに続けてグループ化用のperson列を渡します。 これで各人物ごとの極性が計算され、括弧内なので結果も表示されます。 datacamp_conversationにcounts()を適用して、検出された具体的な感情語を表示します。datacamp_conversationをplot()で可視化します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Examine the text data
text_df
# Calc overall polarity score
text_df %$% polarity(___)
# Calc polarity score by person
(datacamp_conversation <- text_df %$% ___(___, ___))
# Counts table from datacamp_conversation
___(___)
# Plot the conversation polarity
___(___)