mosesdecoder/moses/ChartTranslationOption.cpp

34 lines
848 B
C++

#include "ChartTranslationOptions.h"
#include "InputType.h"
#include "InputPath.h"
namespace Moses
{
ChartTranslationOption::ChartTranslationOption(const TargetPhrase &targetPhrase)
:m_targetPhrase(targetPhrase)
,m_scoreBreakdown(targetPhrase.GetScoreBreakdown())
{
}
void ChartTranslationOption::Evaluate(const InputType &input,
const InputPath &inputPath,
const StackVec &stackVec)
{
const std::vector<FeatureFunction*> &ffs = FeatureFunction::GetFeatureFunctions();
for (size_t i = 0; i < ffs.size(); ++i) {
const FeatureFunction &ff = *ffs[i];
ff.EvaluateWithSourceContext(input, inputPath, m_targetPhrase, &stackVec, m_scoreBreakdown);
}
}
std::ostream& operator<<(std::ostream &out, const ChartTranslationOption &transOpt)
{
out << transOpt.m_targetPhrase << " " << transOpt.m_scoreBreakdown;
return out;
}
}