Page 361 - 《软件学报》2025年第10期
P. 361
4758 软件学报 2025 年第 36 卷第 10 期
以及 e i 最早出现的位置.
● 观点描述语-代指提及代理 (opinion-mention agent, OM agent). 给定一段对话 C = {c 1 ,c 2 ,...,c n }, 其中, c i 表示
第 i 句话, n 表示这段对话中对话的个数. OM 代理的目的是在给定观点描述语 o i 的情况下, 找到 o i 出现的这句话
中所有的指代关系 (包括属性实体 e i 以及相应的指代提及 ).
r i
Agent 解决复杂任务时都凭借大模型自身的能力以 Zero-Shot 的方式处理任务, 这种方法需要设计复杂的
prompt 以及处理流程, 并且 prompt 设计的好坏极大地影响了模型的性能. 与 agent 不同, 本文采用低资源微调的
方式, 通过一个 Adapter 将任务本身集成到模块中. 这种方法相较于 Zero-Shot 模型性能更加稳定. 同时受指令学
习 [35] 的启发, 本文通过向模型加入指令显式地列出任务定义, 提升模型对任务的理解. 我们将指令和输入的文本
进行拼接, 作为微调模型的输入, 大语言模型对话属性情感理解任务以及各个子任务的具体指令如下.
● 大语言模型对话属性情感理解代理 (主代理 (main agent)). “你现在是一个信息抽取模型, 请你帮我抽取
出这段话中的观点描述语, 并且抽取出观点描述语的情感极性、观点描述语指向的最具体的实体以及实体在
观点描述语出现句子中的代指. 你需要将抽取结果封装到四元组中返回给我, 四元组中的内容分别是: (最具体
的实体, 实体的代指, 观点描述语, 观点描述语的情感极性), 如果抽取出多个四元组, 每个四元组之间以分号进
行分隔.”
● EM 代理. “你现在是一个信息抽取模型. 下面给你一段对话, 你要抽取出这段对话中[属性实体]的全部
共指.”
● OE 代理. “你现在是一个信息抽取模型. 下面给你一段对话, 你要抽取出对话中观点描述语[观点描述语]在
前[观点描述语出现的位置]句话中指向的最具体的实体.”
● OM 代理. “你现在是一个信息抽取模型. 下面给你一段对话, 你要抽取出对话中观点描述语[观点描述语]在
第[观点描述语出现的位置]句话中的指向的全部实体.”
大语言模型对话属性情感理解任务以及各个子任务的输出如下.
● 大语言模型对话属性情感理解任务. (属性实体, 代指提及, 观点描述语, 情感倾向) 四元组, 四元组的数量为
对话文本中观点描述语的个数.
● EM 代理. “对[属性实体]的共指抽取结果如下: \n[指代词 1]出现在第[指代词 1 出现的位置]句话\n[指代
词 2]出现在第[指代词 2 出现的位置]句话”. 指代词指观点描述语指向的所有实体, 包括属性实体以及代指
提及.
● OE 代理. “[观点描述语]指向的最具体的实体为: [属性实体]”.
● OM 代理. “这句话中[观点描述语]指向的实体为: [指代词 1], [指代词 2]”. 指代词指观点描述语指向的所有
实体, 包括属性实体以及代指提及.
2.2 一致性增强的反思
当模型在一次生成中无法产生良好的响应, 反思是一种有效的补救措施. 一致性增强的反思模块采用强化学
习的思想, 通过生成奖励值来调节模型的动作. 同时为了解决模型在强化学习中训练不稳定的情况, 受 Reflexion [32]
的启发, 我们采用 Zero-Shot 的方式通过设计 prompt 来让模型实现反思. 一致性增强的反思过程如图 2 一致性增
强的反思模块所示, 对于给定的输入, 模型执行相应的动作, 存储模块存储本次的输入以及模型的生成结果, 之后
模型抽取四元组中的属性实体以及观点描述语, 得到各个代理的输入, 通过评估属性情感理解任务以及代理生成
结果的一致性来生成奖励, 越低的一致性就分配越低的奖励值, 当奖励值低于阈值时让模型根据生成的结果进行
反思. 例如, 当模型抽取的四元组中属性实体与观点描述语之间的对应关系错误时, 评估器生成一个较低的奖励值
从而触发阈值, 之后我们通过 prompt 诱导模型根据之前的历史信息进行反思, 重新生成结果. 形式化如下: 在两个
t
状态 s t main 和 s t oe 下, 其中 t 代表着第 t 个时间步, 模型根据策略 π(a main |s t main ) 和 π(a oe |s ) 执行两个不同的动作 a main 和 a oe ,
oe
模型根据动作 a main 和 a oe 的一致性来确定是否反思. 代理的反思过程如下.
● 动作 (action). 我们通过微调后的模型得到大语言模型对话属性情感理解任务的结果, 形式化如下:

