我们来看看Google是怎么定义BERT模型的:
We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. BERT is designed to pre train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers.
BERT是Google开发的一种新的语言表示模型,全称为"来自转换器的双向编码表示"。具体的原理大家可以去Github查看下文档和代码:
https://github.com/google-research/bert
下载模型文件
wget https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
安装必要软件
pip install bert-serving-server # server
pip
install bert-serving-client # client
启动模型
bert-serving-start -model_dir C://Users/Admin/Downloads/chinese_L-12_H-768_A-12/ -num_worker=4
我们可以看到运行的日志
环境准备就绪,开始写代码使用模型
from bert_serving.client
import BertClient
bc = BertClient()
test = bc.encode(['你好', '您好'])
print(test)
模型产出了日志
代码运行得到结果
[[ 0.28940195 -0.13572726 0.07591147 ... -0.14091192 0.5462996
-0.30118033]
[ 0.22952718 0.15336259 -0.18656379 ... -0.40034902 0.12984535
-0.3449842 ]]
我们可以看到,模型已经将文本转化成了数字表示的向量。这为我们接下来对文本的处理带来了便利。
在运行模型和代码的过程中,可能会有一些坑需要注意下:
1、首先你必须装有TensorFlow,如果最新版本2.0无法兼容,可以安装老版本比如1.15
2、Python可以使用3.x的版本,但务必保证安装bert-serving-server和bert-serving-client的Python环境,和运行代码的环境是同一套。
网友评论