mosesdecoder/moses/TranslationOptionCollectionLattice.h

42 lines
1.2 KiB
C
Raw Normal View History

// $Id$
#pragma once
#include "TranslationOptionCollection.h"
#include "InputPath.h"
namespace Moses
{
class WordLattice;
/** Holds all translation options, for all spans, of a lattice input. NOT confusion networks
* No legacy phrase-tables, CANNOT be used with Zen's binary phrase-table.
*/
class TranslationOptionCollectionLattice : public TranslationOptionCollection
{
protected:
2014-01-15 19:42:02 +04:00
/* forcibly create translation option for a 1 word.
* call the base class' ProcessOneUnknownWord() for each possible word in the confusion network
* at a particular source position
*/
void ProcessUnknownWord(size_t sourcePos); // do not implement
public:
TranslationOptionCollectionLattice(const WordLattice &source, size_t maxNoTransOptPerCoverage, float translationOptionThreshold);
void CreateTranslationOptions();
void CreateTranslationOptionsForRange(const DecodeGraph &decodeStepList
2014-01-15 19:42:02 +04:00
, size_t startPosition
, size_t endPosition
, bool adhereTableLimit
, size_t graphInd); // do not implement
protected:
void Extend(const InputPath &prevPath, const WordLattice &input);
};
}