NLTK WordNet может генерировать синонимы данного слова с помощью методов lemma_names
и similar_tos
:
from nltk.corpus import wordnet as wn
for ss in wn.synsets("small"):
print(ss.name())
print("Synonyms:", ss.lemma_names())
print("Synonyms:", [sim.name().split('.')[0] for sim in ss.similar_tos()])
Вот выдержка из распечатки:
small.a.01
Synonyms: ['small', 'little']
Synonyms: ['atomic', 'bantam', 'bitty', 'dinky', 'dwarfish', 'elfin', 'gnomish',
'half-size', 'infinitesimal', 'lesser', 'micro', 'microscopic', 'miniature',
'minuscule', 'olive-sized', 'pocket-size', 'puny', 'slender', 'small-scale',
'smaller', 'smallish', 'subatomic', 'undersize']
minor.s.10
Synonyms: ['minor', 'modest', 'small', 'small-scale', 'pocket-size', 'pocket-sized']
Synonyms: ['limited']
Чем синонимы, возвращаемые lemma_names
, отличаются от синонимов similar_tos
?
Когда мы должны использовать тот или иной метод?