0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用检测框架CoP通过控制偏好检测事实不一致

深度学习自然语言处理 来源:南大NLP 作者:南大NLP 2022-11-29 11:09 次阅读

01、研究动机

在生成式摘要任务中,模型基于输入文档逐词生成摘要。随着深度学习的发展,生成式摘要取得了巨大进展。然而在现在的模型所生成的摘要中,超过70%含有事实不一致错误[1]。这些不一致错误严重限制了生成式摘要的实际应用。要解决这个问题的第一步就是评估摘要的一致性,检测出不一致错误。

表1:一个多种粒度的事实不一致检测例子(下划线标记是词级别的不一致标注,EntE和OutE是具体不一致类别,对应实体错误以及不在原文错误)

e2dd7c68-6f24-11ed-8abf-dac502259ad0.png

摘要的生成过程中有两个因素:文档X提供重要的事实信息来支持生成一致的摘要内容。同时,在大规模语料上训练的模型M提供语言先验知识来保证生成摘要的流畅性。因此摘要中每个词的生成概率由文档X和模型M联合决定。而生成概率正反映了模型对摘要的偏好,对应存在模型对一致摘要的偏好以及对流畅摘要的偏好。这样的因果关系如图1(a)所示。

e3086f72-6f24-11ed-8abf-dac502259ad0.png

图1:不同推理过程的示意图:(a)常规的推理过程,Y的生成由文档和预训练模型共同决定;(b) CoCo[3]提出的使用部分Mask文档的推理过程;(c)我们提出的使用prompt的推理过程。

一致性评估的本质是衡量摘要Y受原文X支持的程度,也就是衡量X到Y的因果效应。直接使用常规推理过程的生成概率(如BARTScore[2])不能够区分X和M的因果效应,二者的偏好是混杂的。比如一些流畅性很差但是事实一致的摘要会获得一个较低的生成概率,被误判为不一致。概率差分方法使用一个额外推理过程来分离偏好。如图1(b)所示,CoCo[3]使用一个被部分遮盖(Mask)的文档作为额外推理的输入。然而,被遮盖的文档天然缺乏流畅性,违背语言先验知识,评估的过程依然受到和事实一致性无关的偏好影响。除此之外合理且精确的决定遮盖文档中哪些词语也很困难。

02、贡献

我们提出了一个事实不一致检测框架CoP,有三个优势:

在无监督的条件下,利用prompt更好的过滤模型的一致性无关偏好,专注于检测事实不一致。

可以和prompt tuning结合,高效利用少量标签数据训练,进一步提升性能。

通过灵活的设计prompt,不需要额外训练就可以控制特定的偏好来检测具体的不一致类别。

实验结果表明我们的框架CoP在三个事实不一致检测任务上获得了SOTA表现,进一步的实验分析验证了我们方法的有效性。

03、方法

3.1利用带prompt的额外推理来控制偏好

我们的框架包括两个推理过程(图2)。第一次推理和常见的生成过程是一样的:利用文档X作为输入,并将待测摘要Y输入解码器的进行forced-decoding,得到待测摘要Y中每一个词的生成概率。第二次推理我们将文档和一个prompt T一起作为输入,利用类似过程可以得到第二个概率。

我们可以根据实际的应用场景来设计prompt。考虑一个最简单的情况,我们用待测摘要作为prompt (我们称这种离散文本prompt为prompt text)。很直观的,假如待测摘要和输入文档事实一致,那么它是一种输入冗余,因此不会带来巨大的概率变化。相反的,摘要中的不一致部分会带来更大的概率变化。换而言之,差分概率更多的由模型对一致性的偏好引起,进而过滤了无关偏好,例如对流畅性的偏好。具体而言我们用第二次推理的概率减去第一次的概率,计算出差分概率。越大的差分概率意味着和原文的不一致程度越高。高于阈值的词语会被预测为不一致,我们可以根据具体的应用设置阈值来控制预测比例。例如,对于期望更高召回率的不一致改错任务,可以选择一个相对低的阈值。

e3288afa-6f24-11ed-8abf-dac502259ad0.png

图2:我们的框架CoP示意图

3.2、对具体不一致类别设计prompt

先前的工作[4]详细定义了不一致类型,并统计了类型分布。现有的评估方法往往忽略了这些详细信息。我们认为能够检测不一致类型的评估工具有助于分析现有模型的错误倾向、指导未来的研究方向。其中EntE(实体相关不一致), CorefE(指代相关不一致),OutE(不在原文的不一致)相对高频,分别出现了36%, 10%和27%,我们以它们为例来说明我们框架的工作过程。

