开始使用免费开始使用

情感分数

在《动物农场》一书中,三头主要的猪推动了故事的发展:拿破仑(Napoleon)、雪球(Snowball)和口才好(Squealer)。整本书中,它们不断传播反叛思想,鼓动其他动物从农场主琼斯先生手中夺取农场的控制权。

请使用包含每头猪名字的句子,确定哪个角色与之相关的负面情感最多。sentences tibble 包含《动物农场》中的句子。

本练习是课程的一部分

R 自然语言处理入门

查看课程

练习说明

  • 使用 grepl() 过滤只包含猪名的句子。
  • 使用 inner_join(),与 afinn 词典连接以获取情感分数。
  • 通过对 score 列求和来汇总结果。

交互式实操练习

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

# Print the overall sentiment associated with each pig's sentences
for(name in c("napoleon", "snowball", "squealer")) {
  # Filter to the sentences mentioning the pig
  pig_sentences <- sentences[___(___, sentences$sentence), ]
  # Tokenize the text
  napoleon_tokens <- pig_sentences %>%
    unnest_tokens(output = "word", token = "words", input = sentence) %>%
    anti_join(stop_words)
  # Use afinn to find the overall sentiment score
  result <- napoleon_tokens %>% 
    inner_join(___("___")) %>%
    summarise(sentiment = ___(___))
  # Print the result
  print(paste0(name, ": ", result$sentiment))
}
编辑并运行代码