我是 Imagenet 和 Wordnet 数据库的新手。我试图更粗略地重新分类 Imagenet 的图像和类别(例如“植物”、“鱼”、“人”……)。
我知道可以在 下载图像http://www.image-net.org/synset?wnid=[wnid],并且此文件将同义词集 ID 映射到相应的名词,但是是否有任何管理 ID 的规则(例如,ID 的每个数字是否表示某个类别或子类别?) .
小智 5
正如官方API文档所说,wnid是ImageNet中的标识,而不是nltk。您可以根据API文档中的ImageNet和WordNet之间的映射将word映射到wnid。
为了唯一标识同义词集,我们使用“WordNet ID”(wnid),它是 WordNet 的 POS(即词性)和 SYNSET OFFSET 的串联。
首先,在 nltk 中获取同义词集和偏移量:
from nltk.corpus import wordnet as wn
plant_list = wn.synsets('plant')
# plant_list is: [Synset('plant.n.01'), Synset('plant.n.02'), Synset('plant.n.03'), Synset('plant.n.04'), Synset('plant.v.01'), Synset('implant.v.01'), Synset('establish.v.02'), Synset('plant.v.04'), Synset('plant.v.05'), Synset('plant.v.06')]
offset = plant_list[0].offset()
Run Code Online (Sandbox Code Playgroud)
其次,连接POS和偏移量
由于 ImageNet 仅考虑名词,因此只需选择名词同义词集plant_list并连接wnid = "n{:08d}".format(offset)即可获得wnid.
因为有一个同义词列表,你会得到几个wnid“植物”。
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |