赞
踩
BERT其中的一个重要作用是可以生成词向量,它可以解决word2vec中无法解决的一词多义问题。
然而BERT获取词向量的门槛要比word2vec要高得多。笔者在这里介绍一下如何获取BERT的词向量。
笔者在获取BERT词向量的时候用到了肖涵博士的bert-as-service,具体使用方式如下。
环境要求:python版本>=3.5,tensorflow版本>=1.10(笔者使用的是1.12)
相关包的安装:
pip install bert-serving-server
pip install bert-serving-client
下载训练好的BERT中文模型:
https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
启动bert-as-service :在cmd窗口进入bert-serving-start.exe所在的文件夹,在该文件路径下输入bert-serving-start -model_dir E:/chinese_L-12_H-768_A-12 -num_worker=2(训练好的中文模型路径,num_worker的数量可以自行选择),如果成功开启则出现以下界面
接着可以在pycharm终端写入以下代码:
from bert_serving.client import BertClient
bc = BertClient()
print(bc.encode(['中国', '美国']))
可得到词向量为(词向量的维度为768):
获取完BERT词向量后就可以结合CNN、RNN等模型来实现自己的任务。在博客写作的过程中参考以下网址:
https://www.jianshu.com/p/bafdd927ef02
https://www.gaozhengjie.cn/archives/240/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。