利用gensim实现word2vec
时间: 2023-11-24 22:06:11 浏览: 85
zhwiki-gensim-word2vec:使用gensim在zhwikidata上训练Word2Vec,并通过TSNE显示结果
首先,需要安装gensim库。可以使用pip命令进行安装:
```
pip install gensim
```
然后,我们需要准备一个语料库(corpus)作为训练数据。语料库可以是一个文本文件,每一行是一个句子,或者是一个已经分好词的列表。
下面是一个使用gensim实现word2vec的示例代码:
```python
from gensim.models import Word2Vec
# 读取语料库
sentences = []
with open('corpus.txt', 'r', encoding='utf-8') as f:
for line in f:
words = line.strip().split()
sentences.append(words)
# 定义模型
model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4, sg=0)
# 保存模型
model.save('word2vec.model')
# 加载模型
model = Word2Vec.load('word2vec.model')
# 使用模型计算相似度
similarity = model.wv.similarity('word1', 'word2')
print('Similarity between word1 and word2:', similarity)
# 找出与指定词语最相似的词语
most_similar = model.wv.most_similar('word')
print('Most similar words:', most_similar)
```
在这段代码中,我们首先读取语料库,然后使用Word2Vec类定义模型。其中,size表示词向量的维度,window表示词向量上下文的窗口大小,min_count表示出现次数小于min_count的词语将被忽略,workers表示训练时使用的线程数,sg表示使用的模型类型,sg=0表示使用CBOW模型,sg=1表示使用Skip-gram模型。
然后,我们可以使用save方法保存模型,使用load方法加载模型。最后,使用wv.similarity方法计算两个词语之间的相似度,使用wv.most_similar方法找出与指定词语最相似的词语。
阅读全文