Page 59 - 《软件学报》2025年第12期
P. 59

5440                                                      软件学报  2025  年第  36  卷第  12  期


                 的有效性. 本文基于之前工作         [22] 完善, 旨在识别需求文本中体现的核心时序逻辑算子, 而非直接生成完整的时序
                 逻辑规范. 隐含语义无法有效解析通常会导致自然语言转化成逻辑公式准确率下降, 而本文方法通过明确关键时
                 序逻辑标签, 为形式化公式生成中的转化模板选择与方案设计提供了理论依据和实质支持, 辅助                               Zhang  等人  [16] 进
                 行形式化公式生成的相关研究, 提升其规约生成的准确性与可靠性.
                    本文第   1  节介绍语义分析的相关方法和研究现状. 第             2  节介绍本文所研究的      PPTL  基础知识. 第   3  节介绍本
                 文构建的神经网络结构模型. 第         4  节通过对比实验验证所提模型的有效性. 最后总结全文并讨论未来研究方向.

                  1   时序语义分析相关工作

                    语义分析是自然语言理解领域的一个重点方向, 其主要目标是解析和理解自然语言的涵义, 为机器解读自然
                 语言提供理论基础. 语义分析的应用场景广泛, 包括但不限于机器翻译及文本分类等. 在自然语言处理                               (NLP) 的早
                 期阶段, NLP  提供多种语法语义解析方法, 辅助计算机理解与处理文本, 研究者们可以依赖基于规则和模板的方
                 法来进行语义分析       [17] . 然而由于自然语言的高度复杂性和多变性, 这些方法在实际应用中存在泛用性过低的局限
                 性. 随着计算能力的增强, 研究逐渐转向采用基于统计的方法, 如隐马尔可夫模型和最大熵模型, 这些模型依赖于
                 大规模语料库来实现词性标注和有效的语法分析. 进入                  21  世纪, NLP  领域经历了技术的革命性变革, 特别是机器
                 学习和深度学习的广泛应用, 极大地推动了语义分析技术的发展, 尤其是神经网络的应用, 包括但不限于循环神经
                 网络  (RNN)、长短时记忆网络       (LSTM) 以及更为先进的变换器模型         (Transformer), 这些深度学习框架在处理自然
                 语言的深层语义理解方面显示了卓越的性能, 但其表现仍然受限于数据集的规模和模型的过拟合问题. 最近几年,
                 预训练模型和大模型发展如双向           Transformer (BERT) [23] 、生成式预训练  Transformer (GPT) [24] 和  XLNet [25] 等, 这些
                 模型主要基于深度神经网络和自注意力机制, 通过大规模无监督预训练和任务特定微调, 实现高效的自然语言理
                 解与生成, 已成为推动语义分析技术进步的关键. 这些模型通过在大规模文本数据上进行预训练, 不仅学习到了丰
                 富的语言表征, 而且在语义分析中展示了优异的性能. 时序语义分析是语义分析的一个重要研究方向, 通过整合自
                 然语言文本中的词义、句法结构和文本内容, 识别文本蕴含的时序逻辑, 为自然语言转为形式化公式并应用于后
                 续的形式化验证工作提供重要的技术支持.
                    目前语义分析有       4  个主流方向: 1) 基于规则和模板的方法. Blasi 等人       [26] 开发的  CallMeMaybe 方法可以自动
                 识别  Java 类的时序逻辑约束, 并指导测试用例生成器遵守时序约束执行方法调用序列, 它能够从                          JavaDoc 注释中
                 自动识别   Java 类的显式和隐含的时间约束, 并使用依存关系分析和预定义模板生成有关的时序规范. 2) 基于统计
                 的方法. Zhong  等人  [19] 开发了  Doc2Spec 方法从  API 文档中提取时序语义规范, 该方法在文档中提取函数的描述
                 和继承关系, 然后在从函数描述中建立动作-资源对, 并通过隐马尔可夫模型分析得到的动作-资源对和继承关系,
                 借此推断出各个类或接口的资源使用规范. 3) 基于神经网络的方法. Pandita 等人                   [17] 开发了  ICON  方法, 通过结合
                 机器学习和    NLP  来识别和推断时序约束信息. 它可以依据词组、句法结构和语义特征自动学习句子模式, 有效克
                 服了仅依靠关键词搜索识别文本时序逻辑语义的局限性. 此外为了准确识别隐含语义, 它结合                              API 文档和通用英
                 语词典系统创建了专门的领域词典, 不仅提高了语义分析的准确性, 有效地从文档中推导出形式化规范. WHYPER
                 方法  [27] 采用语义模型来关联手机应用市场中的           API 描述与相应的权限需求, 实现从描述文本到权限规范的映射.
                 该方法运用     NLP  技术和语义图进行深度语义推理, 借此推断出应用程序对权限的需求. 4) 基于大模型的方法.
                 Fuggitti 等人  [20] 使用  NLP  和大语言模型开发了  NL2LTL  工具, 使自然语言指令能够被转换成         LTL  公式, 其时序语
                 义分类结果表现在选用不同的预定义的自然语言解析模板过程中.
                    现有方法识别时序逻辑语义分析仍存在挑战. CallMeMaybe 方法尽管能适应多种文档风格的代码项目, 但它
                 过度依赖注释的完整性和准确性, 语义模糊的注释可能导致时间约束的识别不准确, 因此无法应对自然语言需求
                 文本语义模糊性的问题. Doc2Spec 方法针对特定领域文档设计了模板, 但并未设计对复杂时序逻辑有效的模板,
                 因此其固定的模板限制了其广泛适用性. ICON              方法虽利用机器学习和启发式方法, 但它无法有效推断出隐含时
                 间约束, 并且将分析隐含时间约束的工作推迟到了未来的计划中. WHYPER                      方法依赖于语义模型, 但缺乏有效的
   54   55   56   57   58   59   60   61   62   63   64