Controlled natural language
Controlled natural languages (CNLs) are subsets of natural languages that are obtained by restricting the grammar and vocabulary in order to reduce or eliminate ambiguity and complexity. Traditionally, controlled languages fall into two major types: those that improve readability for human readers (e.g. non-native speakers), and those that enable reliable automatic semantic analysis of the language.
The first type of languages (often called "simplified" or "technical" languages), for example ASD Simplified Technical English, Caterpillar Technical English, IBM's Easy English, are used in the industry to increase the quality of technical documentation, and possibly simplify the (semi-)automatic translation of the documentation. These languages restrict the writer by general rules such as "Keep sentences short", "Avoid the use of pronouns", "Only use dictionary-approved words", and "Use only the active voice".
The second type of languages have a formal logical basis, i.e. they have a formal syntax and semantics, and can be mapped to an existing formal language, such as first-order logic. Thus, those languages can be used as knowledge-representation languages, and writing of those languages is supported by fully automatic consistency and redundancy checks, query answering, etc.
Existing logic-based controlled natural languages include:
- Attempto Controlled English
- Common Logic Controlled English (CLCE)
- Pseudo Natural Language (PNL)
- PENG (Processable ENGlish)
- Restricted Natural Language Statements (RNLS)
- Semantics of Business Vocabulary and Business Rules
- Controlled Language for Ontology Editing (CLOnE)
- Inform 7, a declarative English-based programming language
Other existing controlled natural languages include:
- ASD Simplified Technical English
- Basic English
- Gellish with its natural language variants, such as Gellish Formal English, Gellish Formal Dutch (Gellish Formeel Nederlands), etc.
- Controlled Language Optimized for Uniform Translation (CLOUT)
- Special English
- Simplified Technical Russian
- Constructed language
- Knowledge representation and reasoning
- Natural language processing
- Controlled vocabulary
- Controlled language in machine translation
- Structured English
- Word-sense disambiguation
- O'Brien, Sharon (2003). "Controlling Controlled English - An Analysis of Several Controlled Language Rule Sets" (PDF). Proceedings of EAMT-CLAW.
- Pool, Jonathan (2006). "Can Controlled Languages Scale to the Web?".
- Breaux, T.D.; Anton, A.I.; Doyle, J. (2008). "Semantic parameterization: a process for modeling domain descriptions". ACM Transactions on Software Engineering Methodology 18 (2): 1. doi:10.1145/1416563.1416565. CiteSeerX: 10
.1 .1 .128 .2949.
- Adam Funk; et al. "CLOnE: Controlled Language for Ontology Editing" (PDF). Retrieved 11 October 2012.