利用 TensorFlow Hub 中的预处理模型简化 BERT

文 / 软件工程师 Arno Eigenwillig 和开发技术推广工程师 Luiz GUStavo Martins

 

BERT 及其他 Transformer 编码器架构在自然语言处理 (NLP) 领域计算矢量空间下的文本表征任务中取得了巨大成功,不仅推进学术领域前沿研究指标的发展,还被广泛应用于 Google 搜索等大型应用。BERT 自最开始便由 TensorFlow 构建,但它最初依赖的并非是 TensorFlow Python 代码来将原始文本转换为模型输入。

今天,我们非常高兴地发布一种更精简的方案,完全基于 TensorFlow 构建的 BERT。由这一解决方案构建的预训练编码器和与之匹配的文本预处理模型现已在 TensorFlow Hub 上提供。现在,只需几行代码,由 TensorFlow 所构建的 BERT 便可以直接处理文本:

# Load BERT and the preprocessing model from TF Hub.
preprocess = hub.load('https://hub.tensorflow.google.cn/tensorflow/bert_en_uncased_preprocess/1')
encoder = hub.load('https://hub.tensorflow.google.cn/tensorflow/bert_en_uncased_L-12_H-768_A-12/3')

# Use BERT on a batch of raw text inputs.
input = preprocess(['Batch of inputs', 'TF Hub makes BERT easy!', 'More text.'])
pooled_output = encoder(input)["pooled_output"]
print(pooled_output)

tf.Tensor(
[[-0.8384154-0.26902363-0.3839138  ... -0.3949695-0.584420860.8058556 ]
 [-0.8223734-0.2883956-0.09359277 ... -0.13833837-0.62517480.88950026]
 [-0.9045408-0.37877116-0.7714909  ... -0.5112085-0.707918640.92950743]],
shape=(3, 768), dtype=float32)

这些编码器和预处理模型均由 TensorFlow Model Garden 所提供的 NLP 库构建,且以 SavedModel 格式导出至 TensorFlow Hub。在后台,预处理使用 TF.text 库中的 TensorFlow 算子对输入文本执行分词,使您可以构建自己的 TensorFlow 模型,该模型无需在循环中使用 Python 代码即可将原始文本输入转换为预测输出。这不仅加速了计算,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值