ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Logical Language and English

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
Cc: www-rdf-rules@xxxxxx
From: Adam Pease <adampease@xxxxxxxxxxxxx>
Date: Tue, 06 Jan 2004 20:23:44 -0800
Message-id: <5.0.0.25.0.20040106195729.02546e88@xxxxxxxxxxxxxxxxxx>
Adrian,
   Thanks for the further explanations.  It sounds like an interesting and 
powerful computational system.  I'm left feeling though that the claim to 
be "English" is a quite an exaggeration. "not : customer some-cust-number 
is on the some-type plan effective some-plan-start-date" is much closer in 
my eyes to SQL or a 4GL than any human natural language, but I guess if it 
sounds ok to your customers then I shouldn't quibble!    (01)

Adam    (02)

At 10:37 PM 1/6/2004 -0500, Adrian Walker wrote:
>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    (03)

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

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