手把手教你使用bert-as-service----从环境配置到文本相似度计算

主要参考:https://github.com/hanxiao/bert-as-service

什么是bert-as-service

bert-as-service是腾讯AILab实验室开源的一款Bert调用工具,分为服务端和客户端两个部分,服务端用于部署模型,客户端用于访问模型。只需几行代码,就可以得到句子或词的嵌入(embedding)。

为了简便,本文将服务端和客户端安装在同一计算机。

环境配置

使用bert-as-service最容易踩坑的地方就是环境配置了,很多莫名其妙的错误都源于此。

推荐的环境配置为python3.5, tensorflow1.10,亲测有效。如果与你的环境不同,可以利用Anaconda再新建一个环境,可以参考这里。

进入环境

进入我为bert-as-service新建的环境"python3.5",演示如下:
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第1张图片

安装bert-as-service

分为服务端安装和客户端(注意一定是在新的环境下):
1.pip install bert-serving-server
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第2张图片
2.pip install bert-serving-client
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第3张图片

下载预训练好的模型

谷歌的下载地址:https://github.com/google-research/bert#pre-trained-models
哈工大的下载地址:https://github.com/ymcui/Chinese-BERT-wwm#使用建议
以谷歌的为例(见下图),选择一个你想要的模型,我选择的是最后一个“BERT-Base, Chinese”中文模型。
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第4张图片
模型下载解压后:
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第5张图片
如果你下载的其他模型,用bert-as-service调用时报错,就检查一下里面的文件命名是不是跟上图一致,手动改一下即可。

启动服务端

在新环境下输入命令:“bert-serving-start -model_dir xx”,其中“xx”为你刚才模型的解压路径。演示如下:
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第6张图片

计算文本相似度

通过访问服务端,获取查询词或句的嵌入(embedding),然后通过余弦相似度计算嵌入的相似度,即为文本相似度。
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第7张图片
运行结果:
手把手教你使用bert-as-service----从环境配置到文本相似度计算_第8张图片

你可能感兴趣的:(杂文,python,linux,深度学习,自然语言处理,数据挖掘)