簡體   English   中英

如何訪問 nltk/wordnet Synset 對象?

[英]How to access the nltk/wordnet Synset object?

from nltk.corpus import wordnet as wn 

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

此代碼返回:

Synset('pretty.s.01')

但是,我似乎無法對這個類做任何事情。 有沒有辦法從 Synset 中提取 'pretty.s.01' 字符串,以便我可以在 if 語句中比較它?

>>> s = wn.synsets('pretty')[0]
>>> s.lemma_names() #call the method to extract list
['pretty']

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

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

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

from nltk.corpus import wordnet as wn 

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

結果很pretty.s.01

我有一個簡單的答案……至少它對我有用:例如,只需使用str()將 Synset 對象轉換為字符串

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

它會返回'pretty.s.01'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM