Page 66 - 《软件学报》2025年第12期
P. 66
李春奕 等: 基于时序逻辑的需求文本隐含语义解析与推理 5447
的同义词库为 WordNet, 这是一个包含单词间近义关系的人工维护数据库. PPTL 公式对时序语义非常敏感, 任何
细微的语义变化都可能导致逻辑上的偏差, 必须严格遵守时序逻辑的要求, 确保替换后句子的逻辑含义保持一致.
尤其是一些特定的逻辑关键字, 如 until、eventually 等, 这些关键字对于表达时间依赖性至关重要, 不可以替换, 本
文替换策略在于预定义带有时间信息的实义名词及其对应 WordNet 中同义词都不允许被替换. 回译通过将文本
先翻译成其他语言, 再翻译回源语言的方式进行. 本文采用源语言为英语, 翻译语言为法语, 两个语言结构和表达
具有较高的相似性, 翻译后不仅扩展了数据集的规模, 也保持了语言之间的语言学联系.
需求时序分类任务要求对抗样本在生成过程中严格控制扰动范围, 确保时序逻辑表达的完整. PPTL 任务中的
对抗训练不仅关注语义层面的鲁棒性, 还需要维护需求对时序和逻辑顺序的准确描述. 因此, 本文规定对于输入词
TL = {tl 1 ,tl 2 ,tl 3 ,...} 集合之外, 增加该特定的约束条件, 以确保生成的对抗样本不会破坏关键的时序
的扰动应在
信息.
对抗训练的做法是通过在词嵌入空间中引入扰动以生成对抗性示例, 并将其与原始样本联合训练模型. 这种
方法通过改变输入文本的向量表示来影响模型的预测结果, 不仅提高了模型的稳健性和泛化能力, 也减轻模型过
拟合的问题. 对抗训练是一个经典的 min-max 问题:
minE (x,y)∼D [maxLoss( f θ (x+δ),y)], Γ(x) < TL (14)
θ ||δ||⩽ε
其中, θ 是网络参数, 网络输入由 x 表示, 是真实标签, D 表示训练集, δ 表示对抗扰动, ε 是对抗扰动的阈值, f θ 是
y
网络模型. PGD 算法通过在输入数据的梯度方向上引入微小扰动来制造对抗样本, 为了防止扰动的幅度过大, 算
法会确保每个生成的对抗样本都限制在一个特定的范围内, 不会超过预设的阈值 ε. 生成对抗扰动可以通过公式
(15) 和公式 (16) 实现:
∏ g(δ t )
δ t+1 = δ t +α (15)
||g(δ t )|| F
||δ|| F ⩽ε
g(δ t ) = ∇ δ Loss( f θ (x+δ),y) (16)
其中, ||·|| F 为投影到 Frobenius 范式定义的空间, α 作为扰动更新的步长. δ t 是第 次迭代时的扰动, g(δ t ) 是当前扰
t
动下的损失梯度. 图 4 详细绘制了基于 PGD 算法的对抗训练过程, 通过执行 T 次梯度上升操作, 逐步形成最终扰
动 δ T , 添加到原始输入文本以构造出对抗样本 x T . 将对抗样本与原有样本一起训练模型, 能够在保持原有样本可
用性的同时, 有效探索潜在的对抗样本空间, 减轻模型过拟合现象.
更新模型
参数 θ
反向传播
代入训练 代入训练
预训练模型
调整扰动至
规定范围
原始样本 + 更新干扰项 = 对抗样本
重复多次
图 4 PGD 对抗训练流程图
4 实验分析
4.1 实验数据
本文在由 Pandita 等人 [17] 收集的公开数据集上进行实验, 包括 Amazon S3 REST API、Paypal Payment REST
API 和 Java.Io.

