diff options
-rw-r--r-- | moses-chart-cmd/src/IOWrapper.cpp | 4 | ||||
-rw-r--r-- | moses-chart-cmd/src/IOWrapper.h | 4 | ||||
-rw-r--r-- | moses-cmd/moses-cmd.xcodeproj/project.pbxproj | 3 | ||||
-rw-r--r-- | moses/src/Parameter.cpp | 1 | ||||
-rw-r--r-- | moses/src/StaticData.cpp | 7 | ||||
-rw-r--r-- | moses/src/StaticData.h | 6 |
6 files changed, 16 insertions, 9 deletions
diff --git a/moses-chart-cmd/src/IOWrapper.cpp b/moses-chart-cmd/src/IOWrapper.cpp index f032cd6a1..b5d503133 100644 --- a/moses-chart-cmd/src/IOWrapper.cpp +++ b/moses-chart-cmd/src/IOWrapper.cpp @@ -129,6 +129,10 @@ IOWrapper::~IOWrapper() delete m_singleBestOutputCollector; } +void IOWrapper::ResetTranslationId() { + m_translationId = StaticData::Instance().GetStartTranslationId(); +} + InputType*IOWrapper::GetInput(InputType* inputType) { if(inputType->Read(*m_inputStream, m_inputFactorOrder)) { diff --git a/moses-chart-cmd/src/IOWrapper.h b/moses-chart-cmd/src/IOWrapper.h index c606774e1..5936e7405 100644 --- a/moses-chart-cmd/src/IOWrapper.h +++ b/moses-chart-cmd/src/IOWrapper.h @@ -85,9 +85,7 @@ public: void OutputDetailedTranslationReport(const Moses::ChartHypothesis *hypo, long translationId); void Backtrack(const Moses::ChartHypothesis *hypo); - void ResetTranslationId() { - m_translationId = 0; - } + void ResetTranslationId(); Moses::OutputCollector *GetSearchGraphOutputCollector() { return m_searchGraphOutputCollector; diff --git a/moses-cmd/moses-cmd.xcodeproj/project.pbxproj b/moses-cmd/moses-cmd.xcodeproj/project.pbxproj index 12afdb0e2..8fb7c5e04 100644 --- a/moses-cmd/moses-cmd.xcodeproj/project.pbxproj +++ b/moses-cmd/moses-cmd.xcodeproj/project.pbxproj @@ -334,7 +334,6 @@ "-ldstruct", "-lz", "-lirstlm", - "-lrandlm", ); PREBINDING = NO; PRODUCT_NAME = "moses-cmd"; @@ -375,7 +374,6 @@ "-ldstruct", "-lz", "-lirstlm", - "-lrandlm", ); PREBINDING = NO; PRODUCT_NAME = "moses-cmd"; @@ -408,7 +406,6 @@ "-ldstruct", "-lz", "-lirstlm", - "-lrandlm", ); PREBINDING = NO; PRODUCT_NAME = "moses-cmd"; diff --git a/moses/src/Parameter.cpp b/moses/src/Parameter.cpp index 23b7069bf..345ad4651 100644 --- a/moses/src/Parameter.cpp +++ b/moses/src/Parameter.cpp @@ -146,6 +146,7 @@ Parameter::Parameter() AddParam("show-weights", "print feature weights and exit"); AddParam("alignment-output-file", "print output word alignments into given file"); AddParam("sort-word-alignment", "Sort word alignments for more consistent display. 0=no sort (default), 1=target order"); + AddParam("start-translation-id", "Id of 1st input. Default = 0"); } Parameter::~Parameter() diff --git a/moses/src/StaticData.cpp b/moses/src/StaticData.cpp index 8eefb3798..5c9d279fa 100644 --- a/moses/src/StaticData.cpp +++ b/moses/src/StaticData.cpp @@ -431,6 +431,9 @@ bool StaticData::LoadData(Parameter *parameter) } } + m_startTranslationId = (m_parameter->GetParam("start-translation-id").size() > 0) ? + Scan<long>(m_parameter->GetParam("start-translation-id")[0]) : 0; + // Read in constraint decoding file, if provided if(m_parameter->GetParam("constraint").size()) { if (m_parameter->GetParam("search-algorithm").size() > 0 @@ -443,8 +446,8 @@ bool StaticData::LoadData(Parameter *parameter) InputFileStream constraintFile(m_constraintFileName); std::string line; - - long sentenceID = -1; + + long sentenceID = GetStartTranslationId() - 1; while (getline(constraintFile, line)) { vector<string> vecStr = Tokenize(line, "\t"); diff --git a/moses/src/StaticData.h b/moses/src/StaticData.h index 0eb3c9f3b..b1d4a90a6 100644 --- a/moses/src/StaticData.h +++ b/moses/src/StaticData.h @@ -210,7 +210,8 @@ protected: WordAlignmentSort m_wordAlignmentSort; int m_threadCount; - + long m_startTranslationId; + StaticData(); void LoadPhraseBasedParameters(); @@ -610,6 +611,9 @@ public: int ThreadCount() const { return m_threadCount; } + + long GetStartTranslationId() const + { return m_startTranslationId; } }; } |