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