Attempto Controlled English(ACE)是一种受控自然语言,旨在实现无歧义的知识表示与推理。它允许用户用英语的一个子集编写形式化规范、查询和规则,这些内容可自动翻译为一阶逻辑(FOL)及其他形式语言。ACE由苏黎世大学开发,其起源可追溯至20世纪90年代末,此后已应用于多个领域,包括软件规范、本体工程和问答系统。ACE的主要目标是弥合人类可读文本与机器可解释逻辑之间的鸿沟,使非逻辑学专业人士也能使用形式化方法,同时保持精确性。
ACE并非自由形式的语言,而是英语的一个严格定义的子集,具有固定的语法和词汇。ACE中的每个句子必须符合预定义的句法规则集,这确保每个句子恰好有一种逻辑解释。这消除了自然语言中固有的歧义,如作用域歧义、回指消解和词汇多义性。例如,句子“Every customer who owns a car likes it”在ACE中是无歧义的,代词“it”明确指代该客户拥有的汽车。该语言支持全称和存在量化、否定、条件语句和情态动词等结构,所有这些都以模仿日常英语的方式表达。
历史与发展
ACE的开发始于20世纪90年代末,在苏黎世大学计算语言学研究所,由Norbert E. Fuchs及其团队领导。第一个版本ACE 1.0于1997年发布,设计初衷是作为Attempto项目背景下知识表示的工具,该项目旨在为逻辑编程创建自然语言界面。多年来,ACE经历了多个版本的演进,其中ACE 6.0在2007年成为一个重要里程碑,引入了更全面的语法和改进的一阶逻辑翻译。该语言还扩展为支持话语表示结构,从而能够处理多句子文本。2010年,Attempto项目发布了ACE 6.1,其中包括一个解析器和一个可生成FOL的翻译器,后续版本增加了对OWL(Web本体语言)和SWRL(语义网规则语言)的支持。开发一直持续到约2015年,此后该项目主要以开源软件形式维护。
语法与语义
ACE的语法由上下文无关文法定义,该文法规定了允许的句子结构。文法涵盖陈述句、疑问句和祈使句,但对词序和短语类型有严格限制。例如,形容词必须位于名词之前,关系从句必须跟在所修饰的名词之后。词汇也受到约束,仅允许某些常见英语单词,且所有术语必须在词典中定义。ACE的语义是组合性的,即句子的意义由其组成部分的意义构建而成。到FOL的翻译是确定性的,使用一组将句法结构映射到逻辑公式的规则。例如,句子“No dog barks”翻译为¬∃x(dog(x) ∧ bark(x))。ACE还支持回指引用,但有一条规则:代词必须指代最近的兼容先行词,这是对自然语言话语的一种简化。
应用与使用案例
ACE已应用于多个实际领域。在软件工程中,它被用于编写系统需求的形式化规范,使利益相关者无需理解形式逻辑即可验证需求。例如,规范“If a user is logged in and clicks the delete button, then the system deletes the user's account”可以用ACE编写并自动检查一致性。在语义网中,ACE被用于编写OWL本体,使领域专家能够以可读形式表达公理。ACE解析器可生成OWL文件,这些文件随后用于推理系统。此外,ACE还被用于问答系统,其中自然语言查询被翻译为可对知识库执行的逻辑查询。一个显著的例子是ACE在OWL语言化项目中的使用,该项目旨在使本体对非专家可理解。
与其他形式语言的关系
ACE经常与其他受控自然语言和形式记号进行比较。与Prolog或Lisp等编程语言不同,ACE旨在让人类无需特殊培训即可阅读和编写。它比SQL等典型查询语言更具表达力,因为它能表示涉及量词和蕴涵的复杂逻辑语句。然而,ACE的表达力不如完整的一阶逻辑,因为它缺乏高阶量化和相等性等某些特性。在Artificial intelligence的背景下,ACE充当自然语言处理与形式推理之间的桥梁,补充了Large language model等方法,这些方法虽然强大,但往往产生歧义或不一致的输出。虽然Large language model可以生成类似ACE的文本,但它们不保证逻辑一致性,而ACE确保与逻辑的一一映射。
局限性与未来方向
尽管ACE具有优势,但也存在局限性。严格的语法可能对用户造成不便,因为他们必须学习允许的结构并避免不允许的常见英语表达。词汇量有限,添加新术语需要更新词典。此外,到FOL的翻译可能产生复杂的公式,即使原始ACE句子很简单,这些公式对人类来说也难以阅读。截至2010年代中期,ACE的开发已放缓,2015年后没有重大发布。然而,ACE背后的思想影响了其他受控自然语言项目,如PENG和CLCE。在Generative AI时代,人们对使用受控语言约束Neural network模型的输出重新产生了兴趣,以确保生成的文本在逻辑上合理。未来的工作可能将ACE与Machine learning技术相结合,以自动将自然语言转换为ACE,但就当前状态而言,此类系统尚未广泛部署。