mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-10-06 08:18:02 +03:00
start lexicalised re-ordering
This commit is contained in:
parent
bac4dbe233
commit
aa6182522e
@ -17,6 +17,7 @@
|
||||
#include "WordPenalty.h"
|
||||
#include "PhrasePenalty.h"
|
||||
#include "Distortion.h"
|
||||
#include "LexicalReordering.h"
|
||||
#include "../TranslationModel/PhraseTableMemory.h"
|
||||
#include "../TranslationModel/ProbingPT.h"
|
||||
#include "../TranslationModel/UnknownWordPenalty.h"
|
||||
@ -126,7 +127,9 @@ FeatureFunction *FeatureFunctions::Create(const std::string &line)
|
||||
}
|
||||
else if (toks[0] == "PhrasePenalty") {
|
||||
ret = new PhrasePenalty(m_ffStartInd, line);
|
||||
//ret = new KENLMBatch(m_ffStartInd, line);
|
||||
}
|
||||
else if (toks[0] == "LexicalReordering") {
|
||||
ret = new LexicalReordering(m_ffStartInd, line);
|
||||
}
|
||||
else {
|
||||
//ret = new SkeletonStatefulFF(m_ffStartInd, line);
|
||||
|
85
contrib/other-builds/moses2/FF/LexicalReordering.cpp
Normal file
85
contrib/other-builds/moses2/FF/LexicalReordering.cpp
Normal file
@ -0,0 +1,85 @@
|
||||
/*
|
||||
* LexicalReordering.cpp
|
||||
*
|
||||
* Created on: 15 Dec 2015
|
||||
* Author: hieu
|
||||
*/
|
||||
|
||||
#include "LexicalReordering.h"
|
||||
#include "../Search/Manager.h"
|
||||
|
||||
namespace Moses2 {
|
||||
|
||||
struct LexicalReorderingState : public FFState
|
||||
{
|
||||
LexicalReorderingState()
|
||||
{
|
||||
// uninitialised
|
||||
}
|
||||
|
||||
|
||||
size_t hash() const {
|
||||
return 0;
|
||||
}
|
||||
virtual bool operator==(const FFState& other) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual std::string ToString() const
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
LexicalReordering::LexicalReordering(size_t startInd, const std::string &line)
|
||||
:StatefulFeatureFunction(startInd, line)
|
||||
{
|
||||
ReadParameters();
|
||||
}
|
||||
|
||||
LexicalReordering::~LexicalReordering()
|
||||
{
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
||||
void LexicalReordering::Load(System &system)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void LexicalReordering::SetParameter(const std::string& key, const std::string& value)
|
||||
{
|
||||
if (key == "path") {
|
||||
m_path = value;
|
||||
}
|
||||
else {
|
||||
StatefulFeatureFunction::SetParameter(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
FFState* LexicalReordering::BlankState(const Manager &mgr, const InputType &input) const
|
||||
{
|
||||
MemPool &pool = mgr.GetPool();
|
||||
return new (pool.Allocate<LexicalReorderingState>()) LexicalReorderingState();
|
||||
}
|
||||
|
||||
void LexicalReordering::EmptyHypothesisState(FFState &state, const Manager &mgr, const InputType &input) const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void LexicalReordering::EvaluateWhenApplied(const Manager &mgr,
|
||||
const Hypothesis &hypo,
|
||||
const FFState &prevState,
|
||||
Scores &scores,
|
||||
FFState &state) const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
} /* namespace Moses2 */
|
45
contrib/other-builds/moses2/FF/LexicalReordering.h
Normal file
45
contrib/other-builds/moses2/FF/LexicalReordering.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* LexicalReordering.h
|
||||
*
|
||||
* Created on: 15 Dec 2015
|
||||
* Author: hieu
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "StatefulFeatureFunction.h"
|
||||
|
||||
namespace Moses2 {
|
||||
|
||||
class LexicalReordering : public StatefulFeatureFunction
|
||||
{
|
||||
public:
|
||||
LexicalReordering(size_t startInd, const std::string &line);
|
||||
virtual ~LexicalReordering();
|
||||
|
||||
virtual void Load(System &system);
|
||||
|
||||
virtual void SetParameter(const std::string& key, const std::string& value);
|
||||
|
||||
virtual FFState* BlankState(const Manager &mgr, const InputType &input) const;
|
||||
virtual void EmptyHypothesisState(FFState &state, const Manager &mgr, const InputType &input) const;
|
||||
|
||||
virtual void
|
||||
EvaluateInIsolation(const System &system,
|
||||
const Phrase &source,
|
||||
const TargetPhrase &targetPhrase,
|
||||
Scores &scores,
|
||||
Scores *estimatedScores) const
|
||||
{}
|
||||
|
||||
virtual void EvaluateWhenApplied(const Manager &mgr,
|
||||
const Hypothesis &hypo,
|
||||
const FFState &prevState,
|
||||
Scores &scores,
|
||||
FFState &state) const;
|
||||
|
||||
protected:
|
||||
std::string m_path;
|
||||
};
|
||||
|
||||
} /* namespace Moses2 */
|
||||
|
@ -30,6 +30,7 @@ external-lib boost_serialization ;
|
||||
FF/Distortion.cpp
|
||||
FF/FeatureFunction.cpp
|
||||
FF/FeatureFunctions.cpp
|
||||
FF/LexicalReordering.cpp
|
||||
FF/PhrasePenalty.cpp
|
||||
FF/SkeletonStatefulFF.cpp
|
||||
FF/SkeletonStatelessFF.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user