首页 > 解决方案 > 我可以将 one-hot 编码向量而不是原始句子直接输入 PYTHON 模块 word2vec.Word2Vec 吗?

问题描述

例如,我已经将所有的单词和数字转换为 one-hot 编码。然后

from gensim.models import word2vec

我想用

word2vec.Word2Vec(sentences=one_hot_vectors)

但是,它弹出了一个错误:

ufunc 'add' did not contain a loop with signature matching types dtype('U32')dtype('U32') dtype('U32')

我认为这是因为我无法直接将 one-hot 编码输入到word2vec.Word2Vec. 我想知道 python 是否有任何其他模块可以满足我的需求。我只想将 one-hot 编码向量而不是原始句子直接输入 word2vec 模型。太感谢了。

标签: pythongensimword2vecone-hot-encoding

解决方案


不,不是Word2VecPython library 中的版本gensim。它期望一个可迭代的单词列表序列作为其sentences语料库。

(如果您需要使用gensim Word2Vec, 并且无法为其提供 pre-one-hot 文本,您可以将 one-hot 向量转换类似单词的标记。您可以将它们转换为真正的原始单词,如果您具有热索引到原始词的映射,或插入标记,如'0','1'等)


推荐阅读