Как пакет "sentimentr" разбивает абзац или предложения на более чем 1 предложение? - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь запустить анализ настроений в r с помощью пакета "sentimentr".Я подал в список комментариев и в выводе получил element_id, termince_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) Мы были очень разочарованы

Я хочу знать, есть ли какая-то семантическая логика за расщеплением или она просто основана на полных остановках?

1 Ответ

1 голос
/ 01 апреля 2019

Использует texthape :: 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

т.е. да, он разделяется на ?.!, но затем использует кучу регулярных выражений для поиска исключений, таких как «№ 7» и «Филип К. Дик».

...