开始使用免费开始使用

比较并对照堆叠条形图

切分文本的另一种方式,是了解文档中有多少比例由正面或负面词汇构成。比如,一条餐厅点评可能会先说 "the food was good",但接着又补充 "the restaurant was dirty, the staff was rude and parking was awful."。因此,您可能想知道文档中正面与负面语言各占多大比重。在这个例子中,负面比例会高于正面。

一种方法是先对正负面词进行 count() 计数,然后除以识别到的主观性词(subjectivity words)的总数。在餐厅点评的例子中,"good" 计为 1 个正面词,而 "dirty"、"rude" 和 "awful" 计为 3 个负面词。一个简单计算会得到结论:由于共有 4 个主观性词,这条点评 25% 为正面,75% 为负面。

首先,在包含 4 本书(Agamemnon、Oz、Huck Finn 和 Moby Dick)的统一整洁数据框上执行 inner_join()。与上一个练习相同,您将使用 filter()grepl()

要执行 count(),您需要先按书名和情感对数据分组。例如,Agamemnon 的所有正面词需要分为一组并计数,这样就不会把各书的正面词混在一起。所幸,您可以把多个变量直接传入 count()

本练习是课程的一部分

R 中的情感分析

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Review tail of all_books
tail(all_books)

# Count by book & sentiment
books_sent_count <- all_books %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Keep only positive or negative
  ___(__("___", sentiment)) %>% 
  # Count by book and by sentiment
  ___(___, ___)
  
# Review entire object
books_sent_count
编辑并运行代码