当前位置:   article > 正文

使用BERT获取中文词向量

bert获取中文词向量

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
  • 1
  • 2

下载训练好的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(['中国', '美国']))
  • 1
  • 2
  • 3

可得到词向量为(词向量的维度为768):

获取完BERT词向量后就可以结合CNN、RNN等模型来实现自己的任务。在博客写作的过程中参考以下网址:

  • https://www.jianshu.com/p/bafdd927ef02

  • https://www.gaozhengjie.cn/archives/240/

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号