<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Ontology Specification Language Based on a Controlled Natural Language</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Josiane M. P. Ferreira</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sérgio Roberto da Silva</string-name>
          <email>srsilva@din.uem.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Edgard M. de Oliveira</string-name>
          <email>edgardmota@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Informática Universidade Estadual de Maringá Av. Colombo</institution>
          ,
          <addr-line>5790, zona 07 - Maringá-PR Brazil - 87020-900</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The specification of ontologies has always been a complex problem, especially due to the difficulty of acquiring knowledge from domain experts. This paper proposes an ontology specification language based on a Controlled Natural language to be used by domain experts in the specification of their own ontologies. The language was made in order to tolerate the use of linguistic mechanism like anaphors and ellipses, allowing users to specify concept references by means of pronouns. To solve this anaphors the DRT approach is used. A mapping from this ontology specification language to a great part of the OWL-DL formalism was also developed to allow reasoning with its produced ontologies.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        A significant disadvantage of the current knowledge acquisition processes is that the
transmission of knowledge from domain experts to the knowledge base (KB) is done
in an indirect way. Because experts do not know how to use a knowledge
representation technique (KRT) they have to transmit their knowledge to a knowledge
engineer (KE), who then introduces it in the KB. This indirect process might generate
different interpretations from experts and from engineers regarding the knowledge of
the domain. This happens because, as semiotics shows [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], when two people
communicate, it is common for each of them to have different interpretations of the
same sentence. When it comes to KB building the misinterpretation occurs frequently
as experts are not aware of the task of representing knowledge by means of a KRT,
and knowledge engineers, in turn, does not necessarily know the application domain.
Consequently, the result of this indirect transmission of knowledge might be a KB of
poor quality, which does not meet the user’s expectations.
      </p>
      <p>However, if we enable domain experts to build the KB themselves, we could solve
not only the miscommunication between them and knowledge engineers, but also the
high cost of knowledge engineers’ services. To achieve this, we have mainly two
alternatives: 1) we might have domain experts learn to codify their knowledge using a
KRT, or 2) we may allow them to express their knowledge by means of a
representation language which they can use more easily and, then, we map this
language to a KRT automatically.</p>
      <p>The first alternative is a difficult task because experts will have to learn a
completely new language to express themselves — taking into account the fact that
they are usually lay when it comes to representing knowledge, i.e., they may have no
knowledge whatsoever of formal languages. The second alternative might be a viable
solution as long as three factors are taken into account: 1) the language used to
represent knowledge is similar to a language experts are familiar with as, for example,
a natural language; 2) this language has enough expressivity to represent the domain
at hand; 3) that language should be unambiguous and 4) it is possible to get an
efficient mapping from this language to a KRT.</p>
      <p>
        In this paper, we present a summarized version of our research into the study of the
viability of the second alternative presented above. We propose to make available an
ontology specification language which is based in a controlled natural language
(CNL) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], so that experts can express their knowledge, and also to make available the
automatic mapping from this language to a KRT — in our case the OWL (Ontology
Web Language). Besides that, we propose the use of an ontology editing environment
guided by an ontology construction process which helps experts to express their
knowledge. With the development of this CNL, its mapping to the used KRT, and its
integration with an ontology editing environment, we aim at making part of the KB
building task more efficient and less onerous.
      </p>
      <p>In section 2, we explain the type of knowledge we are interested in allowing the
experts to express and describe our language for the specification of ontologies.
Section 3 shows the mapping of our proposed language to OWL. In section 4, we
present an editor which used the language we propose for the creation of ontologies.
Finally, in section 5, we discuss the results of this research.</p>
    </sec>
    <sec id="sec-2">
      <title>2. The Proposed Language for Ontology Building</title>
      <p>
        The word Ontology comes from the Greeks and means ‘the study of being’. In
philosophy, Ontology is an area of metaphysics which ‘studies the being or the
existence, as well as the basic existent categories, trying to find out which entities and
types of entities there is’. In computer science, the sense of ontology is a little
different and several authors tried to describe its meaning [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. To our research,
the word ontology is “a conceptual model about a particular domain in which we can
represent concepts and the relationships among them” [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], besides axioms which
rule these relationships.
      </p>
      <p>
        The aim of this work is to provide means for domain experts to express their
knowledge directly in the computer, so that they are able to build an initial ontology
of the domain, which is adequate for knowledge engineers to refine later. There are
numerous KRTs employed for this task, among which we can mention [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]: LOOM,
Ontolíngua, OML, RDF and RDFS, OIL, and OWL. Unfortunately, most of them are
designed aiming at the best way to represent knowledge and maintaining its
computational efficiency, without worrying about its learning process or its
communication aspects with people [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Therefore, the users of these KRTs have
to learn a way to express their knowledge by means of a language which is totally
different from the one they use on a daily basis.
      </p>
      <p>Another way to make experts represent their knowledge more naturally is to supply
a language that is similar to the one they already know as a way to express their
knowledge. From this point of view, the most adequate language would be the natural
language (NL), which all of us know and has sufficiently appropriate communicative
aspects. However, the NL has inherent ambiguities and the processing of its
unrestricted form is not viable yet, despite the enormous recent advances. We can,
nevertheless, make use of a subset of NL only, so that this subset does not have
ambiguities, neither for experts nor for the parser that will be processing it, keeping
its processing viable and maintaining its communicative aspects.</p>
      <p>
        The use of controlled natural language has been explored with relative success in
tasks such as the specification of requirements [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and the acquisition and
representation of knowledge [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], among others. Using a CNL means that
all the sentences of the CNL are correct in the NL but not all the sentences of the NL
are allowed in the CNL, because this is a subset of that one. Thus, experts will only
have to learn which types of sentences they can and which ones they cannot use to
express their knowledge of the domain, which it is simpler than learning to express
their knowledge in a totally new way (by means of a KRT). In general, a CNL allows
experts to use communicative mechanisms (such as quantifiers, qualifiers and figures
of speech) to express their knowledge in a more natural way. However, it is extremely
important that the communicative mechanisms allowed in the CNL keeps the
computational processing of the language within a range of reasonable efficiency, so
that its implementation is viable.
      </p>
      <sec id="sec-2-1">
        <title>2.1. The Foundation of the Controlled Natural Language</title>
        <p>
          The controlled natural language we propose has its foundation in the work of [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. In
that work, the author aimed at, amongst other things, getting a type-language in the
form of a CNL for end-user programming. He emphasizes that the difference between
languages normally used by end-users, for the specification of entities and processes,
and formal languages (programming languages, KRTs, among others) is mainly in the
mechanism used to refer to objects in the text code. The language normally used by
these users presents a natural way to work with structured objects, using common
sense knowledge of the domain and linguistic mechanisms such as quantifiers (of the
type all, every and each and plurals), qualifiers, selectors and figures of speech
(anaphors and ellipsis) to facilitate the reference to these objects. Such mechanisms
help people to refer to the characteristics of complex objects in a direct and simple
way, as they hide many details about their inner structure. Moreover, the nouns,
which describe objects in the domain, are generally substituted by pronouns in the
subsequent references (after their introduction in the text), a case of anaphor. Also the
use of ellipsis is common, limited to the basic forms, to omit objects and verbs in the
sentences. In this case, the omitted names always make reference to objects that have
been previously introduced in the context formed by the previous sentences, making
their omission possible without interfering with its interpretation.
        </p>
        <p>These kind of communicative mechanisms are very important because they make
the process of describing something by means of a language much more natural for
their users. Moreover, they prevent the necessity of writing and, therefore,
interpreting very long sentences, which is particularly difficult for people. Also, due
to their characteristics, these references are simple to solve, which facilitate its
implementation. In this way, the computational cost needed to solve these
mechanisms is low, when compared with the profits gained in the communication
with their usage. The language proposed was divided into three sublanguages:
• The reference sublanguage (to objects), which contain the communicative
mechanisms mentioned before, acting in an orthogonal way to the other
sublanguages, aiming at enhancing the textual cohesion and, therefore, facilitating
the interpretation by experts. It accepts references like: “all wine”, “the colors of
the wines”, and “each message”;
• The metalanguage sublanguage, which allows for the creation and extension of an
ontology domain by means of a definition of declarative knowledge. It accepts
references constructors like: “A car is a kind of automobile” and “It has a color and
a mark”;
• The control sublanguage, which allows for the creation and definition of the
procedural knowledge and/or of the inferential control (in some cases). It accepts
references constructors like: “Send the &lt;message&gt; to all the &lt;e-mail_addresses&gt;”.</p>
        <p>
          Despite the fact that the corpus used in the analysis in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] is in the English
language, his findings are valid for others languages as well (given some tuning) as
the elements which were studied belong to the universal linguistic mechanisms [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]
as, for example, the phrasal structure of the different ways to refer to objects in NLs.
        </p>
        <p>The language proposed in this paper makes use of the reference and the
metalanguage sublanguages only. Examples of the elements in the reference
sublanguage language are shown in Table 1.</p>
        <p>Example
noun
[a/an] noun
noun(s)
cardinal noun(s)
the/this noun
the noun of [the] noun
pronouns
all [the] noun(s)
each/every noun
reference and reference</p>
        <sec id="sec-2-1-1">
          <title>Wine</title>
          <p>a wine
Wines
three grapes
the wine
the sender of the message
it has …
all [the] wines
each message
a color and a body</p>
          <p>
            The reference sublanguage is what makes the language we propose different in
relation to the language mentioned in Pulman’s works [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ]. There, he emphasizes that
the sentences he calls notation in macro style (which are similar to the ones proposed
in the metalanguage sublanguage) do not have flexibility. He uses examples such as:
A &lt;subtype&gt; is_a &lt;type&gt;, where the elements between &lt;...&gt; can only be objects. The
metalanguage proposed here is formed by similar sentences, but we allow for users to
work with complex objects in a natural way, including the use of ellipses and
anaphors, which gives us a profit in the usability of the language. Thus, our language
will be closer to the one users is accustomed to use to express themselves. For
example, if an expert introduced the element book in a previous sentence as in A book
is a publication, s/he will be able to reference it in other future sentences, by using the
pronoun “it”, as for example, It has chapters and sections.
          </p>
          <p>The metalanguage sublanguage we propose makes extensive use of the reference
sublanguage and is used to define the domain’s ontology itself. Each sentence allowed
in the metalanguage has a purpose in the definition of the domain’s ontology. Below
we present the types of metalanguage sentences and we also show the purpose of two
sentences, and one example of the usage and the syntax of the metalanguage.</p>
          <p>Sentences of the metalanguage sublanguage for the definition of classes1:
1a) Ref1 ‘is a kind of’ Ref2* ‘.’
1b) Ref1 ‘is a’ Ref2* ‘.’
2a) Ref1 ‘is a kind of’ Ref2* ‘that has’ Ref3 ‘.’
2b) Ref1 ‘is a’ Ref2* ‘that has’ Ref3 ‘.’
3) Ref1 (‘is part of’ | ‘are parts of’) Ref2* ‘.’
4) Ref1 (‘has’|‘have’) ‘at least one’ Ref2 ‘that must be’ Ref3* ‘.’
5a) Ref1 Ref2 ‘must be’ Ref3* ‘.’
5b) Ref2 ‘of’ Ref1 ‘are’ Ref3* ‘.’
6) Ref1 ‘of’ Ref2 ‘must be’ Ref3 ‘.’</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>7) Ref1 ‘must have exactly’ Ref2 ‘.’</title>
      </sec>
      <sec id="sec-2-3">
        <title>8) Ref1 ‘must have at least’ Ref2 ‘.’</title>
      </sec>
      <sec id="sec-2-4">
        <title>9) Ref1 ‘must have at most’ Ref2 ‘.’</title>
        <p>10) Ref1 ‘can only be’ Ref2 ‘.’
11) Ref1 ‘is also known as’ Ref2*+ ‘.’
Sentence for the definition of properties and values to the properties: therefore
12) Ref1* (‘has’ | ‘have’) Ref2 ‘.’
13) Ref1&amp; (‘is’ | ‘are’) Ref2# ‘.’
14) Ref1&amp; ‘has possible values’ Ref2 ‘.’
15) Ref1* ‘has’ Ref2 ‘, with possible’ (‘value’ | ‘values’) Ref3 ‘.’
16) Ref1* ‘has’ Ref2 ‘, which is’ Ref3# ‘.’
17) Ref1 ‘has default value’ Ref2 ‘.’
18) Ref1+ ‘of’ Ref2 ‘is’ Ref3 ‘.’
1 Here, “ref” indicates the presence of a reference — sees Table 1 —, which can be
complex. Underlined elements are entities which are being introduced in the ontology and, so,
are not part of the lexicon. Elements in bold and ‘single inverted commas’ are fixed elements in
the language. References marked: with * might be any of the classes previously defined in the
ontology; with + might be any of the properties previously defined in the ontology for the class
which is being specified in the sentence; with &amp; might be any of the properties previously
defined in the ontology, but which have not had their domain specified; and with # might be,
besides any of the classes in the ontology, any of the datatypes allowed by the employed KRT.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Examples of the Usage of the Sentences</title>
      </sec>
      <sec id="sec-2-6">
        <title>1) Sentences of type 4: Ref1 (‘has’|‘have’) ‘at least one’ Ref2 ‘that must be’</title>
        <p>Ref3* ‘.’
