开始使用免费开始使用

快乐的歌!

当然,仅靠正负词还不够。本练习将带您了解情感强度修饰词(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" 这样的情感强度修饰词。
  • conversationtext 列应用 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
___
编辑并运行代码