我计划使用Image-Net为语言任务构建一个同义词列表。根据Image-Net API Docs,
ImageNet基于WordNet 3.0。为了唯一地识别同义词集,我们使用“WordNet ID”(wnid),它是POS(即词性)和WordNet的SYNSET OFFSET的串联。
这一切看起来都很好,但是没有关于如何在WordNet中为synset获取SYNSET OFFSET的文档。这个RiTaWN tutorial解释了如何获取Sense ID,但这些值并不相同。
如何获取SYNSET OFFSET以便我可以开始使用Image-Net API来构建可显示的名词和同义词列表?
在index.noun中,这是一个更有趣的条目:
car n 5 6 @ ~ #m #p %p - 5 2 02958343 02959942 02960501 02960352 02934451
这些数字是您寻求的“同义词偏移量”。因此,取车行中的第一个数字02958343,在其前面加上第二个字段“n”(当然,index.noun中的所有条目在第二个字段中都有“n”),你得到n02958343,它给你:http://image-net.org/synset?wnid=n02958343
如果您尝试使用列表中的第5个数字,那么您将获得images for cable cars。
顺便说一句,index.noun字段的其余部分的文档在这里:https://wordnet.princeton.edu/wordnet/man/wndb.5WN.html
通过data.noun文件(存储同义词之间的所有链接的文件)使用相同的synset偏移量。
顺便说一句,synset抵消了从发布到发布的变化,而ImageNet似乎与Wordnet 3.0相关(或打算打破每个WordNet发布的所有URL)。例如。这就是汽车在wordnet 3.1中的表现:
car n 5 6 @ ~ #m #p %p - 5 2 02961779 02963378 02963937 02963788 02937835
(但http://image-net.org/synset?wnid=n02961779找不到车图)
这就是为什么当我设计MLSN时,我改为使用“06car0”来表示汽车的第一个同义词(06 mean noun.artifact,见WordNet docs);然后,该唯一密钥可以在WordNet更新中存活。不幸的是它没有流行,所以人们仍然使用Wordnet synset偏移。