欧式距离:https://blog.csdn.net/liusisi_/article/details/107370747
vec1 = X[0] # 取一个词向量
vec2 = X[1]
# 欧式距离
distance_o = 0
sum = 0
for i in range(len(vec1)):
a = vec1[i]-vec2[i]
pow_a = math.pow(a, 2)
sum += pow_a
distance_o = math.sqrt(sum)
print(distance_o)
余弦距离:https://blog.csdn.net/liusisi_/article/details/107370747
# 余弦距离
sum_fz = 0
distance_cos = 0
sum_vec1 = 0
sum_vec2 = 0
sum_fm = 0
for i in range(len(vec1)):
sum_fz += vec1[i] * vec2[i]
sum_fm += math.sqrt(math.pow(vec1[i], 2)) + math.sqrt(math.pow(vec2[i], 2))
distance_cos = sum_fz / sum_fm
print(distance_cos) # 余弦值
print(math.acos(distance_cos)) # 角度值
运行结果: