2020年文档相似性算法:初学者教程( 五 )


这篇文章是关于民主党人的,特别关注伯尼·桑德斯在福克斯新闻(Fox News)上为2020年大选出镜 。
【2020年文档相似性算法:初学者教程】每一个话题都有自己的大问题 。关于民主党候选人和选举的文章很多 。因为这个故事的主旨是新颖的,所以我们优先讨论民主党候选人和福克斯的关系 。
旁注:在实践中,你要小心对待政治上的建议 。把自由和保守的新闻混合在一起很容易让读者不安 。既然我们是单独和《纽约时报》打交道,那就不必担心了 。
USE找到了一些关于伯尼·桑德斯和福克斯、微软全国广播公司等电视频道的文章 。其他人则选择了一些讨论2020年大选中其他民主党候选人的文章 。

2020年文档相似性算法:初学者教程

文章插图
 
速度之王在结束赢家之前,我们需要谈谈运行时间 。每种算法在速度方面表现得非常不同 。
结果是,TF-IDF的实施比任何其他方法都快得多 。要在单个CPU上从头到尾计算33914个文档(标识化、向量化和比较),需要:
  • TF-IDF:1.5分钟 。
  • Jaccard:13分钟 。
  • Doc2vec:43分钟 。
  • USE:62分钟 。
  • BERT:50多小时(每个句子都被向量化了) 。
TF-IDF只花了一分半钟 。这是USE的2.5% 。当然,你可以合并多种效率增强 。但潜在收益需要讨论 。这将使我们有另一个理由认真审视相关的利弊权衡 。
以下是5篇文章中的每一篇的赢家算法 。
  1. BERT
  2. TF-IDF
  3. TF-IDF
  4. Jaccard, TF-IDF和USE
  5. USE
从结果可以看出,对于新闻报道中的文档相似性,TF-IDF是最佳候选 。如果你使用它的最小定制,这一点尤其正确 。考虑到TF-IDF是发明的第二古老的算法,这也令人惊讶 。相反,你可能会失望的是,现代先进的人工智能深度学习在这项任务中没有任何意义 。
当然,每种深度学习技术都可以通过训练自己的模型和更好地预处理数据来改进 。但所有这些都伴随着开发成本 。你想好好想想,相对于TF-IDF方法,这种努力会带来额外多大的好处 。
最后,可以说我们应该完全忘记Jaccard和Doc2vec的文档相似性 。与今天的替代品相比,它们没有带来任何好处 。
新手推荐假设你决定从头开始在应用程序中实现相似性算法,下面是我的建议 。
1.先实施TF-IDF最快的文档相似性匹配是TF-IDF,尽管有深度学习的各种宣传,例如深度学习给你一个高质量的结果 。但是TFIDF最棒的是,它是闪电般的快 。
正如我们所看到的,将其升级到深度学习方法可能会或不会给你带来更好的性能 。在计算权衡时,必须事先考虑很多问题 。
2.积累更好的数据Andrew Ng给出了一个类似的建议 。你不能指望你的车没有油就跑 。油必须是好的 。
文档相似性依赖于数据的多样性,也依赖于特定的算法 。你应该尽你最大的努力找到唯一的数据来增强你的相似性结果 。
3.升级到深度学习仅当你对TF-IDF的结果不满意时,才迁移到USE或BERT以升级模型 。你需要考虑计算时间 。你可能会预处理词嵌入,因此你可以在运行时更快地处理相似性匹配 。谷歌为此写了一篇教程:https://cloud.google.com/solutions/machine-learning/building-real-time-embeddings-similarity-matching-system
4.调整深度学习算法你可以慢慢升级你的模型 。训练你自己的模型,将预训练好的知识融入特定的领域,等等 。今天也有许多不同的深度学习模式 。你可以一个一个的来看看哪一个最适合你的具体要求 。
文档相似性是许多NLP任务之一你可以使用各种算法实现文档的相似性:一些是传统的统计方法,另一些是尖端的深度学习方法 。我们已经在纽约时报的文章中看到了它们之间的比较 。
使用TF-IDF,你可以在本地笔记本电脑上轻松启动自己的文档相似性 。不需要昂贵的GPU 。不需要大内存 。你仍然可以得到高质量的数据 。
诚然,如果你想做情绪分析或分类等其他任务,深入学习应该适合你的工作 。但是,当研究人员试图突破深度学习效率和成绩界限时,我们要意识到生活在炒作的圈子里是不健康的 。它给新来的人带来巨大的焦虑和不安全感 。




推荐阅读