ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Logical Language and English

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
Cc: www-rdf-rules@xxxxxx
From: Adrian Walker <adrianw@xxxxxxxx>
Date: Tue, 06 Jan 2004 22:37:42 -0500
Message-id: <5.0.2.1.2.20040106214959.03427a50@xxxxxxxxxxxx>
Hi Adam --

Good questions (below).

The starting point for an answer is, as also written below...

 "It [the IBL] is terminating datalog with stratified negation-as-failure, plus arithmetic, plus aggregations ... [The IBL] uses an inference method based on Backchain-Iteration, as described in [3]."

That's cryptic, so, how to explain better ?   To simplify -- think of the core internal language as Horn logic plus negation-as-failure, without function symbols, supported by an interpreter radically different from that of Prolog.  Then, add automatic compilation of the Prolog syntax into SQL when needed.  The system can be run without, or with, SQL databases.

Think of the external, author- and user-level of the system as sentences, such as
 
  customer some-cust-number is on the some-type plan effective some-plan-start-date
 
that are automatically converted into and out of predicates such as p33(X,Y,Z).

The lightweight natural language aspect of the system makes an entirely non-traditional trade-off, gaining robustness and an open-ended vocabulary by doing none of the processing that CELT does. 

Thus, for example, to negate a sentence, the end-user has to write a rule such as

  not : customer some-cust-number is on the some-type plan effective some-plan-start-date
   --------------------------------------------------------------------------------------------------------------------------------
  customer some-cust-number is not on the some-type plan effective some-plan-start-date

So, in a sense, the system circumvents many of the problems that CELT tackles. 

Perhaps the best way see how this NL-simplistic approach can be useful is to actually run some of the examples in the online demo, such as SemanticResolution1, MergeOntologies1, OntologyInterop2...  To do this, simply point a browser to www.reengineeringllc.com , click on "Internet Business Logic", then on "GO" .  Then, please use the Help button on each page to see how to navigate to run the examples. 

As an additional step, you could write your own example into the browser, using jargon words and phrases not found in Wordnet and the like.  Then, you should find that you can run the example right away, without any dictionary or grammar building.

I hope this helps, and that you may have time to comment further and continue our discussion.

                                Best,  -- Adrian
           

Adrian Walker
Reengineering LLC
PO Box 1412
Bristol
CT 06011-1412 USA

Phone: USA 860 583 9677
Cell:    USA  860 830 2085
Fax:    USA  860 314 1029




At 05:03 PM 1/6/04 -0800, you wrote:

Hi Adrian,
  Thanks for your replies.  If IBL is just converting English words into SQL relations, how is it using a logical language?  You talk about using negation-as-failure, which sounds like you may be using a Prolog variant as the logical language, that gets compiled out into SQL if the interpretation is successful. Could you place your logical language in the space of named logical language types, for example, is it horn-logic, or description logic, first order logic etc. ?

I'm curious as to what sorts of logical statements are allowed. For example, if I type

"customer some-cust-number is not on the some-type plan effective some-plan-start-date"

will that be flagged as a contradiction from

"customer some-cust-number is on the some-type plan effective some-plan-start-date"

Can I type

"All cust-numbers are on the some-type plan effective some-plan-start-date"

Does IBL handle quantification which is ubiquitous in English?  Does it handle negation, agreement in number, and which various kinds of co-reference (pronouns, reference by alternate names etc).  Does it handle prepositions and prepositional phrases (if so, which ones).  If not any of the above, how does the user know what sorts of grammatical constructions are allowed?

Sorry I'm unfamiliar with this work, and it takes a while to get synced up.

Adam

At 07:15 PM 1/2/2004 -0500, Adrian Walker wrote:
Hi Adam,

Many thanks for your note, below.

I have read your paper [1].  Your CELT work goes further than anything else I have seen in the direction of using a controlled grammar and a large vocabulary together with a powerful logic engine.

However, as you point out in the paper,  "All grammars leak. No grammar can cover all of
English, and CELT is no exception".  This was also my experience in some much more modest work along the same lines as CELT.

The Internet Business Logic system [2] attempts to solve a different problem from CELT.  For the IBL, the problem is: How can we allow ordinary (non-linguist, non-programmer) people to specify requirements in English, and have a powerful engine -- linked to SQL -- meet those requirements automatically.  In this scenario, NO linguistic maintenance is allowed, yet the vocabulary and grammar must be UNlimited.

How can that be possible?  Well, the approach is entirely different, somewhat simplistic, and there is of course a trade off.  On the plus side, it's robust.

As you noted, IBL agent programs contain sentences like "customer some-cust-number is on the some-type plan effective some-plan-start-date".  That's not English as we know and love it, but it does convey more meaning to a person than p33(X,Y,Z).  So, all that the IBL does in the way of NLP is to take "sentences" like that, and automatically set up corresponding predicate names that it can reason with.  Basically a very simple idea, although the actual implementation is somewhat complicated.

So as not to confuse this with the excellent work in full NLP by yourself and others, the IBL approach is sometimes called "lightweight English".

The mapping of lightweight English sentences into predicates  (and out again) is entirely hidden from someone writing and running the sentences in a browser.  For the author-user, the system appears to be reasoning with just those sentences.  New sentences can be added at any time, and there is no control over what they contain, beyond the requirement for "some-..." placeholders for variables.  If a new rule uses a premise sentence that the IBL does not yet know about, the author-user gets a friendly warning.

I hope the above answers your detailed NLP questions, below.  If not, please let me know.

