我有一个大型(约 250 万条记录)图像元数据数据库。每条记录代表一个图像,并具有唯一的 ID、描述字段、以逗号分隔的关键字列表(例如每张图像 20-30 个关键字)和一些其他字段。没有真正的数据库模式,如果不遍历每个图像并计算它们,我无法知道数据库中存在哪些关键字。此外,元数据来自几个不同的供应商,每个供应商对如何填写不同的字段都有自己的想法。
我想用这个元数据做一些事情,但由于我对这种算法完全陌生,我什至不知道从哪里开始寻找。
- 其中一些图像对它们有一定的使用限制(以文字形式给出),但每个供应商的措辞不同,无法保证一致性。我想进行一个简单的测试,我可以将其应用于图像,以指示该图像是否不受限制。它不必是完美的,只要“足够好”。我怀疑我可以为此使用某种贝叶斯过滤器,对吧?我可以用我知道是受限制或不受限制的图像语料库训练过滤器,然后过滤器就能够对其余图像进行预测?还是有更好的方法?
- 我还希望能够根据“关键字相似度”对这些图像进行索引,这样如果我有一张图像,我就可以快速判断它与哪些其他图像共享最多的关键字。理想情况下,该算法还将考虑到某些关键字比其他关键字更重要,并对它们进行不同的权衡。我什至不知道从哪里开始看这里,如果有任何指示,我会很高兴:)
我主要在 Java 中工作,但语言选择在这里无关紧要。我更感兴趣的是了解哪些方法最适合我开始阅读。提前致谢 :)