文章目录
1、简介
models.keyedVectors
模块实现了词向量及其相似性查找。训练好的此线路与训练方式无关,因此他们可以由独立结构表示。
该结构称为KeyedVectors
,实质上是实体和向量之间的映射。每个实体由其字符串id标识,因此是字符串和1维数组之间的映射关系。
实体通常对应一个单词,因此是将单词映射到一维向量,对于某些某些,值也可以对应一篇文档,一个图像或其他。
KeyedVectors
和完整模型的区别在于无法进一步的训练,及更小的RAM占用,更简单的接口。
2、如何获取词向量
训练一个完整的模型,然后获取它的model.wv
属性,该属性包含独立的keyed vectors。如,使用word2vec
训练向量。
from gensim.test.utils import common_texts
from gensim.models import Word2Vec
model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
word_vectors = model.wv
从磁盘加载词向量文件
from gensim.models import KeyedVectors
word_vectors.save("vectors_wv")
word_vectors = KeyedVectors.load("vectors_wv", mmap='r')
从磁盘加载原始Google’s word2vec C格式的词向量文件作为KeyedVectors
实例
wv_from_text = KeyedVectors.load_word2vec_format(datapath('word2vec_pre_kv_c'), binary=False) # C text format
wv_from_bin = KeyedVectors