1

Please Give Me am example That have all of attribute of synset of a word i know only this attribute: name , lemma_names , definition

synsetsWord = ObjWn.synsets( 'Book' )
        i = 0 
        for senseWord in synsetsWord:
            synsetsWord[i] = senseWord.name
            print 'Sense Lema Name: ' , senseWord.lemma_names
            print 'Sense Definition : ' , senseWord.definition
            i = i + 1

thanks

4

2 回答 2

5

使用dir()解释器中的内置函数。

这是一个例子:

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import itertools
>>> help(itertools)

>>> dir(itertools.chain)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'from_iterable', 'next']

您可以提供任何对象以dir()获取list其属性。

于 2011-07-12T04:48:04.960 回答
2

您可以查看 WordNet 词汇表中的术语——它们在那里列出了相当多的属性。可以在这里找到:WordNet 词汇表

如果我正确理解你的问题,这样的事情也可能有效。这里的“nyms”列出了同义词集可以具有的所有属性,try-catch 将处理同义词集没有任何此类属性的任何情况。

某些属性仅适用于词条,而不适用于同义词集,因此您可以使用相同的代码,但用词条替换同义词集以获取反义词、衍生相关形式和相关词等属性。

for synset in (wn.synsets('dog')):
        print synset
        nyms = ['hypernyms', 'hyponyms', 'meronyms', 'holonyms', 'part_meronyms', 'sisterm_terms', 'troponyms', 'inherited_hypernyms']
        for i in nyms:
            try:
                print getattr(synset, i)()
            except AttributeError as e: 
                print e
                pass
于 2014-07-09T21:16:50.083 回答