如何检查Wordnet数据库中是否存在单词

时间:2016-01-22 13:25:37

标签: r wordnet jaws-wordnet

目的: 我有一个包含许多单词的文档。我需要弄清楚哪些单词有拼写错误。

我为此安装了WordNet 3.0。

使用以下命令,我可以检查wordnet数据库中是否确实存在该单词,但这需要我指定POS,即NOUN,PRONOUN等。我可能事先不知道

filter <- getTermFilter("ExactMatchFilter", "car", TRUE)
terms <- getIndexTerms("NOUN", 5, filter) 

请让我知道一种解决我在R

中的问题的方法

1 个答案:

答案 0 :(得分:0)

一种方法:

library(wordnet)
inWordnet <- function(w, pos =  c("ADJECTIVE", "ADVERB", "NOUN", "VERB")) {
  for (x in pos) {
     filter <- getTermFilter("ExactMatchFilter", w, TRUE)
     terms <- getIndexTerms(x, 5, filter)
     if (!is.null(terms)) return(TRUE)
  }
  return(FALSE)
}
inWordnet("car")
# [1] TRUE

或矢量化:

vInWordnet <- Vectorize(inWordnet, vectorize.args = c("w", "pos"))
vInWordnet(c("car", "asdas"))
#   car asdas 
#  TRUE FALSE