- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 RStudio 中,我有一列包含 荷兰语 我想通过情感分析在 -1.0 和 +1.0 之间添加极性分数的句子。我已经尝试使用 pattern.nlp
来自 jwfijffels 的包,但这对我不起作用。我在 https://github.com/bnosac/pattern.nlp 上找到了一条说明其中解释说 - 为了使 nlp 包工作,您应该下载特定版本的 Python 并执行一些额外的步骤。但是,这些步骤对我来说有点模糊。
有没有人可以更详细地向我解释这个安装过程?实际上,“安装”下的整个部分对我来说有点神秘。具体应该下载什么?
在哪里运行代码pip install pattern
?如何正确设置PATH?如果有人能一步一步地指导我完成它,我将不胜感激。
或者:如果有人知道另一种对文本进行情感分析的方法,我当然会接受它,例如将荷兰语句子翻译成英语,然后进行情感分析。或者这样的翻译会是一个坏主意吗?
这里有一组 6 个荷兰语句子。
text = c("Slechte bediening, van begin tot eind",
"Het eten was heerlijk en de bediening was fantastisch",
"Geweldige service en beleefde bediening",
"Verschrikkelijk. Ik had een vlieg in mijn soep",
"Het was oké. De bediening kon wat beter, maar het eten was wel lekker. Leuk sfeertje wel!",
"Ondanks dat het druk was toch op tijd ons eten gekregen. Complimenten aan de kok voor het op smaak brengen van mijn biefstuk")
identifier <- c("3", "4", "6", "7", "1", "5")
df <- data.frame(identifier, text)
最佳答案
情感分析(使用字典)基本上只是一个模式匹配任务。我认为这在使用 tidytext
时变得很清楚包装和 reading the book about it .
所以我不会在这里打扰如此复杂的设置。相反,我会将他们使用的字典(来自 here)转换为 data.frame
然后使用 tidytext
.不幸的是,字典以 XML 格式存储,我对此不是很熟悉,所以代码看起来有点 hacky:
library(tidyverse)
library(xml2)
library(tidytext)
sentiment_nl <- read_xml(
"https://raw.githubusercontent.com/clips/pattern/master/pattern/text/nl/nl-sentiment.xml"
) %>%
as_list() %>%
.[[1]] %>%
map_df(function(x) {
tibble::enframe(attributes(x))
}) %>%
mutate(id = cumsum(str_detect("form", name))) %>%
unnest(value) %>%
pivot_wider(id_cols = id) %>%
mutate(form = tolower(form), # lowercase all words to ignore case during matching
polarity = as.numeric(polarity),
subjectivity = as.numeric(subjectivity),
intensity = as.numeric(intensity),
confidence = as.numeric(confidence))
但输出是正确的:
head(sentiment_nl)
#> # A tibble: 6 x 11
#> id form cornetto_id cornetto_synset… wordnet_id pos sense polarity
#> <int> <chr> <chr> <chr> <chr> <chr> <chr> <dbl>
#> 1 1 amst… r_a-16677 "" "" JJ van … 0
#> 2 2 ange… r_a-8929 "" "" JJ Enge… 0.1
#> 3 3 arab… r_a-16693 "" "" JJ van … 0
#> 4 4 arde… r_a-17252 "" "" JJ van … 0
#> 5 5 arnh… r_a-16698 "" "" JJ van … 0
#> 6 6 asse… r_a-16700 "" "" JJ van … 0
#> # … with 3 more variables: subjectivity <dbl>, intensity <dbl>,
#> # confidence <dbl>
现在我们可以使用
tidytext
中的函数和更广泛的
tidyverse
在字典中查找单词并将分数附加到每个单词。
summarise()
用于为每个文本获取一个值(这也是您需要
text_id
的原因)。
df <- data.frame(text = c("Het eten was heerlijk en de bediening was fantastisch",
"Verschrikkelijk. Ik had een vlieg in mijn soep",
"Het was oké. De bediening kon wat beter, maar het eten was wel lekker. Leuk sfeertje wel!",
"Ondanks dat het druk was toch op tijd ons eten gekregen. Complimenten aan de kok voor het op smaak brengen van mijn biefstuk"))
df %>%
mutate(text_id = row_number()) %>%
unnest_tokens(output = word, input = text, drop = FALSE) %>%
inner_join(sentiment_nl, by = c("word" = "form")) %>%
group_by(text_id) %>%
summarise(text = head(text, 1),
polarity = mean(polarity),
subjectivity = mean(subjectivity),
.groups = "drop")
#> # A tibble: 4 x 4
#> text_id text polarity subjectivity
#> <int> <chr> <dbl> <dbl>
#> 1 1 Het eten was heerlijk en de bediening was fanta… 0.56 0.72
#> 2 2 Verschrikkelijk. Ik had een vlieg in mijn soep -0.5 0.9
#> 3 3 Het was oké. De bediening kon wat beter, maar h… 0.6 0.98
#> 4 4 Ondanks dat het druk was toch op tijd ons eten … -0.233 0.767
正如我所说,更多关于这个(和 NLP)的解释在
tidytextmining.com 上。 ,所以如果您现在看起来很复杂,请不要担心。
关于r - 使用 R 进行荷兰语情绪分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64119521/
我目前正在做一个项目,我必须提取用户的面部表情(网络摄像头一次只能提取一个用户),比如悲伤或快乐。 目前我发现的最佳可能性: 我使用 OpenCV 进行人脸检测。 OpenCV 开发板上的一些用户建议
此代码来自Facebook Chat Emoticons Bar Grease Monkey UserScript ImagesURL = HttpsOn?'https://s-static.ak.f
我正在寻找一种可以分析短文本情感的工具。我搜索了一个星期,但找不到一个可以公开获得的好的。理想的工具是将短文本作为输入并猜测情感的工具。它最好是一个独立的应用程序或库。 我不需要通过文本训练的工具。而
是否有任何简单的 Android/Java 库/框架可以检测图片上的人脸并给我一些关于图片上的人的信息?我的意思是诸如性别、年龄、情绪(微笑、悲伤、愤怒)之类的信息...... 我试过Face++和微
我下载了WN-Affect .但是,我不确定如何使用它来检测句子的情绪。例如,如果我有一个字符串“我讨厌足球”。我希望能够检测情绪是否不好,情绪是否是恐惧。 WN-Affect 没有关于如何操作的教程
现在,Skype 将淘汰其桌面 API 以支持 Skype URI,我正在尝试弄清楚如何修改状态和情绪消息。我的应用程序是一个 chrome 扩展程序,使用它的人都知道它的作用。它是一个合法的用例。目
我有这个: import styled from 'react-emotion'; const Box = styled('div')` display: flex; flex-directi
我是一名优秀的程序员,十分优秀!