Как получить близкие слова в Wor dNet в python - PullRequest
0 голосов
/ 13 января 2020

Я использую Wor dNet, как показано ниже, чтобы получить наборы, используя python.

import nltk 
from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("alzheimer"): 
    for l in syn.lemmas(): 
        synonyms.append(l.name())
print(set(synonyms))

Однако слово alzheimer, по-видимому, не находится в Wor dNet, как я получаю пустой список синхронизаций. Затем я попробовал другие варианты, такие как alzheimer disease, alzheimer's disease, alzheimers, alzheimer's, alzhemimers disease.

У меня вопрос; Можно ли подобрать слово близко к слову alzheimer в Wor dNet, чтобы мне не нужно было вручную проверять, что такое термин в Wor dNet, чтобы получить синтаксис.

I Я рад предоставить более подробную информацию, если это необходимо.

1 Ответ

1 голос
/ 13 января 2020

Вы можете найти подобное слово из данного слова в словаре dnet.

from nltk.corpus import wordnet as wn
wordnet_vocab = list(wn.all_lemma_names())

similar_string = 'alzheimer'
[word for word in wordnet_vocab if similar_string in word]
#op if exact word is not present,  you can get similar word which are present in wordnet vocab
["alzheimer's", "alzheimer's_disease", 'alzheimers']
...