哪种文档嵌入模型用于文档相似性
Which document embedding model for document similarity
首先,我想说明一下我的任务。我有一个包含 30 万个文档的数据集,平均有 560 个单词(还没有删除停用词),其中 75% 是德语,15% 是英语,其余的是不同语言。目标是根据现有文档推荐相似的文档。一开始我想专注于德文和英文文件。
为了实现这个目标,我研究了几种文档相似性特征提取方法,尤其是词嵌入方法给我留下了深刻印象,因为与简单的 TF-IDF 特征提取和余弦相似度计算相比,它们是上下文感知的。
我对可以使用的方法数量感到不知所措,但我还没有找到对这些方法的适当评估。我确定我的文档对于 BERT 来说太大了,但是 Google 有 FastText、Sent2Vec、Doc2Vec 和 Universal Sentence Encoder。根据我的研究,我最喜欢的方法是 Doc2Vec,尽管没有任何或旧的预训练模型,这意味着我必须自己进行训练。
既然你知道了我的任务和目标,我有以下问题:
- 根据我的数据的粗略概览,我应该使用哪种方法进行特征提取?
- 我的数据集太小,无法在其上训练 Doc2Vec。如果我在英语/德语维基百科上训练模型,我会取得好的结果吗?
您确实需要根据您的特定用户任务和您的 time/resources 预算对您的数据尝试不同的方法,才能知道哪种方法有意义。
您的 225K 德文文档和 45k 英文文档都足够大,足以使用 Doc2Vec
- 因为它们匹配或超过某些已发布的结果。因此,您不一定需要在其他内容(如维基百科)上添加培训,而将其添加到您的数据中是有益还是有害是您需要通过实验确定的另一件事。
(我不确定使用足够常见的词根但个别词很少见的德语给定复合词可能会遇到特殊挑战。使用单词片段的基于 FastText 的方法可能会有所帮助,但我不知道知道一个必须使用相同 char-ngrams 技巧的 Doc2Vec
-like 算法。最接近的可能是使用 Facebook FastText 的监督模式,使用一组丰富的有意义的已知标签 bootstrap 更好文本向量 - 但这是高度推测性的,并且 Gensim 不支持该模式。)
首先,我想说明一下我的任务。我有一个包含 30 万个文档的数据集,平均有 560 个单词(还没有删除停用词),其中 75% 是德语,15% 是英语,其余的是不同语言。目标是根据现有文档推荐相似的文档。一开始我想专注于德文和英文文件。
为了实现这个目标,我研究了几种文档相似性特征提取方法,尤其是词嵌入方法给我留下了深刻印象,因为与简单的 TF-IDF 特征提取和余弦相似度计算相比,它们是上下文感知的。
我对可以使用的方法数量感到不知所措,但我还没有找到对这些方法的适当评估。我确定我的文档对于 BERT 来说太大了,但是 Google 有 FastText、Sent2Vec、Doc2Vec 和 Universal Sentence Encoder。根据我的研究,我最喜欢的方法是 Doc2Vec,尽管没有任何或旧的预训练模型,这意味着我必须自己进行训练。
既然你知道了我的任务和目标,我有以下问题:
- 根据我的数据的粗略概览,我应该使用哪种方法进行特征提取?
- 我的数据集太小,无法在其上训练 Doc2Vec。如果我在英语/德语维基百科上训练模型,我会取得好的结果吗?
您确实需要根据您的特定用户任务和您的 time/resources 预算对您的数据尝试不同的方法,才能知道哪种方法有意义。
您的 225K 德文文档和 45k 英文文档都足够大,足以使用 Doc2Vec
- 因为它们匹配或超过某些已发布的结果。因此,您不一定需要在其他内容(如维基百科)上添加培训,而将其添加到您的数据中是有益还是有害是您需要通过实验确定的另一件事。
(我不确定使用足够常见的词根但个别词很少见的德语给定复合词可能会遇到特殊挑战。使用单词片段的基于 FastText 的方法可能会有所帮助,但我不知道知道一个必须使用相同 char-ngrams 技巧的 Doc2Vec
-like 算法。最接近的可能是使用 Facebook FastText 的监督模式,使用一组丰富的有意义的已知标签 bootstrap 更好文本向量 - 但这是高度推测性的,并且 Gensim 不支持该模式。)