使用预训练的词向量
1. 加载词向量
# 加载训练好的词向量模型
import gensim
Word2VecModel = gensim.models.Word2Vec.load(词向量模型所在路径) # 读取词向量
2. 构造包含所有词语的 list,以及初始化 “词语-索引”字典 和 “词向量”矩阵
# 获取某一个词的向量表示
In[1]: Word2VecModel.wv['申请'].shape
Out[1]: (300,)
构造{词语:索引}字典
# 2 构造包含所有词语的 list,以及初始化 “词语-序号”字典 和 “词向量”矩阵
import numpy as np
vocab_list = [word for word, Vocab in Word2VecModel.wv.vocab.items()]# 存储 所有的 词语
word_index = {" ": 0} # 初始化 `[word : token]` ,后期 tokenize 语料库就是用该词典。使用前必须添加一个索引0.
word_vector = {} # 初始化`[word : vector]`字典
# 初始化存储所有向量的大矩阵,留意其中多一位(首行),词向量全为 0,用于 padding补零。
# 行数 为 所有单词数+1 比如 10000+1 ; 列数为 词向量“维度”比如100。
embedding_matrix = np.zeros((len(vocab_list) + 1, Word2VecModel.vector_size))
词向量中不重复词语个数
<