|
|
|
#pragma once |
|
|
|
#include "moses/PP/PhraseProperty.h" |
|
#include "util/exception.hh" |
|
#include <string> |
|
|
|
namespace Moses |
|
{ |
|
|
|
class OrientationPhraseProperty : public PhraseProperty |
|
{ |
|
public: |
|
OrientationPhraseProperty() {}; |
|
|
|
virtual void ProcessValue(const std::string &value); |
|
|
|
|
|
double GetLeftToRightProbabilityMono() const { |
|
return m_l2rMonoProbability; |
|
}; |
|
|
|
double GetLeftToRightProbabilitySwap() const { |
|
return m_l2rSwapProbability; |
|
}; |
|
|
|
double GetLeftToRightProbabilityDleft() const { |
|
return m_l2rDleftProbability; |
|
}; |
|
|
|
double GetLeftToRightProbabilityDright() const { |
|
return m_l2rDrightProbability; |
|
}; |
|
|
|
double GetLeftToRightProbabilityDiscontinuous() const { |
|
return m_l2rDleftProbability + m_l2rDrightProbability; |
|
}; |
|
|
|
|
|
double GetRightToLeftProbabilityMono() const { |
|
return m_r2lMonoProbability; |
|
}; |
|
|
|
double GetRightToLeftProbabilitySwap() const { |
|
return m_r2lSwapProbability; |
|
}; |
|
|
|
double GetRightToLeftProbabilityDleft() const { |
|
return m_r2lDleftProbability; |
|
}; |
|
|
|
double GetRightToLeftProbabilityDright() const { |
|
return m_r2lDrightProbability; |
|
}; |
|
|
|
double GetRightToLeftProbabilityDiscontinuous() const { |
|
return m_r2lDleftProbability + m_r2lDrightProbability; |
|
}; |
|
|
|
|
|
virtual const std::string *GetValueString() const { |
|
UTIL_THROW2("OrientationPhraseProperty: value string not available in this phrase property"); |
|
return NULL; |
|
}; |
|
|
|
protected: |
|
|
|
float m_l2rMonoProbability, m_l2rSwapProbability, m_l2rDrightProbability, m_l2rDleftProbability, |
|
m_r2lMonoProbability, m_r2lSwapProbability, m_r2lDrightProbability, m_r2lDleftProbability; |
|
}; |
|
|
|
} |
|
|
|
|