doc2vec如何为senten创建向量

2024-10-02 14:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究Doc2vec的文本分类。它是为给定大小的句子创建一个向量(例如:100,向量长度)。我不明白它是怎么产生这么长的向量的。在

我正在跟踪this link。在这里,他们正在为句子创建一个向量,这个向量将保存在doc2v模型中,我不能用这个模型来测试新数据(生产数据),因为没有新句子的向量。显示新数据时出错

KeyError: "tag 'Test_2028' not seen in training corpus/invalid"


Tags: 数据模型test文本taglink分类not
2条回答

Doc2Vec概念

无论文档的长度如何,文档的目标都是创建一个数字表示。但与单词不同的是,文档不是以单词这样的逻辑结构出现的,因此必须找到另一种方法。在

Mikolov和Le使用的概念很简单,但很聪明:他们使用了word2vec模型,并添加了另一个向量paragraph_ID,这是文档唯一的。现在,我们不再使用单词来预测下一个单词,而是添加了另一个特征向量。在

因此,在训练单词向量W时,文档向量{}也会被训练,并且在训练的最后,它保存文档的数字表示。在

你可以阅读更多关于它的here

如果您已经用训练数据创建了gensimDoc2Vec模型,那么它将只知道训练数据中存在的文档标记的训练向量。在

然而,还有一个方法infer_vector(),它可以为新文本推断出兼容的文档向量。新文本应该与训练数据一样被标记化,并作为字符串标记的列表传递给infer_vector()。在

相关问题 更多 >