W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2006

Re: OWL "Sydney Syntax", structured english

From: Adrian Walker <adriandwalker@gmail.com>
Date: Sun, 3 Dec 2006 15:01:45 -0500
Message-ID: <1e89d6a40612031201h34124451x288e76f8bbe61903@mail.gmail.com>
To: "Kaarel Kaljurand" <kaljurand@gmail.com>
Cc: public-owl-dev@w3.org
Hi Kaarel --

Thanks for your note, and for taking the time to try out the Internet
Business Logic system.

You wrote ...

ACE can't handle unrestricted English, in this sense it doesn't scale.
Regarding the content of your example [1], I think ACE can express all of
it, apart from the computations (i.e. things like a + b = c).

Could you expand a bit on what 'express' means?    Does ACE map to a subset
of logic that is decidable, so that one can actually run the example?

I think that having a real grammar is important. Support for things like
verb phrase negation, quantifiers "every" and "no", relative clauses,
etc, let you write nice and compact sentences. It's important at least for
verbalization.
Also, you get a notion of syntactic variety which you can use in
paraphrasing, e.g. you can paraphrase if-then sentences as every-sentences
and relative clauses as full clauses (without leaving the language).

Yes, learning-by-doing is certainly good in many user interface situations.
But here's another question.  Suppose I need to communicate a result to the
users of the system something like

     so far as is known at 0500 GMT on 20061203 there is no evidence that J
is a terrorist

Is it possible to input  the necessary knowledge, make the deductions, and
get an output like that, all via controlled English?  Over many examples,
without excessive dictionary and grammar maintenance?

I played with the Internet Business Logic. The idea is elegant. But is
it useful?  Have you done studies showing that people prefer IBL to, say,
Prolog.

Thanks for saying the idea is elegant.  Hopefully, studies such as [1,2,3]
are building evidence that it is also useful.  The idea is that people who
don't know how to program in Prolog (or any other language) can write and
run these kinds of examples.  To that end, the encapsulated inference method
is 'more declarative' [4] than that of Prolog, and there are things like
English explanations and SQL generation that Prolog does not provide.

I'm guessing that, through discussions like this, it will gradually become
clear that  controlled English is useful for some things, and uncontrolled
executable English is useful  for others.  There may even be some overlap.

                                                       Cheers,  -- Adrian


Internet Business Logic
Online at www.reengineeringllc.com
                                Shared use is free
Adrian Walker
Reengineering
Phone: USA 860 830 2085


[1]
ww.reengineeringllc.com/Oil_Industry_Supply_Chain_by_Kowalski_and_Walker.pdf

[2]   www.reengineeringllc.com/demo_agents/MedMine2.agent

[3]   www.reengineeringllc.com/demo_agents/RDFQueryLangComparison1.agent

[4]    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

On 12/1/06, Kaarel Kaljurand <kaljurand@gmail.com> wrote:
>
> Hello,
>
> On 11/30/06, Adrian Walker <adriandwalker@gmail.com> wrote:
> >
> >  That said, my misgivings about  the grammar-dictionary approach to
> > translating English into executable logic remain.
> >
> >  Your initial example works fine.  Then,  I make a minor change to
> >
> > John+likes+someone+if+that+person+owns+a+car.
> >
> >  and I get
> >
> >  <messages>
> >  <message importance="error" type="sentence" sentence="1" token=""
> > value="John likes someone if that person owns a car ." repair="This is
> the
> > first sentence that was not ACE. Please rephrase it!"/>
> >  </messages>
>
> Yes. ACE is a controlled natural language i.e. many English sentences are
> not ACE sentences. Your sentence has an
> "if" in the middle of the sentence and an anaphoric reference "that
> person",
> ACE doesn't allow those constructs.
> In ACE you'd have to use any of the following equivalent sentences:
>
> John likes everybody who owns a car.
> Everybody who owns a car is liked by John.
> If somebody owns a car then John likes him.
> If somebody X owns a car then John likes X.
>
> I agree that the error message is not particularly useful, we're working
> on it.
> (Note that some approaches, e.g. PENG use a look-ahead editor which
> blocks the user from entering syntactically illegal texts.)
>
> >  So, are you optimistic that this would scale up to, say, inputting the
> > knowledge for the example in [1]?
>
> ACE can't handle unrestricted English, in this sense it doesn't scale.
> Regarding the content of your example, I think ACE can express all of
> it, apart from the computations (i.e. things like a + b = c).
>
> >  If not, are there other kinds of tasks where the approach will be
> valuable?
>
> Earlier I described a scenario in which  a user verbalizes an existing OWL
> ontology and modifies it in the "ACE mode". It's harder to violate the
> ACE syntax
> in this scenario as you're working with an existing text which shows you
> how
> sentences are phrased.
>
> I think that having a real grammar is important. Support for things like
> verb phrase negation, quantifiers "every" and "no", relative clauses,
> etc, let you write
> nice and compact sentences. It's important at least for verbalization.
> Also, you get a notion of syntactic variety which you can use in
> paraphrasing, e.g.
> you can paraphrase if-then sentences as every-sentences and relative
> clauses
> as full clauses (without leaving the language). If the paraphrase matches
> the
> user's intention then he gets a feeling that things are under control.
>
> I played with the Internet Business Logic. The idea is elegant. But is
> it useful?
> Have you done studies showing that people prefer IBL to, say,  Prolog.
>
> --
> kaarel
>
Received on Sunday, 3 December 2006 20:01:58 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:54 GMT