Moses::ScoreProducer Class Reference

#include <ScoreProducer.h>

Inheritance diagram for Moses::ScoreProducer:

Inheritance graph
[legend]

List of all members.

Public Member Functions

unsigned int GetScoreBookkeepingID () const
 contiguous id
void CreateScoreBookkeepingID ()
virtual size_t GetNumScoreComponents () const =0
virtual std::string GetScoreProducerDescription () const =0
 returns a string description of this producer
virtual std::string GetScoreProducerWeightShortName () const =0
 returns the weight parameter name of this producer (used in n-best list)
virtual size_t GetNumInputScores () const
 returns the number of scores gathered from the input (0 by default)
virtual bool IsStateless () const =0

Protected Member Functions

 ScoreProducer ()
virtual ~ScoreProducer ()


Detailed Description

to keep track of the various things that can produce a score, we use this evil implementation-inheritance to give them each a unique, sequential (read: good for vector indices) ID

Note:
do not confuse this with a producer/consumer pattern. this is not a producer in that sense.

Constructor & Destructor Documentation

Moses::ScoreProducer::ScoreProducer (  )  [protected]

References UNASSIGNED.

Moses::ScoreProducer::~ScoreProducer (  )  [protected, virtual]


Member Function Documentation

void Moses::ScoreProducer::CreateScoreBookkeepingID (  )  [inline]

virtual size_t Moses::ScoreProducer::GetNumInputScores (  )  const [inline, virtual]

returns the number of scores gathered from the input (0 by default)

Reimplemented in Moses::DistortionScoreProducer, Moses::WordPenaltyProducer, Moses::UnknownWordPenaltyProducer, and Moses::PhraseDictionaryFeature.

virtual size_t Moses::ScoreProducer::GetNumScoreComponents (  )  const [pure virtual]

returns the number of scores that a subclass produces. For example, a language model conventionally produces 1, a translation table some arbitrary number, etc

Implemented in Moses::DistortionScoreProducer, Moses::WordPenaltyProducer, Moses::UnknownWordPenaltyProducer, Moses::GenerationDictionary, Moses::GlobalLexicalModel, Moses::LanguageModel, Moses::LexicalReordering, and Moses::PhraseDictionaryFeature.

Referenced by Moses::ScoreIndexManager::AddScoreProducer(), Moses::ScoreComponentCollection::Assign(), Moses::ScoreComponentCollection::PlusEquals(), and Moses::TargetPhrase::SetScore().

Here is the caller graph for this function:

unsigned int Moses::ScoreProducer::GetScoreBookkeepingID (  )  const [inline]

virtual std::string Moses::ScoreProducer::GetScoreProducerDescription (  )  const [pure virtual]

virtual std::string Moses::ScoreProducer::GetScoreProducerWeightShortName (  )  const [pure virtual]

virtual bool Moses::ScoreProducer::IsStateless (  )  const [pure virtual]


The documentation for this class was generated from the following files:

Generated on Wed Sep 8 20:05:17 2010 for Moses by  doxygen 1.5.9