最基础的prompt是整个待测摘要,可以覆盖摘要里的所有不一致内容,对应的可以解决OutE。而对于检测其他类别的不一致,我们可以通过添加类别相关的事实信息来针对性控制偏好。对于实体错误,我们从摘要里抽取出实体,并把实体列表拼接到prompt text。对于指代错误,我们类似的对摘要进行指代消解,并将对应的指代信息插入到代词的后面。假如生成概率显著受这些额外的类别相关的事实信息影响,那么我们可以认定这个摘要包含和对应类别相关的不一致。

此时我们仍然获得的是词级别的不一致分数,而类别相关的标注往往是摘要级别的。最简单的方法就是在摘要上对词级别分数做平均(所有词语的权重均等)。然而我们的框架可以精细的检查每一个词的一致性,包含实体词和指代词。我们加倍对应类别词语的权重,让模型更专注于该类别的一致性评估。

3.3利用prompt tuning从有限数据中学习

事实一致性的标注数据相当稀缺。得益于我们框架的灵活性,我们可以集成prompt tuning[5],进一步的从有限的标注数据中学习。从离散的词汇空间中学习prompt text相当困难,因此我们提出了一个小规模的任务相关的连续向量prompt vector。我们希望prompt vector可以帮助模型更好的区分prompt text和输入文档,并引导模型在二者之间做精细的事实分析比对,强化对事实一致性的偏好。

e3441978-6f24-11ed-8abf-dac502259ad0.png

图3:prompt vector示意图(使用红色标出)

如图3所示,我们在第二次推理中的prompt text前后加上prompt vector。为了保证推理过程的一致性,我们在第一次推理中也保留prompt vector,区别在于第一次推理中没有prompt text。我们冻结了整个生成模型,仅学习小规模的prompt vector。使用如下的损失函数进行更新参数

e384669a-6f24-11ed-8abf-dac502259ad0.png

其中label是词级别的标记,用1和-1表示当前词是一致和不一致。损失函数将直接优化任务目标:最大化不一致词语的差分概率,最小化一致词语的差分概率。

04、实验

我们在XSum Hallucination Annotations[1],QAGS [6],FRANK [4]三个数据集上进行实验。XSum Hallucination Annotations数据集提供了词级别的不一致标签,0/1分别表示当前词是一致/不一致。QAGS和FRANK提供了摘要级别的分数来表示一致性,越高的分数代表了越高的一致性。FRANK数据集还提供了不一致类别标签,同样用分数表示。我们测试了三个设置下的CoP,分别是不需要训练的Ours Zero-Shot、使用300条数据训练的Ours Few-Shot,以及使用1200条数据训练的Ours Full-Shot。

4.1无监督下检测不一致

如表2,3所示,我们统计了XSum Hallucination Annotations数据集每一个子集和数据集整体的F1。Ours Zero-Shot效果的效果相当不错,比起之前表现最好的模型BARTScore[2]提升了4.64,直观的证明了利用prompt做额外推理去过滤无关偏好的有效性。即便是比起那些使用大量伪数据的方法,Ours Zero-Shot也相当有竞争力,比DAE-Weak[7]提升了4.62。此外,在每一个数据子集上的稳定提升证明了我们的模型有足够的泛化能力来处理不同模型生成的摘要。

表2:在每一个数据子集上的F1(×100),*代表这个方法不需要训练

e3a17730-6f24-11ed-8abf-dac502259ad0.png

表3:数据集级别的F1(×100),*代表这个方法不需要训练

e3bc997a-6f24-11ed-8abf-dac502259ad0.png

表4展示了在摘要级别上和人工标注分数的Pearson系数,我们的模型在4个数据集上都取得了SOTA。值得注意的是,我们的模型在QAGS-XSUM和FRANK-XSUM上取得了更加显著的提升,分别比BARTScore提升3.98和5.34。XSUM是一个更加抽象且含有更多噪音的数据集,在XSUM上取得显著优势表明CoP能够更好的分离语言知识偏好,专注于不一致的检测。

表4:指标评估和人工一致性分数的摘要级别Pearson系数(×100)

e3da7710-6f24-11ed-8abf-dac502259ad0.png

4.2结合prompt tuning高效改进性能

我们进一步的在词级别的不一致检测任务上验证prompt tuning的有效性,结果如表2和表3所示。CoP仅仅使用300条真实数据就超过了使用2000条真实数据的DAE以及使用960k伪数据的DHC,达到了SOTA水平。这表明了CoP能够更加有效的从少量数据中学习。当标记数据增多时,模型的性能也能进一步提升。当我们使用完整的1200条数据训练时,数据集级别的F1达到69.61,比表现很不错的Zero-Shot进一步提升9.24%。和使用2000条数据的DAE相比,CoP提升了4.61,展示了更高的学习效率。

