- From: Adrian Walker <adriandwalker@gmail.com>
- Date: Thu, 30 Nov 2006 11:59:50 -0500
- To: "Pat Hayes" <phayes@ihmc.us>, public-owl-dev@w3.org
- Message-ID: <1e89d6a40611300859w43928394ta91476997067b71a@mail.gmail.com>
Pat -- You wrote... There have been several proposals for English-like syntaxes for logic, see for example John Sowa's 'structured English'. Again, one can make these look quite convincing by a deft choice of basic vocabulary, but they always become incomprehensible when one uses a slightly divergent one. The problem is that when it reads *almost* like English, any non-English constructions - nouns in place of verbs, the wrong preposition, etc., - become very intrusive and awkward. Some object-oriented programing notations claim similar transparency, and there have been proposals for English-y syntaxes for KRep notations, such as various frame-based systems which allow things like (Every Person who owns a donkey beats the donkey of self). I confess to not having citations ready for this, but such systems were developed at U. Texas, for example. Yes, there are many proposals to try to model enough of ordinary English usage to make writing and running knowledge easier than with formal notations. The underlying idea in all of these is to parse with a grammar, translate automatically to some form of logic, and to execute that. There are brave folks who also attempt the reverse translation, from logic to English. As has been pointed out many times, this approach does not seem work outside of natural language research projects. If it did work, it would surely by now be a huge commercial success. It appears to encounter several roadblocks, including the ones you mention. The fact that English is a moving target does not help. There is a different approach. The approach is lightweight, and seeks to go around the deep NL research problems involved, rather than tackling them head on. Roughly speaking, the approach is to assign an open vocabulary, open syntax string to each predicate symbol in the underlying logic. If a predicate is n-ary, the corresponding string has n place holders (or variables) such as "some-person" or "that-time". There's more to it than that, but that's the basic idea. This allows one to label predicates with strings such as so far as is known at this-time there is no evidence to suggest that this-person is a terrorist (Actually the approach starts with the string, and invents an arbitrary corresponding predicate say, p33(x,y), for computation) This lightweight approach means that there is no dictionary or grammar construction -- at least in the usual 'structured English' sense. It also means that one can use jargon, government acronyms, 'google' as a verb, and so on. Of course, this violates all sorts of expectations about how one should compute using English syntax and semantics. And it's of zero interest to NL researchers, rightly so. But, if one is willing to accept the trade off involved, it actually seems to be useful! As you may know, this is the approach taken for the author- and user-interface of the Internet Business Logic system [1]. The system is online, and shared us is free, so folks can check for themselves that they can write this kind of English to a browser, and then run it. BTW, my PHD thesis subject was Chomsky grammars, and like many other folks I have banged my head dutifully against the 'structured English' wall. Great research topic. Very hard to make it work at industrial strength. With apologies to Kendal, -- Adrian [1] Internet Business Logic (R) Executable open vocabulary English Online at www.reengineeringllc.com Shared use is free Adrian Walker Reengineering Phone: USA 860 830 2085 On 11/29/06, Pat Hayes <phayes@ihmc.us> wrote: > > > > >>FOAF, > >>>constantly made an exemplar by W3, is a bit of a mess in this regard > IMHO. > >> > >>IMO, any attempt to avoid 'mess' in your sense will be doomed to > >>failure, and is best not even attempted. It has been tried before, > >>and it has always failed. And in any case there is absolutely no need > >>to even attempt it. Nothing turns on the noun/verb distinction. > >> > >This is pretty harsh. > > Sorry. Imagine it said in a weary, resigned tone of voice, muffled > under a damp towel. > > >Can you please cite where this has "been tried before"? > > Several programming languages were based on the idea that making them > English-like would make it easier for non-geeks to write programs. > COBOL was the first, almost 40 years ago now. The general consensus > is that writing the code is about equally hard and requires training > in any case, but the longwindedness makes these languages a pain to > actually use. There have been several proposals for English-like > syntaxes for logic, see for example John Sowa's 'structured English'. > Again, one can make these look quite convincing by a deft choice of > basic vocabulary, but they always become incomprehensible when one > uses a slightly divergent one. The problem is that when it reads > *almost* like English, any non-English constructions - nouns in place > of verbs, the wrong preposition, etc., - become very intrusive and > awkward. Some object-oriented programing notations claim similar > transparency, and there have been proposals for English-y syntaxes > for KRep notations, such as various frame-based systems which allow > things like (Every Person who owns a donkey beats the donkey of > self). I confess to not having citations ready for this, but such > systems were developed at U. Texas, for example. > > Pat > > > >Thanks, > >John > > > -- > --------------------------------------------------------------------- > IHMC (850)434 8903 or (650)494 3973 home > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 cell > phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes > > >
Received on Thursday, 30 November 2006 17:00:10 UTC