NAME

mootcompile - moocow's HMM part-of-speech tagger/disambiguator: model compiler.

SYNOPSIS

mootcompile [OPTIONS] MODEL

 Arguments:
    MODEL  Text-format input model.

 Options
    -h        --help                       Print help and exit.
    -V        --version                    Print version and exit.
    -cFILE    --rcfile=FILE                Read an alternate configuration file.
    -vLEVEL   --verbose=LEVEL              Verbosity level.
    -B        --no-banner                  Suppress initial banner message (implied at verbosity levels <= 2)
    -oFILE    --output=FILE                Specify output file (default=stdout).
    -zLEVEL   --compress=LEVEL             Compression level for output file.

 HMM Options
    -gBOOL    --hash-ngrams=BOOL           Whether to hash stored n-grams (default=no)
    -aLEN     --trie-depth=LEN             Maximum depth of suffix trie.
    -AFREQ    --trie-threshhold=FREQ       Frequency upper bound for trie inclusion.
              --trie-theta=FLOAT           Suffix backoff coefficient.
    -LBOOL    --use-classes=BOOL           Whether to use lexical class-probabilities.
    -FBOOL    --use-flavors=BOOL           Whether to use token 'flavor' heuristics (default=1 (true))
    -RBOOL    --relax=BOOL                 Whether to relax token-tag associability (default=1 (true))
    -NFLOATS  --nlambdas=FLOATS            N-Gram smoothing constants (default=estimate)
    -WFLOATS  --wlambdas=FLOATS            Lexical smoothing constants (default=estimate)
    -CFLOATS  --clambdas=FLOATS            Lexical-class smoothing constants (default=estimate)
    -tDOUBLE  --unknown-threshhold=DOUBLE  Freq. threshhold for 'unknown' lexical probabilities
    -TDOUBLE  --class-threshhold=DOUBLE    Freq. threshhold for 'unknown' class probabilities
    -uNAME    --unknown-token=NAME         Symbolic name of the 'unknown' token
    -UNAME    --unknown-tag=NAME           Symbolic name of the 'unknown' tag
    -eTAG     --eos-tag=TAG                Specify boundary tag (default=__$)
    -ZDOUBLE  --beam-width=DOUBLE          Specify cutoff factor for beam pruning

DESCRIPTION

moocow's HMM part-of-speech tagger/disambiguator: model compiler.

'mootcompile' compiles binary Hidden Markov Model parameter files for use with the 'moot(1)' program from one or more text model files.

See mootfiles for details on moot model file formats.

ARGUMENTS

MODEL

Text-format input model.

For details on moot file formats, see mootfiles.

OPTIONS

--help , -h

Print help and exit.

Default: '0'

--version , -V

Print version and exit.

Default: '0'

--rcfile=FILE , -cFILE

Read an alternate configuration file.

Default: 'NULL'

See also: "CONFIGURATION FILES".

--verbose=LEVEL , -vLEVEL

Verbosity level.

Default: '4'

Be more or less verbose. Recognized values are in the range 0..6:

0 (silent)

Disable all diagnostic messages.

1 (errors)

Print error messages to stderr.

2 (warnings)

Print warnings to stderr.

3 (info)

Print general diagnostic information to stderr.

4 (progress)

Print progress information to stderr.

5 (debug)

Print debugging information to stderr (if applicable).

6 (trace)

Print execution trace information to stderr (if applicable).

--no-banner , -B

Suppress initial banner message (implied at verbosity levels <= 2)

Default: '0'

--output=FILE , -oFILE

Specify output file (default=stdout).

Default: '-'

Binary model will be written to FILE.

--compress=LEVEL , -zLEVEL

Compression level for output file.

Default: '-1'

HMM Options

--hash-ngrams=BOOL , -gBOOL

Whether to hash stored n-grams (default=no)

Default: '0'

If nonzero, tag n-grams will be stored in a slow but memory-friendly hash. Otherwise, a fast but large array will be used.

--trie-depth=LEN , -aLEN

Maximum depth of suffix trie.

Default: '0'

Use suffixes of up to LEN characters to estimate probabilities of unknown words. A value of 0 (zero) disables use of a suffix trie.

EXPERIMENTAL.

--trie-threshhold=FREQ , -AFREQ

Frequency upper bound for trie inclusion.

Default: '10'

Use words of at most frequency FREQ to construct the suffix trie.

--trie-theta=FLOAT

Suffix backoff coefficient.

Default: '0'

Specify suffix-trie backoff coefficient for smoothing. Specifying a value of zero (the default) causes the smoothing coefficient to be estimated.

--use-classes=BOOL , -LBOOL

Whether to use lexical class-probabilities.

Default: '1'

Only useful if your file contains a priori analyses. Default behavior is to try and use classes if you specify a non-empty class-frequency file.

--use-flavors=BOOL , -FBOOL

Whether to use token 'flavor' heuristics (default=1 (true))

Default: '1'

Default behavior is to use flavor heuristics as specified by the model (usually built-in).

--relax=BOOL , -RBOOL

Whether to relax token-tag associability (default=1 (true))

Default: '1'

If nonzero, 'tag' fields of token analyses will be used only as a potential estimator of lexical probability, if at all. Otherwise (regardless of whether lexical classes are are being used as a probability estimator), 'tag' fields of token analyses will be interpreted as imposing 'hard' restrictions on which tags may occur with the token in question.

See the --use-classes=BOOL option and/or mootfiles for more details on the use of lexical classes.

