Attempto Controlled English
Encyclopedia
Attempto Controlled English (ACE) is a controlled natural language
, i.e. a subset of standard English
with a restricted syntax and a restricted semantics described by a small set of construction and interpretation rules.
ACE can serve as knowledge representation
, specification
, and query language
, and is intended for professionals who want to use formal notations and formal methods, but may not be familiar with them. Though ACE appears perfectly natural – it can be read and understood by anybody – it is in fact a formal language
.
ACE and its related tools have been used in the fields of software specifications
, theorem proving, text summaries
, ontologies, rules, query
ing, medical documentation
and planning
. In 2004, ACE was adopted as the controlled natural language
of the EU Network of Excellence REWERSE (Reasoning on the Web with Rules and Semantics).
Here are some simple examples:
(1) Every woman is a human.
(2) A man is a human.
(3) A man tries-on a new tie. If the tie pleases his wife then the man buys it.
ACE construction rules require that each noun be introduced by a determiner (a, every, no, some, at least 5, ...). ACE interpretation rules decide that (1) is interpreted as universally quantified
, while (2) is interpreted as existentially quantified
. Sentences like "Women are human" violate this rule and are consequently not valid within ACE.
Interpretation rules resolve the anaphoric references in (3): the tie and it of the second sentence refer to a new tie of the first sentence, while his and the man of the second sentence refer to a man of the first sentence. Thus an ACE text is a coherent entity of anaphorically linked sentences.
The Attempto Parsing Engine (APE) translates ACE texts unambiguously into discourse representation structures
(DRS) that use a variant of the language of first-order logic
. A DRS can be further translated into other formal languages, for instance AceRules with various semantics, RuleML, OWL
, and SWRL
. Translating a DRS into the standard language of first-order logic
allows users to reason
about ACE texts, for instance to verify
, to validate
, and to query
them.
The Attempto system provides a basic lexicon of content words and users can import domain-specific lexicons of content words. User-defined words take precedence over words found in the basic lexicon. Alternatively, users can let the ACE parser guess unknown words, or users can prefix unknown words by their word-class, for instance n:kitkat, p:Thomas, v:google, a:trusted, a:undeviatingly.
The temperature is -2 °C.
A customer inserts 2 cards.
A card and a code are valid.
Simple ACE sentences have the following general structure:
subject + verb + complements + adjuncts
Every sentence has a subject and a verb. Complements (direct and indirect objects) are necessary for transitive verbs (insert something) and ditransitive verbs (give something to somebody), whereas adjuncts (adverbs, prepositional phrases) are optional.
All elements of a simple sentence can be elaborated upon to describe the situation in more detail. To further specify the nouns customer and card, we could add adjectives:
A trusted customer inserts two valid cards.
possessive nouns and of-prepositional phrases:
John's customer inserts a card of Mary.
or variables as appositions:
John inserts a card A.
Other modifications of nouns are possible through relative sentences:
A customer who is trusted inserts a card that he owns.
which are described below since they make a sentence composite. We can also detail the insertion event, e.g. by adding an adverb:
A customer inserts some cards manually.
or, equivalently:
A customer manually inserts some cards.
or, by adding prepositional phrases:
A customer inserts some cards into a slot.
We can combine all of these elaborations to arrive at:
John's customer who is trusted inserts a valid card of Mary manually into a slot A.
, subordination
, quantification
, and negation
. Note that ACE composite sentences overlap with what linguists call compound sentences and complex sentences.
Coordination by and is possible between sentences and between phrases of the same syntactic type.
A customer inserts a card and the machine checks the code.
There is a customer who inserts a card and who enters a code.
A customer inserts a card and enters a code.
An old and trusted customer enters a card and a code.
Note that the coordination of the noun phrases a card and a code represents a plural object.
Coordination by or is possible between sentences, verb phrases, and relative clauses.
A customer inserts a card or the machine checks the code.
A customer inserts a card or enters a code.
A customer owns a card that is invalid or that is damaged.
Coordination by and and or is governed by the standard binding order of logic, i.e. and binds stronger than or. Commas can be used to override the standard binding order. Thus the sentence:
A customer inserts a VisaCard or inserts a MasterCard, and inserts a code.
means that the customer inserts a VisaCard and a code or, alternatively a MasterCard and a code.
There are four constructs of subordination: relative sentences, if-then sentences, modality, and sentence subordination.
Relative sentences starting with who, which, and that allow to add detail to nouns:
A customer who is trusted inserts a card that he owns.
With the help of if-then sentences we can specify conditional or hypothetical situations:
If a card is valid then a customer inserts it.
Note the anaphoric reference via the pronoun it in the then-part to the noun phrase a card in the if-part.
Modality allows us to express possibility and necessity:
A trusted customer can/must insert a card.
It is possible/necessary that a trusted customer inserts a card.
Sentence subordination comes in various forms:
It is true/false that a customer inserts a card.
It is not provable that a customer inserts a card.
A clerk believes that a customer inserts a card.
Quantification allows us to speak about all objects of a certain class (universal quantification
), or to denote explicitly the existence of at least one object of this class (existential quantification
). The textual occurrence of a universal or existential quantifier opens its scope that extends to the end of the sentence, or in coordinations to the end of the respective coordinated sentence.
To express that all involved customers insert cards we can write
Every customer inserts a card.
This sentence means that each customer inserts a card that may, or may not, be the same as the one inserted by another customer. To specify that all customers insert the same card — however unrealistic that situation seems — we can write:
A card is inserted by every customer.
or, equivalently:
There is a card that every customer inserts.
To state that every card is inserted by a customer we write:
Every card is inserted by a customer.
or, somewhat indirectly:
For every card there is a customer who inserts it.
Negation allows us to express that something is not the case:
A customer does not insert a card.
A card is not valid.
To negate something for all objects of a certain class one uses no:
No customer inserts more than 2 cards.
or, there is no:
There is no customer who inserts a card.
To negate a complete statement one uses sentence negation:
It is false that a customer inserts a card.
These forms of negation are logical negations, i.e. they state that something is provably not the case. Negation as failure states that a state of affairs cannot be proved, i.e. there is no information whether the state of affairs is the case or not.
It is not provable that a customer inserts a card.
Yes/no-queries ask for the existence or non-existence of a specified situation. If we specified:
A customer inserts a card.
then we can ask:
Does a customer insert a card?
to get a positive answer. Note that interrogative sentences always end with a question mark.
With the help of wh-queries, i.e. queries with query words, we can interrogate a text for details of the specified situation. If we specified:
A trusted customer inserts a valid card manually in the morning in a bank.
we can ask for each element of the sentence with the exception of the verb.
Who inserts a card?
Which customer inserts a card?
What does a customer insert?
How does a customer insert a card?
When does a customer enter a card?
Where does a customer enter a card?
Queries can also be constructed by a sequence of declarative sentences followed by one interrogative sentence, for example:
There is a customer and there is a card that the customer enters. Does a customer enter a card?
John, go to the bank!
John and Mary, wait!
Every dog, bark!
A brother of John, give a book to Mary!
A command always consists of a noun phrase (the addressee), followed by a comma, followed by an uncoordinated verb phrase. Furthermore, a command has to end with an exclamation mark.
A customer inserts a card that is valid and opens an account.
In ACE the sentence has the unequivocal meaning that the customer opens an account, as reflected by the paraphrase:
A card is valid. A customer inserts the card. The customer opens an account.
To express the alternative — though not very realistic — meaning that the card opens an account, the relative pronoun that must be repeated, thus yielding a coordination of relative sentences:
A customer inserts a card that is valid and that opens an account.
This sentence is unambiguously equivalent in meaning to the paraphrase:
A card is valid. The card opens an account. A customer inserts the card.
A customer inserts a card with a code.
then with a code attaches to the verb inserts, but not to a card. However, this is probably not what we meant to say. To express that the code is associated with the card we can employ the interpretation rule that a relative sentence always modifies the immediately preceding noun phrase, and rephrase the input as:
A customer inserts a card that carries a code.
yielding the paraphrase:
A card carries a code. A customer inserts the card.
or — to specify that the customer inserts a card and a code — as:
A customer inserts a card and a code.
A customer enters a card and a code. If a code is valid then SimpleMat accepts a card.
To express that all occurrences of card and code should mean the same card and the same code, ACE provides anaphoric references via the definite article:
A customer enters a card and a code. If the code is valid then SimpleMat accepts the card.
During the processing of the ACE text, all anaphoric references are replaced by the most recent and most specific accessible noun phrase that agrees in gender and number. As an example of "most recent and most specific", suppose an ACE parser is given the sentence:
A customer enters a red card and a blue card.
Then:
The card is correct.
refers to the second card, while:
The red card is correct.
refers to the first card.
Noun phrases within if-then sentences, universally quantified sentences, negations, modality, and subordinated sentences cannot be referred to anaphorically from subsequent sentences, i.e. such noun phrases are not "accessible" from the following text. Thus for each of the sentences:
If a customer owns a card then he enters it.
Every customer enters a card.
A customer does not enter a card.
A customer can enter a card.
A clerk believes that a customer enters a card.
we cannot refer to a card with:
The card is correct.
Anaphoric references are also possible via personal pronouns:
A customer enters a card and a code. If it is valid then SimpleMat accepts the card.
or via variables:
A customer enters a card X and a code Y. If Y is valid then SimpleMat accepts X.
Anaphoric references via definite articles and variables can be combined:
A customer enters a card X and a code Y. If the code Y is valid then SimpleMat accepts the card X.
Note that proper names like SimpleMat always refer to the same object.
since 1995. In 2004, ACE was adopted as the controlled natural language
of the EU Network of Excellence REWERSE (Reasoning on the Web with Rules and Semantics). In 2008, ACE version 6.0 was announced.
Controlled natural language
Controlled natural languages are subsets of natural languages, obtained byrestricting the grammar and vocabulary in orderto reduce or eliminate ambiguity and complexity.Traditionally, controlled languages fall into two major types:...
, i.e. a subset of standard English
English grammar
English grammar is the body of rules that describe the structure of expressions in the English language. This includes the structure of words, phrases, clauses and sentences...
with a restricted syntax and a restricted semantics described by a small set of construction and interpretation rules.
ACE can serve as knowledge representation
Knowledge representation
Knowledge representation is an area of artificial intelligence research aimed at representing knowledge in symbols to facilitate inferencing from those knowledge elements, creating new elements of knowledge...
, specification
Specification language
A specification language is a formal language used in computer science.Unlike most programming languages, which are directly executable formal languages used to implement a system, specification languages are used during systems analysis, requirements analysis and systems design.Specification...
, and query language
Query language
Query languages are computer languages used to make queries into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages...
, and is intended for professionals who want to use formal notations and formal methods, but may not be familiar with them. Though ACE appears perfectly natural – it can be read and understood by anybody – it is in fact a formal language
Formal language
A formal language is a set of words—that is, finite strings of letters, symbols, or tokens that are defined in the language. The set from which these letters are taken is the alphabet over which the language is defined. A formal language is often defined by means of a formal grammar...
.
ACE and its related tools have been used in the fields of software specifications
Requirements analysis
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...
, theorem proving, text summaries
Automatic summarization
Automatic summarization is the creation of a shortened version of a text by a computer program. The product of this procedure still contains the most important points of the original text....
, ontologies, rules, query
Query (complexity)
In descriptive complexity, a query is a mapping from structures of one signature to structures of another vocabulary. Neil Immerman, in his book "Descriptive Complexity", "use[s] the concept of query as the fundamental paradigm of computation" ....
ing, medical documentation
Health informatics
.Health informatics is a discipline at the intersection of information science, computer science, and health care...
and planning
Planning
Planning in organizations and public policy is both the organizational process of creating and maintaining a plan; and the psychological process of thinking about the activities required to create a desired goal on some scale. As such, it is a fundamental property of intelligent behavior...
. In 2004, ACE was adopted as the controlled natural language
Controlled natural language
Controlled natural languages are subsets of natural languages, obtained byrestricting the grammar and vocabulary in orderto reduce or eliminate ambiguity and complexity.Traditionally, controlled languages fall into two major types:...
of the EU Network of Excellence REWERSE (Reasoning on the Web with Rules and Semantics).
Here are some simple examples:
(1) Every woman is a human.
(2) A man is a human.
(3) A man tries-on a new tie. If the tie pleases his wife then the man buys it.
ACE construction rules require that each noun be introduced by a determiner (a, every, no, some, at least 5, ...). ACE interpretation rules decide that (1) is interpreted as universally quantified
Universal quantification
In predicate logic, universal quantification formalizes the notion that something is true for everything, or every relevant thing....
, while (2) is interpreted as existentially quantified
Existential quantification
In predicate logic, an existential quantification is the predication of a property or relation to at least one member of the domain. It is denoted by the logical operator symbol ∃ , which is called the existential quantifier...
. Sentences like "Women are human" violate this rule and are consequently not valid within ACE.
Interpretation rules resolve the anaphoric references in (3): the tie and it of the second sentence refer to a new tie of the first sentence, while his and the man of the second sentence refer to a man of the first sentence. Thus an ACE text is a coherent entity of anaphorically linked sentences.
The Attempto Parsing Engine (APE) translates ACE texts unambiguously into discourse representation structures
Discourse representation theory
Discourse Representation Theory is a framework for exploring meaning under a formal semantics approach. One of the main differences between DRT-style approaches and traditional Montagovian approaches is that DRT-style approaches include a level of abstract mental representations within its...
(DRS) that use a variant of the language of first-order logic
First-order logic
First-order logic is a formal logical system used in mathematics, philosophy, linguistics, and computer science. It goes by many names, including: first-order predicate calculus, the lower predicate calculus, quantification theory, and predicate logic...
. A DRS can be further translated into other formal languages, for instance AceRules with various semantics, RuleML, OWL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...
, and SWRL
SWRL
SWRL is a proposal for a Semantic Web rules-language, combining sublanguages of the OWL Web Ontology Language with those of the Rule Markup Language ....
. Translating a DRS into the standard language of first-order logic
First-order logic
First-order logic is a formal logical system used in mathematics, philosophy, linguistics, and computer science. It goes by many names, including: first-order predicate calculus, the lower predicate calculus, quantification theory, and predicate logic...
allows users to reason
Inference
Inference is the act or process of deriving logical conclusions from premises known or assumed to be true. The conclusion drawn is also called an idiomatic. The laws of valid inference are studied in the field of logic.Human inference Inference is the act or process of deriving logical conclusions...
about ACE texts, for instance to verify
Formal verification
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics .- Usage :Formal verification can be...
, to validate
Formal verification
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics .- Usage :Formal verification can be...
, and to query
Information retrieval
Information retrieval is the area of study concerned with searching for documents, for information within documents, and for metadata about documents, as well as that of searching structured storage, relational databases, and the World Wide Web...
them.
ACE in a nutshell
As an overview of ACE 6.0, this section:- Briefly describes the vocabulary
- Gives an account of the syntax
- Summarises the handling of ambiguity
- Explains the processing of anaphoric references.
Vocabulary
The vocabulary of ACE comprises:- Predefined function words (e.g. determiners, conjunctions, prepositions)
- Content words (nouns, proper names, verbs, adjectives, adverbs).
The Attempto system provides a basic lexicon of content words and users can import domain-specific lexicons of content words. User-defined words take precedence over words found in the basic lexicon. Alternatively, users can let the ACE parser guess unknown words, or users can prefix unknown words by their word-class, for instance n:kitkat, p:Thomas, v:google, a:trusted, a:undeviatingly.
Grammar
The grammar of ACE defines and constrains the form and the meaning of ACE sentences and texts. ACE's grammar is expressed as a set of construction rules. The meaning of sentences is described as a small set of interpretation rules. A Trouble Shooting Guide describes how to use ACE and how to avoid pitfalls.ACE texts
An ACE text is a sequence of declarative sentences that can be anaphorically interrelated. Furthermore, ACE supports questions and commands.Simple sentences
A simple sentence asserts that something is the case — a fact, an event, a state.The temperature is -2 °C.
A customer inserts 2 cards.
A card and a code are valid.
Simple ACE sentences have the following general structure:
subject + verb + complements + adjuncts
Every sentence has a subject and a verb. Complements (direct and indirect objects) are necessary for transitive verbs (insert something) and ditransitive verbs (give something to somebody), whereas adjuncts (adverbs, prepositional phrases) are optional.
All elements of a simple sentence can be elaborated upon to describe the situation in more detail. To further specify the nouns customer and card, we could add adjectives:
A trusted customer inserts two valid cards.
possessive nouns and of-prepositional phrases:
John's customer inserts a card of Mary.
or variables as appositions:
John inserts a card A.
Other modifications of nouns are possible through relative sentences:
A customer who is trusted inserts a card that he owns.
which are described below since they make a sentence composite. We can also detail the insertion event, e.g. by adding an adverb:
A customer inserts some cards manually.
or, equivalently:
A customer manually inserts some cards.
or, by adding prepositional phrases:
A customer inserts some cards into a slot.
We can combine all of these elaborations to arrive at:
John's customer who is trusted inserts a valid card of Mary manually into a slot A.
Composite sentences
Composite sentences are recursively built from simpler sentences through coordinationCoordination (linguistics)
In linguistics, a coordination is a complex syntactic structure that links together two or more elements, known as conjuncts or conjoins. Coordinators are typically: "and" and "or"...
, subordination
Subordination (linguistics)
In linguistics, subordination is a complex syntactic construction in which one or more clauses are dependent on the main clause, such as The dog ran home after it had played with the ball. The italicized text is the subordinate clause...
, quantification
Quantification
Quantification has several distinct senses. In mathematics and empirical science, it is the act of counting and measuring that maps human sense observations and experiences into members of some set of numbers. Quantification in this sense is fundamental to the scientific method.In logic,...
, and negation
Negation
In logic and mathematics, negation, also called logical complement, is an operation on propositions, truth values, or semantic values more generally. Intuitively, the negation of a proposition is true when that proposition is false, and vice versa. In classical logic negation is normally identified...
. Note that ACE composite sentences overlap with what linguists call compound sentences and complex sentences.
Coordination
Coordination by and is possible between sentences and between phrases of the same syntactic type.
A customer inserts a card and the machine checks the code.
There is a customer who inserts a card and who enters a code.
A customer inserts a card and enters a code.
An old and trusted customer enters a card and a code.
Note that the coordination of the noun phrases a card and a code represents a plural object.
Coordination by or is possible between sentences, verb phrases, and relative clauses.
A customer inserts a card or the machine checks the code.
A customer inserts a card or enters a code.
A customer owns a card that is invalid or that is damaged.
Coordination by and and or is governed by the standard binding order of logic, i.e. and binds stronger than or. Commas can be used to override the standard binding order. Thus the sentence:
A customer inserts a VisaCard or inserts a MasterCard, and inserts a code.
means that the customer inserts a VisaCard and a code or, alternatively a MasterCard and a code.
Subordination
There are four constructs of subordination: relative sentences, if-then sentences, modality, and sentence subordination.
Relative sentences starting with who, which, and that allow to add detail to nouns:
A customer who is trusted inserts a card that he owns.
With the help of if-then sentences we can specify conditional or hypothetical situations:
If a card is valid then a customer inserts it.
Note the anaphoric reference via the pronoun it in the then-part to the noun phrase a card in the if-part.
Modality allows us to express possibility and necessity:
A trusted customer can/must insert a card.
It is possible/necessary that a trusted customer inserts a card.
Sentence subordination comes in various forms:
It is true/false that a customer inserts a card.
It is not provable that a customer inserts a card.
A clerk believes that a customer inserts a card.
Quantification
Quantification allows us to speak about all objects of a certain class (universal quantification
Universal quantification
In predicate logic, universal quantification formalizes the notion that something is true for everything, or every relevant thing....
), or to denote explicitly the existence of at least one object of this class (existential quantification
Existential quantification
In predicate logic, an existential quantification is the predication of a property or relation to at least one member of the domain. It is denoted by the logical operator symbol ∃ , which is called the existential quantifier...
). The textual occurrence of a universal or existential quantifier opens its scope that extends to the end of the sentence, or in coordinations to the end of the respective coordinated sentence.
To express that all involved customers insert cards we can write
Every customer inserts a card.
This sentence means that each customer inserts a card that may, or may not, be the same as the one inserted by another customer. To specify that all customers insert the same card — however unrealistic that situation seems — we can write:
A card is inserted by every customer.
or, equivalently:
There is a card that every customer inserts.
To state that every card is inserted by a customer we write:
Every card is inserted by a customer.
or, somewhat indirectly:
For every card there is a customer who inserts it.
Negation
Negation allows us to express that something is not the case:
A customer does not insert a card.
A card is not valid.
To negate something for all objects of a certain class one uses no:
No customer inserts more than 2 cards.
or, there is no:
There is no customer who inserts a card.
To negate a complete statement one uses sentence negation:
It is false that a customer inserts a card.
These forms of negation are logical negations, i.e. they state that something is provably not the case. Negation as failure states that a state of affairs cannot be proved, i.e. there is no information whether the state of affairs is the case or not.
It is not provable that a customer inserts a card.
Queries
ACE supports two forms of queries: yes/no-queries and wh-queries.Yes/no-queries ask for the existence or non-existence of a specified situation. If we specified:
A customer inserts a card.
then we can ask:
Does a customer insert a card?
to get a positive answer. Note that interrogative sentences always end with a question mark.
With the help of wh-queries, i.e. queries with query words, we can interrogate a text for details of the specified situation. If we specified:
A trusted customer inserts a valid card manually in the morning in a bank.
we can ask for each element of the sentence with the exception of the verb.
Who inserts a card?
Which customer inserts a card?
What does a customer insert?
How does a customer insert a card?
When does a customer enter a card?
Where does a customer enter a card?
Queries can also be constructed by a sequence of declarative sentences followed by one interrogative sentence, for example:
There is a customer and there is a card that the customer enters. Does a customer enter a card?
Commands
ACE also supports commands. Some examples:John, go to the bank!
John and Mary, wait!
Every dog, bark!
A brother of John, give a book to Mary!
A command always consists of a noun phrase (the addressee), followed by a comma, followed by an uncoordinated verb phrase. Furthermore, a command has to end with an exclamation mark.
Constraining ambiguity
To constrain the ambiguity of full natural language ACE employs three simple means:- Some ambiguous constructs are not part of the language; unambiguous alternatives are available in their place
- All remaining ambiguous constructs are interpreted deterministically on the basis of a small number of interpretation rules
- Users can either accept the assigned interpretation, or they must rephrase the input to obtain another one.
Avoidance of ambiguity
In natural language, relative sentences combined with coordinations can introduce ambiguity:A customer inserts a card that is valid and opens an account.
In ACE the sentence has the unequivocal meaning that the customer opens an account, as reflected by the paraphrase:
A card is valid. A customer inserts the card. The customer opens an account.
To express the alternative — though not very realistic — meaning that the card opens an account, the relative pronoun that must be repeated, thus yielding a coordination of relative sentences:
A customer inserts a card that is valid and that opens an account.
This sentence is unambiguously equivalent in meaning to the paraphrase:
A card is valid. The card opens an account. A customer inserts the card.
Interpretation rules
Not all ambiguities can be safely removed from ACE without rendering it artificial. To deterministically interpret otherwise syntactically correct ACE sentences we use a small set of interpretation rules. For example, if we write:A customer inserts a card with a code.
then with a code attaches to the verb inserts, but not to a card. However, this is probably not what we meant to say. To express that the code is associated with the card we can employ the interpretation rule that a relative sentence always modifies the immediately preceding noun phrase, and rephrase the input as:
A customer inserts a card that carries a code.
yielding the paraphrase:
A card carries a code. A customer inserts the card.
or — to specify that the customer inserts a card and a code — as:
A customer inserts a card and a code.
Anaphoric references
Usually ACE texts consist of more than one sentence:A customer enters a card and a code. If a code is valid then SimpleMat accepts a card.
To express that all occurrences of card and code should mean the same card and the same code, ACE provides anaphoric references via the definite article:
A customer enters a card and a code. If the code is valid then SimpleMat accepts the card.
During the processing of the ACE text, all anaphoric references are replaced by the most recent and most specific accessible noun phrase that agrees in gender and number. As an example of "most recent and most specific", suppose an ACE parser is given the sentence:
A customer enters a red card and a blue card.
Then:
The card is correct.
refers to the second card, while:
The red card is correct.
refers to the first card.
Noun phrases within if-then sentences, universally quantified sentences, negations, modality, and subordinated sentences cannot be referred to anaphorically from subsequent sentences, i.e. such noun phrases are not "accessible" from the following text. Thus for each of the sentences:
If a customer owns a card then he enters it.
Every customer enters a card.
A customer does not enter a card.
A customer can enter a card.
A clerk believes that a customer enters a card.
we cannot refer to a card with:
The card is correct.
Anaphoric references are also possible via personal pronouns:
A customer enters a card and a code. If it is valid then SimpleMat accepts the card.
or via variables:
A customer enters a card X and a code Y. If Y is valid then SimpleMat accepts X.
Anaphoric references via definite articles and variables can be combined:
A customer enters a card X and a code Y. If the code Y is valid then SimpleMat accepts the card X.
Note that proper names like SimpleMat always refer to the same object.
History
ACE has been under development at the University of ZurichUniversity of Zurich
The University of Zurich , located in the city of Zurich, is the largest university in Switzerland, with over 25,000 students. It was founded in 1833 from the existing colleges of theology, law, medicine and a new faculty of philosophy....
since 1995. In 2004, ACE was adopted as the controlled natural language
Controlled natural language
Controlled natural languages are subsets of natural languages, obtained byrestricting the grammar and vocabulary in orderto reduce or eliminate ambiguity and complexity.Traditionally, controlled languages fall into two major types:...
of the EU Network of Excellence REWERSE (Reasoning on the Web with Rules and Semantics). In 2008, ACE version 6.0 was announced.
See also
- ClearTalkClearTalkClearTalk is a controlled natural language -- a kind of a formal language for expressing information that is designed to be both human-readable and easily processed by a computer....
- Natural Language ProcessingNatural language processingNatural language processing is a field of computer science and linguistics concerned with the interactions between computers and human languages; it began as a branch of artificial intelligence....
- Knowledge RepresentationKnowledge representationKnowledge representation is an area of artificial intelligence research aimed at representing knowledge in symbols to facilitate inferencing from those knowledge elements, creating new elements of knowledge...
- English GrammarEnglish grammarEnglish grammar is the body of rules that describe the structure of expressions in the English language. This includes the structure of words, phrases, clauses and sentences...