Prev Next Up Home Keys Figs Search New

HPSG in Prolog

Appeared in Volume 8/3, August 1995

Keywords: grammars.

tg@arbuckle.sfs.nphil.uni-tuebingen.de
Thilo Goetz
28th December 1994

schwitter@ifi.unizh.ch wrote:

I would appreciate some information about HPSG (Head-Driven Phrase Structure Grammar) implementations in Prolog.

There is quite a number of HPSG implementations around. A better place to ask for this would probably be comp.ai.nat-lang. Anyway, here is a selection:

ALE (Attribute Logic Engine) developped at CMU by Bob Carpenter and Gerald Penn. Freely available, runs under Sicstus and Quintus, comes with a manual and some example grammars.

Troll (Type resolution system) developped at the Univ. of Tuebingen. Slightly different logic to ALE and runs under Quintus only. Includes an HPSG fragment of German. Anonymous FTP from:
ftp://ftp.sfs.nphil.uni-tuebingen.de/SFB/troll/troll.tar.gz

Both systems use a PATR-like architecture, i.e. phrase structure rules plus typed feature logic constraints.

Christian_Werner-Meier@mac.fido.de
Christian Werner-Meier
28th December 1994

I'm working on a HPSG Implementation in Prolog, but haven't finished it as yet.

There is an implementation by Zajac and Emele at the Univ. of Stuttgart in Common Lisp tfs@ims.uni-stuttgart.de.

Also worth a mention is an implementation of CPSG (which is a further refinement of HPSG, including features of the Situation Semantics) by Richard Cooper (r.cooper@psychol.ucl.ac.uk).

tsuda@icot.or.jp
Hiroshi Tsuda
5th January 1995

We developed a constraint logic programming language called cu-Prolog to implement constraint-based grammar formalisms, especially JPSG (Japanese Phrase Structure Grammar; HPSG-style grammar for Japanese). cu-Prolog allows user-defined Prolog predicates as constraints, and PSTs (partially-specified term) to describe feature structures.

Phrase structure rules and several grammatical principles (constraints) are encoded as:

psr(Mothter, Daughter, Head);
 head_feature_principle(Mothter, Daughter, Head),
 subcat_feature_principle(Mothter, Daughter, Head), ...
head_feature_principle/3 and so on are user-defined predicates as constraints in cu-Prolog. They are solved with unfold/fold transformations dynamically.

PSTs are terms with following forms (attribute/value pairs):

{pos/v, subcat/[{pos/n,sem/X}], sem/run(X)}

cu-Prolog can be used also as a free DEC10-like Prolog interpreter. A UNIX version of cu-Prolog (with sample JPSG and HPSG grammars) is registered as ICOT Free Software (IFS), and available from ftp.icot.or.jp. cu-Prolog has also been ported to MS-DOS and Macintosh.

stefan@compling.hu-berlin.de
Stefan Mueller
4th January 1995

In the past year, I have been working on an HPSG-fragment for German. I am using an augmentation of PATR-II which I developed to unify the advantages of term and graph unification. Together with 'partial execution' and this augmentation of PATR-II (type skeletons) it is possible to implement quite fast systems.

The PATR-II augmentation is described in my Prolog lecture notes:
http://www.compling.hu-berlin.de/~stefan/PS/prolog.ps.gz
The lecture notes are in German.

You will find more information about the Babel-System under:
http://www.compling.hu-berlin.de/~stefan/Babel/

A runtime version of the program is availible from:
http://www.compling.hu-berlin.de/~stefan/Babel/Runtime/
It should run on all SUN-machines.

There is also a Web-Interface, which accepts typed German sentences and returns the analyses:
http://www.compling.hu-berlin.de/~stefan/Babel/Interaktiv/

Prev Next Up Home Keys Figs Search New