Purpose: to define a class by means of a value restriction for a property. The
restriction determines that all elements of a class (Ref1) that have at least one
element of another class (Ref3) as a value for a property (Ref2) belong to this
class. Thus, this restriction requires that at least one value for the property
(Ref2) belong to a given class (Ref3) so that it belongs to the class that is being
defined (Ref1). Other values can exist for the property that are not elements of
the given class (Ref3).
• A wine has at least one maker that must be a winery.</p>
        <p>• All wines have at least one maker that must be a winery.
2) Sentences of type 13: Ref1&amp; (‘is’ | ‘are’) Ref2# ‘.’</p>
        <p>
          Purpose: sentences of this type can be used for two purposes: a) to define a
type (Ref2) to a property (Ref1) that has already been defined; and b) to define
an instance (Ref1) of a class.
a) The maker is a winery.
b) W1 is a wine.
— The differentiation between the two intentions will be done by using the
structure of the reference Ref1. In type a sentences the defining article “the”
will be used as a anaphoric determiner [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], that is, with the purpose of making
reference to an entity of the discourse that has already been defined in the
ontology. Thus, every time Ref1 is a defined reference, we are defining a type
for a property that already exists in the ontology; otherwise, we will be
introducing a new instance of a class in the ontology. Sentences of the type a
are normally used after a definition of a property, using the sentences of type
2, 4, 5, 6, 7, 8, 9 or 12.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. The Automatic Mapping of the Proposed Language to the OWL</title>
      <p>
        The mapping of the CNL proposed here for a KRT begins by the implementation of a
parser for this language. One of the main points in this task is the process of anaphor
resolution. To solve the anaphors correctly, we have to consider the set of sentences
that composes our codified description as a discourse in which one sentence can
reference entities that have been introduced in previous sentences. We adopt as an
intermediate discourse representation schema the Discourse Representation Theory
(DRT) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], a different representation for the first order logic that deal with
discourses and offers methods for anaphors and presuppositions resolution in a
sufficiently attractive way. For the parser implementation, we used a parser (in Prolog
language) for a wide subset of the English grammar developed by Blackburn e Bos
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. That parser maps NL to Discourse Representation Structures (DRSs), solve the
anaphors and ellipsis and deals with presuppositions naturally.
      </p>
      <p>
        We decide to use the OWL as the formal language for ontology building mainly
because it has become a standard in Semantic Web. Moreover, there are good
reasoners available to it like RACER2 and PELLET3. The OWL language [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] has
ways to represent semantics about a domain and also to make this representation
available to be processed by means of software applications. OWL entails three
sublanguages which combine a balance between expressiveness and efficient
reasoning — OWL Full, OWL DL and OWL Lite. In our research, we chose OWL
DL as the KRT to which the language we propose is mapped.
      </p>
      <p>
        Mapping the sentences first to DRSs results in a good advantage because from
