python - 我可以将 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 模型。太感谢了。
解决方案
不,不是Word2Vec
Python library 中的版本gensim
。它期望一个可迭代的单词列表序列作为其sentences
语料库。
(如果您需要使用gensim
Word2Vec
, 并且无法为其提供 pre-one-hot 文本,您可以将 one-hot 向量转换回类似单词的标记。您可以将它们转换为真正的原始单词,如果您具有热索引到原始词的映射,或插入标记,如'0'
,'1'
等)
推荐阅读
- c++ - 包含 Boost 文件获取文件未找到错误
- android-studio - 调用 Surface 可组合时如何阻止 Android Studio 的代码完成编写冗余限定符?
- python - 如何通过python统计文件xml中的每个项目
- c - waitpid() 在特定情况下返回未知错误
- php - 父类找不到子类
- spring-security - 全栈应用程序需要基于角色的spring security?
- r - 使用 Biostrings 编写 R 程序以将核苷酸序列转换为蛋白质序列
- javascript - 在 JavaScript for 循环中重新分配常量有什么好处?
- mysql - 仍然无法启用慢查询日志
- javascript - 如何在不透明度增加的情况下翻译按钮单击时的 div?