如何访问nltk / wordnet Synset对象?

时间:2013-12-09 12:39:55

标签: python nltk

from nltk.corpus import wordnet as wn 

print (wn.synsets('pretty')[0])

此代码返回:

  

同义词集( 'pretty.s.01')

但是,我似乎无法对这门课做任何事情。无论如何从Synset中提取'pretty.s.01'字符串,以便我可以在if语句中对它进行比较吗?

3 个答案:

答案 0 :(得分:3)

>>> s = wn.synsets('pretty')[0]
>>> s.lemma_names
['pretty']

请注意,这会提供一个列表的列表;我不确定你什么时候会有多个,但似乎有可能。

如果您想了解Synset上的其他操作,请在解释器中调用helpdir

答案 1 :(得分:0)

我有一个简单的答案......至少它对我有用:  只需使用str()将Synset对象转换为字符串,例如

from nltk.corpus import wordnet as wn
s = wn.synsets('pretty')[0]
print str(s)[8:-2]

它将返回 'pretty.s.01'

答案 2 :(得分:0)

您可以为此使用.name()方法:

from nltk.corpus import wordnet as wn 

print (wn.synsets('pretty')[0].name()) 

结果为pretty.s.01