The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Treex::Core::Scenario - a larger Treex processing unit, composed of blocks

VERSION

version 0.06571

SYNOPSIS

 use Treex::Core;
 
 my $scenario = Treex::Core::Scenario->new(from_file => 'myscenario.scen' );
 
 $scenario->run;

DESCRIPTION

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 whitespaces.

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 attribute=value form.

5) Comments start with '#' and end with the nearest newline character.

Scenario example:

 # 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

METHODS

Constructor

my $scenario = Treex::Core::Scenario->new(from_string => 'W2A::Tokenize language=en W2A::Lemmatize' );

Constructor parameter from_string specifies 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

$scenario->run();

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 scenatio is applied.

Internal methods for loading scenarios

_load_scenario_file($filename)

loads a scenario description from a file

parse_scenario_string

parses a textual description of a scenario

construct_scenario_string

constructs a scenario textual description from an existing scenario instance accepts named parameter multiline - when set, blocks are separated by newline instead of space

load_blocks

use blocks and call their constructors can be used for preloading blocks for e.g. server applications when running scenario blocks are loaded automatically

init

do all initialization so after this method scenario is ready to run currently just load blocks

restart

resets document readed, in future it will rebuild reloaded blocks

SEE ALSO

Treex::Core::Block Treex::Core

AUTHORS

Zdeněk Žabokrtský <zabokrtsky@ufal.mff.cuni.cz>

Martin Popel <popel@ufal.mff.cuni.cz>

David Mareček <marecek@ufal.mff.cuni.cz>

Tomáš Kraut <kraut@ufal.mff.cuni.cz>

COPYRIGHT AND LICENSE

Copyright © 2011 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.