|
#pragma once |
|
|
|
#include <boost/unordered_set.hpp> |
|
#include "moses/InputType.h" |
|
#include "moses/BaseManager.h" |
|
|
|
#include "KBestExtractor.h" |
|
|
|
namespace Moses |
|
{ |
|
namespace Syntax |
|
{ |
|
|
|
|
|
class Manager : public BaseManager |
|
{ |
|
public: |
|
Manager(ttasksptr const& ttask); |
|
|
|
|
|
|
|
void OutputBest(OutputCollector *collector) const; |
|
void OutputNBest(OutputCollector *collector) const; |
|
void OutputUnknowns(OutputCollector *collector) const; |
|
|
|
|
|
|
|
void OutputAlignment(OutputCollector *collector) const {} |
|
void OutputDetailedTreeFragmentsTranslationReport( |
|
OutputCollector *collector) const {} |
|
void OutputLatticeSamples(OutputCollector *collector) const {} |
|
void OutputSearchGraph(OutputCollector *collector) const {} |
|
|
|
|
|
void |
|
OutputSearchGraphAsHypergraph |
|
( std::string const& fname, size_t const precision ) const |
|
{ } |
|
|
|
void OutputSearchGraphSLF() const {} |
|
void OutputWordGraph(OutputCollector *collector) const {} |
|
void OutputDetailedTranslationReport(OutputCollector *collector) const {} |
|
|
|
void CalcDecoderStatistics() const {} |
|
|
|
|
|
virtual void ExtractKBest( |
|
std::size_t k, |
|
std::vector<boost::shared_ptr<KBestExtractor::Derivation> > &kBestList, |
|
bool onlyDistinct=false) const = 0; |
|
virtual const SHyperedge *GetBestSHyperedge() const = 0; |
|
|
|
protected: |
|
boost::unordered_set<Word> m_oovs; |
|
|
|
private: |
|
|
|
void OutputNBestList(OutputCollector *collector, |
|
const KBestExtractor::KBestVec &nBestList, |
|
long translationId) const; |
|
|
|
std::size_t OutputAlignmentNBest(Alignments &retAlign, |
|
const KBestExtractor::Derivation &d, |
|
std::size_t startTarget) const; |
|
|
|
std::size_t CalcSourceSize(const KBestExtractor::Derivation &d) const; |
|
}; |
|
|
|
} |
|
} |
|
|