Мне интересно, есть ли простой способ получить синонимы существительных в wordnet. Кажется, что синонимы прилагательных получить довольно легко.
for ss in wn.synsets('beautiful'):
print(ss)
for sim in ss.similar_tos():
print(' {}'.format(sim))
Я нашел приведенный выше код из другого вопроса SO, и он хорошо работает с прилагательными. Но когда я говорю «бензин» или «огонь», результаты ужасны. В идеале я бы получил список слов, очень похожий на этот сайт.
Что-то еще, что я пробовал, дало хорошие результаты, но очень медленно:
def syn(word, lch_threshold=2.26):
for net1 in wn.all_synsets():
try:
lch = net1.lch_similarity(wn.synset(word))
except:
continue
# The value to compare the LCH to was found empirically.
# (The value is very application dependent. Experiment!)
if lch >= lch_threshold:
yield (net1, lch)
for x in syn('gasoline.n.1'):
print x
Что также было найдено из другого вопроса SO. Есть ли более простой способ получить синонимы существительных, как в приведенной выше ссылке?