win10 BERT fine-tuning MRPC句子对分类任务实战

说明:

GLUE (General Language Understanding Evaluation) 数据集:为了能够标准化的和综合性的评估NLU(自然语言理解)算法和模型而构造出来的一套包含数据集,在线评估平台的工具。

其中包含了九个数据集,其中MRPC(Microsoft Research Paraphrase Corpus)是微软的语料库,收录了3600对句子并标注每对句子是否在语义上等价。

参考:https://www.jianshu.com/p/3d0bb34c488a

环境:

  • 硬件:gtx1060 6g  6代i7 12g
  • 系统:win10
  • python:3.6.7 
  • tensorflow:1.11  (官网requirements.txt有写)

 

下载:

  • 官方网址:https://github.com/google-research/bert
  • GLUE(MRPC):https://gist.github.com/W4ngatang/60c2bdb54d156a41194446737ce03e2e

 

  1. 首先当然是在官网clone BERT到本地啦,假设该文件夹叫BERT
  2. 然后跑GLUE下载文件,下载目录默认在该程序所在文件里
  3. 接着下载BERT预训练模型,官网上有给,我们就用最基本的英文版本吧,uncased就是不区分大小写,统一以小写处理文本,Base版本是照顾小显存的,Large版本需要使用到16G以上的显卡win10 BERT fine-tuning MRPC句子对分类任务实战_第1张图片

修改BERT的run_classifier.py文件

谷歌官网给出了参考例子,我们照着修改

win10 BERT fine-tuning MRPC句子对分类任务实战_第2张图片

在FLAGS语句根据自己的目录增加以下变量,如图所示

base_bert_file = 'D:/nlp/bert-master/uncased_L-12_H-768_A-12'  # BERT与训练模型
data_dir = 'D:/nlp/bert-master/glue/glue_data/MRPC'  # MRPC的目录
task_name = 'MRPC'  # 要运行的任务

看到## Required parameters注释,把None改成刚刚的变量。照葫芦画瓢就行了。

win10 BERT fine-tuning MRPC句子对分类任务实战_第3张图片

win10 BERT fine-tuning MRPC句子对分类任务实战_第4张图片

注意,如果显存溢出,注意把max_seq_length和train_batch_size改小,这里我改成了80和16

win10 BERT fine-tuning MRPC句子对分类任务实战_第5张图片

然后就是慢慢等结果啦,谷歌说84~88%都是正常的结果

 

预测:

同样依葫芦画瓢,按照谷歌的去做即可。

win10 BERT fine-tuning MRPC句子对分类任务实战_第6张图片

你可能感兴趣的:(Python,机器学习)