python实现函数:利用word2vector计算所有相关两个词的距离,并按每行格式:“word1+word2=distance”,插入zh_distance_data.txt中
时间: 2023-06-18 19:02:51 浏览: 176
下面是一个利用gensim实现的函数,可以实现计算两个词之间的距离,并按照指定格式插入到指定文件中:
```python
import gensim
def calc_distance(word1, word2, model, output_file):
try:
distance = model.wv.similarity(word1, word2)
output = "{}+{}={}\n".format(word1, word2, distance)
with open(output_file, "a", encoding="utf-8") as f:
f.write(output)
print(output.strip())
except KeyError as e:
print("Word not in vocabulary:", e)
# 加载模型
model = gensim.models.KeyedVectors.load_word2vec_format("path/to/word2vec.bin", binary=True)
# 读入词对数据
with open("path/to/word_pairs.txt", encoding="utf-8") as f:
word_pairs = [line.strip().split() for line in f]
# 计算距离并写入文件
output_file = "path/to/zh_distance_data.txt"
for pair in word_pairs:
calc_distance(pair[0], pair[1], model, output_file)
```
在上述代码中,我们首先使用gensim加载预训练好的word2vec模型,然后读入包含词对数据的文件,并逐一计算两个词之间的相似度。最后,我们将计算得到的距离按照指定格式写入到指定文件中。
阅读全文