使用Python / NLTK / Wordnet,如何避免出现不明确的错误消息?

时间:2016-07-20 18:42:45

标签: python nltk wordnet

我定期收到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'的问题是什么,我该如何解决?

1 个答案:

答案 0 :(得分:4)

我不确定您的代码到底是什么样的,或者您要尝试做什么,但是nltk wordnet howto显示了如果您已经知道其标识符,如何创建一个synset:

>>> 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代码,以创建可以解决问题的synset。