请给我示例具有synset
一词的所有属性
我只知道这个属性: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
感谢
答案 0 :(得分:4)
在解释器中使用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
个属性。
答案 1 :(得分:2)
您可以查看WordNet词汇表中的术语 - 它们列出了很多属性。可在此处找到:WordNet Glossary
如果我理解你的问题,这样的事情也可能有效。 ' nyms'这里列出了synset可以拥有的所有属性,try-catch将处理synset没有任何属性的情况。
某些属性仅适用于lemma,而不适用于synset,因此您可以使用相同的代码,但可以使用lemmas替换synsets,以获取反义词,derivationallyRelated_forms和relatedyms等属性。
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