快乐的歌!
当然,仅靠正负词还不够。本练习将带您了解情感强度修饰词(valence shifters),这些词能体现作者的情绪意图。此前,您已在没有强度修饰词的文本上应用过 polarity()。在本例中,您将看到增强词与否定词如何起作用。
回忆一下,在 polarity() 中,增强词会在遇到正向词时额外加 0.8,使正向得分变为 1.8;遇到负向词则减去 0.8,使总得分变为 -1.8。然后,将该得分除以词数总量的平方根。
来看 Frank Sinatra 的下面这句示例:
- "It was a very good year"
"good"的基础分为 1,而"very"再增加 0.8。因此,1.8/sqrt(6) 的极性约为 0.73。
否定词(如"not")会使主观性分数取相反数。再看 Bobby McFerrin 的这句:
- "Don't worry Be Happy"
由于否定"don't","worry" 的极性被反转为 1。再加上 "happy" 的 +1,共计 2。全句共有 4 个词,2 / sqrt(4) 的极性得分为 1。
本练习是课程的一部分
R 中的情感分析
练习说明
- 查看对话数据框
conversation,留意 text 列中如 "never" 这样的情感强度修饰词。 - 对
conversation的text列应用polarity(),计算整段对话的极性。 - 按学生计算极性分数,并将结果赋给
student_pol。- 再次调用
polarity(),这次传入conversation的两列。 - 文本变量为
text,分组变量为student。
- 再次调用
- 若要查看学生层面的结果,对
student_pol使用scores()。 - 对
student_pol使用counts()可打印整张数据框的句子级极性以及识别到的词典词。 - 可对极性对象
student_pol使用plot()进行绘图。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Examine conversation
___
# Polarity - All
___
# Polarity - Grouped
student_pol <- conversation %$%
___(___, ___)
# Student results
___
# Sentence by sentence
___
# qdap plot
___