论文笔记:PTR: Prompt Tuning with Rules for Text Classification

news2025/7/23 17:54:58


Abstract

        手动设计大量语言提示麻烦且易出错,而自动生成的提示,在非小样本场景下验证其有效性昂贵且耗时。因此,提示调优以处理多类别分类任务仍然具有挑战。为此,本文提出使用规则进行多类别文本分类提示调优(PTR),并应用逻辑规则来构建带有多个子提示的提示。通过这种方式,PTR能够将每个类别的先验知识编码为提示调优。本文对文本分类进行了实验,一个典型而复杂的多类别分类任务。结果表明,PTR可以利用人类的先验知识和预训练语言模型来实现复杂的分类任务。

Introduction

        在Figure 1中,展示了预训练、微调和快速调优,这可以清楚地指出它们之间的联系和差异。       

        尽管微调PLMs取得了成功,但是最近一些研究发现,其关键挑战之一是预训练和微调之间差距,这限制了PLMs中知识的充分利用。以Figure 1为例,预训练通常形式化为完形填空任务来预测目标词,但微调中的下游任务可能表现出不同的客观形式,如分类、生成和序列标注等(二者之间的差距)。微调和下游任务之间的差距阻碍了PLMs中的知识转移和适应下游任务。  

       为了弥补预训练和下游任务之间的差距,提出了提示学习。如Figure 1所示的,典型的提示包括一个模板和一组标签词,其中标签词集用于预测[MASK]的候选集。通过将原始输入与用于预测[MASK]的提示模板融合,然后将预测的单词映射到相应的标签,提示调优可以将情感二分类任务转化为完形填空任务。

        对于具有很多类别的任务,手动找到合适的模板和标签词来区分不同的类别具有挑战性。自动生成的提示无法与人工选择的提示的性能比较,且自动生成提示需要额外的生成和验证计算成本,且更适合小样本学习,而不适合于具有大规模实例和类别的常规学习设置。

        PTR的两个优点

        1.先验知识编码:PTR可以应用逻辑规则来将与任务和类相关的先验知识编码到提示调优中。以RE为例,预测结果统称与关系语义和实体类型相关,本文可以使用两个字提示来为关系“person:parent” 和“organization: parent”构建提示,一个子提示用于确定标记的实体是人还是组织,另一个子提示则用于确定句子是否表达父子关系的语义。

        2.高效提示设计:设计几个简单的子提示,然后根据逻辑规则组合这些子提示以形成特定任务的提示

Prompting Tuning with Rules (PTR)

