我正在使用Doc2vec进行文本分类。它正在为给定大小的句子(例如:100,向量的长度)创建向量。我无法理解它如何创建该长度的向量。
我正在关注this link。在这里,他们正在为句子创建一个向量,该向量将保存在doc2v模型中,由于新句子没有向量,因此我无法将此模型用于新数据(生产数据)进行测试。显示新数据时出错
KeyError:“在训练语料库中未看到标签'Test_2028'/无效”
答案 0 :(得分:0)
Doc2Vec概念:
doc2vec的目标是创建文档的数字表示形式,而不论其长度如何。但是与单词不同的是,文档不是以单词之类的逻辑结构出现的,因此必须找到另一种方法。
Mikolov和Le使用的概念很简单,但是很聪明:他们使用了word2vec模型,并添加了另一个文档唯一的向量paragraph_ID
。现在,我们不仅使用单词来预测下一个单词,还添加了另一个特征向量。
因此,当训练单词向量W
时,文档向量paragraph_ID
也被训练,并且在训练结束时,它保持了文档的数字表示形式。
您可以详细了解here
答案 1 :(得分:0)
如果您已经使用训练数据创建了gensim
Doc2Vec
模型,那么它将仅知道训练数据中存在的文档标签的训练向量。
但是,还有一种方法infer_vector()
可以为新文本推断兼容的文档向量。新文本应与训练数据一样被标记化,并作为一个字符串标记列表传递给infer_vector()
。