受控自然语言(CNL)是一种基于自然语言但具有受限语法和词汇的人造语言。CNL的主要目标是结合自然语言的表现力和可读性,以及形式化知识表示和机器处理所需的精确性和无歧义性。通过约束句法和词汇,CNL旨在使文本对人类和计算机都更易于理解,从而降低误解的风险。
CNL被设计为其母语自然语言的子集。它们通常对句子结构、词汇使用,甚至句子长度施加严格规则。这种受控特性使得CNL句子能够自动翻译为形式逻辑或其他机器可读格式,同时仍能被未经专门训练的人员阅读。CNL的发展源于在技术领域(如航空、医学和软件工程)中对清晰沟通的需求,在这些领域中,歧义可能带来严重后果。
历史发展
受控语言的概念出现于20世纪30年代,旨在简化英语以促进国际交流。最早的例子之一是基本英语,由查尔斯·凯·奥格登于1930年开发,仅使用850个单词的词汇量。然而,现代面向机器处理的CNL始于20世纪70年代,当时开发了诸如飞行员与管制员通信中使用的航空英语等系统,这些系统被标准化以减少沟通失误。
20世纪90年代,随着用于知识表示的形式化CNL的创建,该领域获得了发展动力。著名例子包括由苏黎世大学的诺伯特·E·富克斯于1995年开发的受控英语尝试(ACE),以及由麦考瑞大学的罗尔夫·施维特创建的可处理英语(PENG)。这些语言被设计为可由自动推理系统处理,允许用户以可读形式编写规范或知识库,并能自动翻译为一阶逻辑。
设计原则
CNL建立在区分其与自然语言的一系列设计原则之上。最基本的原则是词汇限制,通常将允许的单词集限制为预定义词表。这减少了词汇歧义,即一个单词具有多种含义的情况。例如,在CNL中,单词“bank”可能被限制为仅指金融机构,而非河岸。
另一个关键原则是语法限制。CNL通常只允许母语语法结构的一个子集,例如简单陈述句和有限的连接词集。这消除了句法歧义,即一个句子可以被多种方式解析的情况。例如,CNL可能禁止使用可能附着于句子主语或宾语的相对从句。
此外,CNL通常强制表层形式与逻辑形式之间的一一对应关系。CNL中的每个句子被设计为映射到目标形式语言中的恰好一种解释。这通过使用量词、否定和其他逻辑运算符的显式标记来实现,并避免本质上歧义的结构,如省略或回指。
应用
CNL在需要精确性的多个领域找到了实际应用。在航空航天工业中,由欧洲航空航天工业协会(AECMA)于20世纪80年代开发的简化技术英语(STE)标准被用于编写维护手册。STE将词汇限制为约900个批准单词,并强制执行严格的语法规则,使文档更易于非母语者翻译和理解。
在医学领域,CNL被用于形式化临床指南和患者信息。例如,医学英语作为受控语言(MECL)项目旨在创建无歧义的患者知情同意书。类似地,在法律领域,诸如LegalRuleML等CNL已被提出用于以机器可读形式表示立法,从而实现自动化合规检查。
在软件工程中,CNL被用于需求工程。诸如需求规范语言(RSL)等工具允许工程师以受控形式编写系统需求,并可自动检查其一致性和完整性。这降低了关键系统(如航空或核电站中使用的系统)中错误的风险。
最近,CNL已在Artificial intelligence和Large language model的背景下得到探索。虽然现代AI系统能够以高流畅度处理自然语言,但它们仍然在歧义和逻辑一致性方面存在困难。CNL为这些系统提供了一种结构化输入的方式,可能提高其在需要精确推理的任务(如形式验证或知识图谱构建)中的可靠性。
与自然语言处理的关系
CNL与自然语言处理(NLP)领域密切相关,但采取不同的方法。NLP通常旨在理解和生成不受限制的自然语言,而CNL则简化语言本身以使处理更容易。这可以被视为一种“限制”而非“理解”。在实践中,CNL通常与NLP技术结合使用:可以使用标准NLP工具构建CNL解析器,并且CNL的输出可以输入推理引擎。
CNL相对于完全形式化语言(如逻辑编程)的主要优势之一是其可读性。未受过形式逻辑训练的用户可以阅读和编写CNL句子,这降低了知识表示的入门门槛。然而,这种可读性以表达力为代价。CNL在可表达的概念范围上有限,并且通常要求用户将复杂想法重新表述为更简单的结构。
在现代AI的背景下,CNL有时被视为人类可读规范与机器可执行代码之间的桥梁。例如,OpenAI研究社区已探索使用受控提示来提高Generative AI模型的可靠性。通过约束输入语言,可以减少输出中幻觉或逻辑错误的可能性。
挑战与局限性
尽管有诸多好处,CNL仍面临若干挑战。一个主要问题是表达力与可学习性之间的权衡。语法非常受限的CNL可能易于学习,但可能无法表达复杂思想。相反,更具表达力的CNL可能变得与其试图控制的自然语言一样复杂,从而违背其目的。
另一个挑战是开发和维护CNL的成本。创建受控词汇和语法需要大量的语言学专业知识,并且更新以容纳新术语或概念可能非常费力。这在技术等快速变化的领域尤其成问题,因为新术语不断被引入。
此外,CNL常因阅读不自然而受到批评。严格规则可能使句子听起来生硬或重复,这可能降低用户接受度。在实践中,许多CNL仅在特定、明确定义的上下文中使用,如技术文档,在这些上下文中精确性的好处超过风格上的缺点。
最后,基于Machine learning和Neural network的NLP的兴起导致一些人质疑CNL的必要性。现代Large language model能够以高精度处理各种自然语言输入,并且可以针对特定任务进行微调。然而,这些模型并非无懈可击,它们可能产生看似合理但错误的输出。CNL提供了一种互补方法,提供了难以通过纯统计方法实现的解释性形式保证。
未来方向
CNL的未来可能受到AI进展的影响。一个有前景的方向是将CNL与基于Transformer (architecture)的模型集成。例如,CNL可用于为Large language model生成训练数据,确保数据无歧义且逻辑一致。这可以提高模型在形式领域推理的能力。
另一个方向是开发自适应CNL,能够根据用户的专业水平和手头任务动态调整其限制。这将使CNL对专家用户更具表达力,同时对新手保持简单。该领域的研究仍处于早期阶段,但它有潜力使CNL更广泛适用。
此外,CNL正在人机协作的背景下得到探索。通过提供受控接口,用户可以以确保AI响应基于形式语义的方式与AI系统交互。这在安全关键应用中可能特别有用,如自动驾驶或医学诊断,其中错误可能带来严重后果。
总体而言,受控自然语言仍然是弥合人类交流与机器理解之间差距的宝贵工具。虽然它们可能不如完整自然语言灵活,但其精确性和可靠性使其在许多技术领域中不可或缺。