there we can map them for different KRTs, only mapping a formal language (the
DRS) to another formal language (a KRT). This is simpler than working with CNL.
Thus, after the text in CNL is processed by the parser, the resulting DRSs are
processed by an algorithm that maps them to OWL. Although we choose OWL-DL,
from the three sublanguages of OWL, our proposed language does not deal with:
some characteristics of RDF Schema (rdfs:subPropertyOf, rdfs:domain,
DifferentFrom, AllDifferent); some characteristics of properties (InverseOf,
TransitiveProperty, SymmetricProperty, FunctionalProperty,
InverseFunctionalProperty); some axioms of class (disjointWith), and some boolean
combinations for the description class (unionOf, complementOf, intersectionOf). This
happens because we are trying to find simple and natural sentences that can represent
these OWL constructors in CNL. Other researches with similar aims have had the
same problems [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. However, some constructors like boolean combinations should
be deal with in the next version of the proposed CNL.
      </p>
      <p>Now, we present, as examples, the mapping of two metalanguage sentences to the
resulting OWL code. We chose to use example sentences instead of generic sentences
to facilitate the understanding. The underlined elements are elements that are being
introduced in the ontology and, therefore, do not belong to the lexicon yet.</p>
      <p>Example 1: Sentences of type 4 used for the definition of a class by means of a
property restriction.</p>
      <p>•</p>
      <p>A wine has at least one maker that must be a winery.</p>
      <p>Resulting OWL mapping:
&lt;owl:Class rdf:ID="Wine"&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="#hasMaker"/&gt;
&lt;owl:someValuesFrom rdf:resource="#Winery"/&gt;
&lt;/owl:Restriction&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:ObjectProperty rdf:ID="hasMaker"&gt;
&lt;rdfs:domain rdf:resource="#Wine"&gt;
2 http://www.racer-systems.com/
3 http://www.mindswap.org/2003/pellet/
&lt;rdfs:range rdf:resource="#Winery"&gt;
&lt;/owl:ObjectProperty&gt;</p>
      <sec id="sec-3-1">
        <title>Example 2:</title>
      </sec>
      <sec id="sec-3-2">
        <title>Sentences of type 13 used for the definition of a type to a property.</title>
        <p>a) The maker is a winery.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Resulting OWL mapping:</title>
        <p>&lt;owl:ObjectProperty rdf:ID="hasMaker"&gt;</p>
        <p>&lt;rdfs:range rdf:resource="#Winery"4&gt;
&lt;/owl:ObjectProperty&gt;
b)</p>
        <p>W1 is a wine.</p>
        <p>Resulting OWL mapping:
&lt;Wine rdf:ID="W1" /&gt;
&lt;owl:AllDifferent&gt;
&lt;owl:distinctMembers rdf:parseType="Collection"&gt;
&lt;Class rdf:about="#Instance"/&gt;◊
&lt;/owl:distinctMembers&gt;
&lt;/owl:AllDifferent&gt;</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. The Ontology Editing Environment</title>
      <p>
        As we mentioned before, we believe domain experts will have less difficulties to
