machine-learning - 通过PV-DBOW学习到的文档向量是否等于文档中包含的词向量的平均值/总和?

标签 machine-learning nlp gensim word2vec doc2vec

我看到一些帖子说词向量的平均值在某些任务中比通过 PV_DBOW 学习的文档向量表现得更好。文档向量与其单词向量的平均值/总和之间有什么关系?我们可以说向量 d 大约等于其词向量的平均值或总和? 谢谢!

最佳答案

没有。 PV-DBOW 向量是通过不同的过程计算的,基于 PV-DBOW 向量通过同时训练的浅层神经网络依次预测文本中每个单词的增量程度。

但是,简单的词向量平均值通常可以很好地用作文本的摘要向量。

因此,我们假设 PV-DBOW 向量和简单平均向量具有相同的维度。由于它们是从完全相同的输入(相同的单词列表)引导而来,并且神经网络并不比一组好的单词向量更复杂(在其内部状态),因此向量的性能下游评价可能差别不大。

例如,如果 PV-DBOW 模型的训练数据很少,或者元参数没有很好地优化,但用于平均向量的词向量非常适合您的领域,也许简单-average-vector 对于某些下游任务会更好。另一方面,在足够的域文本上训练的 PV-DBOW 模型可以提供优于基于来自另一个域的词向量的简单平均的向量。

请注意,FastText 的分类模式(以及 Facebook StarSpace 中的类似模式)实际上优化了词向量,使其作为用于预测已知文本类的简单平均向量的一部分。因此,如果您的最终目标是拥有一个用于分类的文本向量,并且您拥有一个具有已知标签的良好训练数据集,那么这些技术也值得考虑。

关于machine-learning - 通过PV-DBOW学习到的文档向量是否等于文档中包含的词向量的平均值/总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51851193/

相关文章:

python - 在 python 中找到与目标短语相关的周围 ADJ 的任何有效方法?

python - gensim LdaMallet 引发 CalledProcessError,但在命令行运行 mallet 时没有错误

python - 如何有效地将 Gensim 语料库转换为 numpy 数组(或 scipy 稀疏矩阵)?

r - do_one(nmeth) 错误 : NA/NaN/Inf in foreign function call (arg 1)

python - 对 keras 输出感到困惑

machine-learning - 如何在 LSTM 中为每个输入生成 1 个以上的输出?

gensim - 为什么 Gensim Doc2vec 对象返回空文档标签?

machine-learning - 我认为是机器学习问题的最佳方法

matlab - 多个数据集上的 PCA(主成分分析)

python - 在 Python 上提取完整的字符串