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