express their knowledge by means of a controlled natural language than if they have
to do it using a KRT. In order to assist the interaction between experts and the
knowledge base even further, we propose the use of a process-driven editor, which
suggests a sequence of actions to the building of ontologies and, at the same time,
filters the sentences, from the metalanguage sublanguage, that are valid in the current
situation and the sentence elements which must be used in each step of the process.
This editor is an adaptation of Godoi [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and Oliveira’s [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] work.
      </p>
      <p>The editor we propose is formed by an editing area — in which the text which
represents the ontology is written; an area which represents the ontology building
process (that is implemented as a hierarchical state machine) and indicates the phase
of the process the user is in; and an explanation area which can, for example, show
users the meaning of the sentence which is being written for the ontology. Fig. 1
shows the editor’s interface.</p>
      <p>In the text area, users can use the right button of the mouse and may choose from a
list of templates, which represent the sentences which are currently possible to be
used to edit the ontology. The main advantage of using templates is that users do not
4 If this name was a datatype, we would define a DatatypeProperty. But as we are considering
that it is the name of a previously defined ontology class, we define an ObjectProperty.
◊ This clause will be repeated for each instance defined in the ontology.
need to learn all the details of the specification language. The editor makes the
templates of permitted sentences in the language available and the users choose the
one they want. From this point onwards, the references of this sentence can be filled
in so that it is actually processed by the parser. At this stage, the editor has an intense
interaction with the knowledge base, because according to the sentence which is
chosen by the user, the base needs to be consulted and the elements which can be used
by the user to fulfill the references must be made available by means of pop-up
menus. This approach prevents users from making common mistakes as, for example,
using the name of a non-existent class, or using the name of a class instead of a
property. Besides that, we can pre-process the DRSs which correspond to each of the
templates, lowering the processing which is necessary to map the sentences to OWL.
Thus, the DRSs would only be used to solve anaphors and presuppositions.</p>
      <p>The templates which are available in this editor correspond to the sentences which
are part of the proposed metalanguage sublanguage. However, instead of using the
elements “Ref”, as a name for the references, we use the ontology elements which are
expected in each of them (e.g. concept, property, types, values, etc.), so that users can
understand them more easily.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Results and Conclusions</title>
      <p>
        The ontology editors we know of are mostly aimed at being used by knowledge
engineers, or experts with some experience in the ontology building area. As shown
by Pérez [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], they usually use the KRT in which the ontology will be codified,
besides graphic resources which are made available by the editor as a means of
communication between the tool and its user. This type of communication is not
efficient for our purposes, as our idea is to allow domain experts to use the tool in
order to place their knowledge in the system directly and they frequently have no
knowledge of a KRT.
      </p>
      <p>
        Other researches have the same or a similar aim as ours. The Attempto project [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
presents an approach which is similar to ours. It also makes use of a CNL, called
ACE, as an interface to knowledge representation. It is an incremental project that
was originally defined to create software requirement specifications and has evolved
to be applied to represent general knowledge as well. The Schwitter’s [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] approach,
which is derived from the Attempto project, also makes use of a CNL as an interface
between the user and the KRT. In this approach, users begin by entering the text and
the editor suggests the syntactic structures which should come next, keeping the
controlled aspect of the language. If a sentence is not part of the lexicon, users have
the option of extending it, by means of a lexical editor. Ambiguous sentences will be
reported to users so that they can decide on the meaning of each of them. Users can
also add a word or modify the content of the lexicon using a specific interface which
requires minimal linguistic knowledge.
      </p>
      <p>
        Although the CNL proposed in this paper presents limitations if compared with
Attempto [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], we may easily broaden its expressiveness in future works. Comparing
to Schitter’s [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] work, which builds sentences in a similar way to ours, we may say
that the expressiveness of the CNL which he proposed is similar to ours. Although he
covers some OWL-DL elements which we do not, for example, sentences which
allow for the representation of the characteristics of a property (e.g., a property being
transitive, inverse or symmetrical), he does not cover other elements which we do as,
for example, the representations of the existential quantificator (some ValuesFrom),
of the equivalence of instances, of the enumeration of members of a class, and of the
cardinality restrictions. What’s more, some sentences which are proposed by
Schwitter are not very natural for a lay user as, for example, the sentence
‘ObjectProperty’ has the range ‘class’ which can be instantiated to A maker has the
range winery. In our language, the same purpose would be achieved by means of the
sentence The maker is a winery. As the property maker should have been defined
before the definition of its value range, we know that maker is a property and winery
is its range of possible values.
      </p>
      <p>As for the lexical extension issue, the editor we propose presents advantages in
relation to the proposals we have discussed above, because it allows for the automatic
inclusion of nouns, since the declaration of a new entity in the ontology is
automatically translated in the inclusion of a new noun in the lexicon. The inclusion
of elements of other parts of speech such as verbs, adjectives, etc., has not been
considered yet, but these elements can be treated in a similar way.</p>
      <p>The process-driven ontology editor we propose partially limits the users’
expression when it comes to specifying the knowledge base, making them follow a
partial sequence in order to define the elements of the ontology. This approach of
making users utilize an element which is in the pop-up menus has the following
benefits: 1) preventing experts from making mistakes which are very common such as
to refer to an element which does not yet exist in the ontology; 2) helping users to
remember the elements which have already been defined in the ontology, thus
reducing the cognitive burden on users and 3) preventing experts from making
reference to a class instead of a property, which would imply in a mistake in the
language mapping phase. Another interesting fact is that the use of templates allows
for, as a secondary effect, the pre-processing of the sentences (i.e., their pre-parsing),
making the use of an explicit parser almost unnecessary.</p>
      <p>There are other forms to implement the ontology building process which reduce the
demands of ordering and give users more freedom of speech as, for example, using
late evaluation. However, the ideal balance between the potential of the user’s
freedom of speech, the cost of implementing the parser and the cognitive burden on
users can only be identified after a detailed assessment of the editor’s usability,
enlightening which approach is best.</p>
      <p>
        The proposal of an ontology building process which is associated to a specification
language represents a step forward when compared to the Attempto project and to
Schwitter’s work, as they do not consider a process like this to guide experts in this
task. Another ontology editor, called DOE (Differential Ontology Editor) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which
is aimed at knowledge engineers, suggests some steps which should be followed in
the ontology specification process. This editor requires that users define a complete
taxonomy for the elements in the ontology so that they can later define the implied
restrictions. In this sense, our process is more flexible. If users find it necessary to
define a subclass, and soon after, want to define its properties, possible value range
and its restrictions as well, they can do it.
      </p>
      <p>Thus, our proposal was to make it possible for domain experts to build a
