【问题标题】:How does "sentimentr" package split a paragraph or sentences into more than 1 sentences?“sentimentr”包如何将一个段落或句子分成1个以上的句子?
【发布时间】:2019-04-01 08:53:41
【问题描述】:

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

我的 cmets 有 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) 我们很失望

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

【问题讨论】:

    标签: r sentiment-analysis sentimentr


    【解决方案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”。

    【讨论】:

    • 感谢达伦的帮助。您能否也建议一种方法,使用它我可以根据我对每个主题(即食物、气氛、价格和服务)拥有的大词来拆分句子。比克的几个例子是 - 灯等,小冷,小凉,管理冷,近冷,外冷,
    • @RaghuNandan 这应该是一个新问题。但我会先做一个彻底的搜索,因为制作 n-gram 是非常普遍的需求,所以有很多库和方法。
    猜你喜欢
    • 2013-05-28
    • 1970-01-01
    • 2014-06-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多