Python 如何对大型数据帧使用Gensim Doc2vec Infert_vector()?

Python 如何对大型数据帧使用Gensim Doc2vec Infert_vector()?,python,gensim,doc2vec,Python,Gensim,Doc2vec,我使用Gensim的doc2vec为一个大型语料库创建了文档向量 tensions=gensim.models.doc2vec.TaggedLineDocument('file.csv') model=gensim.models.doc2vec.doc2vec(句子,大小=10,窗口=800,最小计数=1,工人=40,iter=10,dm=0) 现在我使用Gensim的推断向量()使用这些文档向量为另一个样本语料库创建文档向量 Eg:model.expert_vector(“这是一个字符串”)

我使用Gensim的doc2vec为一个大型语料库创建了文档向量

tensions=gensim.models.doc2vec.TaggedLineDocument('file.csv')

model=gensim.models.doc2vec.doc2vec(句子,大小=10,窗口=800,最小计数=1,工人=40,iter=10,dm=0)

现在我使用Gensim的推断向量()使用这些文档向量为另一个样本语料库创建文档向量

Eg:model.expert_vector(“这是一个字符串”)


是否有方法将整个数据帧传递给infer_vector并获取数据帧中每一行的输出向量?

Doc2Vec
infer_vector()
仅以单个文本示例作为单词标记列表。因此,您不能传入一批示例。(而且,您不应该传递非标记化字符串,而是以与训练数据预处理相同的方式预处理的标记列表。)

但是,正如@COLDSPEED注释所示,您可能可以使用一个乘法函数来为您应用
推断向量()
。不过,如果希望得到有意义的结果,列应该有标记列表,而不是字符串


此外,大多数用户发现
expert_vector()
使用其
steps
参数的非默认值(远大于其默认值5)以及其起始
alpha
参数的较小值(例如更像训练默认值0.025,而不是推断默认值0.1)工作得更好

@gojomo:谢谢你的回答,但我尝试使用标记行和原始字符串进行推断,得到了相同的文档向量


有没有办法知道正在创建的文档向量是否有意义?

df['col'].apply(model.infere\u vector)
?或者,这可能适用于列表:
model.infere\u vector(df['col'])
谢谢,df['col']。apply(model.infere\u vector)有效