| #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; |
| }; |
|
|
| } |
| } |
|
|