获得Bert预训练好的中文词向量

  1. 安装肖涵博士的bert-as-service:
    pip install bert-serving-server
    pip install bert-serving-client
  2. 下载训练好的Bert中文词向量:
    https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
  3. 启动bert-as-service:
    找到bert-serving-start.exe所在的文件夹(我直接用的anaconda prompt安装的,bert-serving-start.exe在F:\anaconda\Scripts目录下。)找到训练好的词向量模型并解压,路径如下:G:\python\bert_chinese\chinese_L-12_H-768_A-12
    打开cmd窗口,进入到bert-serving-start.exe所在的文件目录下,然后输入:
    bert-serving-start -model_dir G:\python\bert_chinese\chinese_L-12_H-768_A-12 -num_worker=1
    即可启动bert-as-service(num_worker好像是BERT服务的进程数,例num_worker = 2,意味着它可以最高处理来自 2个客户端的并发请求。)
    启动后结果如下:
    获得Bert预训练好的中文词向量_第1张图片
    此窗口不要关闭,然后在编译器中即可使用。
  4. 获取Bert预训练好的中文词向量:
    from bert_serving.client import BertClient
    bc = BertClient()
    print(bc.encode([“NONE”,“没有”,“偷东西”]))#获取词的向量表示
    print(bc.encode([“none没有偷东西”]))#获取分词前的句子的向量表示
    print(bc.encode([“none 没有 偷 东西”]))#获取分词后的句子向量表示

结果如下:其中每一个向量均是768维。
获得Bert预训练好的中文词向量_第2张图片
获得Bert预训练好的中文词向量_第3张图片
获得Bert预训练好的中文词向量_第4张图片
可以看出分词并不会对句子的向量产生影响。
参考文章:
1.https://blog.csdn.net/zhonglongshen/article/details/88125958
2.https://www.colabug.com/5332506.html

你可能感兴趣的:(词向量,词向量)