最近尝试了bert来处理中文的NLP任务,发现效果很好。本人应用的主要方式是调用腾讯AILab 实验室开源的bert-as-service代码,bert-as-service 的git地址 该项目的api和demo 非常详细。按照过程能很快完成bert的调用。下面说一下我的使用流程。
环境配置
- 安装tensorflow
- 安装package
pip install bert-serving-server pip install bert-serving-client
- 下载中文bert预训练的模型预训练模型下载地址
- 启动 bert-server 启动代码为
-
bert-serving-start -model_dir dict/chinese_L-12_H-768_A-12 -num_worker=1 -max_seq_len=100 &
其中具体参数根据自己需要来配置,可以直接取句子向量,也可以取字向量和词向量,默认是句子向量
-
- 调用 bert 进行自己的应用
from bert_serving.client import BertClient bc = BertClient(ip='localhost',check_version=False, check_length=False) vec = bc.encode(['CSDN中文IT知识服务集团,业务有IT信息传播、技术交流、教育培训和专业技术人才服务。旗下有网络社区、学习平台和交流平台。']) print(vec)
上面的例子是直接取句子向量的过程
bert 调用方式的优化:
分享一种既能在linux使用也能Windows使用的方法,具体网址:https://blog.csdn.net/renyuanfang/article/details/101223521