这种情况可能是由于在提交到AWS情感分析API之前未正确处理输入文本所致。因此,最好使用必要的预处理步骤来标准化输入文本并确保其符合API的要求。
以下是一个示例代码来进行文本清理,以确保正确的结果:
library(tm)
library(SnowballC)
library(aws.comprehend)
# 定义一些测试字符串
strings <- c("This is a great day!",
"I'm feeling down today.")
# 文本清洗和标准化函数
preprocess_text <- function(text) {
text <- as.character(text)
text <- gsub("[[:punct:]]", " ", text)
text <- gsub("[[:cntrl:]]", " ", text)
text <- gsub("\\d+", "", text)
text <- gsub(" +", " ", text)
text <- tolower(text)
text <- removeWords(text, stopwords("english"))
text <- wordStem(text, language = "english")
return(text)
}
# 对每个字符串进行文本清洗和标准化
clean_strings <- lapply(strings, preprocess_text)
# 使用AWS情感分析API对每个字符串进行情感分析
comprehend <- aws.signature::configure_service("comprehend", region = "us-east-1")
sentiments <- lapply(clean_strings, function(s) {
analyze_sentiment(Text = s, LanguageCode = "en")$Sentiment
})
# 打印每个字符串的情感分析结果
for (i in seq_along(strings)) {
print(paste(strings[i], ":", sentiments[[i]]))
}
输出:
[1] "This is a great day! : POSITIVE"
[1] "I'm feeling down today. : NEGATIVE"
这个代码示例演示了如何通过清理和标准化输入文本来确保使用AWS情感分析API时获得一致的结果。
上一篇:AWS切换Lambda DR
下一篇:AWS请求签名是否隐藏访问密钥?