来自NLTK WordNet API:
>>> from nltk.corpus import wordnet as wn
>>> for i in wn.synsets('discover'):
... print i, i.offset
...
Synset('detect.v.01') 2154508
Synset('learn.v.02') 598954
Synset('discover.v.03') 1637982
Synset('discover.v.04') 721437
Synset('fall_upon.v.01') 2286687
Synset('unwrap.v.02') 933821
Synset('discover.v.07') 2128066
Synset('identify.v.05') 652346
>>> wn.synset('discover.v.8')
Synset('identify.v.05')
来自WN3.0的index.verb
文件,我们有:
discover v 8 6 @ ~ * > $ + 8 7 02154508 00598954 01637982 00721437 02286687 00933821 02128066 00652346
我已经检查了WordNet API(http://www.nltk.org/_modules/nltk/corpus/reader/wordnet.html),但没有太多可以说明从discover.v.8
到identify.v.5
的映射方式。
任何人都可以解释映射是如何发生的吗?
如何提取这些映射的列表?
答案 0 :(得分:1)
我不确定你的问题究竟是什么意思。好像你不明白为什么发现与识别相关联是不是正确的?发现WordNet Synset 是" SYNonym SET" ,因此为单个synset列出了很多单词。
如果你通过浏览器(WNB)或通过online version检查wordnet,你会看到你拥有的同义词列表"发现"只是来自wordnet的所有synset的列表,其中包含单词discover。出于某种原因,在内部,NLTk描述了只有出现在相关单词的synset列表上的第一个单词的synset。
换句话说,Synset('discover.v.8')
与Synset('identify.v.05')
的同义词集合相同,只能从不同的角度看待。作为VERB的发现的第8感也是识别为VERB的第5感。在内部都使用相同的S-ID,即它们相关的位置。
这些映射的列表只是与该单词相关的Synset ID列表。