我想使用 genism doc2vec 模型进行分类任务。但是,似乎 doc2vec 的 gensim 实现需要在训练模型之前查看所有文档(训练和测试)以构建词汇表。否则,如果您想获取构建词汇表时不存在的文档的文档向量,则会出现 keyerror。我想知道我的理解是否正确!在实践中,人们在训练时无法访问测试数据。
有没有办法在测试时更新词汇表以便能够获得测试文档的文档表示?
我想使用 genism doc2vec 模型进行分类任务。但是,似乎 doc2vec 的 gensim 实现需要在训练模型之前查看所有文档(训练和测试)以构建词汇表。否则,如果您想获取构建词汇表时不存在的文档的文档向量,则会出现 keyerror。我想知道我的理解是否正确!在实践中,人们在训练时无法访问测试数据。
有没有办法在测试时更新词汇表以便能够获得测试文档的文档表示?
您只能查找在培训期间呈现的材料的学习文档向量。
但是,有一种方法infer_vector()
可以为冻结的、经过训练的模型提供一个新的标记化文档,并返回一个“最佳拟合”向量。如果新文档在训练期间可用,它会近似于返回的内容。看:
https://radimrehurek.com/gensim/models/doc2vec.html#gensim.models.doc2vec.Doc2Vec.infer_vector