使用 nltk 访问 python 中的同义词时出错?

Error when accessing synonyms in python using nltk?

我写了一段非常简单的代码来尝试打印与单词相关的同义词。

import nltk
from nltk.corpus import wordnet as wn
wordNetSynset =  wn.synsets('small')
for synSet in wordNetSynset:
    for synWords in synSet.lemma_names:
        synonymList.add(synWords)
print synonymList

但是,我收到以下错误:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    for synWords in synSet.lemma_names:
TypeError: 'instancemethod' object is not iterable

有人知道问题出在哪里吗?

在 Nltk 3 中,lemma_names 已从属性更改为方法。

所以你必须调用方法

for synWords in synSet.lemma_names():

其他需要的小改动是:

  • synonymList 未定义
  • 列表将没有 add 方法,即使 synonymList 已定义
  • 您最好将变量命名为 synonymSet