word2vec的安装,应用帖子好多,那如果想在训练的结果,也就是得到的向量上做点儿文章,该如何呢
下面来说说word2vec(python的gensim包)训练得到的模型,以及得到的向量是什么样子的
因为python训练得到的结果是二进制的,说白了就是乱码,现在既然想得到整个结果,该怎么弄呢。
其实好多事情直接看源码就能得到。之前试图找api或者小伙伴的帖子,想看看model的结构是什么样子的,未遂,只好直接自己一点儿点儿看源码。
首先我们假设,已经训练好了一个模型,现在只需要load就行了
model = gensim.models.Word2Vec.load('/mymodel_wds_wiki_all')
首先,获得一个词的词向量可以直接通过这样的方式获得
print len(model['中国'])
print type(model['中国'])
print (model['中国'])
print type(model['中国'])
print (model['中国'])
得到的结果如下,可见类型是numpy.ndarray,维度是默认的一百维
100
<type 'numpy.ndarray'>
[-1.36747932 1.64107883 2.22578478 -2.02663827 3.4452529 1.86765969 ……]
下面直接看model的代码