4.3具体类别的事实不一致检测

表5和表6的结果表明Our Base已经超过了之前的工作,证明CoP不仅擅长检测细粒度的不一致,也能够很好的检测具体类别的不一致错误,而CoP还可以通过设计和使用多样的prompt进一步的提升多种不一致类别的检测结果。值得注意的是这个过程并不需要任何额外训练。

此外我们还注意到,当我们的模型改进特定不一致类别的检测结果时,还影响了整体和OutE这两种不一致类型。我们认为这可能因为(1)EntE是一个相当常见的错误,改进这个类别会加强模型对整体不一致程度的评估。(2)各种不一致类别之间也存在联系,比如EntE和OutE。当模型无法很好的理解原文的实体时,它也很容易产生不在原文的不一致。我们在附录里进一步讨论了不一致类别之间的关系。

表5:指标评估和人工CorefE标注分数的Pearson系数(×100)

e406b136-6f24-11ed-8abf-dac502259ad0.png

表6:指标评估和人工EntE标注分数的Pearson系数(×100)

e42e9c8c-6f24-11ed-8abf-dac502259ad0.png

05、分析

5.1不同backbone上的鲁棒性

我们在QAGS-CNN上测试了基于不同的backbone的CoP和baseline,结果于表7。可以看到在不同backbone上CoP保持了稳定的优势,证明了其鲁棒性。

表7:在不同Backbone上的表现

e454f120-6f24-11ed-8abf-dac502259ad0.png

5.2灵活的prompt vector长度

作为第一篇在一致性领域结合prompt tuning的工作,我们也分析了prompt vector长度的影响。如图4所示,随着长度的增加,受益于更多可训练参数带来的更强表达能力,模型的效果会逐渐提升。但和prefix tuning[5]类似的,超过阈值之后效果出现了一些下降,这可能是因为更多参数带来的过拟合数据噪音的风险。比起先前的工作只能从一个固定大小的预训练模型开始训练,我们可以通过灵活调节参数量适应实际应用的不同数据规模。

e47c75d8-6f24-11ed-8abf-dac502259ad0.png

图4:prompt vector长度和数据集级别F1,两个X轴对应两个训练设定

5.3 prompt tuning带来更清晰的决策边界

我们可视化了CoP预测的评估分数于图5。可以观察到在Zero-Shot下,分数分布就存在区别,很直接的解释了为什么CoP可以在无监督环境下工作。而利用prompt tuning从微量数据中学习之后,分数的分布呈现了更加清晰的边界,极大的帮助CoP分辨出摘要的不一致。

e4c2c4c0-6f24-11ed-8abf-dac502259ad0.png

图5:标准化后的分数分布,更高的分数代表CoP认为这个词更可能是不一致

5.4高效的少量训练参数

可训练参数的规模极大影响训练效率以及所需显存。在这个低资源任务中,之前的工作为了训练大模型,往往需要构造大量伪数据,增加了训练代价。伪数据和真实数据分布的差异,也导致了天然性能差距。我们比较CoP和之前工作的参数规模,结果显示我们仅仅用了0.02%的参数就超过了之前的工作,展示了我们框架的高效性。

表8:不同方法的可训练参数规模

e4ed1a4a-6f24-11ed-8abf-dac502259ad0.png

5.5样例分析

表9:越高的分数代表模型认为摘要更一致(下划线是词级别不一致标注)

e5113204-6f24-11ed-8abf-dac502259ad0.png

我们展示了两个测试集的例子。摘要1是事实一致的,但是存在生成冗余。对于那些不能很好过滤流畅性偏好的方法,生成冗余会误导模型去认为这个摘要不一致。显然我们的方法给出了一个更合理的分数。另一个例子则相反,相当流畅且仅仅在一些核心词语上出现了不一致错误。CoCo给了一个更高的分数,并不能发现不一致错误,CoP展现了更好检测事实不一致的能力。

06、总结

在本篇工作中,我们提出了CoP,利用prompt来控制模型偏好,检测事实不一致。通过分离无关偏好,CoP不需要训练就可以精确的检测出事实不一致。此外CoP可以衡量特定类型的偏好并检测出具体不一致类型。我们还探索了结合prompt tuning来高效的从少量真实数据中学习。CoP在三个不一致检测任务上取得了SOTA结果,证明了我们方法的有效性。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    121000

