Jump to content

Controlled natural language

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Steguru (talk | contribs) at 21:10, 26 June 2012 (External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Controlled natural languages (CNLs) are subsets of natural languages, 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".[1]

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.

Languages

Existing logic-based controlled natural languages include[2]:

Other existing controlled natural languages include:

See also

References

  1. ^ Sharon O'Brien (2003). "Controlling Controlled English - An Analysis of Several Controlled Language Rule Sets" (PDF). Proceedings of EAMT-CLAW. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  2. ^ Jonathan Pool Can Controlled Languages Scale to the Web? (2006)
  3. ^ T.D. Breaux, A.I. Anton, J. Doyle, "Semantic parameterization: a process for modeling domain descriptions", ACM Transactions on Software Engineering Methodology, vol. 18, no. 2, Article 5, 2008.