Documentation for the Programs to Manipulate the PARC 700 Dependency Bank

Organization:


Introduction

Although the dependency bank may already be in the ideal format for certain applications, we have provided two tools to manipulate them. The first is a pretty-printer to increase human-readability. The second is a structure pruner to facilitate the removal of certain features from the dependency bank.

back to top of documentation

Pretty Printer

The dependency bank structures are difficult for humans to read. We have designed an emacs display feature to view the dependency structures in a more human-friendly format. In particular, the list of features and values are redisplayed as an attribute-value matrix via an emacs command.

  1. You must have Gnu Emacs; we have not tried the program with XEmacs.
  2. Download a copy of feature-display.el.
  3. Load the file with the dependency bank structure into Emacs.
  4. Load the file feature-display.el into Emacs ("M-x load-library feature-display").
    You can add this command to your .emacs file if you want it to be loaded automatically.
  5. Invoke feature display mode on your file with "M-x feature-display-mode". If your file has the extension ".fdsc", it should be invoked automatically.
  6. There will now be a menu item "FDesc" with several commands (there are also keyboard shortcuts listed in the menu). The two main commands bring up a new window with the structure in question displayed as an attribute value matrix.
  7. Place your cursor somewhere in the dependency bank structure you wish to view and then run whichever command you wish.

To give you some idea of the display, below is one of the dependency bank structures and its corresponding attribute-value display with and without indices.

Dependency Bank Structure

sentence(
  id(wsj_2303, parc_23.6),
  date(2002.6.12),
  validators(T.H. King, J.-P. Marcotte),
sentence_form(Hooker's philosophy was to build and sell.),
structure(
  mood(be::0, indicative),
  tense(be::0, past),
  stmt_type(be::0, declarative),
  subj(be::0, philosophy::14),
  vtype(be::0, copular),
  xcomp(be::0, pro::16),
  inf_form(sell::4, to),
  subj(sell::4, pro::26),
  vtype(sell::4, main),
  proper(Hooker::7, name),
  num(Hooker::7, sg),
  pers(Hooker::7, 3),
  poss(philosophy::14, Hooker::7),
  num(philosophy::14, sg),
  pers(philosophy::14, 3),
  comp(pro::16, coord::19),
  subj(pro::16, philosophy::14),
  conj(coord::19, build::37),
  conj(coord::19, sell::4),
  coord_form(coord::19, and),
  coord_level(coord::19, VP),
  pron_type(pro::26, null),
  inf_form(build::37, to),
  subj(build::37, pro::43),
  vtype(build::37, main),
  pron_type(pro::43, null))
)

Attribute-Value Representation

Hooker's philosophy was to build and sell.

| pred `be'
| mood indicative
| stmt_type declarative
| tense past
| vtype copular
| subj	[14]| pred `philosophy'
	    | num sg
	    | pers 3
	    | poss  | pred `Hooker'
		    | num sg
		    | pers 3
		    | proper name
| xcomp	 | pred `pro'
	 | subj	 [14: philosophy]
	 | comp	 | pred `coord'
		 | coord_form and
		 | coord_level VP
		 | conj	 | pred `sell'
			 | inf_form to
			 | vtype main
			 | subj	 | pred `pro'
				 | pron_type null
		 | conj	 | pred `build'
			 | inf_form to
			 | vtype main
			 | subj	 | pred `pro'
				 | pron_type null

Attribute-Value Representation with Indices

Hooker's philosophy was to build and sell.

[0]| pred `be'
   | mood indicative
   | stmt_type declarative
   | tense past
   | vtype copular
   | subj  [14]| pred `philosophy'
	       | num sg
	       | pers 3
	       | poss  [7]| pred `Hooker'
			  | num sg
			  | pers 3
			  | proper name
   | xcomp  [16]| pred `pro'
		| subj	[14: philosophy]
		| comp	[19]| pred `coord'
			    | coord_form and
			    | coord_level VP
			    | conj  [4]| pred `sell'
				       | inf_form to
				       | vtype main
				       | subj  [26]| pred `pro'
						   | pron_type null
			    | conj  [37]| pred `build'
					| inf_form to
					| vtype main
					| subj	[43]| pred `pro'
						    | pron_type null

back to top of documentation

Structure Pruning

The dependency bank structures contain very detailed syntactic information. That is, they are not limited to basic predicate argument structure. For certain applications, it may be desirable to prune certain attributes from the dependency bank structures. In order to facilitate this, we have provided options to the emacs program to do this automatically.

  1. You must have Gnu Emacs; we have not tried the program with XEmacs. This is the same as for the pretty printer.
  2. Download a copy of feature-display.el. This is the same as for the pretty printer.
  3. Create a configuration file containing all the features you wish to keep. The default name for this configuration file is pred-arg, but other names can be used.
  4. Load the file with the dependency bank structure(s) you wish to prune into Emacs.
  5. Load the file feature-display.el into Emacs ("M-x load-library feature-display").
    You can add this command to your .emacs file if you want it to be loaded automatically. This is the same as for the pretty printer.
  6. Invoke feature display mode on your file with "M-x feature-display-mode". If your file has the extension ".fdsc", it should be invoked automatically. This is the same as for the pretty printer.
  7. There will now be a menu item "FDesc" with several commands (there are also keyboard shortcuts listed in the menu). There are two main commands for pruning dependency bank structures: one prunes just the structure that the cursor is on; the other prunes all the structures in the file.
  8. The program will prompt you for the name of the file (e.g., pred-arg) with the list of features in it.
  9. A new window will open with the pruned dependency bank structure in it. This window can then be saved and used in applications.

Consider the example specification from above which keeps the grammatical functions plus tense, passive, and num regardless of their values and adegree only when it has the values comparative and superlative. The file looked like:

(setq fdesc-features '(
"tense",
"passive",
"num",
("adegree", "comparative", "superlative")
))

