从训练有素的Doc2Vec模型中为每个文档获取numpy向量

时间:2017-11-07 01:36:06

标签: python-3.x nlp gensim doc2vec

这是我第一次使用Doc2Vec 我正在尝试对作者的作品进行分类。我训练了一个带有Labeled Sentences的模型(段落或指定长度的字符串),其中words =段落中的单词列表,而tags =作者姓名。就我而言,我只有两位作者。 我尝试从训练过的模型中访问docvecs属性,但它只包含两个元素,对应于我训练模型时的两个标记。我正在努力获得我参与培训的每个段落的doc2vec numpy表示,以便稍后我可以将其用作训练数据。我怎样才能做到这一点? 感谢。

1 个答案:

答案 0 :(得分:0)

批量培训仅为您提供的标签创建矢量。如果您想要按段落读出批量训练的向量(就像model.docvecs['paragraph000']一样),则必须在训练期间为每个段落指定唯一标记(如'paragraph000')。您也可以为docs提供其他标签 - 但批量培训只会创建记录所提供标签的doc-vectors。

训练结束后,您可以推断出您提供给infer_vector()的任何其他文本的向量 - 当然,您可以提供训练期间使用的相同段落。