文档相似度:向量嵌入与 BoW 性能?

数据挖掘 机器学习 相似 word2vec 信息检索 词嵌入
2022-01-20 16:24:56

我有一组文档,其中每个文档都随着时间的推移而快速增长。任务是在任何固定时间找到相似的文档。我有两种可能的方法:

  1. 向量嵌入(word2vec、GloVe 或 fasttext),对文档中的词向量进行平均,并使用余弦相似度。
  2. tf-idf 或其变体,例如 BM25。

其中之一会产生明显更好的结果吗?有人对 tf-idf 与平均 word2vec 的文档相似度进行了定量比较吗?

是否有另一种方法可以在添加更多文本时动态优化文档的向量?

2个回答

这里有一些我们可以关注的点——

1.)平均词向量失去了词的顺序,使其与词袋的概念非常相似。这就是为什么使用更少的词组数据包的方法比 word2vec 表现更好的原因。已经发现,用潜在的大数据训练 word2vec优于Bag of Words 模型。谷歌的结果是基于从超过十亿个词的语料库中学习到的词向量。

2.) 已发表的文献,分布式词向量技术已被证明优于词袋模型。在本文中,在 IMDB 数据集上使用了一种称为段落向量的算法,以产生一些迄今为止最先进的结果。

3.)在您的情况下,文档大小会随着时间的推移而增加。因此,一个好的方法不是对每个单词进行聚类,而是对文档进行聚类。Word2vec算法有能力学习每个文档的嵌入,我们称之为Doc2vec它将聚集类似的文档。并使用余弦相似度,您可以找到相似的文档。

我的文件很少(大约 71 个)。到目前为止,TF-IDF 是最好的方法,因为我的每个文档都没有那么长。

另外,对于文档,来自 word2vec 的 doc2vec 更好。原因是 doc2vec 有更多的向量表示文档(不是词向量)。