无监督自动标记算法?

Sah*_*bov 22 algorithm tagging nlp machine-learning

我想构建一个Web应用程序,让用户上传文档,视频,图像,音乐,然后让他们能够搜索它们.将其视为Dropbox +语义搜索.

当用户上传新文件(例如Document1.docx)时,如何根据文件内容自动生成标签?换句话说,不需要用户输入来确定文件的内容.如果假设Document1.docx是关于数据挖掘的研究论文,那么当用户搜索数据挖掘,研究论文document1时,该文件应该在搜索结果中返回,因为数据挖掘研究论文很可能是潜在的自动给定文档的生成标记.

1.您会针对此问题推荐哪种算法?

2.是否有一个自然语言库可以为我做这个?

3.我应该研究哪种机器学习技术来提高标签精度?

4.我如何将其扩展到视频和图像自动标记?

提前致谢!

And*_*Mao 20

用于此类任务的最常见的无监督机器学习模型是Latent Dirichlet Allocation(LDA).该模型基于这些文档中的单词自动推断文档语料库中的主题集合.在您的文档集上运行LDA会在搜索某些主题时为某些主题分配单词,然后您可以检索具有与该单词相关的最高概率的文档.

图像和音乐也有一些扩展,请参阅http://cseweb.ucsd.edu/~dhu/docs/research_exam09.pdf.

LDA有多种语言的高效实现:

  • 尽管我是LDA的支持者,但我认为LDA产生的"主题"对于生成除WSI目的之外的任何可用标签都没有任何价值.在生成主题之后,需要将主题映射到一组语义/句法注释的中间步骤来制作知识驱动的NLP注释,尤其是之前的研究已经过多考虑来创建的注释. (2认同)

U A*_*los 5

这些家伙提出了LDA的替代方案。

用于社交推荐系统的自动标签推荐算法 http://research.microsoft.com/pubs/79896/tagging.pdf

尚未阅读整篇文章,但有两种算法:

  1. 监督学习版本。这还不错。您可以使用Wikipedia训练算法
  2. “原型”版本。还没有机会解决这个问题,但这是他们的建议

更新:我对此进行了更多研究,并且找到了另一种方法。基本上,这是一个两阶段的方法,很容易理解和实现。虽然对于10万个文档而言太慢了,但它(可能)对1000多个文档具有良好的性能(因此,它非常适合标记单个用户的文档)。我将尝试这种方法,并将报告性能/可用性。

同时,这是方法:

  1. 按照http://qr.ae/36RAP使用TextRank 来为单个文档生成标签列表。这将为独立于其他文档的单个文档生成标签列表。
  2. 使用“使用机器学习支持连续本体开发”中的算法(https://www.researchgate.net/publication/221630712_Using_Machine_Learning_to_Support_Contin__Ontology_Development)将标签列表(来自步骤1)集成到现有标签列表中。