LINK-GRAMMAR(1)LINK-GRAMMAR(1)NAMElink-parser - parses natural language sentences
SYNOPSISlink-parser--help
link-parser--version
link-parser [language|dict_location] [-<special "!" command>]
DESCRIPTIONlink-parser is the command-line wrapper to the link-grammar natural
language parsing library. This library will parse English language
sentences, generating linkage trees showing relationships between the
subject, the verb, and various adjectives, adverbs, etc. in the sen‐
tence.
EXAMPLElink-parser
Starts the parser interactive shell. Enter any sentence to
parse:
linkparser> Reading a man page is informative.
Found 4 linkages (4 had no P.P. violations)
Linkage 1, cost vector = (UNUSED=0 DIS=0 FAT=0 AND=0 LEN=12)
+------------------------Xp-----------------------+
| +---------Ss*g---------+ |
| +-------Os-------+ | |
| | +----Ds----+ | |
+----Wd---+ | +--AN--+ +---Pa---+ |
| | | | | | | |
LEFT-WALL reading.g a man.n page.n is.v informative.a .
BACKGROUND
The link-arser command-line tool is useful for general exploration and
use, although it is presumed that, for the parsing of large quantities
of text, a custom application, making use of the link-grammar library,
will be written. Several such applications are described on the link-
grammar web page; these include the Abiword grammar checker, and the
RelEx semantic relation extractor.
The theory of link-grammar is explained in many academic papers. In
the first of these, Daniel Sleator and Davy Temperly, "Parsing English
with a Link Grammar" (1991), the authors defined a new formal grammati‐
cal system called a "link grammar". A sequence of words is in the lan‐
guage of a link grammar if there is a way to draw "links" between words
in such a way that the local requirements of each word are satisfied,
the links do not cross, and the words form a consistent connected
graph. The authors encoded English grammar into such a system, and
wrote link-parser to parse English using this grammar.
The engine that performs the parsing is seperate from the dictionaries
describing a language. Currently, the most fully developed, complete
dictionaries are for the English language, although experimental,
incomplete dictionaries exist for German, Russian and French.
OVERVIEW
link-parser, when invoked manually, starts an interactive shell, taking
control of the terminal. Any lines begining with an exclamation mark
are assumed to be a "special command"; these are described below. The
command !help will provide more info; the command !var will print all
of the special commands. These are also called "variables", as almost
all commands have a value associated with them: the command typically
enable or disable some function, or they alter some multi-valued set‐
ting.
All other input is treated as a single, English-language sentence; it
is parsed, and the result of the parse is printed. The variables con‐
trol what is printed: By default, an ASCII-graphics linkage is
printed, although post-script output is also possible. The printing of
the constituent tree can also be enabled. Other output controls include
the printing of disjuncts, word senses, and union linkages.
In order to analyze sentences, link-parser depends on a link-grammar
dictionary. This contains lists of words and associated metadata about
their grammatical properties. An English language dictionary is pro‐
vided by default. If other language dictionaries are installed in the
default search locations, these may be explicitly spcified by means of
a 2-letter ISO language code: so, for example:
link-parser de
will start the parser shell with the German dictionary.
Alternately, the dictionary location can be specified explicitly with
either an absolute or a relative file path; so, for example:
link-parser /usr/share/link-grammar/en
will run link-parser using the English dictionary located in the typi‐
cal install directory.
link-parser can also be used non-interactively, either through its API,
or via the -batch option. When used with the -batch option,
link-parser reads from standard input, generating output to standard
out. So, for example:
cat thesis.txt | link-parser-batch
Note that using the -batch option disables the usual ASCII-graphics
linkage printing. This may be re-enabled via a special command; spe‐
cial commands may be interspersed with the input.
Alternately, an input file may be specified with the !file special com‐
mand, described below.
OPTIONS--help Print usage and exit.
--version
Print version number and exit.
Special ! options
The special "!" options can be specified either on the command-line, on
startup, or set and toggled within the interactive shell itself. The
full option name does not need to be used; only enough letters to make
the option unique must be specified.
Boolean variables may be toggled simply by giving the !varname, for
example, !batch. Setting other variables require using an equals sign:
!varname=value, for example, !width=100.
The !help command will print general help, and the !var command will
print all of the current variable settings. The !file command will
read input from a file. The !file command is not a variable; it cannot
be set. It can be used repeatedly.
The dictionary entry for any given word may be examined by preceeding
it with two exclamation marks.
-bad Enable display of bad linkages.
-batch Enable batch mode.
-cluster
Use clusters to loosen parsing.
-constituents
Generate constituent output.
-cost-model
Cost model used for ranking.
-cost-max
Largest cost to be considered.
-disjuncts
Display of disjuncts used.
-echo Echo input sentence.
-graphics
Enable graphical display of linkage.
-islands-ok
Use null-linked islands.
-limit Limit the maximum linkages processed.
-links Enable display of complete link data.
-max-length
Set maximum sentence length.
-memory
Set maximum memory usage allowed.
-null Allow null links.
-null-block
Size of blocks with null count 1.
-panic Use "panic mode" if a parse cannot be quickly found.
-postscript
Generate postscript output.
-senses
Display word senses.
-short Max length of short links.
-spell Use spell-guesser for unknown words.
-timeout
Abort parsing after this many seconds.
-union Display of 'union' linkage.
-use-fat
Use fat links when parsing (deprecated).
-verbosity
Level of detail in output.
-walls Display wall words.
-width The width of the display.
SEE ALSO
Information on the shared-library API and the link types used in the
parse is avavailable at the Abiword website at
http://www.abisource.com/projects/link-grammar/
Peer-reviewed papers explaining link-parser can be found at the origi‐
nal CMU site at http://www.link.cs.cmu.edu/link/papers/index.html.
AUTHORlink-parser was written by Daniel Sleator <sleator@cs.cmu.edu>, Davy
Temperley <dtemp@theory.esm.rochester.edu>, and John Lafferty
<lafferty@cs.cmu.edu>
This manual page was written by Ken Bloom <kbloom@gmail.com>, for the
Debian project, and updated by Linas Vepstas <linasvepstas@gmail.com>.
April 16, 2012 LINK-GRAMMAR(1)