Xerox Research Centre Europe 
Copyright © 1997 Xerox Corporation. All rights reserved. 

eXperimental Finite-State Parser

Salah Aït-Mokhtar

What is XFSP?

XFSP is a simple XView interface for Finite-State Parsing developed at the Xerox European Reseach Center. It is a research tool for developing and debugging systems for light parsing based on sequential application of finite-state transducers.

As the first step towards that goal, xfsp uses the tokenize, lookup, and disamb applications to produce a tagged representation of the input text. In the second step, xfsp applies a set of transducers in an ordered sequence to assign structure to the input.

It is possible to add to or to remove networks from the cascade. The output from the last applied network is displayed in an output window. The output window is a text editor and it is possible to save or print its contents.

How to run it?

If you are a member of the cis639 group, you can launch this application with the command /pkg/cis639/bin/xfsp. You may eventually not need the specify the full directory path but is seems to be necessary for the time being (as for the other cis639 software).

Because xfsp depends on XView, you should have the following commands in your .cshrc file

    setenv OPENWINHOME /usr/openwin
    setenv LD_LIBRARY_PATH $(OPENWINHOME)/lib
If these variables are not set properly, you will get an error message about missing libraries.

The behavior of xfsp is controlled by a configuration file. The simplest way to start the program is to call it with a configuration file as the argument

    /pkg/cis639/bin/xfsp <configuration file>
xfsp interface contains two windows, one for input the other for displaying the parse results. To parse text, you can type directly into the input window or load a file of text from your directory Pressing the right mouse key in the input window brings up a directory browser for selecting the file.

If you would like to run an English demo, please copy the following files into your own directory:

You also need to copy the sources and compile the source files for the rule networks:

It is best to start /pkg/cis639/bin/xfsp from the directory that contains the files with the command

/pkg/cis639/bin/xfsp english.xfsp &
You will see the xfsp main window come up on your screen.

The xfsp window contains two panels: one for the input, labeled Current File: the other for displaying the results. You can type text into the input window or you can load a text file by clicking the rightmost mouse button inside the text window. This brings up a file selection menu. Note that you can also put a list of text files into your configuration file to load them from the "Previous Files" menu.

Click the "Parse Text" button to see the result.

A click on the "Configuration" button opens a panel that allows you to reload the configuration file and to set some options.

To remove a transducer temporarily from the cascade or to reintroduce it, select the transducer's name in the "Network Cascade" panel with the left mouse button, then click the right mouse button next to the selected item. This brings up a menu that allows you to toggle the mark between "M" (included) and "0" (not included).

The values shown for "Temporary File Directory", "Print Script", etc. come from the configuration file. You may edit them by hand and save a new configuration file.

If the option "Reload networks when modified" is checked, as shown above, xfst automatically reloads any network that has been modified since the last run.

References

Example

In this example the xfsp parser tags the input text and applies to it a sequence of transducers that builds a flat constituent structure and marks the major grammatical relations.

Original text

Tagged Representation

       A/PREP_A
       l'/DET_SG
       interprétation/NOUN_SG
       des/PREP_DE
       sentiments/NOUN_PL
       présidentiels/ADJ_PL
       s'/PC
       ajoute/VERB_P3SG
       l'/DET_SG
       atmosphère/NOUN_SG
       de/PREP_DE
       surenchère/NOUN_SG
       politique/ADJ_SG
       qui/RELPRO
       précède/VERB_P3SG
       le/DET_SG
       congrès/NOUN_INV
       du/PREP_DE
       Parti/NOUN_SG
       socialiste/ADJ_SG
       ./SENT

Assigned structure

       [VC [PP A l' interprétation PP]
           [PP des sentiments PP]
           [AP présidentiels AP]
           :v s' ajoute v: VC]
       [NP l' atmosphère NP]/<SUBJ
       [PP de surenchère PP]
       [AP politique AP]
       [VC [NP qui NP]/SUBJ
           :v précède v: VC]
       [NP le congrès NP]/OBJ
       [PP du Parti PP]
       [AP socialiste AP].

Extracted relations

       SUBJ:  [VC s' ajoute VC] <--   [NP l' atmosphère NP]

       SUBJ:  [NP qui NP] -->  [VC précède VC]

       OBJ:   [VC précède VC] <--   [NP le congrès NP]

       PADJ:  [PP A l' interprétation PP] <--  [AP présidentiels AP]

       PADJ:  [PP des sentiments PP] <--  [AP présidentiels AP]

       PADJ:  [NP l' atmosphère NP] <--  [AP politique AP]

       PADJ:  [PP de surenchère PP] <--  [AP politique AP]

       PADJ:  [NP le congrès NP] <--  [AP socialiste AP]

       PADJ:  [PP du Parti PP] <--  [AP socialiste AP]

Any questions, suggestions or comments are welcome: salah.ait-mokhtar@xrce.xerox.com