keras_bert 是Cyberzhg 封装的Keras版Bert,可以直接调用官方发布的预训练权重。
pip install keras_bert
github:https://github.com/CyberZHG/keras-bert
bert4keras 是苏剑林参考 keras-bert 重新编写的keras 版 bert,可适配 albert
快速安装:pip install git+https://www.github.com/bojone/bert4keras.git
安装稳定版:pip install bert4keras
安装最新版:github:https://github.com/bojone/bert4keras
bert4keras支持Albert,bert4keras 可使用tensorflow2.2.0 + keras2.3.1
为了获得最好的体验,建议使用Tensorflow 1.14 + Keras 2.3.1组合。
关于环境组合
支持tf+keras和tf+tf.keras,后者需要提前传入环境变量TF_KERAS=1。
当使用tf+keras时,建议2.2.4 <= keras <= 2.3.1,以及 1.14 <= tf <= 2.2,不能使用tf 2.3+。
keras 2.4+可以用,但事实上keras 2.4.x基本上已经完全等价于tf.keras了,因此如果你要用keras 2.4+,倒不如直接用tf.keras。
在 keras-bert 里面,使用 Tokenizer 将文本拆分成字并生成相应的id。
需要提供字典,存放 token 和 id 的映射,字典里还有 BERT 里特别的 token。
如果拆分的中文不存在字典中使用UNK代替,如果是英文则拆分成字母。
参考:
BERT实战——基于Keras - 那少年和狗 - 博客园(keras_bert, bert4keras使用)
在Keras中用Bert进行情感分析 - 那少年和狗 - 博客园(bert 情感分析)