算法 KECP 被顶会 EMNLP 收录,极少训练数据就能实现机器阅读理解

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: KECP 是一种面向机器阅读理解的小样本学习算法,采用 Prompt-Tuning 作为基础学习范式,在仅需要标注极少训练数据的情况下,在给定文章中抽取满足要求的文本作为答案。

近日,阿里云机器学习平台PAI与华东师范大学高明教授团队合作在自然语言处理顶级会议EMNLP2022上发表基于Prompt-Tuning的小样本机器阅读理解算法KECP(Knowledge Enhanced Contrastive Prompt-tuning)。KECP是一种面向机器阅读理解的小样本学习算法,采用Prompt-Tuning作为基础学习范式,在仅需要标注极少训练数据的情况下,在给定文章中抽取满足要求的文本作为答案。

论文:

Jianing Wang*, Chengyu Wang*, Minghui Qiu, Qiuhui Shi, Hongbin Wang, Jun Huang, Ming Gao. KECP: Knowledge-Enhanced Contrastive Prompting for Few-shot Extractive Question Answering. EMNLP 2022


背景


在预训练语言模型广泛应用的背景下,传统的机器阅读理解(Machine Reading Comprehension)任务通常需要大量的标注数据来微调模型(例如BERT)。机器阅读理解任务旨在给定一篇文章(Passage)和一个问题(Question),从文章中寻找对应问题的答案(Answer)。通常情况下,我们假设答案来自于文章中的子片段,这一任务可以进一步被称为抽取式阅读理解,或抽取式问答(Extractive Question Answering)。这一任务在大量深度学习应用中有广泛的应用场景,例如任务型对话系统等。


传统的抽取式问答采用序列标注或指针网络的方法,获得答案在给定文章的区间,其学习范式如下图(a)所示:



然而,这种方法需要重头开始学习Preduction Head的参数,在小样本场景下容易过拟合。最近Prompt-Tuning(即提示微调)相关方法的提出缓解了预训练语言模型在低资源场景下的过拟合问题。特别地,对于BERT类模型,其通常是将下游任务目标转换为预训练目标(例如Masked Language Modeling),以充分复用预训练阶段的先验知识。受到这个启发,我们将抽取式阅读理解转换为基于BERT的生成任务,如上图(b)。


算法概述


我们提出的KECP(Knowledge Enhanced Contrastive Prompt-tuning)模型综合利用了模型表示的知识增强和对比学习技术,提升了小样本学习场景下的机器阅读理解准确度,模型架构图如下:


模型输入


首先,我们将问题(Question)转换为陈述句,并通过一些启发式规则将问题变为类似完形填空任务。例如,我们可以将问题:


What was one of the Normans’major exports?


变为:

[MASK] [MASK] [MASK] was one of the Normans’major exports.


其中[MASK]为待预测的Token。最后,我们将这一陈述句和文章进行拼接在一起,形成统一的输入序列:



知识增强的语义表达


因为训练样本很少时,模型的推理能力有限;因此,我们提出了知识注入方法,即给定一个知识库(例如Wikidata5M),我们使用实体链指工具识别出文章(Passage)中所有实体。在KECP算法中,我们提出了Passage Knowledge Injection模块,将预训练知识库实体表征与Word Embedding表征向量通过门控单元进行向量融合:



为了避免注入过多知识引起知识噪音(Knowledge Noise)问题,我们将融合了知识的文章表征信息聚集到问题部分挑选的Token中。例如,在前述示例中,我们挑选了名词“Norman Major Exports”,我们可以通过Self-Attention模型将文章中的实体融合向量进一步融合到这些选定的Token中:



这样,我们能获得更好的文本表征。


对比学习增强的模型训练


在获得新的表征向量后,我们将这些表征喂入BERT模型中,进行模型的训练。我们复用了预训练任务目标Masked Language Modeling(MLM)。为了提高模型效果,我们采用对比学习对学习目标进行增强。在KECP的对比学习模块中,正样本为Ground Truth,负样本为通过知识库检索到文章中的一些错误的实体(这些实体可能会对模型预测产生混淆),损失函数如下:



KECP协同最小化MLM和对比学习损失,得到最终的机器阅读理解模型。


算法精度评测


为了评测KECP算法的精度,我们在一些常用的机器阅读理解数据集上,随机采样16个样本进行训练,结果如下:



