我使用 Gensim 的 doc2vec 为大型语料库创建了文档向量。
sentences=gensim.models.doc2vec.TaggedLineDocument('file.csv')
model = gensim.models.doc2vec.Doc2Vec(句子,size = 10,window = 800,min_count = 1,workers=40,iter=10,dm=0)
现在我正在使用 Gensim 的 infer_vector() 使用这些文档向量为另一个示例语料库创建文档向量
例如:model.infer_vector('这是一个字符串')
有没有办法通过 infer_vector 传递整个 DataFrame 并获取 DataFrame 中每一行的输出向量?
最佳答案
Doc2Vec
infer_vector()
仅采用单个文本示例,作为单词标记列表。所以你不能传入一批例子。 (而且,您不应该传递非标记化字符串,而是传递标记列表,以与预处理训练数据相同的方式进行预处理。)
但是,您也许可以使用一个为您乘法应用 infer_vector()
的函数,正如 @COLDSPEED 注释所建议的那样。尽管如此,如果您想要有意义的结果,该列应该具有标记列表,而不是字符串。
此外,大多数用户发现 infer_vector()
使用其 steps
参数的非默认值(比默认值 5 大得多),甚至可能更小,效果更好其起始 alpha 参数的值(例如更像训练默认值 0.025,而不是推理默认值 0.1)。
关于python - 如何使用 Gensim Doc2vec infer_vector() 处理大型 DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47905576/