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 syntax and formal 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.

Languages
Existing controlled natural languages include:


 * ASD Simplified Technical English
 * Attempto Controlled English
 * Aviation English
 * Basic English
 * ClearTalk
 * Common Logic Controlled English
 * Distributed Language Translation Esperanto
 * Easy Japanese
 * E-Prime
 * Français fondamental
 * Gellish Formal English
 * Interlingua-IL sive Latino sine flexione (Giuseppe Peano)
 * Logical English
 * ModeLang
 * Newspeak (fictional)
 * Processable English (PENG)
 * Seaspeak
 * Semantics of Business Vocabulary and Business Rules
 * Special English

Encoding
IETF has reserved simple as a BCP 47 variant subtag for simplified versions of languages.