Using Controlled English as a Knowledge Representation language
Previously I mentioned "controlled English" when discussing the concept of knowledge representation. This post will go into some detail about what controlled English is. In specific I will discuss Kuhn's doctoral dissertation and Attempto Controlled English (ACE).
Computational linguistics is an interdisciplinary field concerned with the statistical or rule-based modeling of natural language from a computational perspective.
There are many different controlled natural languages
First I would like to discuss the fact that controlled English is not the only controlled nature language and Attempto Controlled English is only one particular controlled English. For example 1 there is RuleSpeak which is a controlled natural language for business rules. Another example2 is Quelo Controlled English which is a controlled English for querying, where you would say statements such as: "I am looking for something, it should be located in a city, the city should produce a new car, the new car should be equipped with a diesel engine". In addition to these examples we also have Google which uses Voice Actions where you can speak into your android phone and say something like: "Create a calendar event: Dinner in San Francisco, Saturday at 7:00PM". All of these are examples of controlled natural languages and reveal just how powerful this could be for users and developers.
What is Attempto Controlled English (ACE)?
Attempto Controlled English also known as ACE is a specific controlled natural language. It is likely that at some point in the early stages of development this controlled natural language will be implemented on Tauchain. ACE is like English but relies on following certain rules with a restricted vocabulary.
Rule subject + verb + complements + adjuncts
All simple ACE sentences have the above structure of subject + verb + complements + adjuncts. An example would be the following sentences below:
A customer waits.
The temperature is -2°C.
A customer owns a card.
A customer gives a card to a clerk.
To construct sentences without a verb you can rely on:
there is + noun phrase
there are + noun phrase
There is a customer.
There are at least 3 apples.
And you can add detail with:
A trusted customer inserts two valid cards.
There are two valid cards.
And you can use variables:
John's customer inserts a card of Mary.
John inserts a card A.
How does Attempto Controlled English help with Knowledge Representation?
In specific because anyone who speaks English can quickly learn Attempto Controlled English it will mean anyone will be able to contribute to the process of knowledge representation. Contributing to a knowledge base becomes very easy when you can simply describe in plain English (with restrictions) exactly the knowledge you want to represent. A semantic Wiki can be built out of this process rather easily.
How does Attempto Controlled English relate to Tauchain?
Tauchain requires input from the users to determine a formal specification. Attempto Controlled English is simple enough that anyone can describe a formal specification. For example sentences like:
Every customer inserts a card.
Every customer is a human.
Every man is a human.
Every woman is a human.
As you see above, we are dealing with types. Human is a type. Human is divided at a minimum between male and female subtypes.
And ACEWiki gives an example of what a formal specification could look like in Tauchain. The example being country, where the knowledge in this case is the concept of a country. Then we describe a country by filling in the Wiki collaboratively, where we know first of all that every country is an area, but then collaboratively we fill in the list of current persons who govern a country. Through this method we add to the knowledge base using the knowledge representation language ACE, and in the case of Tauchain we would be adding to potentially a formal specification which eventually is synthesized (program synthesis) by the Tauchain automatic programmer.
To learn more about Attempto Controlled English Wiki watch the video lecture
Kuhn, T. (2009). Controlled English for knowledge representation (Doctoral dissertation, University of Zurich).
Kuhn, T. (2014). A survey and classification of controlled natural languages. Computational Linguistics, 40(1), 121-170.
Kuhn, T. (2009). How controlled English can improve semantic wikis. arXiv preprint arXiv:0907.1245.
Ranta, A., Enache, R., & Détrez, G. (2010, September). Controlled language for everyday use: the molto phrasebook. In International Workshop on Controlled Natural Language (pp. 115-136). Springer Berlin Heidelberg.
Ross, Ronald G. 2013. Tabulation of lists in RuleSpeak—using “the following” clause. Business Rules Journal, 14(4):1–16.
White, C., & Schwitter, R. (2009, December). An update on PENG light. In Proceedings of ALTA (Vol. 7, pp. 80-88).