File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/intro/95/e95-1025_intro.xml
Size: 6,524 bytes
Last Modified: 2025-10-06 14:05:51
<?xml version="1.0" standalone="yes"?> <Paper uid="E95-1025"> <Title>ProFIT: Prolog with Features, Inheritance and Templates</Title> <Section position="2" start_page="0" end_page="180" type="intro"> <SectionTitle> 1 Introduction </SectionTitle> <Paragraph position="0"> There are two key ingredients for building an NLP system: * a linguistic description * a processing model (parser, generator etc.) In the past decade, there have been diverging trends in the area of linguistic descriptions and in the area of processing models. Most large-scale linguistic descriptions make use of sorted feature formalisms, 1 but implementations of these formalisms are in general too slow for building practically usable NLP systems. Most of the progress in constructing efficient parsers and generators has been based on logic grammars that make use 1Sorted feature structures are sometimes referred to as typed feature structures, e.g. in Carpenter's &quot;Logic of Typed Feature Structures.&quot; We follow the usage in Logic Programming and the recent HPSG literature.</Paragraph> <Paragraph position="1"> of ordinary prblog terms. We provide a general tool that brings together these developments by compiling sorted feature terms into a Prolog term representation, so that techniques from logic programming and logic grammars can be used to provide efficient processing models for sorted feature grammars.</Paragraph> <Paragraph position="2"> In this introductory section, we discuss the advantages of sorted feature formalisms, and of the logic grammar paradigm, and show how the two developments can be combined. The following sections describe the ProFIT language which provides sorted feature terms for Prolog, and its implementation. null</Paragraph> <Section position="1" start_page="0" end_page="180" type="sub_section"> <SectionTitle> 1.1 Grammar Development in Sorted Feature Formalisms </SectionTitle> <Paragraph position="0"> Sorted feature formalisms are often used for the development of large-coverage grammars, because they are very well suited for a structured description of complex linguistic data. Sorted feature terms have several advantages over Prolog terms as a representation langauge.</Paragraph> <Paragraph position="1"> 1. They provide a compact notation. Features that are not instantiated can be omitted; there is no need for anonymous variables.</Paragraph> <Paragraph position="2"> 2. Features names are mnemonic, argument positions are not.</Paragraph> <Paragraph position="3"> 3. Adding a new feature to a sort requires one change in a declaration, whereas adding an argument to a Prolog functor requires changes (mostly insertion of anonymous variables) to every occurence of the functor. 4. Specification of the subsort relationship is more convenient than constructing Prolog terms which mirror these subsumption relationships. null Implementations of sorted feature formalisms such as TDL (Krieger and Sch~ifer, 1994), ALE (Carpenter, 1993), CUF (DSrre and Dorna, 1993), TFS (Emele and Zajac, 1990) and others have been used successfully for the development and testing of large grammars and lexicons, but they may be too slow for actual use in applications because they are generally built on top of Prolog or LISP, and can therefore not be as efficient as the built-in unification of Prolog. There are a few logic programming langauges, such as LIFE (Ait-Kaci and Lincoln, 1989) or Oz (Smolka et al., 1995), that provide sorted feature terms, but no commercial implementations of these languages with efficient compilers are yet available.</Paragraph> </Section> <Section position="2" start_page="180" end_page="180" type="sub_section"> <SectionTitle> 1.2 Efficient Processing based on Logic Grammars </SectionTitle> <Paragraph position="0"> Much work on efficient processing algorithms has been done in the logic grammar framework. This includes work on * Compiling grammars into efficient parsers and generators: compilation of DCGs into (top-down) Prolog programs, left-corner parsers (BUP), LR parsers, head-corner parsers, and semantic-head driven generators. null * Use of recta-programming for self-monitoring to ensure generation of unambiguous utterances (Neumann and van Noord, 1992) * Work in the area of Explanation-Based Learning (EBL) to learn frequently used' structures (Samuelsson, 1994) * Tabulation techniques, from the use of well-formed substring tables to the latest developments in Earley deduction, and memoing techniques for logic programming (Neumann, 1994) * Work based on Constraint Logic Programming (CLP) to provide processing models for principle-based grammars (Matiasek, 1994) * Using coroutining (dif, freeze etc.) to provide more efficient processing models * Partial deduction techniques to produce more efficient grammars * Using Prolog and its indexing facilities to build up a lexicon database Since much of this work involves compilation of grammars into Prolog programs, such programs can immediately benefit from any improvements in Prolog compilers (for example the tabulation provided by XSB Prolog can provide a more efficient implementation of charts) which makes the grammars more usable for NLP systems.</Paragraph> </Section> <Section position="3" start_page="180" end_page="180" type="sub_section"> <SectionTitle> 1.3 Combining Logic Grammars and Sorted Feature Formalisms </SectionTitle> <Paragraph position="0"> It has been noted that first-order Prolog terms provide the equivalent expressive power as sorted feature terms (Mellish, 1992). For example, Carpenter's typed feature structures (Carpenter, 1992) can easily be represented as Prolog terms, if the restriction is given up that the sort hierarchy be a bounded complete partial order.</Paragraph> <Paragraph position="1"> Such compilation of sorted feature terms into Prolog terms has been successfully used in the Core Language Engine (CLE) (Alshawi, 1991) and in the Advanced Linguistic Engineering Platform (ALEP), (Alshawi et al., 1991). 2 ProFIT extends the compilation techniques of these systems through the handling of multi-dimensional inheritance (Erbach, 1994), and makes them generally available for a wide range of applications by translating programs (or grammars) with sorted feature terms into Prolog programs.</Paragraph> <Paragraph position="2"> ProFIT is not a grammar formalism, but rather extends any grammar formalism in the logic grammar tradition with the expressive power of sorted feature terms.</Paragraph> </Section> </Section> class="xml-element"></Paper>