如何采用BertClient动态生成字符嵌入向量

目前,BERT已经被广泛用于各类自然语言处理任务,那么,如何根据需求便捷生成字符嵌入向量呢?本文将记录该问题的探索过程。

1、用到的包,没有的可以自行下载

bert-serving-client

bert-serving-server

2、启动server, 注意,需要先启动服务,client才能收到反馈结果,否则一直处于运行等待状态。

from bert_serving.server.helper import get_args_parser
from bert_serving.server import BertServer
args = get_args_parser().parse_args(['-model_dir', 'chinese_L-12_H-768_A-12',
                                     '-pooling_strategy', 'NONE',
                                     '-max_seq_len','512'])

if __name__ == '__main__':

    server = BertServer(args)
    server.start()

说明:

-model_dir为BERT的预训练模型的路径
-pooling_strategy 默认为句向量,"NONE"为词向量
-max_seq_len最大长度,不足补零

 

 

3、客户端运行

from bert_serving.client import BertClient

bc = BertClient(ip='localhost')
vectors = bc.encode(['稻纵卷叶螟是水稻的主要害虫之一,是一种迁飞性害虫。','辽豆10号属中熟品种、抗倒伏、抗大豆花叶病毒病和霜霉病'])
print(vectors)

shape=(2,512,768)

[[[ 0.14123556  0.02149387 -0.6442527  ...  0.6428839   0.34610572
    0.80053955]
  [-0.02585154  0.6437761  -0.4558012  ... -0.7428082  -0.55981106
    0.20254183]
  [ 1.3252223   0.27114892 -0.4354548  ...  1.0058303   0.09623593
    0.42003313]
  ...
  [-0.          0.         -0.         ...  0.         -0.
   -0.        ]
  [-0.          0.         -0.         ...  0.         -0.
   -0.        ]
  [-0.          0.         -0.         ...  0.          0.
   -0.        ]]

 [[-0.40050918  0.49590495 -0.7672191  ...  0.8043914  -0.28956407
   -0.47412562]
  [-0.2795449   1.1792994   0.65010804 ... -0.7610196  -0.41661397
   -1.190715  ]
  [-0.24264015  0.30065003 -1.0405343  ...  0.20720059  0.3468752
   -0.07896887]
  ...
  [-0.          0.         -0.         ...  0.         -0.
   -0.        ]
  [-0.          0.         -0.         ...  0.         -0.
   -0.        ]
  [-0.          0.         -0.         ...  0.          0.
   -0.        ]]]

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值