[Top] [All Lists]

Re: [ontolog-forum] Summary on language and ontology

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Christopher Menzel <cmenzel@xxxxxxxx>
Date: Wed, 12 Apr 2006 11:00:17 -0500
Message-id: <BF43E5A0-1E37-468D-AD1C-76CB92FFC1A7@xxxxxxxx>
On Apr 12, 2006, at 10:00 AM, Internet Business Logic wrote:

Hi Patrick --


You wrote....

If your argument that widespread use of formal ontologies or other methods will require better interfaces for the average user, I don't think you will find much disagreement on this list or elsewhere. But, and it is an important but, unless the underlying principles which are used by such an interface can be specified and discussed with precision, then the results of any interface are not going to be particularly useful.

The key here is that if one is doing "semantics" in the real world, it is no longer enough to produce a formal notation and hope that someone will produce a non-geek-human understandable user interface to it.  That approach leaves open likely semantic disconnects between the human meaning and the system meaning.

What we have done is essentially to integrate 3 kinds of semantics in one design and system [1]:
  • Semantics1 is "Data Semantics". as in RDB, XML or RDF
I'm not sure what you mean by "RDB" in this context -- relational database?  I don't get the connection there with semantics.  Do you have the idea of a relational datamodel in mind here?  I would agree that is a kind of semantics, insofar as it specifies logical properties of, and relations among, a set of pertinent classes.  But XML is a language for markup specification, and RDF is just itself an (expressively rather weak) language.  It's hard for me to think of any sense in which these count as semantics.  
  • Semantics2 specifies what a reasoning engine should do (in our case via a model- and fixpoint-theory [2])
Ok, one uses the model theory (of which fixpoint theory is a species) to define the notion of validity with respect to which one implements a reasoning engine.  Is that what you mean?
  • Semantics3 concerns the Application Semantics in the meaning of English concepts at the author- and user-interface.
In the system, the link between Semantics3 and Semantics2 is of course automatic, and two way.  You can verify that it works by using a browser to view, run and change the examples at [3], and by writing and running your own examples.

In principle, the way that this works is by automatically mapping English sentences, with place holders (variables) for values, to- and from-  predicates.  There are some complexities our implementation of  this, but it is conceptually quite simple.   It is in no way  a contribution to research in natural language processing [4],  just a  minimalist and robust way of grounding  Semantics 1 and 2 out to  something meaningful to  nontechnical humans (Semantics3).

I appreciate what you are doing, but it's hard for me to see that you've done anything more (or less) than introduce a sort of structured English for queries rather than a more mathematical notation -- an idea that has of course been around for a long time.  But all this approach does is give logic a prettier face.  I don't want to denigrate that -- I think that is a very good thing to do.  But I think your packaging suggests you've done something more than that, that it captures "real world" semantics more effectively than more formal notations.

Sure, we all know and love our succinct logic and programming notations, but they were invented before Von Neumann, and they deliberately leave out the pragmatics of natural language.

I am not sure what you mean by the "pragmatics of natural language?" Granted that logics and programming notations are more limited than natural languages but then they never pretended to be natural languages.

BTW, historically speaking, there have been a number of logics "invented" post von Neumann.

Moreover, there weren't any programming languages at all invented before von Neumann.  Indeed, von Neumann himself only stated the basic concepts of a programming language in the abstract.



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