发布于2019-08-20 12:47 阅读(2267) 评论(1) 点赞(26) 收藏(0)
环境要求:python版本>=3.5,tensorflow版本>=1.10
相关包的安装:
pip install bert-serving-server
pip install bert-serving-client
PS:笔者运行环境为win10。
在储存了预训练模型的目录启动bert-server。
由于是用来玩儿的,num_worker即进程数设为1。
C:\Users\piont\Documents\chinese_L-12_H-768_A-12> bert-serving-start -model_dir ./ -num_worker=1
from bert_serving.client import BertClient
bc = BertClient()
import numpy as np
def cosine_similarity(x, y, norm=False):
""" 计算两个向量x和y的余弦相似度 """
assert len(x) == len(y), "len(x) != len(y)"
zero_list = [0] * len(x)
if x == zero_list or y == zero_list:
return float(1) if x == y else float(0)
res = np.array([[x[i] * y[i], x[i] * x[i], y[i] * y[i]] for i in range(len(x))])
cos = sum(res[:, 0]) / (np.sqrt(sum(res[:, 1])) * np.sqrt(sum(res[:, 2])))
return 0.5 * cos + 0.5 if norm else cos # 归一化到[0, 1]区间内
a = bc.encode(['苹果','手机'])
cosine_similarity(list(a[0]),list(a[1]))
0.8230252538548513
a = bc.encode(['苹果','香蕉'])
cosine_similarity(list(a[0]),list(a[1]))
0.8124543082909037
a = bc.encode(['苹果','小米'])
cosine_similarity(list(a[0]),list(a[1]))
0.7989636380636165
a = bc.encode(['苹果','iPhone'])
cosine_similarity(list(a[0]),list(a[1]))
0.7937350611594554
a = bc.encode(['苹果','地震'])
cosine_similarity(list(a[0]),list(a[1]))
0.7509395711745872
a = bc.encode(['苹果','乔布斯'])
cosine_similarity(list(a[0]),list(a[1]))
0.8044330854027851
a = bc.encode(['苹果手机','小米手机'])
cosine_similarity(list(a[0]),list(a[1]))
0.914318037031853
a = bc.encode(['苹果发布新版','小米发布新版'])
cosine_similarity(list(a[0]),list(a[1]))
0.9425026228456902
a = bc.encode(['苹果公司','小米公司'])
cosine_similarity(list(a[0]),list(a[1]))
0.9127330498453399
a = bc.encode(['小米','雷军'])
cosine_similarity(list(a[0]),list(a[1]))
0.8804879619910109
a = bc.encode(['中国石化','宫保鸡丁'])
cosine_similarity(list(a[0]),list(a[1]))
0.7322778681441396
a = bc.encode(['苹果公司','财报'])
cosine_similarity(list(a[0]),list(a[1]))
0.8112871381526608
a = bc.encode(['苹果公司发布第三季度财报','我今天想吃生煎'])
cosine_similarity(list(a[0]),list(a[1]))
0.7449127843027605
作者:83whjh
链接:https://www.pythonheidong.com/blog/article/49299/da3586e65f40735286c6/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
请问有没有英文模型
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!