Bing 整洁极性:简单示例
既然您已经理解了内连接的基础用法,我们把它应用到 "Bing" 词典上。请记住,inner_join() 函数来自 dplyr,而词典对象通过 tidytext 的 get_sentiments() 函数获取。
Bing 词典将词语标注为正向或负向。接下来的三个练习将带您使用这个特定词典。要使用 get_sentiments(),传入一个字符串,例如 "afinn"、"bing"、"nrc" 或 "loughran",即可下载相应词典。
内连接工作流:
- 使用
get_sentiments()获取正确的词典。 - 将词典与整洁文本数据一起传给
inner_join()。 - 要让
inner_join()工作,需要有共享的列名。如果没有共享列名,请通过额外参数by指定,用c列出对应列名,如下所示。
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- 对连接得到的表执行聚合与分析。
本练习是课程的一部分
R 中的情感分析
练习说明
我们已加载了包含《阿伽门农》前 100 行文本的 ag_txt,以及其整洁版本 ag_tidy。
- 为对比,在
ag_txt上使用polarity()。 - 将字符串
"bing"传给get_sentiments()获取词典。 - 使用
inner_join()将ag_tidy与bing进行连接。- 在
ag_tidy中单词列叫"term",在词典中叫"word",因此需要声明by参数。 - 将新对象命名为
ag_bing_words。
- 在
- 打印
ag_bing_words,查看结果中包含哪些词。 - 使用管道运算符 %>% 将
ag_bing_words传给count(),按sentiment统计计数。将该结果与polarity()得到的极性分数进行比例对比。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Qdap polarity
___
# Get Bing lexicon
bing <- get_sentiments("___")
# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))
# Examine
ag_bing_words
# Get counts by sentiment
ag_bing_words %>%
___(___)