原文标题:AAAI2023 | 通过控制偏好检测事实不一致

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    光纤压板不一致怎么处理

    光纤压板不一致的问题可能涉及多个方面,包括压板的位置、对齐情况、压力分布等。以下是些处理光纤压板不一致的建议步骤: 检查压板对齐情况: 打开熔接机的防风罩和大压板,检查载纤槽(或定位槽)与V型槽
    的头像 发表于 11-26 09:50 86次阅读

    为什么ADS1263 MOSI(DIN)每个命令周期对应的miso(DOUT)不一致?

    ADS1263现在终于可以输出数据了,我用的是命令方式. 但是为什么MOSI(DIN)每个命令周期对应的miso(DOUT)却不一致? 呈现的是每四个周期重复次,问题出在哪里呢?
    发表于 11-18 08:36

    PCM5102A左右声道THD不一致是哪里出了问题?

    我们用PCM5102A,发现2通道谐波失真指标差5dB, 同时做了以下实验: 1.将DAC输出的后级进行交换, 发现这个时候THD会更着进行交换,说明这个是PCM5102A输出就已经不一致了, 2.
    发表于 10-09 09:38

    OPA277AIDRMT数据手册和bxl导出的引脚不一致是怎么回事?

    OPA277AIDRMT数据手册和bxl导出的引脚不一致? 从网站上下载的bxl文件导出来原理图里面7、8引脚和数据手册中的7、8引脚名称刚好相反?请问工程师以哪个为准?
    发表于 08-23 06:06

    使用INA317这款仪表放大器时,增益和设置的Rg电阻不一致,为什么?

    在使用INA317这款仪表放大器时,遇到了问题。增益和我们设置的Rg电阻不一致。我们是在检测电桥的不平衡,PT100测温用。设置放大增益在41但是实测只有18到20左右。以下是我们的电路和计算方法,同样使用INA333也是
    发表于 08-15 06:17

    MAX20357充电电流不一致的原因?

    在使用maxrefdes182开发板时,在MAX20357#1Charger设定的CC1, CC2充电电流大小与Fuel Gauge显示的不一致,Fuel Gauge显示出电流过大!! 想请问如何符合CC1, CC2的设置?↓
    发表于 06-03 06:22

    STM32H750DMA+SPi内存数据不一致的原因?

    发现用stm32H750 dma+spi读写数据时发现当spi速度大于8M时出现内存不一致的问题,我再读之前已经用SCB_CleanInvalidateDCache_by_Addr这个函数无效化内存了,速度小于8M时没有这个问题,我这个程序是运行在外挂的flash里的
    发表于 05-24 07:53

    STM32F030锁相环配置与读取的不一致是为什么?

    STM32F030锁相环配置与读取不一致
    发表于 05-06 09:09

    STM32 FFT计算得到的相位谱与matlab计算的不一致是什么原因造成的?

    STM32 FFT计算得到的相位谱与matlab计算的不一致
    发表于 04-18 07:52

    STM32F030CC USART时钟配置手册和IAR不一致的原因?

    STM32F030CCUSART时钟配置手册和IAR不一致
    发表于 04-12 08:27

    增量编码器计数值和实际角度不一致怎么办?

    在当代工业自动化系统中,增量编码器扮演着至关重要的角色,用以准确检测旋转运动并转换成数字信号。然而,有时增量编码器的计数值与实际的角度并不一致,这可能导致系统误差和性能下降。面对这种情况,我们能采取些措施来解决。
    的头像 发表于 04-08 13:40 1693次阅读
    增量编码器计数值和实际角度<b class='flag-5'>不一致</b>怎么办?

    STM32F107VCT6 丝印与datasheet不一致有影响吗?

    这是我最近买到的STM32F107VCT6,芯片表面丝印打法与datasheet不一致 ,“Z”的位置不一样,有碰到这类问题的大神吗是否有相应的官方说明帮忙提供下,感谢感谢
    发表于 03-26 06:49

    充放电不一致影响超级电容器性能的原因及解决方案

    充放电不一致影响超级电容器性能的原因及解决方案  充放电不一致是指超级电容器在充电和放电过程中无法保持一致的电压和电流特征。这种不一致会严重影响超级电容器的性能,包括能量密度、功率密度
    的头像 发表于 02-03 15:02 1729次阅读

    求助,为什么miniWiggler的JTAG信号映射与设备端(TC397)不一致

    通过引出个JTAG插座,同时兼容JTAG和DAP两种协议。由于上面提到的不一致性,只能通过调整线缆线序来满足这种需求,即当使用DAP协议时,需要将设备(TC397)侧JTAG插座的
    发表于 02-01 06:47

    电池电压不一致串联后会自己均衡吗

    电池电压不一致串联后会自己均衡吗 电池电压不一致是指串联连接的电池中,各个电池的电压不完全相同。电池串联起来的总电压等于各个电池的电压之和,但是电池串联后,电流会在电池间流动,导致电池之间的电荷分布
    的头像 发表于 01-19 10:32 7953次阅读