gpt4 book ai didi

r - 查找文本中无意义的单词

转载 作者:行者123 更新时间:2023-12-05 07:28:23 25 4
gpt4 key购买 nike

我有一个数据集,其中包含用户是否知道某个品牌的答案。正如您在我的示例中所见,一些用户只是胡说八道。

meinstring <- c("----asdada", "no idea", "C&A", "aaaaaaaaaa", "---", "adaosdjasodajsdoad")


spamidenfifier <- function(x) {
verhaeltnis <- str_count(tolower(x), "[aeoiu]") / str_count(x)
sequenz <- sum(sequence(rle(as.character(data.frame(strsplit(as.character(x), ""))[,1]))$lengths) >= 3, na.rm = TRUE)
if(str_count(x) > 4) { weight <- 0.9 } else { weight <- 1 } ## Gewicht, weil unwahrscheinlicher bei längerem String
variation_buchstaben <- (length(unique(data.frame(strsplit(as.character(x), ""))[,1])) / str_count(x) * weight)
if(verhaeltnis < 0.2 | verhaeltnis > 0.8 | sequenz > 0 | variation_buchstaben < 0.5) {
return(TRUE)
} else {
return(FALSE)
}
}


sapply(meinstring, spamidenfifier)

输出:

----asdada            no idea                C&A         aaaaaaaaaa                --- adaosdjasodajsdoad 
TRUE FALSE FALSE TRUE TRUE FALSE

我的功能还算不错,但可能会有更好的解决方案。是否有一个包或更好的方法来识别一个单词是否只是拼写错误或一个人回答了废话。如果没有,非常感谢改进该功能的建议!

编辑:更新了一些改进:-)

最佳答案

只是我的突发奇想:

meinstring <- c("----asdada", "no idea", "C&A", "aaaaaaaaaa", "---", "adaosdjasodajsdoad", "+-*-", "*-+-", "adfpdflrraaeea")

grepl('^\\W+$|(?:[-!@#$%^&*\\[\\]()";:_<>.,=+/ ]){2,}|[-!@#$%^&*\\[\\]()";:_<>.,=+/ ]{3,}|[aeoiu]{3,}',
meinstring , perl = T) & !grepl("iou|zweieiig", meinstring) # add the exceptions in the second grepl.

[1] TRUE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE

没有完美的解决方案。

关于r - 查找文本中无意义的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53378325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com