【问题标题】:How to load pre-trained model with in gensim and train doc2vec with it?如何在 gensim 中加载预训练模型并用它训练 doc2vec?
【发布时间】:2016-08-17 08:05:02
【问题描述】:

我正在准备一个我已经训练过的 word2vec 模型。我已将其序列化为 CSV 文件:

word,  v0,     v1,     ..., vN
house, 0.1234, 0.4567, ..., 0.3461
car,   0.456,  0.677,  ..., 0.3461

我想知道的是如何在 gensim 中加载该词向量模型并使用它来训练段落或 doc2vec 模型。

这个Doc2Vec tutorial 说我可以以“# C text format”的形式加载模型,但我不知道这实际上意味着什么。首先是什么是“C 文本格式”,但更重要的是:

  • 如何加载我的 word2vec 模型并将其用于 doc2vec 训练?

如何从我的 word2vec 模型构建词汇表?

【问题讨论】:

标签: python gensim word2vec doc2vec


【解决方案1】:

Doc2Vec 不需要词向量作为输入:它会创建自己训练期间需要的任何词向量。 (还有一些模式,比如纯 DBOW – dm=0, dbow_words=0 – 根本不使用或训练词向量。)

用词向量植入 Doc2Vec 模型可能有帮助,也可能有害;没有太多理论或已发表的结果可以提供指导。 Word2Vec 上有一个实验方法,intersect_word2vec_format(),可以将 word2vec-c-format 向量合并到具有现有词汇表的模型中,但您需要查看源代码才能真正理解它的假设:

https://github.com/RaRe-Technologies/gensim/blob/51753b95415bbc344ea6af671818277464905ea2/gensim/models/word2vec.py#L1140

【讨论】:

  • 我无法证明这一说法,但我认为如果提供预训练的词向量,文档向量会更好地工作。我只是通过注释掉相交部分并比较结果来测试这一点。但是感谢您提供答案:)
  • 用多少数据,用哪些预训练向量更好地完成什么任务?
猜你喜欢
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
  • 2017-06-26
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多