无监督自动标记算法?
Posted
技术标签:
【中文标题】无监督自动标记算法?【英文标题】:Unsupervised automatic tagging algorithms? 【发布时间】:2013-02-28 21:56:27 【问题描述】:我想构建一个 Web 应用程序,让用户可以上传 文档、视频、图像、音乐,然后赋予他们搜索它们的能力。将其视为 Dropbox + 语义搜索。
当用户上传新文件时,例如Document1.docx,如何根据文件内容自动生成标签?换句话说,不需要用户输入来确定文件的内容。如果假设Document1.docx是一篇关于数据挖掘的研究论文,那么当用户搜索数据挖掘,或者研究论文,或者document1,该文件应该在搜索结果中返回,因为数据挖掘和研究论文很可能是该给定文档的潜在自动生成标签。
1.对于这个问题,您会推荐哪些算法?
2.有没有一个自然语言库可以为我做到这一点?
3.我应该研究哪些机器学习技术来提高标记精度?
4.如何将其扩展到视频和图像自动标记?
提前致谢!
【问题讨论】:
您将如何搜索视频?您会提供另一个视频还是(更自然地)输入一些描述它的词。如果是后者,您将需要用户参与标记。 我很确定你可以通过谷歌搜索得到很多文献。因为据我所知,甚至有大量关于尝试自动标记视频的研究工作。鉴于文本比视频或图像更容易被机器解释,我相信你可以在网站上找到你想要的。但请记住,没有完美的算法可以完全按照您的预期完成。 @jozefg 我现在有两个选择:a)输入几个关键字 b)提取音频通道,分析它的模式。如果是语音,则将语音解析为文本并提取相关关键字。如果是音乐,则将其传递给 Echospirit 进行音乐识别。所有其他情况将导致没有标签。 换句话说,你想建立谷歌。我推荐雄心勃勃的项目。 【参考方案1】:此类任务最常见的无监督机器学习模型是Latent Dirichlet Allocation (LDA)。该模型根据文档中的单词自动推断文档语料库中的主题集合。在您的一组文档上运行 LDA 会在您搜索某些主题时为某些主题分配具有概率的词,然后您可以检索与该词相关的概率最高的文档。
图像和音乐也有一些扩展,请参阅http://cseweb.ucsd.edu/~dhu/docs/research_exam09.pdf。
LDA 有多种语言的多种高效实现:
many implementations from the original researchers http://mallet.cs.umass.edu/,用 Java 编写并在 SO 上被其他人推荐 PLDA:快速、并行的 C++ 实现【讨论】:
尽管我是 LDA 支持者,但我认为从 LDA 生成的“主题”对于生成除 WSI 目的之外的任何可用标签没有任何价值。生成主题后,需要一个将主题映射到一组语义/句法注释的中间步骤,以进行知识驱动的 NLP 注释,尤其是以前的研究已经考虑创建的注释。 我同意你的观点,但我认为搜索与某些主题相关的单词也可以检索在某些相似主题上具有高先验的文档。 OP将不得不去其他地方对此进行更严格的处理:)【参考方案2】:这些人提出了 LDA 的替代方案。
自动标签推荐算法 社交推荐系统 http://research.microsoft.com/pubs/79896/tagging.pdf
没有通读整篇论文,但他们有两种算法:
-
监督学习版本。这还不错。您可以使用 Wikipedia 来训练算法
“原型”版本。没有机会通过这个,但这是他们推荐的
更新:我对此进行了更多研究,并找到了另一种方法。基本上,这是一个两阶段的方法,非常易于理解和实施。虽然对于 100,000 个文档来说太慢了,但它(可能)对于 1000 个文档具有良好的性能(因此它非常适合标记单个用户的文档)。我将尝试这种方法,并将报告性能/可用性。
与此同时,方法如下:
-
根据http://qr.ae/36RAP 使用TextRank 为单个文档生成标签列表。这会为单个文档生成一个标签列表独立于其他文档。
使用“使用机器学习支持连续
Ontology Development" (https://www.researchgate.net/publication/221630712_Using_Machine_Learning_to_Support_Continuous_Ontology_Development) 将标签列表(从第 1 步开始)集成到现有标签列表中。
【讨论】:
没有更新吗?这里的答案可能已经过时了 4 年前写的【参考方案3】:可以使用此关键短语提取算法/包来标记文本文档。 http://www.nzdl.org/Kea/ 目前它支持的文档类型有限(我猜是农业和医学),但您可以根据自己的要求对其进行培训。
我不确定图像/视频部分的效果如何,除非您进行非常准确的对象检测(这有其自身的缺点)。你打算怎么做?
【讨论】:
如果您有问题/需要来自 OP 的更多信息,您应该首先对该问题发表评论以获取更多信息,然后发布您知道相关的答案。【参考方案4】:您需要 Doc-Tags (https://www.Doc-Tags.com),它是一种商业产品,可自动且无监督 - 生成上下文准确的文档标签。内置的报告功能使该产品成为轻量级的文档管理系统。
对于想要定制自己的方法的开发人员 - 源代码可用(非常便宜)并且后端服务 xAIgent (https://xAIgent.com) 使用起来非常便宜。
【讨论】:
【参考方案5】:我今天发布了一篇博客文章来回答您的问题。
http://scottge.net/2015/06/30/automatic-image-and-video-tagging/
基本上有两种方法可以自动从图像和视频中提取关键字。
-
多实例学习 (MIL)
深度神经网络 (DNN)、循环神经网络 (RNN) 及其变体
在上面的博客文章中,我列出了最新的研究论文来说明解决方案。其中一些甚至包括演示站点和源代码。
谢谢,斯科特
【讨论】:
以上是关于无监督自动标记算法?的主要内容,如果未能解决你的问题,请参考以下文章