--nlambdas=FLOATS , -NFLOATS

N-Gram smoothing constants (default=estimate)

Default: 'NULL'

FLOATS should be a string of the form "LAMBDA1,LAMBDA2,LAMBDA3" (without the quotes), where each LAMBDA$i is a floating-point constant.

LAMBDA_1

is the constant smoothing coefficient for unigram probabilities,

LAMBDA_2

is the constant smoothing coefficient for bigram probabilities,

LAMBDA_3

is the constant smoothing coefficient for trigram probabilities (only meaningful if libmoot was built with '--enable-trigrams=yes'. See the output of

 mootconfig --options

for details.

If you override the default values, you should choose values such that LAMBDA_1 + LAMBDA_2 + LAMBDA_3 == 1.0.

--wlambdas=FLOATS , -WFLOATS

Lexical smoothing constants (default=estimate)

Default: 'NULL'

FLOATS should be a string of the form "LAMBDA_W0,LAMBDA_W1" (without the quotes), where each LAMBDA_W$i is a floating-point constant.

LAMBDA_W0

is the constant minimum lexical probability,

LAMBDA_W1

is the constant smoothing coefficient for lexical probabilities.

If you override the default values, you should choose values such that LAMBDA_W0 + LAMBDA_W1 == 1.0.

--clambdas=FLOATS , -CFLOATS

Lexical-class smoothing constants (default=estimate)

Default: 'NULL'

LAMBDAS should be a string of the form "LAMBDA_C0,LAMBDA_C1" (without the quotes), where each LAMBDA_C$i is a floating-point constant.

LAMBDA_C0

is the constant minimum lexical-class probability,

LAMBDA_C1

is the constant smoothing coefficient for lexical-class probabilities.

If you override the default values, you should choose values such that LAMBDA_C0 + LAMBDA_C1 == 1.0.

--unknown-threshhold=DOUBLE , -tDOUBLE

Freq. threshhold for 'unknown' lexical probabilities

Default: '1.0'

Lexical probabilities for unknown tokens in the input are estimated from tokens which occur at most FLOAT times in the model.

--class-threshhold=DOUBLE , -TDOUBLE

Freq. threshhold for 'unknown' class probabilities

Default: '1.0'

Class probabilities for unrecognized tokens in the input are estimated from classes which occur at most FLOAT times in the model and/or from the empty class.

--unknown-token=NAME , -uNAME

Symbolic name of the 'unknown' token

Default: '@UNKNOWN'

You can use this value to include lexical frequency information for unknown input tokens in the lexical model file.

--unknown-tag=NAME , -UNAME

Symbolic name of the 'unknown' tag

Default: 'UNKNOWN'

You should never see or need this tag.

--eos-tag=TAG , -eTAG

Specify boundary tag (default=__$)

Default: '__$'

This is the pseudo-tag used in the n-gram model file to represent sentence boundaries, both beginning- and end-of-sentence. It should not be an element of the actual tag-set -- that is, it should not be a valid analysis for any token.

--beam-width=DOUBLE , -ZDOUBLE

Specify cutoff factor for beam pruning

Default: '1000'

During Viterbi search, paths will be ignored if their probabilities are less than 1/NUM*p_best , where p_best is the probability of the current best path. Setting this option to zero disables beam pruning.

CONFIGURATION FILES

Configuration files are expected to contain lines of the form:

    LONG_OPTION_NAME    OPTION_VALUE

where LONG_OPTION_NAME is the long name of some option, without the leading '--', and OPTION_VALUE is the value for that option, if any. Fields are whitespace-separated. Blank lines and comments (lines beginning with '#') are ignored.

The following configuration files are read by default:

ADDENDA

About this Document

Documentation file auto-generated by optgen.perl version 0.15 using Getopt::Gen version 0.15. Translation was initiated as:

   optgen.perl -l --nocfile --nohfile --notimestamp -F mootcompile mootcompile.gog

BUGS AND LIMITATIONS

None known.

ACKNOWLEDGEMENTS

Initial development of the this was supported by the project 'Kollokationen im Wörterbuch' ( "collocations in the dictionary", http://www.bbaw.de/forschung/kollokationen ) in association with the project 'Digitales Wörterbuch der deutschen Sprache des 20. Jahrhunderts (DWDS)' ( "digital dictionary of the German language of the 20th century", http://www.dwds.de ) at the Berlin-Brandenburgische Akademie der Wissenschaften ( http://www.bbaw.de ) with funding from the Alexander von Humboldt Stiftung ( http://www.avh.de ) and from the Zukunftsinvestitionsprogramm of the German federal government. Development of the DynHMM and WASTE extensions was supported by the DFG-funded projects 'Deutsches Textarchiv' ( "German text archive", http://www.deutschestextarchiv.de ) and 'DLEX' at the Berlin-Brandenburgische Akademie der Wissenschaften.

The authors are grateful to Christiane Fellbaum, Alexander Geyken, Gerald Neumann, Edmund Pohl, Alexey Sokirko, and others for offering useful insights in the course of development of this package. Thomas Hanneforth wrote and maintains the libFSM C++ library for finite-state device operations used by the class-based HMM tagger / disambiguator, without which moot could not have been built. Alexander Geyken and Thomas Hanneforth developed the rule-based morphological analysis system for German which was used in the development and testing of the class-based HMM tagger / disambiguator.

AUTHOR

Bryan Jurish <moocow@cpan.org>

SEE ALSO

mootfiles mootm(1), mootrain, mootdump, moot