结果可以证明,KECP在这些数据集上获得不错的效果。在未来,我们会拓展KECP到到BART、T5等生成式模型上,训练更加通用的生成式阅读理解模型。为了更好地服务开源社区,KECP算法的源代码即将贡献在自然语言处理算法框架EasyNLP中,欢迎NLP从业人员和研究者使用。


EasyNLP开源框架:https://github.com/alibaba/EasyNLP


参考文献


  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022
  • Xiang Lisa Li, Percy Liang. Prefix-Tuning: Optimizing Continuous Prompts for Generation. ACL/IJCNLP 2021: 4582-4597
  • Ori Ram, Yuval Kirstain, Jonathan Berant, Amir Globerson, Omer Levy. Few-Shot Question Answering by Pretraining Span Selection. ACL/IJCNLP 2021: 3066-3079
  • Rakesh Chada, Pradeep Natarajan. FewshotQA: A simple framework for few-shot learning of question answering tasks using pre-trained text-to-text models. EMNLP 2021: 6081-6090
  • Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S. Weld, Luke Zettlemoyer, Omer Levy. SpanBERT: Improving Pre-training by Representing and Predicting Spans. Trans. Assoc. Comput. Linguistics 8: 64-77 (2020)
  • Xiao Liu, Kaixuan Ji, Yicheng Fu, Zhengxiao Du, Zhilin Yang, Jie Tang. P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. CoRR abs/2110.07602 (2021)


论文信息


论文名字:KECP: Knowledge-Enhanced Contrastive Prompting for Few-shot Extractive Question Answering
论文作者:王嘉宁、汪诚愚、邱明辉、石秋慧、王洪彬、黄俊、高明
论文pdf链接:https://arxiv.org/abs/2205.03071

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
机器学习/深度学习 算法 前端开发
别再用均值填充了!MICE算法教你正确处理缺失数据
MICE是一种基于迭代链式方程的缺失值插补方法,通过构建后验分布并生成多个完整数据集,有效量化不确定性。相比简单填补,MICE利用变量间复杂关系,提升插补准确性,适用于多变量关联、缺失率高的场景。本文结合PMM与线性回归,详解其机制并对比效果,验证其在统计推断中的优势。
868 11
别再用均值填充了!MICE算法教你正确处理缺失数据
|
1月前
|
存储 机器学习/深度学习 编解码
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
本文提出统一相位正交啁啾分复用(UP-OCDM)方案,利用循环矩阵特性设计两种低复杂度均衡算法:基于带状近似的LDL^H分解和基于BEM的迭代LSQR,将复杂度由$O(N^3)$降至$O(NQ^2)$或$O(iNM\log N)$,在双选择性信道下显著提升高频谱效率与抗多普勒性能。
169 0
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
|
2月前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
233 1
|
3月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
114 0
|
2月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
334 0
|
4月前
|
传感器 机器学习/深度学习 分布式计算
卡尔曼滤波的多传感器数据融合算法
卡尔曼滤波的多传感器数据融合算法
676 0
|
2月前
|
传感器 资源调度 算法
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
本文提出一种多子带相干累积(MSCA)算法,通过引入空带和子带相干处理,解决DDMA-MIMO雷达的多普勒模糊与能量分散问题。该方法在低信噪比下显著提升检测性能,实测验证可有效恢复目标速度,适用于车载雷达高精度感知。
452 4
DDMA-MIMO雷达多子带相干累积目标检测算法——论文阅读
|
1月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
117 0
|
2月前
|
存储 监控 算法
企业电脑监控系统中基于 Go 语言的跳表结构设备数据索引算法研究
本文介绍基于Go语言的跳表算法在企业电脑监控系统中的应用,通过多层索引结构将数据查询、插入、删除操作优化至O(log n),显著提升海量设备数据管理效率,解决传统链表查询延迟问题,实现高效设备状态定位与异常筛选。
120 3
|
6月前
|
存储 监控 算法
基于 C++ 哈希表算法实现局域网监控电脑屏幕的数据加速机制研究
企业网络安全与办公管理需求日益复杂的学术语境下,局域网监控电脑屏幕作为保障信息安全、规范员工操作的重要手段,已然成为网络安全领域的关键研究对象。其作用类似网络空间中的 “电子眼”,实时捕获每台电脑屏幕上的操作动态。然而,面对海量监控数据,实现高效数据存储与快速检索,已成为提升监控系统性能的核心挑战。本文聚焦于 C++ 语言中的哈希表算法,深入探究其如何成为局域网监控电脑屏幕数据处理的 “加速引擎”,并通过详尽的代码示例,展现其强大功能与应用价值。
162 2