NAME
DTA::CAB::Analyzer::Moot - generic Moot HMM tagger/disambiguator analysis API
SYNOPSIS
##========================================================================
## PRELIMINARIES
##========================================================================
## Constructors etc.
$obj
= CLASS_OR_OBJ->new(
%args
);
$moot
=
$moot
->clear();
##========================================================================
## Methods: Generic
$bool
=
$moot
->hmmOk();
$class
=
$moot
->hmmClass();
##========================================================================
## Methods: I/O
$bool
=
$moot
->ensureLoaded();
$moot
=
$moot
->loadHMM(
$model_file
);
##========================================================================
## Methods: Persistence: Perl
@keys
=
$class_or_obj
->noSaveKeys();
$loadedObj
=
$CLASS_OR_OBJ
->loadPerlRef(
$ref
);
##========================================================================
## Methods: Analysis
$bool
=
$anl
->canAnalyze();
$bool
=
$anl
->doAnalyze(\
%opts
,
$name
);
$doc
=
$anl
->analyzeSentences(
$doc
,\
%opts
);
DESCRIPTION
Globals
- Variable: @ISA
-
DTA::CAB::Analyzer::Moot inherits from DTA::CAB::Analyzer.
Constructors etc.
- new
-
$obj
= CLASS_OR_OBJ->new(
%args
);
Object structure, %args:
##-- Filename Options
hmmFile
=>
$filename
,
##-- default: none (REQUIRED)
##
##-- Analysis Options
hmmArgs
=> \
%args
,
##-- clobber moot::HMM->new() defaults (default: verbose=>$moot::HMMvlWarnings)
hmmEnc
=>
$enc
,
##-- encoding of model file(s) (default='UTF-8')
analyzeTextGet
=>
$code
,
##-- pseudo-closure: token 'text' (default=$DEFAULT_ANALYZE_TEXT_GET)
analyzeTagsGet
=>
$code
,
##-- pseudo-closure: token 'analyses' (defualt=$DEFAULT_ANALYZE_TAGS_GET)
analyzeCostFuncs
=>\
%fnc
,
##-- maps source 'analyses' key(s) to cost-munging functions
## %fnc = ($akey=>$perlcode_str, ...)
## + evaluates $perlcode_str as subroutine body to derive analysis
## 'weights' from source-key weights
## + $perlcode_str may use variables:
## $moot ##-- current Analyzer::Moot object
## $tag ##-- source analysis tag
## $details ##-- source analysis 'details' "$hi <$w>"
## $cost ##-- source analysis weight
## $text ##-- source token text
## + Default just returns $cost (identity function)
label
=>
$lab
,
##-- destination key (default='moot')
requireAnalyses
=>
$bool
,
##-- if true all tokens MUST have non-empty analyses (useful for DynLex; default=1)
prune
=>
$bool
,
##-- if true (default), prune analyses after tagging
uniqueAnalyses
=>
$bool
,
##-- if true, only cost-minimal analyses for each tag will be added (default=false)
wantTaggedWord
=>
$bool
,
##-- if true, output field will contain top-level 'word' element (default=true)
##
##-- Analysis Objects
hmm
=>
$hmm
,
##-- a moot::HMM object
OBSOLETE fields (use analyzeTextGet, analyzeTagsGet pseudo-closure accessors):
#analyzeTextSrc => $src, ##-- source token 'text' key (default='text')
#analyzeTagSrcs => \@srcs, ##-- source token 'analyses' key(s) (default=['morph'], undef for none)
#analyzeLiteralFlag=>$key, ##-- if ($tok->{$key}), only literal analyses are allowed (default='dmootLiteral')
#analyzeLiteralSrc =>$key, ##-- source key for literal analyses (default='xlit')
The 'hmmFile' argument can be specified in any format accepted by mootHMM::load_model().
- clear
-
$moot
=
$moot
->clear();
Clears the object.
Methods: Generic
- hmmOk
-
$bool
=
$moot
->hmmOk();
Should return false iff HMM is undefined or "empty". Default version checks for non-empty 'lexprobs' and 'n_tags'
- hmmClass
-
$class
=
$moot
->hmmClass();
Returns class for $moot->{hmm} object. Default just returns 'moot::HMM'.
Methods: I/O
- ensureLoaded
-
$bool
=
$moot
->ensureLoaded();
Ensures model data is loaded from default files.
- loadHMM
-
$moot
=
$moot
->loadHMM(
$model_file
);
Loads HMM model from $model_file. See mootfiles(5).
Methods: Persistence: Perl
- noSaveKeys
-
@keys
=
$class_or_obj
->noSaveKeys();
Returns list of keys not to be saved
- loadPerlRef
-
$loadedObj
=
$CLASS_OR_OBJ
->loadPerlRef(
$ref
);
Implicitly calls $obj->clear()
Methods: Analysis
- typeKeys
-
@keys
=
$anl
->typeKeys(\
%opts
);
Returns list of type-wise keys to be expanded for this analyzer by expandTypes(). Override returns empty list.
- canAnalyze
-
$bool
=
$anl
->canAnalyze();
Returns true if analyzer can perform its function (e.g. data is loaded & non-empty)
- doAnalyze
-
$bool
=
$anl
->doAnalyze(\
%opts
,
$name
);
Override: only allow analyzeSentences().
- analyzeSentences
-
$doc
=
$anl
->analyzeSentences(
$doc
,\
%opts
);
Perform sentence-wise analysis of all sentences $doc->{body}[$si].
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2009-2019 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.
SEE ALSO
dta-cab-analyze.perl(1), DTA::CAB::Analyzer::Moot::DynLex(3pm), DTA::CAB::Analyzer(3pm), DTA::CAB::Chain(3pm), DTA::CAB(3pm), perl(1), mootutils(1), moot(1), ...