使用 Wordnet Synset 的定义方法未获得所需的输出
Not getting the required output using Wordnet Synset's definition method
from nltk.corpus import wordnet
syn=wordnet.synsets('cookbook')[0]
print syn.definition
预期输出:
'a book of recipes and cooking directions'
实际输出:
bound method Synset.definition of Synset('cookbook.n.01')
我无法查明我的代码中导致实际输出与预期输出之间存在差异的错误。
>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('dog')[0]
Synset('dog.n.01')
>>> wn.synsets('dog')[0].definition
<bound method Synset.definition of Synset('dog.n.01')>
>>> wn.synsets('dog')[0].definition()
u'a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds'
因为Synset
对象属性已经改成了Synset
函数,见https://github.com/nltk/nltk/commit/ba8ab7e23ea2b8d61029484098fd62d5986acd9c
你忘记了 .definition
兄弟之后的 ()
试试下面这行,它会起作用。
print(wn.synsets('dog')[0].definition())
from nltk.corpus import wordnet
syn=wordnet.synsets('cookbook')[0]
print syn.definition
预期输出:
'a book of recipes and cooking directions'
实际输出:
bound method Synset.definition of Synset('cookbook.n.01')
我无法查明我的代码中导致实际输出与预期输出之间存在差异的错误。
>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('dog')[0]
Synset('dog.n.01')
>>> wn.synsets('dog')[0].definition
<bound method Synset.definition of Synset('dog.n.01')>
>>> wn.synsets('dog')[0].definition()
u'a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds'
因为Synset
对象属性已经改成了Synset
函数,见https://github.com/nltk/nltk/commit/ba8ab7e23ea2b8d61029484098fd62d5986acd9c
你忘记了 .definition
兄弟之后的 ()
试试下面这行,它会起作用。
print(wn.synsets('dog')[0].definition())