2016-01-22 3 views
0

Цель: У меня есть документ со многими словами. Мне нужно выяснить, какие слова имеют орфографические ошибки.Как проверить, существует ли слово в базе данных Wordnet

Для этого я установил WordNet 3.0.

С помощью следующей команды я могу проверить, действительно ли слово существует в базе данных wordnet, но мне нужно указать POS i.e NOUN, PRONOUN и т. Д. которые я мог бы не знать заранее

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

Пожалуйста, дайте мне знать, как решить мою проблему в R

ответ

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 
Смежные вопросы