Provided by: link-grammar_4.7.4-2ubuntu1_amd64 

NAME
link-parser - parses natural language sentences
SYNOPSIS
link-parser [language] [-pp pp_knowledge_file] [-c constituent_knowledge_file] [-a affix_file] [-ppoff]
[-coff] [-aoff] [-batch] [-<special "!" command>]
DESCRIPTION
In Selator, D. and Temperly, D. "Parsing English with a Link Grammar" (1991), the authors defined a new
formal grammatical system called a "link grammar". A sequence of words is in the language 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.
This package can be used for linguistic parsing for information retrieval or extraction from natural
language documents. Abiword also uses it as a grammar checker.
OPTIONS
-pp pp_knowledge_file
-c constituent_knowledge_file
-a affix_file
-ppoff
-coff
-aoff
-batch
-<special ! command>
USE
link-parser, when invoked manually, will take control of the terminal; link-parser will then attempt to
analyze the grammar of all input, unless escaped with an exclamation mark, according to the dictionary
file provided as an argument. If escaped, the input will be treated as a "special command"; "!help" lists
all special commands available.
link-parser depends on a link-grammar dictionary which contains lists of words and associated metadata
about their grammatical properties in order to analyze sentences. A link-grammar dictionary provided by
the authors of link-grammar is usually included with the link-grammar package, and can often be found
somewhere in the /usr/share/link-grammar/ hierarchy. When this is the case, only the two-letter language
code needs to be specified on the command-line. Alternatively, a user can provide their own dictionary
as an argument, in which case the dictionary's directory should be specified. Hence, either of the
commands
link-parser en
link-parser /usr/share/link-grammar/en
will run link-parser using the english dictionary included with the parser.
While in a link-parser session, some example output could be:
linkparser> Reading a man page is informative.
++++Time 0.00 seconds (0.01 total)
Found 1 linkage (1 had no P.P. violations)
Unique linkage, cost vector = (UNUSED=0 DIS=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 .
A P.P. violation is a post-processing violation; it is a post-linkage step used to reject invalid parses.
The link types shown are specific to English; other langauges will have different link types.
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 passively receives input from standard input, and when the
stream finishes, it then outputs its analysis. So one could construct an ad-hoc grammar checker by piping
text through link-parser with a batch option, and seeing what sentences fail to parse as valid:
cat thesis.txt | link-parser /usr/share/link-grammar/en/4.0.dict -batch
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/dict/index.html
Peer-reviewed papers explaining link-parser can be found at the original CMU site at
http://www.link.cs.cmu.edu/link/papers/index.html.
AUTHOR
link-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 (but may be used by
others).
April 18, 2008 LINK-GRAMMAR(1)