使用gensim的词向量训练工具进行训练。参数size表示训练好的词向量的维数,window表示需要考虑的上下文的长度,min_t表示所考虑的词出现的最低次数,低于此数的词将被忽略。训练完成后把模型和向量保存起来,以备将来使用。
In[5]:model=Word2Vetenp),size=300,window=7,
min_t=5)
In[5]:model。save('xiaoao。model')
In[6]:model。wv。save_word2veat('xiaoao。vector',binary=False)
训练完成后,可通过调用相应的模型使用训练完成的词向量。
In[7]:impensim
In[8]:model=gensim。models。Word2Vec。load("xiaoao。model")
查看与“盈盈”关联密切的词汇,输出结果如下。
I_similar("盈盈")
Out[9]:
[('岳灵珊',0。9394630193710327),
('林平之',0。9115134477615356),
('举杯',0。8917326927185059),
('田伯光',0。8862934112548828),
('摇',0。8862836956977844),
('曲非烟',0。8856724500656128),
('忙',0。8839414119720459),
('走',0。8811073303222656),
('一眼',0。8792630434036255),
('曲非',0。8775876760482788)]
这里的输出结果是根据词向量计算出的与“盈盈”关系最密切的词的前十名。可以看到有一定的道理,但是也有些不准确或者奇怪的输出。这跟训练语料的大小、语料的处理过程、网络参数的设置等因素都有关系,读者可以尝试进行进一步的改进,通常能够得到更精确的结果。