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