2024-05-12 20:46:25 发布
网友
我有一个WordNet synset偏移量(例如id="n#05576222")。给定这个偏移量,如何使用Python获取synset?
id="n#05576222"
有关NTLK 3.2.3或更新版本,请参阅donners45的答案。
对于旧版本的NLTK:
NLTK中没有内置方法,但可以使用以下方法:
from nltk.corpus import wordnet syns = list(wordnet.all_synsets()) offsets_list = [(s.offset(), s) for s in syns] offsets_dict = dict(offsets_list) offsets_dict[14204095] >>> Synset('heatstroke.n.01')
然后你就可以在需要的时候把字典装进去。
对于3.0之前的NLTK版本,请替换行
offsets_list = [(s.offset(), s) for s in syns]
与
offsets_list = [(s.offset, s) for s in syns]
因为在NLTK 3.0之前,offset是一个属性而不是一个方法。
offset
您可以使用^{},例如:
from nltk.corpus import wordnet as wn syn = wn.of2ss('01580050a')
会回来的 Synset('necessary.a.01')
Synset('necessary.a.01')
从NLTK 3.2.3开始,有一种公共方法可以做到这一点:
wordnet.synset_from_pos_and_offset(pos, offset)
在早期版本中,您可以使用:
这将根据POS和offest ID返回一个synset。我认为这个方法只在NLTK 3.0中可用,但我不确定。
示例:
from nltk.corpus import wordnet as wn wn.synset_from_pos_and_offset('n',4543158) >> Synset('wagon.n.01')
新版本使用synset_from_pos_and_offset,旧版本使用_synset_from_pos_and_offset。
synset_from_pos_and_offset
_synset_from_pos_and_offset
有关NTLK 3.2.3或更新版本,请参阅donners45的答案。
对于旧版本的NLTK:
NLTK中没有内置方法,但可以使用以下方法:
然后你就可以在需要的时候把字典装进去。
对于3.0之前的NLTK版本,请替换行
与
因为在NLTK 3.0之前,
offset
是一个属性而不是一个方法。您可以使用^{} ,例如:
会回来的
Synset('necessary.a.01')
从NLTK 3.2.3开始,有一种公共方法可以做到这一点:
在早期版本中,您可以使用:
这将根据POS和offest ID返回一个synset。我认为这个方法只在NLTK 3.0中可用,但我不确定。
示例:
新版本使用
synset_from_pos_and_offset
,旧版本使用_synset_from_pos_and_offset
。相关问题 更多 >
编程相关推荐