情感分数
在《动物农场》一书中,三头主要的猪推动了故事的发展:拿破仑(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))
}