2013-12-09 40 views
1
from nltk.corpus import wordnet as wn 

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

此代碼返回:如何訪問nltk/wordnet的Synset對象?

同義詞集( 'pretty.s.01')

不過,我似乎無法能夠與這個類做任何事情。無論如何要從Synset中提取'pretty.s.01'字符串,以便我可以在if語句中進行比較嗎?

+2

HTTP ://nltk.googlecode.com/svn/trunk/doc/howto/wordnet.html有你可以用Synset對象做的事情的完整列表....你想用對象做什麼(不是類) ,順便說一句)還是你特別想拉出'pretty.s.01'? – Crisfole

回答

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

注意,這給引理的列表;我不確定你什麼時候會得到多個,但似乎是可能的。

如果您想了解關於Synset的其他操作,請在解釋器中對其調用helpdir

+0

如何調用'help'或'dir'來找出關於'Synset'對象的其他方法?或者是否有文檔? –

+0

um,'help(s)','help(s.lemma_names)'? – alexis

+0

我沒有輸出python 3.5 for's.lemma_names'但s.lemma_names()'工程 – lambda

0

我有一個簡單的答案...至少它爲我的作品: 只需使用str()打開同義詞集對象的字符串,例如

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

,它將返回 'pretty.s.01'