“ sentimentr”如何将一个段落或句子拆分为多个句子?

时间:2019-04-01 08:53:41

标签: r sentiment-analysis sentimentr

我正在尝试使用“ sentimentr”软件包在r中运行情感分析。我输入了评论列表,并在输出中得到了element_id,s句子_id,word_count和情感。带有长短语的评论将转换为单个句子。我想知道基于哪个程序包的逻辑?

我对我的评论有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)我们非常失望

我想知道拆分背后是否存在任何语义逻辑,还是仅基于句号?

1 个答案:

答案 0 :(得分:0)

它使用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”。