如何解决gensim vocab索引是相应的1-hot-vector中的索引吗?
我正在进行需要直接操纵和嵌入一键向量的研究,并且正在尝试使用gensim来为此加载预训练的word2vec模型。
问题在于它们似乎没有直接的API用于处理1-hot-vector。而且我正在寻找解决方法。
所以我想知道是否有人知道这样做的方法?或者更具体地说,如果这些vocab索引(定义非常模糊)。可以成为对应的1热向量的索引吗?
我发现的上下文:
- 似乎this question是相关的,但是我尝试通过model.syn0(来自答案中的链接)访问“输入嵌入”(假设它们是一个热门表示),但是我得到了一个非稀疏矩阵。 ..
- 还出现they refer to word indices as 'doctags'(搜索Doctag /索引)。
- Here是另一个为索引提供了一些背景信息的问题(尽管还不能完全回答我的问题)。
- Here是官方文档:
############################################# #
gensim.models.keyedvectors.Vocab(** kwargs)类 基地:对象
单个词汇表项,在内部用于收集每个单词的频率/采样信息,并用于构建二叉树(包括单词叶和内部节点)。
############################################# #
解决方法
是的,您可以将gensim的declarativeContent
字向量的index
(位置)视为一个维度,即Word2Vec
–与所有其他V维度一起,其中V是唯一单词的数量,即1.0
。
该实现实际上从未创建过一个稀疏或显式表示的矢量。它只是使用单词的索引作为其密集向量的查找-遵循gensim实现最初基于的Google 0.0
代码的路径。
(术语“ doctags”仅在word2vec.c
(也称为“ Paragraph Vector”-实现)中相关。这里是用于查找文档矢量的不同标记/ int的名称,使用与文档中的单词不同的名称空间。也就是说,在Doc2Vec
中,您可以使用Doc2Vec
作为文档向量名称,也称为“ doctag”,即使使用字符串令牌{{1} }还在文档中以单词形式出现,由doctag键'doc_007'
引用的doc矢量和由word键'doc_007'
引用的单词矢量将不是同一内部矢量。)>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。