最近学习了一点儿关于bert中文微调的知识,并上手实践了一下,再次进行记录。
bert中文微调需要三个“原料”首先是github上bert的源码,可以在bert源码下载,其次是Google预训练好的bert模型,这里选择中文预训练模型,最后是自己准备的中文训练数据。训练数据是tsv文件,格式是:标签 t 文本,如下例:
game APEX是个新出的吃鸡游戏。
technology Google将要推出tensorflow2.0。
剩余步骤可以参考以下网址,介绍得都很详细:
中文情感分类任务如何对bert语言模型微调blog.csdn.net BERT简介及中文分类blog.csdn.net 使用Bert预训练模型文本分类(内附源码)www.jiqizhixin.com
这里我主要记录一个我踩的坑,当我按照上述链接中的步骤一步步做好后,运行代码,这时出现了类似以下的错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 10: invalid start byte,这是由于脚本读取我的语料时遇到了utf-8无法解码的字符。上网查询了很多方法都没有作用,最后找到一个Python 读取csv报错编码问题。具体办法是将我的三个语料集:train.tsv,test.tsv,val.tsv分别使用记事本打开,然后另存为,格式选择为utf-8,如图所示:
此时再运行代码,便开始正确训练。