---
kind: concept
slug: controlled-natural-language
title: Controlled natural language
summary: >-
  A controlled natural language (CNL) is an everyday language, such as English, with deliberate restrictions for readability, translation or formal use. A survey of 100 English-based CNLs scores each on the PENS scale: precision, expressiveness, naturalness and simplicity. Use it to find prior designs and to place a trade-off. It has no method or experiments.
tags: [language, classification]
papers: ["1507.01701"]
related: [semantic-parsing]
status: draft
updated_at: 2026-11-01
---

## Overview

A controlled natural language is a natural language with extra rules that
remove ambiguity or complexity. The survey names three aims for those rules:
easier human comprehension, translation, and standing in for a formal notation
[arxiv:1507.01701 §2.3]. It defines a CNL by four properties: it is based on
exactly one natural language; it is more restrictive than that base, mainly in
lexicon, syntax or semantics; it keeps most of the base language's properties
so that its speakers still understand it; and it is built on purpose rather
than arising by natural change [arxiv:1507.01701 §2.1].

Many names are in use, such as "simplified", "structured" or "restricted"
English, and they do not agree on what the languages are [arxiv:1507.01701 §1].
Search for those names as well as this slug.

The shared core of all variants is the same: the text reads as the base
language, and the restrictions are fixed in advance. What differs is which
restriction the designer prioritises. The survey covers only designs with
English as the base language, and it gives no algorithm for building one. A
designer still makes most decisions alone [arxiv:1507.01701 §5.3].

## Variants

The survey has no implementations. Its catalogue of 100 English-based CNLs
[arxiv:1507.01701 §4] is grouped below by the aim each language was built for.
A language can fall into more than one group, because any two of the survey's
nine environment properties may overlap [arxiv:1507.01701 §2.3].

### Comprehension-oriented (written, human readers)

Built so that people read the text quickly and correctly, often in one domain.
The survey's averages over the 45 languages tagged for comprehension are high
for expressiveness (4.3) and naturalness (4.7), and low for simplicity (1.2),
on its 1 to 5 scale [arxiv:1507.01701 tab. 3]. Examples the survey describes
in detail are ASD Simplified Technical English and FAA Air Traffic Control
Phraseology [arxiv:1507.01701 §4.1]. Card:
[A Survey and Classification of Controlled Natural Languages](/papers/1507.01701).

### Translation-oriented

Built so that a text can be translated, by machine or by a human post-editor.
Across the 22 languages tagged for translation, the averages are E 4.8,
N 5.0 and S 1.1 [arxiv:1507.01701 tab. 3]. The survey reports a
five-to-one gain in translation time for one such language, MCE, and a 20
percent reduction in post-editing time for another, CLCM [arxiv:1507.01701 §5.5].

### Formal-representation-oriented

Built so that a machine can process or execute the text, or so that the text
maps onto a formal notation. The 54 languages tagged this way average P 4.4,
E 2.3, N 3.8 and S 3.2 [arxiv:1507.01701 tab. 3]. They are the most precise
group and the most readable as a formal language. Attempto Controlled English
is described in detail [arxiv:1507.01701 §4.1]. For the step from text to a
formal representation, see [semantic parsing](/concepts/semantic-parsing).

### Spoken

Rare in the catalogue. Over 90 percent of the CNLs are intended to be written,
and only seven are intended to be spoken, six of them governmental
[arxiv:1507.01701 §5.2].

## When to use which

The survey's scale is PENS: precision (P), expressiveness (E), naturalness (N)
and simplicity (S), each with five classes [arxiv:1507.01701 §3]. The averages
below describe the catalogue, not the quality of any single design. They do not
weight by maturity or popularity [arxiv:1507.01701 §5.2].

| Situation | Use | Why |
|---|---|---|
| Readers must follow the text quickly, in one domain | Comprehension-oriented design | Highest expressiveness and naturalness averages; lowest simplicity (E 4.3, N 4.7, S 1.2) [arxiv:1507.01701 tab. 3] |
| The text will be translated or post-edited | Translation-oriented design | Highest naturalness average (N 5.0); the survey reports translation-time gains in two cases [arxiv:1507.01701 tab. 3, §5.5] |
| A machine must check or execute the text | Formal-representation design | Highest precision average (P 4.4) and simplicity average (S 3.2) [arxiv:1507.01701 tab. 3] |
| You must fully specify and implement the grammar yourself | Favour high simplicity | Simplicity is the page count of an exact description, so a simple language is easier to pin down [arxiv:1507.01701 §3.4] |
| Rich logic is needed, such as quantifiers, relations and negation | Expressive designs, expect a less simple grammar | Expressiveness is negatively rank-correlated with simplicity (ρ = −0.82) across the catalogue [arxiv:1507.01701 §5.1] |
| The text must stay natural for writers | Aim at naturalness N3 or higher | Below N3 the survey does not count a language as a CNL at all [arxiv:1507.01701 §3.3] |

The survey gives evaluation evidence but no general rule for choosing. Its
findings depend on domain, users and design quality [arxiv:1507.01701 §5.5].
Pilot-test the chosen design with its real readers before you commit.

## Implementation sketch

The survey has no algorithm. The sketch below is our own structure for the
PENS record and the CNL test, built from the definitions. It is not the
paper's code.

```pseudocode
# Store one language on the PENS scale  [arxiv:1507.01701 §3]
# Input:  name, four classes 1..5, environment property codes  [§2.3]
# Output: record; is_cnl() applies the naturalness threshold

def pens_record(name, precision, expressiveness, naturalness,
                simplicity, props):
    # Each dimension has five classes, 1 (low) to 5 (high)  [§3]
    for value in (precision, expressiveness, naturalness, simplicity):
        assert 1 <= value <= 5
    # Codes from the nine environment properties  [§2.3]
    return {"name": name,
            "pens": (precision, expressiveness, naturalness, simplicity),
            "props": set(props)}

def is_cnl(record):
    # Naturalness N3 or higher counts as a CNL  [§3.3]
    # pens order is P, E, N, S, so index 2 is N
    return record["pens"][2] >= 3
```

## Contradictions

None across cards. The wiki has one card on this concept. Inside the survey,
the evaluation studies disagree. For AECMA Simplified English, two studies
report a significant comprehension gain and a third reports no significant
result. The survey reports mixed usability and comprehension results for
Rabbit [arxiv:1507.01701 §5.5]. The survey does not resolve these, and neither
does this page.

## Papers

- [A Survey and Classification of Controlled Natural Languages](/papers/1507.01701):
  defines a CNL, proposes the PENS scale, and surveys 100 English-based CNLs.
  It has no method or experiments, and its literature runs to about 2013.

Only one card covers this concept. Other CNL papers are not yet compiled in
the wiki, so their content is not used here.
