2014-12-02 17:38:03 +03:00
|
|
|
#pragma once
|
|
|
|
|
2014-12-02 20:40:53 +03:00
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
#include "ScoreComponentCollection.h"
|
|
|
|
|
2014-12-02 17:38:03 +03:00
|
|
|
namespace Moses
|
|
|
|
{
|
2014-12-02 20:40:53 +03:00
|
|
|
class ScoreComponentCollection;
|
|
|
|
class FeatureFunction;
|
2014-12-02 22:09:10 +03:00
|
|
|
class OutputCollector;
|
2014-12-02 20:40:53 +03:00
|
|
|
|
2014-12-02 17:38:03 +03:00
|
|
|
class BaseManager
|
|
|
|
{
|
2014-12-02 20:40:53 +03:00
|
|
|
protected:
|
2014-12-02 22:09:10 +03:00
|
|
|
void OutputAllFeatureScores(const Moses::ScoreComponentCollection &features,
|
|
|
|
std::ostream &out) const;
|
|
|
|
void OutputFeatureScores( std::ostream& out,
|
|
|
|
const ScoreComponentCollection &features,
|
|
|
|
const FeatureFunction *ff,
|
|
|
|
std::string &lastName ) const;
|
|
|
|
void OutputSurface(std::ostream &out,
|
|
|
|
const Phrase &phrase,
|
|
|
|
const std::vector<FactorType> &outputFactorOrder,
|
|
|
|
bool reportAllFactors) const;
|
|
|
|
|
|
|
|
public:
|
|
|
|
// outputs
|
|
|
|
virtual void OutputNBest(OutputCollector *collector) const = 0;
|
2014-12-03 15:05:35 +03:00
|
|
|
virtual void OutputLatticeSamples(OutputCollector *collector) const = 0;
|
2014-12-03 18:00:36 +03:00
|
|
|
virtual void OutputAlignment(OutputCollector *collector) const = 0;
|
2014-12-03 15:05:35 +03:00
|
|
|
|
2014-12-02 17:38:03 +03:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|