Well I would put it the other way around - a knowledge engineer
working with domain experts. I have managed to achieve some
results with this. The key is for the knowledge engineer to
recognize that they are not an expert, but that they know enough
to put forward a model which is largely complete and correct
(what the techie folks often call a "strawman"), and then
facilitate a session which involves changing that model, within
its stated formalism, until it is a complete and correct record
of the knowledge of the domain experts. (01)
For example, I just came off a session modeling loans
semantically. It turns out that if we define a loan formally as
"some amount of money extended by some party to some other party,
under agreed terms and for a given time", then some of the things
we call loans are not really this but are a commitment to make
this sort of thing available in the future under certain
conditions - a thing actually called a Credit Facility. So for
example construction loans, student loans and many mortgage
agreements are really this kind of thing and not the kind of
thing formally axiomatized as a "Loan". By presenting this in a
formal, structured, graphical way, yes it takes a while to get
every SME to fully grasp the simplicity of the underlying set
theory and the fact that this does not represent some inscrutable
technical design - but to the extent that they do understand this
and contribute, we end up with a representation of the domain
knowledge that could not have been achieved by some "hero" techie
type doing all the work. So for instance today we deleted some
terms that we have been given by some data modelers, because we
were able to identify formal meaningful terms that already
existed in the model which matched the intended meanings of those
data elements. (02)
The secret is to know just enough to present something that's
nearly right, and then come to the table with humility and
well-directed questions for the SMEs. And of course having a
model format which does not require them to learn some language. (03)
On 10/03/2011 17:21, Rich Cooper wrote:
> I have yet to see a domain expert working with a knowledge engineer who
> produces quality results. The few good examples I have seen are where the
> knowledge engineer IS a domain expert.
> Remember that in every domain, there is no Ulysses. Every expert has an
> experience that is unique, personal, and not very communicable in language.
> The domain expert doesn't have the "aha" reaction of suddenly seeing a
> simplification that the knowledge expert does.
> So I disagree with this long held, but factually incorrect, assumption.
> Rich Cooper
> Rich AT EnglishLogicKernel DOT com
> 9 4 9 \ 5 2 5 - 5 7 1 2
> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
> [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Ed Barkmeyer
> Sent: Thursday, March 10, 2011 8:58 AM
> To: [ontolog-forum]
> Subject: Re: [ontolog-forum] Using controlled natural languages for ontology
> Simon Spero wrote:
>> On Sun, Mar 6, 2011 at 11:01 PM, John F. Sowa<sowa@xxxxxxxxxxx
>> <mailto:sowa@xxxxxxxxxxx>> wrote:
>> On 3/6/2011 10:39 PM, Zhuk, Yefim wrote:
>> > I'd think of CNL as an intermediate step towards ontology...
>> It's more like an alternate notation for logic that makes comments
>> readable by both the humans and the computer.
>> A controlled natural language has a formally defined mapping to
>> and from some version of logic. Its main advantage is that
>> it can be read as if it were ordinary language.
>> There may be some small differences in ease of reading between CNL
>> and regular NL, but these do not appear to be important.
>> Tobias Kuhn (until recently a student of Norbert Fuchs) has some
>> interesting results on the understandability of controlled natural
>> language in his dissertation (see Chapter 5 in Kuhn (2010) for info).
>> Also, as part of his work on ACEWiki Tobias built a native java
>> implementation of ACE, making it easier to use without having to
>> install prolog).
>> * Tobias Kuhn. /Controlled English for Knowledge Representation/.
>> Doctoral thesis, Faculty of Economics, Business Administration
>> and Information Technology of the University of Zurich, 2010.
> In our experience the problem isn't intelligibility, unless the
> expressions become extraordinarily convoluted. The problem is that the
> average domain expert naturally _writes_ a different language and takes
> some training to learn to write the controlled language. Further, I
> would add, the domain expert is usually reluctant to 'waste his/her
> time' doing so. So the practice is still knowledge engineer working
> with domain expert to create the ontology. The primary advantage of
> using the CNL as a means of expression for _most of_ the ontology is
> that it allows the domain expert to read, understand and validate that
> part. I say 'most of', because there are usually technical
> considerations in the formulation of the ontology that the domain expert
> should not be expected to understand -- that is the domain of the
> knowledge engineer.
> [Experts tend to be annoyed when the CNL interpreter complains about
> what they wrote, especially since its diagnostics only usually identify
> the syntactic point(s) at which it became confused, and its guidance for
> what might have been meant is not often helpful. The worst cases,
> however, are those in which what the expert writes is unambiguously
> parsed by the CNL intepreter, but the interpretation it makes is not at
> all what was intended. My favorite recent example was:
> The surface must be contained between two planes that are 0.25mm apart.
> The CNL interpreter understood the constraint to refer to two distinct
> instances of a class of object described as 'plane that is-apart by
> 0.25mm'! We needed to have the ontology in place to determine that that
> interpretation was not comprehensible (there is no such binary
> relation). And OBTW, the correct expression of that rule in the CNL was
> 'extraordinarily convoluted'.]
89 Worship Street
London EC2A 2BF
Tel: +44 (0) 20 7917 9522
Mob: +44 (0) 7721 420 730
Registered in England and Wales No. 2461068 (06)
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
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 (07)