我对多个文件进行了 VADER 情绪分析,所有文件的复合得分均为 1;我如何验证这个结果?

问题描述 投票:0回答:1

我有 6 次不同采访的笔录文件,并且正在使用 VADER 对文本进行情感分析。所有文件的综合得分为 1。这对我来说似乎不正确,但我不确定为什么会发生这种情况,或者如何排除故障。

我的代码是:

  for (i in MD_scripts) {
    file_MD <- read_file(i)
    gsub("[\r\n]", "", file_MD)
    vader_MD <- get_vader(file_MD)
    df_vader <- data.frame(rbind(df_vader, vader_MD))
   } 

pos、neu、neg 分数也出奇地相似,但并不完全相同。 有什么建议/想法吗?

我想过对单个句子运行 VADER(成功做到了这一点)并尝试手动计算总体复合分数,但我不知道该怎么做。

r sentiment-analysis vader
1个回答
0
投票

这里有两种更正问题中代码的方法。

一,使用

for
循环。您必须事先创建一个结果列表
vader_list

library(vader)

vader_list <- vector("list", length = length(MD_scripts))
for (i in seq_along(MD_scripts)) {
  file_MD <- MD_scripts[[i]] |>
    readLines() |> 
    paste(collapse = " ")
  vader_list[[i]] <- get_vader(file_MD)
} 

您还可以使用

lapply
循环,这使得代码更简单。

library(vader)

vader_list <- lapply(MD_scripts, \(fl) {
  fl |>
    readLines() |> 
    paste(collapse = " ") |>
    get_vader()
})
© www.soinside.com 2019 - 2024. All rights reserved.