PTR: Prompt Tuning with Rules for Text Classification
提出背景
Prompt-oriented fine-tuning加速收敛,对少次学习很友好
Prompt-tuning收敛变慢,因为参数变少
Prompt 痛点
Hard prompt 设计麻烦
Auto prompt 效率太低
Soft prompt 需要大模型来保证效果
Verbalizer 设计也很复杂
cat/dog也可以用于情感分类
使用相同的[模板],不同的[标签词]会产生不一样的效果。例如great/terrible 和cat/dog 这两组标签词的效果不一样,而且即便是相同标签词,互换顺序也会导致最终效果有所变化,例如 cat/dog 和dot/cat 。使用相同[标签词],对[模板]进行改动(例如增删标点)也会呈现不同的结果。
基于prompt的情感分类
核心思想
对于关系分类这样复杂的多分类任务(预测两个标记实体之间的语义关系),手动找到合适的模板、合适的标签词来区分不同的类很有挑战性。例如”person:parent “和”organization:parent “。
PTR 核心思路
只设计简单的sub-prompt ,利用逻辑规则来组装sub-prompt(兼容hard prompt 、auto prompt 、soft prompt),大量先验的规则可以用进来利用类别之间的关联信息,并且相比手工设计所有类的模板和单独的标签词,将子提示组合成针对任务的提示更高效。(为每个类都设计label会很复杂)
PTR模型
模板定义
将输入x 送入模板,得到T (x ),再将T (x )送入roberta 模型进行编码,取[mask] token 的logits ,预测gound truth 关系对应的词。在代码实现时,图中绿色[mask]是用三个[mask] token 来表示的,每个分别预测”‘s”、”parent”、”was”。
每一种关系y ,都可以用五个token 来表示。公式(5 )表示,在输入x 的条件下输出y 的概率,五个mask 分别预测y 对应的五个token 。其中φ表示y 到手工模板的映射,如org:founded_by —> organization was founded by person 。
作者根据给定的42 种关系,手工构造了42 个模板:
部分模板展示
模型的损失函数
代码的loss 为两部分MLM loss + sentence CE loss 。
作者将五个mask 分别用各自的list 存放:
第一个mask 对应3 种可能的token: [person , organization , entity, …]
第二个mask 对应3 种可能的token: [‘s , is , was]
第三个mask 对应24 种可能的token: [died , founded, …]
第四个mask 对应9 种可能的token: [of , by , in …]
(关系用3 个token 来表示)
第五个mask 对应12 中可能的token: [state , person , …]
对roberta 输出的编码结果,取5 个mask 对应的logits,计算交叉熵,得到各自的loss 。再把这5 个loss 加和,得到MLM loss 。
每个关系类别的logits 的计算方式:在计算MLM loss 时,已经算出了5 组logits(每个mask 处一组)。每个关系通过φ函数映射出五个token,每个token 去各自的那组logits 中,取出自己token 所在位置的logits,再将这5 个logits 加和,得到这组关系的relation logits 。
整句话的ce loss 计算方式为:先算出每个关系类别的logits (42 个),再过softmax ,并计算跟ground truth 的交叉熵。
实验结果 – 与采用其他方法的关系抽取模型做对比
所用数据集:
TACRED(2017)
关系分类中规模最大、使用最广泛的数据集之一,包含42 种关系类型。
TACREV(2020)
找出并纠正TACRED 验证集和测试集中的错误,训练集保持完整。
ReTACRED (2021)
解决了原始TACRED 数据集的一些缺点,重构了它的训练集、验证集和测试集,还修改了一些关系类型。
SemEval (2010)
关系分类传统数据集,具有10 种关系类型。
较直接参数微调效果要优
与融入知识图谱的预训练语言模型效果相当
与其他使用prompt 的模型对比,也有一定优势
Prompt 能较好地激发模型内的结构化知识信息
(Type marker 给出了每个实体的类型,全量模型上效果会更好,但在少次学习上不如PTR )
预模型模型本身含有丰富的结构化信息,但是不容易激发出来。
融入知识图谱可以看作一种shortcut
Prompt 能更好激发模型内在的结构化知识信息
PTR适用于少次学习
与之前浙大的一篇工作的对比:
两篇文章看得都比较早,这个比较意义已经不大了,现在两个团队都有了新的模型和更好的结果。
AdaPrompt: Adaptive Prompt-based Finetuning for Relation Extraction
PTR优势:
Sub-prompt 设计简单
Sub-prompt 的verbalizer设计也简单
未来工作:
大规模prompt tuning 上进行尝试
Soft prompt 、auto prompt 与规则结合
总结
这篇文章可以说是基于prompt做关系抽取的开山之作,解释性好,效果也好。但是可能规则的加入限制了模型的效果,后面已经有了一系列工作取得了更好的性能。
Original: https://blog.csdn.net/cjw838982809/article/details/126211496
Author: 沐神的小迷弟
Title: 论文阅读《PTR: Prompt Tuning with Rules for Text Classification》
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/556767/
转载文章受原作者版权保护。转载请注明原作者出处!