void OutputAllFeatureScores( std::ostream& out, const TranslationSystem* system, const TrellisPath &path )
{
  std::string lastName = "";
  const vector<const StatefulFeatureFunction*>& sff = system->GetStatefulFeatureFunctions();
  for( size_t i=0; i<sff.size(); i++ )
  	if (sff[i]->GetScoreProducerWeightShortName() != "bl")
      OutputFeatureScores( out, path, sff[i], lastName );

  const vector<const StatelessFeatureFunction*>& slf = system->GetStatelessFeatureFunctions();
  for( size_t i=0; i<slf.size(); i++ )
    if (slf[i]->GetScoreProducerWeightShortName() != "u" &&
          slf[i]->GetScoreProducerWeightShortName() != "tm" &&
          slf[i]->GetScoreProducerWeightShortName() != "I" &&
          slf[i]->GetScoreProducerWeightShortName() != "g")
      OutputFeatureScores( out, path, slf[i], lastName );
}
Beispiel #2
0
void OutputAllFeatureScores(const Moses::ScoreComponentCollection &features
                            , std::ostream &out)
{
  std::string lastName = "";
  const vector<const StatefulFeatureFunction*>& sff = StatefulFeatureFunction::GetStatefulFeatureFunctions();
  for( size_t i=0; i<sff.size(); i++ ) {
    const StatefulFeatureFunction *ff = sff[i];
    if (ff->GetScoreProducerDescription() != "BleuScoreFeature"
        && ff->IsTuneable()) {
      OutputFeatureScores( out, features, ff, lastName );
    }
  }
  const vector<const StatelessFeatureFunction*>& slf = StatelessFeatureFunction::GetStatelessFeatureFunctions();
  for( size_t i=0; i<slf.size(); i++ ) {
    const StatelessFeatureFunction *ff = slf[i];
    if (ff->IsTuneable()) {
      OutputFeatureScores( out, features, ff, lastName );
    }
  }
}