If the input dependency structure was:

sentence(
  id(wsj_2303, parc_23.6),
  date(2002.6.12),
  validators(T.H. King, J.-P. Marcotte),
sentence_form(Hooker's philosophy was to build and sell.),
structure(
  mood(be::0, indicative),
  tense(be::0, past),
  stmt_type(be::0, declarative),
  subj(be::0, philosophy::14),
  vtype(be::0, copular),
  xcomp(be::0, pro::16),
  inf_form(sell::4, to),
  subj(sell::4, pro::26),
  vtype(sell::4, main),
  proper(Hooker::7, name),
  num(Hooker::7, sg),
  pers(Hooker::7, 3),
  poss(philosophy::14, Hooker::7),
  num(philosophy::14, sg),
  pers(philosophy::14, 3),
  comp(pro::16, coord::19),
  subj(pro::16, philosophy::14),
  conj(coord::19, build::37),
  conj(coord::19, sell::4),
  coord_form(coord::19, and),
  coord_level(coord::19, VP),
  pron_type(pro::26, null),
  inf_form(build::37, to),
  subj(build::37, pro::43),
  vtype(build::37, main),
  pron_type(pro::43, null))
)

The output of using M-C-t on the structure with the specified file is:

sentence(
  id(wsj_2303, parc_23.6),
  date(2002.6.12),
  validators(T.H. King, J.-P. Marcotte),
sentence_form(Hooker's philosophy was to build and sell.),
structure(
  tense(be::0, past),
  subj(be::0, philosophy::14),
  xcomp(be::0, pro::16),
  subj(sell::4, pro::26),
  num(Hooker::7, sg),
  poss(philosophy::14, Hooker::7),
  num(philosophy::14, sg),
  comp(pro::16, coord::19),
  subj(pro::16, philosophy::14),
  conj(coord::19, build::37),
  conj(coord::19, sell::4),
  subj(build::37, pro::43))
)

The new dependency structure is identical to the original one in format, but the mood, stmt_type, vtype, inf_form, proper, pers, coord_form, coord_level, and pron_type features have been removed.

back to top of documentation


Contact Information

Please send queries, comments, and suggestions to Tracy Holloway King (thking "at" parc.com /www).
The original feature-display.el program was written by Mary Dalrymple.

Last modified:
Created by: Tracy Holloway King
Maintained by: Tracy Holloway King