Overall Framework of PTR

        PTR由基本的人类逻辑推理驱动。例如,在关系分类中,如果想要知道一个句子中的两个标记实体是否具有关系“person: parent”,那么需要检查该句子和两个标记的实体是否满足条件:(1)两个标注实体是人;(2)该句子表示两个标注实体之间的父语义。

        PTR:

        设计了一个条件函数集F,每个条件函数f\in F用于判断Input是否满足某些条件。例如f\left ( x;person \right )可以确定输入x是否为person,f(x, 's person was, y)可以确定y是否为x的parent。这些条件函数本质上是一阶逻辑的谓词。

        对于每个条件函数f\in F,PTR设置一个模板T_f\left ( \cdot \right )和一组标签词V_f来构建子提示。根据标签y的语义,可以使用逻辑规则将分类任务转换为一系列条件函数的计算。如Figure 2所示,确定实体x和y的关系是否为“person: parent”可以形式化为:

其中,f_{e_s}\left ( \cdot ,\cdot \right ) 是确定主体实体类型的条件函数,f_{e_o}\left ( \cdot ,\cdot \right )是确定客体实体类型的条件函数,f_{e_s, e_o}(\cdot ,\cdot ,\cdot )是确定实体之间语义关系的条件函数。

 

Sub-Prompts for Conditional Functions

        对于每个条件函数f\in F,为其手动设计了一个由模板和一组标签词组成的子提示。

        设置f_{e_s}(\cdot ,|person|organization|...)来确定头实体类型,子提示和标签词集合可以形式化为:

 对于关系,可以设置

子提示和标签词集合可以形式化为: 

Composing Sub-Prompts for Tasks 

        本文使用具有联合范式的逻辑规则,然后直接连接所有规则相关函数的子提示。

        通过聚合实体类型提示和关系提示,完整的提示模板如下:

对应的标签词集合如下:

 由于标签词模板中可能包含多个[MASK],所以必须考虑所有的掩码位置进行预测:

 Experiments

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解Java线程间通信

合理的使用Java多线程可以更好地利用服务器资源。一般来讲,线程内部有自己私有的线程上下文,互不干扰。但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的通信方式。本文将介绍Java线程之间的几种通信原理。 锁与同步 在…

进程与线程

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

微服务环境搭建

目录 一,微服务介绍 单体架构介绍 垂直应用架构 分布式架构 SOA架构 微服务架构 二,微服务架构简介 三,微服务搭建 模块设计 创建步骤 一,微服务介绍 系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构---&…

【python】bin/dec/hex/bnr进制转换函数及fp32转十六进制

我们的目标是┏ (゜ω゜)☞芯片前端全栈工程师~喵! 前言 不知道为什么,给脚本专栏选的这个logo有种怪怪的感觉(⊙o⊙)… 为方便后续一些脚本工作,将常用的进制转换函数汇总。所有函数均为字符串输入输出,且不加0x、0b等关键字&a…

计算机硬件和软件

文章目录一 计算机硬件1)主板2)显示器3)键盘4)鼠标二 计算机软件(一)系统软件(1)操作系统(2)BIOS(3)设备驱动程序(二&…

K-verse 小型活动来袭!

欢迎来到韩流狂欢节! 我们的韩流活动以为期 2 周的 K-verse 小型活动拉开帷幕! 在 The Sandbox 的众多合作伙伴中,K League、Anicube、Sandbox Network 和 Cube 娱乐都为此次活动打造了独特的体验。从 11 月 24 日开始,玩家总共可…

digitalLogic_逻辑门和基本公式

文章目录refs逻辑闸或逻辑门与或非门反相器和泡泡与非/或非/异或同或/是/蕴含/蕴含非逻辑函数的表示方法及相互转换逻辑表达式化简基本公式异或和同或的常用运算公式refs digital_logic同或和异或的关系_xuchaoxin1375的博客-CSDN博客_异或与同或的关系模2运算_模二除法和CRC循…

彩虹之眼文化集团整体方案设计

彩虹之眼文化集团开业成功必须克服的问题是:既要有轰动的社会效应,又要有实实在在的营业额。而要使两者兼备,就要求助于开业前期的广告渲染,此方案解决的重要问题就是如何在有轰动社会效应的同时又兼具营业佳绩。因此本次公司宣传…

Android8.1 MTK 浏览器下载的apk点击无反应不能安装

最近测试人员发现用原生浏览器下载的apk点击安装时无反应,不能安装。 在/vendor/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/DownloadHandler.java 中,发现下载的apk文件缺少了mime类型,如下图 mimetype null造…

第五章TCP/IP 网络在我们身边

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

Ubuntu22.2下C语言编程实现,首次,最佳适应算法

参考目录:1.题目要求2.分析设计3.程序代码4.运行截图5.程序说明1.题目要求 编写C语言程序,模拟实现首次/最佳/最坏适应算法(选择其中之一即可)的内存块分配和回收,要求每次分配和回收后显示出空闲分区和已分配分区的情况。假设初始状态下&am…

SpringBoot整合redis+mysql

SpringBoot整合Redis 测试连接 添加相关依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&qu…

【TFS-CLUB社区 第7期赠书活动】〖从零开始利用Excel与Python进行数据分析 自动化办公实战宝典〗等你来拿,参与评论,即可有机获得

文章目录❤️‍&#x1f525; 赠书活动 - 《从零开始利用Excel与Python进行数据分析 自动化办公实战宝典》❤️‍&#x1f525; 编辑推荐❤️‍&#x1f525; 抽奖方式与截止时间❤️‍&#x1f525; 赠书活动 → 获奖名单❤️‍&#x1f525; 赠书活动 - 《从零开始利用Excel与…

【数据结构】二叉树的前中后序遍历

二叉树的三种遍历1. 创建一棵简单的二叉树1.1 二叉树结构体实现1.2 创造一个二叉树结点的函数1.3 手动创造一棵二叉树2.为什么要遍历&#xff1f;3.最重要的知识&#xff1a;由二叉树引出的子问题分析4.遍历4.1 前序遍历4.2 中序遍历4.3 后序遍历5.总结1. 创建一棵简单的二叉树…

基于springboot车辆充电桩设计与实现的源码+文档

摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;车辆充电桩管理系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&…

18.3 内存池概念、代码实现和详细分析

一&#xff1a;内存池的概念和实现原理概述 malloc&#xff1a;内存浪费&#xff0c;频繁分配小块内存&#xff0c;浪费更加明显。 “内存池”要解决什么问题&#xff1f; 1、减少malloc()的次数&#xff0c;减少malloc()调用次数就意味着减少对内存的浪费 2、减少malloc()的…

JavaEE高阶---SpringBoot的创建和使用

一 : 什么是SpringBoot? Spring的诞生是为了简化 Java 程序的开发的,Spring Boot 的诞生是为了简化 Spring 程序开发的.Spring Boot 是所有基于 Spring 开发的项目的起点 . Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件 . Sprin…

深度学习系列2——Pytorch 图像分类(AlexNet)

1. 概述 本文主要是参照 B 站 UP 主 霹雳吧啦Wz 的视频学习笔记&#xff0c;参考的相关资料在文末参照栏给出&#xff0c;包括实现代码和文中用的一些图片。 整个工程已经上传个人的 github https://github.com/lovewinds13/QYQXDeepLearning &#xff0c;下载即可直接测试&a…

你了解PMP考试新考纲的内容吗?

2021年新版PMP考纲变化趋势 随着时代发展&#xff0c;PMP认证本身也通过改版不断调整定位&#xff0c;与全球项目管理趋势相匹配&#xff0c;确保在全球项目管理专业领域保持“黄金标准”。 新版本变化如下&#xff1a; 五大过程组变为三大板块。之前一直沿用的“启动、规划…

Transformer时间序列预测

介绍&#xff1a; 提示&#xff1a;Transformer-decoder 总体介绍 本文将介绍一个 Transformer-decoder 架构&#xff0c;用于预测Woodsense提供的湿度时间序列数据集。该项目是先前项目的后续项目&#xff0c;该项目涉及在同一数据集上训练一个简单的 LSTM。人们认为 LSTM 在…