比较并对照堆叠条形图
切分文本的另一种方式,是了解文档中有多少比例由正面或负面词汇构成。比如,一条餐厅点评可能会先说 "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