写一个用python运行的word2vec程序,要求批注都注释好
时间: 2023-11-09 14:06:45 浏览: 221
基于python的word2vec
以下是一个简单的使用Python运行Word2Vec的示例程序,注释已经添加在代码中:
```python
import gensim
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
# 读取文本文件
sentences = gensim.models.word2vec.LineSentence('text.txt')
# 初始化并训练Word2Vec模型
model = gensim.models.Word2Vec(sentences, size=100, window=5, min_count=5, workers=4)
# 保存模型
model.save('model.bin')
# 加载模型
model = gensim.models.Word2Vec.load('model.bin')
# 获取两个词的相似度
similarity = model.wv.similarity('word1', 'word2')
print(similarity)
# 获取与指定词最相似的词
similar_words = model.wv.most_similar('word')
print(similar_words)
```
上述代码中,我们首先使用gensim库中的LineSentence函数读取文本文件,然后使用Word2Vec类初始化并训练Word2Vec模型。在训练模型时,我们指定了词向量的维度为100,词窗口大小为5,最小词频为5,使用4个线程进行训练。
接着,我们将训练好的模型保存到文件中,以便后续的使用。使用`load`函数可以加载模型。
最后,我们演示了如何使用模型计算两个词之间的相似度,并获取与指定词最相似的词。请注意,`similarity`返回的值在-1到1之间,值越大表示两个词越相似。`most_similar`函数返回的是一个元组列表,其中每个元组包含一个词和它与指定词的相似度得分。
阅读全文