#include <Model_Builder.h>
Public Member Functions | |
virtual Model_Refiner & | create_model_refiner ()=0 |
virtual Pipeline & | create_pipeline (Model_Refiner &)=0 |
virtual Execution_Strategy & | create_execution_strategy (Pipeline &)=0 |
virtual void | create_output ()=0 |
virtual Model & | get_model ()=0 |
The builder class which builds the different components needed to create the model. We use the Builder pattern.
The components are: 1. Model_Refiner: This main component that describes how the model should be refined as documents pass through the pipeline 2. Pipeline: A pipeline of filters that perform the various refinements defined by the refiner 3. Execution_Strategy: A strategy that defines how the pipeline of filters has to be executed
Usually, different modes demand different builders and similar or different components. So keep in mind that inheritance can be used here to maximize code reuse
virtual Execution_Strategy& Model_Builder::create_execution_strategy | ( | Pipeline & | ) | [pure virtual] |
virtual Model_Refiner& Model_Builder::create_model_refiner | ( | ) | [pure virtual] |
Implemented in Unigram_Model_Streaming_Builder, Unigram_Model_Testing_Builder, and Unigram_Model_Training_Builder.
virtual void Model_Builder::create_output | ( | ) | [pure virtual] |
Implemented in Unigram_Model_Streaming_Builder, and Unigram_Model_Training_Builder.
virtual Pipeline& Model_Builder::create_pipeline | ( | Model_Refiner & | ) | [pure virtual] |
Implemented in Unigram_Model_Streaming_Builder, and Unigram_Model_Training_Builder.
virtual Model& Model_Builder::get_model | ( | ) | [pure virtual] |
Implemented in Unigram_Model_Streaming_Builder, and Unigram_Model_Training_Builder.