mourad@IRO.UMontreal.CA (Shibl Mourad) (02/27/91)
I am looking for an Object Oriented Prolog to develop a Natural Languages application. Please mail me any info about the available Prologs and your critiques. I will send a suumary of the replies. Thanks. Shibl
ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (02/27/91)
In article <1991Feb26.175218.9997@IRO.UMontreal.CA>, mourad@IRO.UMontreal.CA (Shibl Mourad) writes: > I am looking for an Object Oriented Prolog to develop a Natural > Languages application. I am very interested in the application of Prolog to Natural Language processing. (I'm teaching a course on it.) Just as a matter of curiosity, why on earth do you want an *Object-Oriented* Prolog (whatever that is)? "Pure" Prolog fits rather nicely with the declarative formalisms used by linguists (and the way that a "coroutining" system like NU Prolog or SICStus lets constraints from several levels interleave can be rather useful). PATR is an example of the kind of thing I have in mind. Objects are things with state, side-effects elevated to a principle. Isn't that rather a bad fit with linguistics? -- The purpose of advertising is to destroy the freedom of the market.
ciancarini-paolo@cs.yale.edu (paolo ciancarini) (02/27/91)
In article <4835@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: >In article <1991Feb26.175218.9997@IRO.UMontreal.CA>, mourad@IRO.UMontreal.CA (Shibl Mourad) writes: >> I am looking for an Object Oriented Prolog to develop a Natural >> Languages application. > >I am very interested in the application of Prolog to Natural Language >processing. (I'm teaching a course on it.) Just as a matter of >curiosity, why on earth do you want an *Object-Oriented* Prolog >(whatever that is)? "Pure" Prolog fits rather nicely with the >declarative formalisms used by linguists (and the way that a >"coroutining" system like NU Prolog or SICStus lets constraints ================================================================ >from several levels interleave can be rather useful). PATR is an ====== >example of the kind of thing I have in mind. Objects are things with >state, side-effects elevated to a principle. Isn't that rather a bad >fit with linguistics? Just as a matter of curiosity, what is a "coroutining system" if it is not a system of things with independent states (i.e. objects) ? Paolo Ciancarini
mourad@IRO.UMontreal.CA (Shibl Mourad) (02/28/91)
In article <4835@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: >> I am looking for an Object Oriented Prolog to develop a Natural >> Languages application. > > Just as a matter of curiosity, why on earth do you want an *Object-Oriented* > Prolog (whatever that is)? The application involves information retreival through interviewing a human expert; the required information could be represented by a hierarchy of objects. On the surface it seems useful to have the advantages of Prolog for NL processing combined with an Object Oriented representation.
ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (02/28/91)
In article <29107@cs.yale.edu>, ciancarini-paolo@cs.yale.edu (paolo ciancarini) writes: > Just as a matter of curiosity, what is a "coroutining system" > if it is not a system of things with independent states (i.e. objects) ? A "coroutining" Prolog is one which is capable of executing goals out of order. That is, if we have p :- q, r. q :- a, b. r :- c, d. (ignoring parameters), then the query ?- p. may be solved in the order c, b, d, a. There is *nothing* in here corresponding to a mutable state, there are *no* objects (no notion of "object identity" is useful or definable, and without object identity you haven't got objects). In fact, coroutining Prologs encourage pure coding, because it is hard to rely on the execution order of side-effective commands like assert/1 and retract/1. -- The purpose of advertising is to destroy the freedom of the market.
ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (02/28/91)
In article <1991Feb27.223550.22645@IRO.UMontreal.CA>, mourad@IRO.UMontreal.CA (Shibl Mourad) writes: > In article <4835@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: > >> I am looking for an Object Oriented Prolog to develop a Natural > >> Languages application. > > > > Just as a matter of curiosity, why on earth do you want an *Object-Oriented* > > Prolog (whatever that is)? > > The application involves information retreival through interviewing a > human expert; the required information could be represented by a > hierarchy of objects. On the surface it seems useful to have the > advantages of Prolog for NL processing combined with an> Object Oriented > representation. You must clearly distinguish between OBJECTS and inheritance. It is possible to have objects without inheritance. It is possible to have inheritance without objects. (For example, E.F.Codd presented an extension of relational data bases having inheritance, years and years ago.) You say that "the required information could be represented by a hierarchy of objects", but what do these objects DO? How do they change? What are their side effects? What is inherited in this hierarchy? Why is a declarative formalism inappropriate? Can you say more about your application? Can you for example give a transcript of the kind of human/machine interaction you'd like to see? -- The purpose of advertising is to destroy the freedom of the market.