字幕组双语原文:Keras 教程:BERT 文本摘要
英语原文:BERT (from HuggingFace Transformers) for Text Extraction
翻译:雷锋字幕组(yhfwww、wiige)
介绍
这个演示使用了SQuAD (Stanford question - answer Dataset)。在SQuAD 数据集中,输入由一个问题和一个上下文段落组成。目标是找到回答问题的段落的跨度。我们使用“精确匹配(Exact Match)”指标来评估我们在这些数据上的表现,它度量了精确匹配任何一个真实答案的预测的百分比。
我们对一个BERT模型进行微调,如下所示:将上下文和问题作为输入,输入给BERT。
取两个向量S和T它们的维数等于BERT中隐藏状态的维数。
计算每个token作为答案范围的开始和结束的概率。一个token作为答案开始的概率是由S和在最后一层BERT中表示的token之间的点积给出的,然后是所有token的softmax。token作为最终答案的概率的计算方法与向量T类似。
微调BERT,学习S和T。
参考:
BERT
SQuAD
设置:
设置BERT分词器
载入数据
数据预处理遍历JSON文件,把每行记录都保存为SquadExample对象.
遍历每个SquadExample对象来创建x_train, y_train, x_eval, y_eval.
用BERT和函数式API来构建问答模块
这段代码很适合用Google Colab TPU来跑. 用Colab TPUs, 每个epoch大概花5-6分钟即可.构建评价回调函数
这个回调函数会在每个epoch后用验证集数据计算匹配值.
训练和评估
雷锋字幕组是一个由 AI 爱好者组成的翻译团队,汇聚五百多位志愿者的力量,分享最新的海外AI资讯,交流关于人工智能技术领域的行业变革与技术创新的见解。
团队成员有大数据专家、算法工程师、图像处理工程师、产品经理、产品运营、IT咨询人、在校师生;志愿者们来自IBM、AVL、Adobe、阿里、百度等知名企业,北大、清华、港大、中科院、南卡罗莱纳大学、早稻田大学等海内外高校研究所。
如果,你也是位热爱分享的AI爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。
雷锋网雷锋网