knowledge base. This proposal entailed the definition of a controlled natural
language, its mapping to a KRT and the proposal of a process-driven editor. To make
sure that the CNL we presented here is easily used and learnt by experts, we need to
carry out usability tests regarding both the language and the editor-language set,
which is a future goal of this research. Moreover, in the future, we intend to make a
comparison between our proposal and the main current ontology editors like Protegé5,
SWOOP6, etc., to make it possible to combine textual and graphical representations.
Also, if we consider the possibility of expressing procedural knowledge, we need to
broaden the set of templates which are available to the users and define a mapping to
a rule language, like SWRL. The same type of language may be used in the
specification of business rules in the web semantic, making this type of task
accessible to lay users.</p>
    </sec>
    <sec id="sec-6">
      <title>References:</title>
      <p>5 http://protege.stanford.edu
6 http://www.mindswap.org/2004/SWOOP/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>ALMEIDA</surname>
          </string-name>
          , M. B.
          <article-title>Linguagens utilizadas na construção de ontologias</article-title>
          . Available in: &lt;http://www.eci.ufmg.br/mba/p1_
          <article-title>2_2</article-title>
          .html&gt;.
          <source>On: 25 abr</source>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>ALTWARG</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2000</year>
          ).
          <article-title>Controlled languages: an introduction</article-title>
          . Macquarie University,
          <source>Graduate Program in Speech and Language Processing</source>
          . Macquarie, Available in: &lt;http://www.shlrc.mq.edu.au/masters/students/raltwarg/clwhatisa.htm&gt;.
          <source>On: 22 jun</source>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. BLACKBURN, P.; BOS,
          <string-name>
            <surname>J.</surname>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>Representation and inference for natural language: a first course in computational semantics</article-title>
          .
          <source>Universität dês Saarlandes</source>
          . V.2
          <article-title>- Working with discourse representation structure</article-title>
          . Available in: &lt;http://www.cogsci.ed.ac.uk/~jbos/comsem/book2.html&gt;.
          <source>On: 21 jul</source>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>DA</given-names>
            <surname>SILVA</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. R. P.</surname>
          </string-name>
          (
          <year>2001</year>
          )
          <article-title>Um modelo semiótico para programação por usuários finais</article-title>
          .
          <source>Tese</source>
          (Doutorado) - Departamento de Informática,
          <string-name>
            <surname>PUC-Rio</surname>
            <given-names>Janeiro</given-names>
          </string-name>
          , Rio de Janeiro.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>DOE.</surname>
          </string-name>
          <article-title>Differential ontology editor</article-title>
          . Available in: &lt;http://opales.ina.fr/public/&gt;. On:
          <volume>21</volume>
          <fpage>jun</fpage>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>ECO</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          (
          <year>1976</year>
          )
          <article-title>Theory of semiotics</article-title>
          . Bloomington: Indiana: University Press.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>FUCHS</surname>
            ,
            <given-names>N. E.</given-names>
          </string-name>
          ; SCHWERTEL,
          <string-name>
            <surname>U.</surname>
          </string-name>
          ; SCHWITTER,
          <string-name>
            <surname>R.</surname>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>Attempto Controlled English - not just another logic specification language</article-title>
          .
          <source>In: LNCS 1559</source>
          . Springer pages
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>GODOI</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>Implementação de Uma Interface para o Ambiente de Extensões para Aplicações Extensíveis</article-title>
          .
          <source>Relatório Técnico. Maringá: DIN, UEM Brasil</source>
          .
          <volume>22</volume>
          p.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. GRUBER, TOM. (
          <year>1996</year>
          )
          <article-title>What is an ontology?</article-title>
          Available in: &lt;http://www.ksl.stanford.edu/kst/what-isan-ontology.html&gt;.
          <source>On: 15 set</source>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>GUARINO</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>1995</year>
          )
          <article-title>Formal ontology, conceptual analysis and knowledge representation</article-title>
          .
          <source>International Journal of human and Computer Studies</source>
          , v.
          <volume>43</volume>
          n.
          <issue>5</issue>
          /6.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>HALL</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>1990</year>
          )
          <article-title>Seven myths of formal methods</article-title>
          .
          <source>IEEE Software</source>
          , v.
          <volume>48</volume>
          , n. 1, pgs 67-
          <fpage>79</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>HOEFLER</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>The syntax of Attempto Controlled English: an abstract grammar for ACE 4.0</article-title>
          .
          <source>Technical report</source>
          . Zürich: Department of informatics, University of Zurich, Switzerland.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>KAMP</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>1981</year>
          )
          <article-title>A theory of truth and semantic representation</article-title>
          . In: GROENENDIJK, J. et al. (Ed.).
          <source>Formal methods in the study of languages Foris</source>
          , Amsterdam: Mathematisch Centrum.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>KNUMBLAUCH</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>Editing OWL ontologies with Protégé</article-title>
          . Stanford University. Available in: &lt;http://protege.stanford.edu/plugins/owl/publications/2004-07-06-OWLTutorial.ppt&gt; On:
          <volume>24</volume>
          <fpage>fev</fpage>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>LYONS</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1981</year>
          )
          <article-title>Language and Linguistics: an introduction</article-title>
          . Cambridge, UK: Cambridge University Press.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>MCGUINESS</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>HARMELEN</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2003</year>
          )
          <article-title>OWL web ontology language - overview</article-title>
          . Available in:&lt;http:www.w3.org/TR/2003/PR-owl-features-
          <volume>20031215</volume>
          &gt;, On:
          <volume>10</volume>
          <fpage>jan</fpage>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>OLIVEIRA</surname>
            ,
            <given-names>E. M.</given-names>
          </string-name>
          (
          <year>2004</year>
          ) Integração e Implementação de um Ambiente de Extensão para Aplicações Extensíveis.
          <volume>51</volume>
          f. Monografia de Graduação - DIN, UEM, Maringá, jan.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>PÉREZ</surname>
            ,
            <given-names>A. G.</given-names>
          </string-name>
          et al. (
          <year>2002</year>
          )
          <article-title>A survey on ontology tools</article-title>
          .
          <source>OntoWeb</source>
          . Available in: &lt;http://ontoweb.aifb.uni-karlsruhe.de/About/Deliverables/D13_
          <fpage>v1</fpage>
          -
          <lpage>0</lpage>
          .zip&gt;.
          <source>On: 23 jun</source>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>PEIRCE</surname>
            , C.S. Collected papers. Cambridge: Ma. Harvard University Press. (Excerpted in
            <given-names>BUCHLER</given-names>
          </string-name>
          , J., ed.,
          <source>Philosophical Writings of Peirce</source>
          . New York: Dover,
          <year>1955</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>PULMAN</surname>
            ,
            <given-names>S.G.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>Controlled Language and Knowledge Representation</article-title>
          .
          <source>In: Proceedings of International Workshop on Controlled Language Applications</source>
          ,
          <volume>1</volume>
          ., Belgium.
          <source>Belgium: Katholieke Universiteit Leuven</source>
          . pages
          <fpage>233</fpage>
          -
          <lpage>242</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>QUIRK</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1972</year>
          ) et al.
          <article-title>A grammar of contemporary English</article-title>
          . 1st ed. Essex, UK: Longman Group.
          <source>ISBN 0 582 52444 X.</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. SCHWITTER R.
          <article-title>(2005) Controlled natural language as interface language to the semantic web</article-title>
          . Sydney,
          <article-title>Australia: Centre for Language Technology Macquarie Universit</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>SCHWITTER</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>Representing knowledge in controlled natural language: a case study</article-title>
          . In: NEGOITA,
          <string-name>
            <surname>M. G.; HOWLETT</surname>
          </string-name>
          ,
          <string-name>
            <surname>R. J.; JAIN</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. C.</surname>
          </string-name>
          (Ed.).
          <article-title>Knowledge-based intelligent information and engineering systems</article-title>
          .
          <source>In: Proceedings of international conference, KES</source>
          , 8. Wellington., New Zealand, pages
          <fpage>711</fpage>
          -
          <lpage>717</lpage>
          , Sep.
          <year>2004</year>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Springer</surname>
            <given-names>LNAI</given-names>
          </string-name>
          3213.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>KAAREL KALJURAND and NORBERT E. FUCHS</surname>
          </string-name>
          .
          <article-title>Bidirectional mapping between OWL DL and Attempto Controlled English</article-title>
          .
          <source>In Fourth Workshop on Principles and Practice of Semantic Web Reasoning</source>
          , Budva, Montenegro,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>