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: Fri, 02 Jan 2004 19:15:12 -0500
Message-id: <5.0.2.1.2.20040102180400.02d25680@xxxxxxxxxxxx>
Hi Adam,    (01)

Many thanks for your note, below.    (02)

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.    (03)

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.    (04)

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.    (05)

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.    (06)

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.    (07)

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".    (08)

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.    (09)

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

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].    (011)

So, where to go from here ?    (012)

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 ?    (013)

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 )    (014)

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.    (015)

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.    (016)

                                 Cheers,  -- Adrian    (017)

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

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

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


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    (021)


_________________________________________________________________
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    (022)

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