NAME

Moot::HMM - libmoot : HMM

SYNOPSIS

 use Moot;

 ##=====================================================================
 ## Constructors etc

 $hmm  = Moot::HMM->new(\%opts);
 $opts = $hmm->config(\%opts);
 $opts = $hmm->config();

 ##=====================================================================
 ## Accessors
 ##  + all of the following are get/set methods, e.g.
 ##    `$hmm->verbose()' gets the value of the 'verbose' property, and
 ##    `$hmm->verbose($i)' sets it

 $val = $hmm->verbose();
 $ndots = $hmm->ndots();

 $save_ambiguities = $hmm->save_ambiguities();
 $save_flavors = $hmm->save_flavors();
 $save_mark_unknown = $hmm->save_mark_unknown();

 $hash_ngrams = $hmm->hash_ngrams();
 $relax = $hmm->relax();
 $use_lex_classes = $hmm->use_lex_classes();

 $start_tagid = $hmm->start_tagid();

 $unknown_lex_threshhold = $hmm->unknown_lex_threshhold();
 $unknown_class_threshhold = $hmm->unknown_class_threshhold();

 $nglambda1 = $hmm->nglambda1();
 $nglambda2 = $hmm->nglambda2();
 $nglambda3 = $hmm->nglambda3();

 $wlambda0 = $hmm->wlambda0();
 $wlambda1 = $hmm->wlambda1();

 $clambda0 = $hmm->clambda0();
 $clambda1 = $hmm->clambda1();

 $beamwd = $hmm->beamwd();

 $nsents = $hmm->nsents();
 $ntokens = $hmm->ntokens();
 $nnewtokens = $hmm->nnewtokens();
 $nunclassed = $hmm->nunclassed();
 $nnewclasses = $hmm->nnewclasses();
 $nunknown = $hmm->nunknown();
 $nfallbacks = $hmm->nfallbacks();

 ##=====================================================================
 ## Low-Level Lookup

 $logp = $hmm->wordp($word, $tag);          ##-- log p($word|$tag)

 $logp = $hmm->classp(\@tagset, $tag);      ##-- log p(\@tagset|$tag)

 $logp = $hmm->tagp($tag1);                 ##-- log p($tag1)              : raw
 $logp = $hmm->tagp($tag1,$tag2);           ##-- log p($tag2|$tag1)        : raw
 $logp = $hmm->tagp($tag1,$tag2,$tag3);     ##-- log p($tag3|$tag1,$tag2)  : raw?

 ##=====================================================================
 ## Tagging

 ## sentences are tagged in-place; structure:
 @sent = (
          {text=>'This'},
          {text=>'is',    tag=>'this_will_be_overwritten'},
          {text=>'a'      tag=>'this_too'},
          {text=>'test',  analyses=>[{tag=>'N',details=>'test/N'},
                                     {tag=>'V',details=>'test/V',prob=>42}] },
          {text=>'.'      analyses=>[{tag=>'$.'}]},
         );

 $hmm->tag_sentence(\@sent,$utf8=1,$trace=0);  ##-- clobbers 'tag' key of each token hash

 $hmm->tag_io    ( $reader, $writer );         ##-- sentence-stream tagging
 $hmm->tag_stream( $reader, $writer );         ##-- token-stream tagging

 ##=====================================================================
 ## I/O

 $hmm = $CLASS_OR_OBJECT->load($model);
 $hmm = $CLASS_OR_OBJECT->loadBin($binfile);

 $bool = $hmm->saveBin($binfile, $zlevel=-1);
 undef = $hmm->txtdump($filename='-');

DESCRIPTION

The Moot module provides an object-oriented interface to the libmoot library for Hidden Markov Model part-of-speech tagging.

SEE ALSO

Moot(3perl), Moot::Constants(3perl), moot(1), perl(1).

AUTHOR

Bryan Jurish <moocow@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2011-2013 by Bryan Jurish

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.