- SEE ALSO
- COPYRIGHT AND LICENSE
Treex::Core::Scenario - a larger Treex processing unit, composed of blocks
use Treex::Core; my $doc1, $doc2; my $scenario = Treex::Core::Scenario->new(from_file => 'myscenario.scen' ); $scenario->run; $scenario = Treex::Core::Scenario->new(from_string => 'W2A::EN::Segment language=en'); $scenario->start(); $scenario->apply_to_documents($doc1, $doc2); $scenario->end();
A Treex scenario consists of a sequence of (possibly parametrized) Treex blocks.
Scenarios can be described by a simple textual format, which is either passed directly to the scenario construction, or is contained in a text file whose name is passed.
The string description of scenarios looks as follows.
1) It contains a list of block names from which their '
Treex::Block::' prefixes were removed.
2) The block names are separated by one or more white spaces.
3) The block names are listed in the same order in which they should be applied on data.
4) For each block, there can be one or more parameters specified, using the
5) Comments start with '
#' and end with the nearest newline character.
# morphological analysis of an English text Util::SetGlobal language=en selector=src Read::Text W2A::ResegmentSentences W2A::EN::Tokenize W2A::EN::NormalizeForms W2A::EN::FixTokenization W2A::EN::TagMorce
- my $scenario = Treex::Core::Scenario->new(from_string => 'W2A::Tokenize language=en W2A::Lemmatize' );
from_stringspecifies the names of blocks which are to be executed (in the specified order) when the scenario is applied on a Treex::Core::Document object.
- my $scenario = Treex::Core::Scenario->new(from_file => 'myscenario.scen' );
The scenario description is loaded from the file.
Running the scenario
Run the scenario. One of the blocks (usually the first one) must be the document reader (see Treex::Core::DocumentReader) that produces the documents on which this scenario is applied.
Apply this scenario to a Treex::Core::Document instance obtained from elsewhere. Please note that
start()must be called before the first call to this method and
end()after the last call to this method.
The scenario does not need to contain a document reader if documents are given explicitly.
process_start()to all blocks in the scenario. This is called automatically by
run(), but must be called before
process_end()to all blocks in the scenario. This is called automatically by
run(), but must be called after calls to
Internal methods for loading scenarios
loads a scenario description from a file
parses a textual description of a scenario
constructs a scenario textual description from an existing scenario instance accepts named parameter multiline - when set, blocks are separated by newline instead of space
use blocks and call their constructors can be used for preloading blocks for e.g. server applications when running scenario blocks are loaded automatically
do all initialization so after this method scenario is ready to run currently just load blocks
resets the document reader, in future it will rebuild reloaded blocks
Zdeněk Žabokrtský <firstname.lastname@example.org>
Martin Popel <email@example.com>
David Mareček <firstname.lastname@example.org>
Tomáš Kraut <email@example.com>
Martin Majliš <firstname.lastname@example.org>
Ondřej Dušek <email@example.com>
COPYRIGHT AND LICENSE
Copyright © 2011-2012 by Institute of Formal and Applied Linguistics, Charles University in Prague
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.