开始使用免费开始使用

Bing 整洁极性:简单示例

既然您已经理解了内连接的基础用法,我们把它应用到 "Bing" 词典上。请记住,inner_join() 函数来自 dplyr,而词典对象通过 tidytextget_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_tidybing 进行连接。
    • 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 %>%
  ___(___)
编辑并运行代码