Page 60 - 《软件学报》2025年第12期
P. 60
李春奕 等: 基于时序逻辑的需求文本隐含语义解析与推理 5441
数据预处理步骤. 如果自然语言文本存在语义模糊性和序列过长的问题, 可能会导致对权限需求的分析不准确.
NL2LTL 基于大模型分析语义, 在处理复杂语境或模糊表达时可能出现错误的分析和解释. 因此, 本文基于神经网
络的方法, 综合多种 NLP 技术来实现数据预处理工作, 在文本中提取特征来强调时序语义信息, 同时构建有效的
小样本神经网络结构, 克服了识别隐含和复杂的语义的难点, 并加入模型增强模块提高模型的鲁棒性和泛用性, 克
服了时序标签样本的稀疏和不平衡问题.
2 基础知识
本文所提方法主要基于 PPTL 和监控语义, 具体给出了 PPTL 的语法和语义, 并介绍了自然文本的时序语义
分类类型, 即时序操作符作为研究内容的理论基础, 最后也给出了监控语义的定义和解释. 下面就相关概念和基本
知识予以介绍.
2.1 PPTL 语法
Prop 表示可数的原子命题集合, PPTL 通过公式 (1) 给出语法定义:
令
P = p|¬p|P 1 ∧ P 2 | P|(P 1 ,...,P m ) prj P (1)
其中, P ∈ Prop 的原子命题, (P 1 ,...,P m ) 和 P 表示 PPTL 公式, next () 和投影 (prj) 是两个基本的时序操作符. 依据
PPTL 公式是否包含时序操作符, 可以划分为两大类: 一类是时序公式, 一类是状态公式.
2.2 PPTL 语义
PPTL 的状态定义: 使用字母 s 表示一个区间状态. 接着引入 , B 表示真值集合, 该集合
p p ∈ Prop. 用大写字母
s
s
包了两个元素: B = {true,false}, 分别代表真和假. 在状态 上, p 的真值是由从 到 B 的映射确定, s[p] = true 就意
s
味着状态 s 下, p 的值为真. 对于状态 上的任意原子命题, 其真值公式定义为公式 (2):
s : Prop → B (2)
PPTL 中的区间定义: 定义区间 σ 为非空状态序列, 表示为 σ =< s 0 , s 1 ,..., s |σ| >, 并且依据状态个数可将区间状
|d| = c−1, 其中 表示区间内状态个数. 无穷区间长度
c
态划分为两种类型: 有穷区间和无穷区间. 有穷区间长度
|d| = ω, 其中 ω 表示无穷大. 为了统一区间长度描述, 将非负整数集 N 0 扩展为 N ω = N 0 ∪{ω}. 在 N ω 中, ω = ω, 对于
N 0 中的操作符 、 σ 的子区间使用
<
∀i ∈ N 0 , 将 ⩽ 和 = 扩展到 N ω 中, 并定义操作符 ≺ 为 ⩽ −{(ω,ω)}. 定义区间
−
σ m...n (0 ⩽ m ≺ n ⩽ |σ|) 表示.
−
PPTL 中的投影定义: 定义一个连续的非负整数序列 r 1 ,...,r n , 以及一个区间 σ =< s 0 , s 1 ,..., s |σ| >, 其中 n ⩾ 1 且
r 1 ,...,r n 上的结果如公式 (3) 所
0 ⩽ r 1 ⩽ ... ⩽ r n ≺ |σ|. 为了表示投影操作, 引入辅助算子 ↓. 那么区间 σ 投影在序列
−
示, 其中 t 1 ,t 2 ,...,t l 为 r 1 ,...,r n 删除重复项所得严格递增序列:
> (3)
σ ↓ (r 1 ,...,r n ) =< s t 1 , s t 2 ,..., s t l
2.3 时序操作符
def
,
, ,
基本操作符的定义与经典一阶逻辑中的定义相同, 例如 true ∨ → ¬, 并且对任意公式都有 true = P∨¬P、
def
P 1 ;P 2 = (P 1 ,P 2 ) prj ε 和 ε = ¬true. 以下分别介绍本文用到的时序操作符:
def
A1 sometimes (♢) : ♢P = true;P
def
A2 always (□) : □P = ¬♢¬P
def ,
n
A3 next () : P = ( n−1 P)(n > 0)
def
A4 implication (→) : P → Q = ¬P∨ Q
A5 prj : (P 1 ,...,P m ) prj Q
其中, A1 公式在区间 σ =< s 0 , s 1 ,..., s |σ| > 上成立且仅当存在某个子区间 σ (i...|σ|) (0 ⩽ i ≺ |σ|) 使得 P 成立, ♢P 语义表
−
示如图 1(a) 表示; A2 公式在区间 σ 上成立当且仅当 P 在所有子区间上均成立. □P 的语义如图 1(b) 所示; 公式在

