Skip to main content
QUICK REVIEW

[论文解读] Specifying Logic Programs in Controlled Natural Language

Norbert E. Fuchs, Rolf Schwitter|ArXiv.org|Jul 21, 1995
Natural Language Processing Techniques参考文献 55被引用 63
一句话总结

本文提出使用受控自然语言(CNL)作为逻辑程序的声明式、应用特定的规格说明语言,使非专业人员能够编写人类可读的规格说明,并自动将其转换为可执行的Prolog子句。该系统使用增强特征结构和话语表示理论的限定词短语语法(DCG),以解决回指和时间依赖性问题,成功实现了一个具备完整翻译、查询和执行功能的简单自动柜员机原型。

ABSTRACT

Writing specifications for computer programs is not easy since one has to take into account the disparate conceptual worlds of the application domain and of software development. To bridge this conceptual gap we propose controlled natural language as a declarative and application-specific specification language. Controlled natural language is a subset of natural language that can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage by non-specialists. Specifications in controlled natural language are automatically translated into Prolog clauses, hence become formal and executable. The translation uses a definite clause grammar (DCG) enhanced by feature structures. Inter-text references of the specification, e.g. anaphora, are resolved with the help of discourse representation theory (DRT). The generated Prolog clauses are added to a knowledge base. We have implemented a prototypical specification system that successfully processes the specification of a simple automated teller machine.

研究动机与目标

  • 通过使非专业人员能够以自然语言编写形式化逻辑程序规格说明,弥合应用领域专家与软件开发人员之间的概念鸿沟。
  • 开发一种既易于人类阅读又可被机器处理的规格说明语言,确保其具有形式化语义和可执行性。
  • 通过支持在自然语言规格说明层面进行仿真和查询执行,实现验证和原型开发。
  • 通过使用语法受限且具有领域特定词汇的自然语言受控子集,减轻形式化规格说明的认知负担。
  • 通过话语表示结构和改写技术,证明将CNL规格说明翻译为Prolog时能够保持语义的可行性。

提出的方法

  • 系统使用增强特征结构的限定词短语语法(DCG)将受控自然语言规格说明解析为形式化表示。
  • 话语表示理论(DRT)被用于解决回指引用并建模事件与状态之间的时间关系。
  • 事件结构(事件与状态)被编码在话语表示结构(DRS)中,以捕捉时间顺序和依赖关系。
  • 解析后的DRS被转换为等价的Prolog子句,并添加到知识库中以支持执行和查询。
  • 一种改写机制使用基于模式的模板和词汇映射,将Prolog子句映射回受控自然语言。
  • 前向链式元解释器按正确的时间顺序执行Prolog子句,支持对自动柜员机等动态行为的仿真。

实验结果

研究问题

  • RQ1受控自然语言能否作为逻辑程序的可行、形式化且可执行的规格说明语言?
  • RQ2如何准确解析自然语言中的回指和话语关系,以在程序规格说明中保持语义一致性?
  • RQ3话语表示结构在多大程度上能够建模自然语言规格说明中的时间依赖性和事件排序?
  • RQ4从受控自然语言到Prolog的翻译是否可靠且可逆,从而支持改写和验证?
  • RQ5生成的Prolog知识库在多大程度上能够支持动态系统行为的仿真与执行?

主要发现

  • 该系统成功将一个简单自动柜员机的受控自然语言规格说明转换为形式化且可执行的Prolog知识库。
  • 通过话语表示理论,规格说明中的回指和话语引用被准确解析,确保了语义连贯性。
  • 生成的Prolog子句支持查询和执行,通过前向链式元解释器实现系统行为的仿真。
  • 系统使用基于模式的模板支持将Prolog子句改写回受控自然语言,提升了可读性和验证能力。
  • 通过基于DRS的事件建模,事件的时间顺序被隐式捕捉,无需显式控制结构即可保证正确的执行顺序。
  • 受控自然语言与逻辑编程的集成实现了非形式化与形式化规格说明的双重表达,显著缩小了领域专家与开发人员之间的差距。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。