0

我正在尝试使用“sentimentr”包在 r 中运行情绪分析。我输入了一个评论列表,在输出中得到了 element_id、sentence_id、word_count、sentiment。带有长短语的评论正在转换为单个句子。我想知道基于哪个包的逻辑?

我的评论有 4 个主要类别——食物、氛围、价格和服务。而且我还为这些主题设置了二元组,我正在尝试根据主题拆分句子

install.packages("sentimentr")
library(sentimentr)

data <- read.csv("Comments.csv")

data_new <- as.matrix(data)
scores <- sentiment(data_new)
#scores

write.csv(scores,"results.csv")

例如 - “我们有一个大约 25 人的大型聚会,所以有些问题是可以理解的。但服务员似乎完全不知所措。有很多问题我什至无法开始解释。简单地说食物需要一个多小时才能送达,它到的时候煮过头了,我儿子吃了一块烧焦的牛排,经理来到餐桌上说他们现在没有牛排了,我可以继续吃下去。我们非常失望”分成5句话

1)我们有一个大约 25 人的大型聚会,所以有些问题是可以理解的 2)但是服务器似乎完全不堪重负。3)有太多的问题我什至无法解释。4)简单地说食物需要一个多小时才能送达,到达时它已经煮过头了,我儿子有一块烧焦的牛排,经理来到餐桌上说他们现在没有牛排了,我可以继续下去。5)我们非常失望

我想知道拆分背后是否有任何语义逻辑,或者它只是基于句号?

4

1 回答 1

1

它使用 textshape::split_sentence(),见https://github.com/trinker/sentimentr/blob/e70f218602b7ba0a3f9226fb0781e9dae28ae3bf/R/get_sentences.R#L32

搜索了一下发现逻辑在这里:

https://github.com/trinker/textshape/blob/13308ed9eb1c31709294e0c2cbdb22cc2cac93ac/R/split_sentence.R#L148

即是的,它正在拆分?.!,但随后它使用一堆正则表达式来查找异常,例如“No.7”和“Philip K. Dick”。

于 2019-04-01T10:04:57.900 回答