首页 > 解决方案 > 文档相似度的文档嵌入模型

问题描述

首先,我想解释一下我的任务。我有一个包含 300k 个文档的数据集,平均 560 个单词(还没有删除停用词)75% 是德语,15% 是英语,其余的是不同的语言。目标是根据现有文件推荐类似的文件。一开始我想专注于德语和英语文档。  

为了实现这个目标,我研究了几种用于文档相似度特征提取的方法,尤其是词嵌入方法给我留下了深刻的印象,因为它们与简单的 TF-IDF 特征提取和余弦相似度计算相比具有上下文感知能力。 

我对我可以使用的方法的数量感到不知所措,而且我还没有找到对这些方法的适当评估。我确信我的文档对于 BERT 来说太大了,但是有来自 Google 的 FastText、Sent2Vec、Doc2Vec 和 Universal Sentence Encoder。根据我的研究,我最喜欢的方法是 Doc2Vec,即使没有任何或旧的预训练模型,这意味着我必须自己进行训练。

既然您知道我的任务和目标,我有以下问题:

标签: pythongensimword-embeddingdoc2vecfasttext

解决方案


您确实必须根据您的特定用户任务和您的时间/资源预算尝试不同的方法来处理您的数据,以了解哪种方法有意义。

您的 225K 德语文档和 45k 英语文档每个都足够大,可以使用Doc2Vec- 因为它们匹配或超过某些已发布的结果。因此,您不一定需要添加其他内容(例如 Wikipedia)的培训,而将其添加到您的数据中是有帮助还是有害是您需要通过实验确定的另一件事。

(在德语中使用足够常见的词根但个别罕见的复合词可能存在特殊挑战,我不确定。使用单词片段的基于 FastText 的方法可能会有所帮助,但我不知道类似Doc2Vec算法这必然使用相同的 char-ngrams 技巧。最接近的可能是使用 Facebook FastText 的监督模式,使用一组丰富的有意义的已知标签来引导更好的文本向量 - 但这是高度推测性的,不支持该模式在根西姆。)


推荐阅读