【发布时间】:2019-11-25 20:07:56
【问题描述】:
假设我有以下变量:
import gensim
from gensim.models import KeyedVectors
wv = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
dict_dict = {
"abc": ('dog', 'cat', 'bat'),
"def": ('fat', 'hat', 'rat')
}
在这种情况下,wv 是一个 word2vec 模型。
我想获取dict_dict 中每个键的值,提取值的向量 (e.g. wv['dog']),并让该值现在充当子字典的键:
dict_dict = {
"abc": ({'dog': array([ 5.12695312e-02, -2.23388672e-02, -1.72851562e-01, 1.61132812e-01]), {'cat':array([ 5.12695312e-02, -2.23388672e-02, -1.72851562e-01, 1.61132812e-01]), array([ 5.12695312e-02, -2.23388672e-02, -1.72851562e-01, 1.61132812e-01]):'bat')}
我是否必须创建一个新字典才能做到这一点?
【问题讨论】:
-
有什么问题?听起来像是对字典键的正常迭代。作为值的数组与任何其他类型的对象没有什么不同。
标签: python numpy dictionary word2vec