通过标签查找相似的图像



tl;dr

从根本上讲,我正在寻找合理的方法来实现标签组之间的相似性等级,其中标签组是2到9个标签。类似于对词汇量为20万个单词的2到9个单词句子的相似性进行排名,只是单词顺序无关紧要。


我有一组标记的图像,我想实现几个搜索功能:

  1. 相似的图像
  2. 相似但不同的图像

其中相似性仅基于标签。

找到相同标签的图像并没有那么难,但在那之后,我有点不知所措,无法找到最好的方法。我们有几十万个标签,上面没有元数据,所以我们不知道"Outlook"与"Microsoft"、"Windows"或"电子邮件"有关,因此无法理解标记为"Microsoft,Excel,条形图"的图像与标记为"Excel,Spreadsheet"的图像和标记为"Visio,Bar Graph"的图像之间的相关性差异。

对于"相似的图像",我们希望将"Microsoft,Excel,条形图"与"Visio,条形图"相匹配,而对于"相似但不同的图像"我们希望将"Microsoft,Excel、条形图"与"Excel,Spreadsheet"相匹配。

我目前最好的猜测是把标签当作文本处理,然后把它们扔到Solr中。另一方面,也许可以采用不同类型的数据库,如Neo4j。

关于如何向前迈出几步,有什么建议吗?我并不期待一个完整的解决方案,但如果能提出一个通用方法的建议,我将不胜感激。

额外信贷:

更困难的是,当标签被分配给图像时,它们被指定为"主要"或"次要",当然我们希望考虑到这一点。

更新

让我们重复这个问题。

  • 输入数据由标签集=字符串集(以及指向相关图像资源的指针)组成
  • 字符串只是字符序列,没有其他可用的语义信息
  • 然而,字符串的权重分为"主要"(权重较高)和"次要"(权重较低)

这意味着搜索必须仅依赖于集合(和字符串)的某些相似性度量。

此类措施的例子有:

  • Jaccard相似性
  • 骰子相似性
  • 特维尔斯基相似性
  • 余弦相似性

2010年的这篇论文:一种基于协作权重模型的加权标签相似性度量将其中的几个(和其他)应用于标签问题,并展示了如何包括权重。这应该很有帮助,IMHO。

另一个(更简单)的应用可以在2013年的这篇论文中看到:使用Jaccard系数进行关键词相似性。

关于问题中的示例

对于"Similar images",我们希望将"Microsoft, Excel, Bar Graph""Visio, Bar Graph"匹配

由于一个标签("Bar Graph")对两组标签都是通用的,所以它会有一些相似性。

而对于"Similar but different images",我们希望将"Microsoft, Excel, Bar Graph""Excel, Spreadsheet"相匹配。

还有一个共同的标记("Excel")。但是,系统应该如何知道"Visio"与集合"Microsoft, Excel, Bar Graph""Spreadsheet"更相似?这需要语义信息。我不知道如何解决这个问题。

旧零件

除了在下面2009年的论文中讨论了各种指标外,我发现对你选择的方法没有太多帮助(你对它的限制很大)。

但我想把我在这个话题上的小搜索步骤放在网上,因为它会把你的问题放在上下文中。

其他人去哪里

研究界似乎正朝着这些方向发展:

  • 使用关于提供标签的用户的附加信息(大众分类社交标签)
  • 利用语义元数据(本体语义相似性)
  • 利用视觉图像内容(基于内容的视觉信息检索)

民俗,社交标签

参见2009年的一篇论文:评估社会标记的紧急语义的相似性度量。

代替传统的通过比较图像的图形数据来定义相似性的方法

I = { (x, y, colour) }

在某种程度上(基于内容的图像检索按图像内容查询根据内容的视觉信息检索ravest semantics),就像您想要的那样。

他们的基本模型由用户为资源分配的标签组成,比较所谓的大众分类的元组

F = { (user, resource, tag) }

可以通过不同的方法将其缩小到(资源、标签)元组的情况,以在用户上聚合,从而产生不同的相似性度量。

语义相似性

有趣的是使用语义相似性,例如Jiang Conrad,但遗憾的是,你的标签没有语义元数据(本体例如),这让你只能坚持单词字符串表示的相似性。

从2008年起,本文《本体论在改进图像检索和注释中的应用》再次支持本体论的使用,但我认为它对各种方法进行了很好的讨论。

Folksonomies,基于人民的智慧。Flickr就是一个很有代表性的例子。这种方法克服了手动注释,但标签使用中的不一致性可能会使搜索整个数据集

与基于内容的视觉信息检索相结合

上面的两篇论文都引用了2006年的一篇论文《使用紧急语义增强导航以进行协作标记》。

然而,单独使用标签搜索和浏览数据库显然具有其局限性。首先,人们在标记时会犯错误,比如拼写错误,或者使用错误的标签进行意外标记。第二,没有解决方案处理同音异义,即区分一个词的不同含义。第三同义词或不同语言只能通过显式标记数据来处理所有条款

这些作者将社交标签与最初提到的基于内容的图像检索相结合。

还有一个环节:协作标记。

最新更新