我需要检查一个单词的变体是否在文本中?如果不把所有东西都打出来,我怎么能做到呢?例如,我需要搜索单词"broken",在r中是否有一种方法可以查找这个单词和其他变体?
a="Broken flask"
b="fragmented flask"
c="broke glass"
d="shattered glass"
e="break flask"
text=c(a,b,c,d,e)
str_detect(tolower(text),"broken|fragmented|broke|break|shatter|shattered")
您可以从syn
包中检出syn
,它为给定的单词生成同义词,允许您执行以下操作:
library(syn)
grepl(paste0(c("broken", syn("broken")), collapse = "|"), text, ignore.case = T)
#> [1] TRUE TRUE TRUE TRUE FALSE
它在这里选择了5个中的4个,而无需编程任何变化。