Page 363 - 《软件学报》2025年第10期
P. 363
4760 软件学报 2025 年第 36 卷第 10 期
算法 1. 多代理一致性反思.
1. 初始化 actor、EM 代理、OE 代理、OM 代理: A、A em 、A oe 、A om
2. 初始化策略 π θ (a i |s i ), θ = {A, memory}
3. 基于 π θ 生成轨迹 Q, 得到四元组 Q main , 其中, Q mai 为微调后模型抽取四元组的结果
n
4. 设置 memory←Q, 将 Q 保存到存储模块当中
5. 对四元组 Q mai 进行抽取, 得到 Q mai 中所有的实体和观点描述语: E = {e 1 ,e 2 ,...,e n },O = {o 1 ,o 2 ,...,o n }
n
n
6. 将 E 和 O 作为输入, 通过 EM 代理, OE 代理和 OM 代理得到代理的输出: Q em 、Q oe 、Q om
7. 评估 Output mai 与 n Output em 、Output oe 、Output om , 生成奖励 R
8. if R <α //α 为模型是否反思的阈值
基于 π θ 以及 memory, 生成 Q', Q'表示模型进行反思后的结果
使用 Output em 、Output oe 、Output o 修改 Q', 得到 Q'', Q''表示通过子任务代理修改后的结果
m
将 Q''作为模型的预测结果, 输出 Q''
9. else
将 Q 作为模型的预测结果, 输出 Q
2.3 模型优化目标
我们在主代理以及 3 个子任务代理上使用交叉熵损失微调 ChatGLM3, 损失函数如下所示:
N ∑ K ∑
L ({main,em,oe,om}) = − {y i j log(ˆy ij ),w i j log( ˆw i j ), p i j log( ˆp ij ),q ij log(ˆq i j )} (6)
i=1 j=1
其中, y i j 和 ˆ y ij 分别是大语言模型对话属性情感理解任务的标签和预测结果, w i j 和 ˆ w i j 分别是 EM 的标签和预测结
果, p ij 和 ˆ p ij 分别是 OE 的标签和预测结果, q ij 和 ˆ q i j 分别是 OM 的标签和预测结果, L (main) 、 L (em) 、 L (oe) 、 L (om) 分别
是大语言模型对话属性情感理解任务、EM 任务、OE 任务和 OM 任务的损失函数, 最终的损失函数为 L = L (main) +
β(L (em) + L (oe) + L (om) ), 其中, β 为超参数, 防止辅助任务训练数据过多导致大语言模型对话属性情感理解任务训练效
果不佳.
3 实验设置
3.1 大语言模型对话属性情感理解数据集构建
大语言模型对话属性情感理解任务需要同时抽取属性实体、代指提及、观点描述语以及情感极性这 4 部分
[5]
的信息. 为了实现简单而有效的评估, 本文在 CASA 的基础上重新标注构建了一个高质量的四元组抽取数据集.
[5]
CASA 数据集共包含 3 000 段中文的二元对话以及 27 062 句话. 数据集中的对话主要涉及娱乐领域, 包括电影、
明星以及电视节目等, 因此该数据集中存在的大量的属性实体以及代指关系. 该数据集能够有效地评估模型在对
话场景下对细粒度信息的抽取能力. 值得注意的是, DiaASQ 也是对话领域的数据集, 不过该数据集数据来源于
[6]
微博, 该场景下的对话具有明显的层级关系, 因此并不能将其归于对话场景. 下面就该数据集以及数据集的构建过
程予以介绍.
● 属性实体
1) 我们只标注那些有观点描述语指向的实体, 例如图 1 的对话中没有出现观点描述语指向“八星报喜”, 因此
我们不标注该实体.
2) 随着对话的进行, 如果在一个属性实体之后出现了另一个更具体的属性实体, 我们也将其标为属性实体. 例
如图 1 对话 U5 中, 第 1 次出现的属性实体为“有个演员”, 但随着对话的进行, U5 中出现了指代更明确的属性实体
“田蕊妮”, 因此我们将“田蕊妮”标注为属性实体. 特别地, 因为对话具有时序性, 在我们标注“田蕊妮”为属性实体

