如何使用 Python/NLTK/Wordnet 来避免出现难以描述的错误消息?

How, with Python / the NLTK / Wordnet, can avoid a nondescript error message?

我定期收到 AttributeError: 'Synset' object has no attribute 'lower'。我的代码,全部在一个文件中,正在生成错误:

Synset('book.n.01')
[Synset('book.n.01')]
Traceback (most recent call last):
  File "./map", line 124, in <module>
    print print_nodes(word)
  File "./map", line 98, in print_nodes
    result.append(print_nodes(synonym), indentation_level + 2 *
  File "./map", line 88, in print_nodes
    synonyms = wordnet.synsets(root)
  File "/usr/local/lib/python2.7/site-packages/nltk/corpus/reader/wordnet.py", line 1416, in synsets
    lemma = lemma.lower()
AttributeError: 'Synset' object has no attribute 'lower'

初始值似乎是我想要的,Synset('book.n.01')。当它运行时,它似乎是 运行 曾经为邻居 Wordnet 拉起,但这是一个单独的问题。

触发 'Synset' object has no attribute 'lower' 的问题是什么?我该如何解决?

我不确定你的代码到底是什么样子或者你想做什么,但是 nltk wordnet howto 展示了如果你已经知道它的标识符如何创建一个同义词集:

>>> from nltk.corpus.reader import wordnet as wn
>>> book = wn.synset("book.n.01")
>>> book
Synset('book.n.01')
>>> book.examples()
['I am reading a good book on economics']

如果这不能为您解决问题,请编辑您的问题并添加一些 实际 python 代码来创建给您带来问题的同义词集。