[Top] [All Lists]

Re: [ontolog-forum] Fwd: Re: Using controlled natural languages for onto

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Sat, 12 Mar 2011 14:26:13 -0500
Message-id: <4D7BC8D5.6080301@xxxxxxxxxxx>
Ferenc, Adrian, David, and Rich,    (01)

> So the term [ontology] was snatched and made ambiguous by retaining
> its original meaning of being the inventory of what exists...    (02)

There are as many different definitions of the word 'ontology'
as there are people who use it.  That is typical of most words
in any natural language.  That ambiguity is not "inherent" in NLs,
but it is the result of using NLs by an open-ended community of
people with different backgrounds, needs, interests, and goals.    (03)

My recommendation for NLP is to use loosely defined lexical resources,
such as WordNet during the parsing stage.  And for the semantics, I
recommend domain-dependent ontologies.  I do not believe that a broad-
coverage detailed ontology of everything is possible or desirable.    (04)

The best that can be done is a loose hierarchy of terminologies
for broad coverage.  The detailed axioms are always domain and
context dependent (e.g., microtheories in Cyc).    (05)

> For example, if we can provide tools that gather the documentation
> during the implementation, we can ensure that they are always in sync.
> That is why controlled natural languages for *output* can often be
> far more important than CNLs for input.    (06)

> We can indeed provide such a tool, and the English can optionally
> be open, rather than controlled vocabulary.    (07)

I very strongly agree.    (08)

For CLCE, we use a broad coverage dictionary mainly for the syntax
of common words.  If the dictionary says that 'open' can be used
as a verb or an adjective, we use syntax to check its part of speech.
But the detailed definition and its mapping to and from any kind
of software is *always* the option of the user.    (09)

> Strong agreement [with quotation by JFS above].
> But so far I've not seen any (premature as it is) discussion of

Adrian's example of EE is one kind of implementation.  But I would
also cite the VivoMind example for the legacy re-engineering of
COBOL.  See slides 25 to 33 of the following presentation:    (011)

    http://www.jfsowa.com/talks/pursue.pdf    (012)

This isn't a complete solution to the documentation problem, but it
addresses one important aspect:  comparing the English documentation
to the implementation (in this case COBOL + SQL + JCL) and checking
for errors and discrepancies.    (013)

Slide 27 isn't controlled English -- it's the actual messy English
that a typical programmer writes.  Slide 29 summarizes the results.
Slides 30-32 show the kinds of discrepancies the system discovered
between the documentation and the implementation.    (014)

> Do you have a version rugged enough to use in real applications?
> If so, do you license it?  Is there an API for an interpreter
> that can resolve the semantics in terms of the problem at hand?    (015)

There are many systems that do reverse engineering of software.
The Naproche system processes English about mathematics, and such
technology could be adapted to process English about computer
hardware and software.  See http://naproche.net/    (016)

I believe that building a system that combines such tools with the
VivoMind tools and development environments such as Eclipse would
be ASMOP (A Simple Matter of Programming).  However, ASMOP just
means that it's not AI and it's not blue-sky research.  But it
does require quite a bit of applied R & D to integrate all that
technology into a shrink-wrapped package.    (017)

The example shown in slides 25 to 33 required two superprogrammers
working with research-level "consultant ware".  You can't plug
that into Eclipse and expect mere mortals to use it.    (018)

John    (019)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (020)

<Prev in Thread] Current Thread [Next in Thread>