Как вы уже упоминали в комментариях, лучше использовать data.table
для таблиц полярности и сдвига и установить ключ.
Если я запишу это с вашим текстом, я получу результат ниже. -1.3 для предложения 1 и 1.7 для предложения 2. Помните, что отрицатели следует кодировать как 1L , а не -1L .
library(sentimentr)
library(data.table)
text_to_analyse <- c("Je ne suis pas heureux. Je suis heureux.")
polarity <- data.table(x = "heureux",
y = 3L,
key = "x")
shifters <- data.table(x = "ne",
y = 1L,
key = "x")
sentiment(get_sentences(text_to_analyse),
polarity_dt = polarity,
valence_shifters_dt = shifters)
element_id sentence_id word_count sentiment
1: 1 1 5 -1.341641
2: 1 2 3 1.732051
Поймите, что sentimentr
разработан для английского языка.
Французские словари вы можете посмотреть на следующих сайтах:
FEEL: лексикон расширенной французской эмоции. http://advanse.lirmm.fr/feel.php
Французский лексикон, содержащий более 14 000 различных слов, выражающих эмоции и чувства. Он следует за Экманом двумя основными полярностями и шестью эмоциями (Ekman, 1992). Он был создан путем автоматического перевода и расширения английского эмоционального лексикона NRC-Canada (Mohammad & Turney, 2013). Процесс был проверен и подтвержден вручную профессиональным переводчиком.
Этот файл можно настроить, чтобы он работал с sentimentr
или, возможно, с tidytext
. Я все еще должен изучить это. А может быть udpipe
может быть лучше для французского.
POLTEXT: https://www.poltext.org/en/donnees-et-analyses/lexicoder с лексиконом, который вы можете использовать с quanteda