Internally, IBL inferencing is much more powerful than RDF.  It is terminating datalog with stratified negation-as-failure, plus arithmetic, plus aggregations.  Questions that do not lead to recursion are compiled into SQL (when a DBMS is present).  Questions that do  lead to recursion are interpreted, with callouts to fragments of compiled SQL for the non-recursive bits.  If the fact tables are small, the system works without SQL, and uses an inference method based on Backchain-Iteration, as described in [3].

So, where to go from here ?

One thought is that CELT and the IBL are in some sense a thesis and an antithesis about using natural language with logic.  Is it useful to think about a synthesis ?

Another thought is -- what would happen if we wrote ontologies directly in something like the IBL ?  ( There are some small, running online examples of this at www.reengineeringllc.com )

Finally, a nuts-and-bolts question please.  I see that CELT is partly implemented in SWI Prolog.  Do you by any chance know how to isolate SWI's excellent RDF parser from the rest of their system ?   I have tried this, but the parser imports modules whose source I have not been able to find.

Apologies to Peter if this discussion is drifting off-topic for the ontolog-forum.  I look forward to further discussion, either on- or off-lists.

                                Cheers,  -- Adrian

[1]  http://home.earthlink.net/~adampease/professional/Pease-NLPKE.pdf

[2]  The Internet Business Logic system.  Live, online at www.reengineeringllc.com .

[3] Towards a Practical Inference Method that is Simple Enough to be Proved Terminating, Sound and Complete. Journal of Automated Reasoning, 11:1-22 .


At 10:30 AM 1/2/04 -0800, you wrote:
Adrian,
  Thanks for clarifying.  That fact wasn't apparent from what I had read on the IBL web site.  Where does the logical language reside in the IBL system?  Is that language RDF (which has extremely limited semantics, in particular, no rules)? <http://www.reengineeringllc.com/what_is_internet_business_logic.html> talks about generating SQL from the pseudo-English statements.  There are many other questions I would have however.  Since English words are polysemous, how is disambiguation accomplished?  The grammar shown at <http://www.reengineeringllc.com/rule_examples.html> such as "customer some-cust-number is on the some-type plan effective some-plan-start-date" is certainly not grammatical English.  How does the user learn the syntax, and how is that syntax an improvement over other computer languages like SQL?  How does the user know or tell the machine what ambiguous English words mean in a detail suitable for formal inference?
  I agree completely that we need to bind English to logic.  In my own work, I've used SUMO and KIF to provide explicit semantics, a standard first order logic system for reasoning, mappings from the WordNet lexicon to SUMO to specify the connection between language and meaning, and a restricted subset of grammatical English to handle user input.  You might be interested in that work, which is described at <http://home.earthlink.net/~adampease/professional/Pease-NLPKE.pdf>.  If you have time, I'd be interested in your questions, and any thoughts you might have on how my approach would be compared with IBL, as well as responses to my questions above.

Adam

At 08:28 AM 1/2/2004 -0500, Adrian Walker wrote:
Adam --

Thanks for your comments, below.

You wrote: "...IBL as far as I can see isn't using a logical language."

The logical basis for the IBL is in Backchain Iteration: Towards a Practical Inference Method that is Simple Enough to be Proved Terminating, Sound and Complete. Journal of Automated Reasoning, 11:1-22, and in the earlier papers that it references.  There's a model/fixpoint theory, an interpreter/compiler, and proofs that the i/c implements the model theory.

So, I would argue that the  IBL is using a logical language, in quite a strong sense.  The "Semantic Web Presentation" at www.reengineeringllc.com argues further that binding English to a solid logical basis like this is going to be essential in the real world.

Of course, we would all like to see a solution to the "big AI problem" of rigorously understanding all of natural language.  The IBL FAQs mention that this is difficult.  But meanwhile, the hope is that our system provides something reliable and useful, and perhaps a pointer to new approaches to the big problem.

Thanks in advance for any further discussion.

                                Best,  -- Adrian


                                           INTERNET BUSINESS LOGIC

                                             www.reengineeringllc.com

Dr. Adrian Walker
Reengineering LLC
PO Box 1412
Bristol
CT 06011-1412 USA

Phone: USA 860 583 9677
Cell:    USA  860 830 2085
Fax:    USA  860 314 1029




At 07:29 PM 1/1/04 -0800, you wrote:
Adrian,
  Specifying rules in a natural language has long been a goal of programming language research and AI, but a very elusive one.  IBL however looks like yet another attempt to put some simple syntactic sugar on top of SQL.  This is potentially useful, but a very different issue from the need to use a formal logical language to capture semantics, rather than capturing syntax.  IBL as far as I can see isn't using a logical language.

Adam

At 09:29 PM 1/1/2004 -0500, Adrian Walker wrote:
Adam --

You wrote.... FWIW, my take is that topic maps are yet another syntax specification, lacking any logical semantics. So OWL, KIF or any other logical language is appropriate for capturing semantics (meaning), while topic maps are not. One can convert syntax and labels from one to the other, but semantics will be lost.

You may be interested in the "Semantic Web Presentation" at www.reengineeringllc.com .  It argues that there is yet another dimension to "semantics" -- namely that it's going to be necessary to use plain English computationally on top of whatever logical language is chosen.

The examples in the presentation can be run (and changed) by pointing a browser to the same site.

Hope this is of interest.     Cheers,  -- Adrian



                                           INTERNET BUSINESS LOGIC

                                             www.reengineeringllc.com

Dr. Adrian Walker
Reengineering LLC
PO Box 1412
Bristol
CT 06011-1412 USA

Phone: USA 860 583 9677
Cell:    USA  860 830 2085
Fax:    USA  860 314 1029






_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
<Prev in Thread] Current Thread [Next in Thread>