From 43a9323d0fa68d49c1a2d0f0c8c50ef758d80baf Mon Sep 17 00:00:00 2001 From: maria nadejde Date: Thu, 12 Sep 2013 18:46:40 +0200 Subject: add feature files --- phrase-extract/InternalStructFeature.h | 66 ++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 phrase-extract/InternalStructFeature.h (limited to 'phrase-extract/InternalStructFeature.h') diff --git a/phrase-extract/InternalStructFeature.h b/phrase-extract/InternalStructFeature.h new file mode 100644 index 000000000..353808ef2 --- /dev/null +++ b/phrase-extract/InternalStructFeature.h @@ -0,0 +1,66 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ScoreFeature.h" +#include "extract-ghkm/Node.h" + +using namespace MosesTraining; +using namespace Moses; +using namespace GHKM; + +namespace MosesTraining +{ + + +class InternalStructFeature : public ScoreFeature +{ +public: + InternalStructFeature(); + /** Return true if the two phrase pairs are equal from the point of this feature. Assume + that they already compare true according to PhraseAlignment.equals() + **/ + bool equals(const PhraseAlignment& lhs, const PhraseAlignment& rhs) const; + /** Add the values for this feature function. */ + void add(const ScoreFeatureContext& context, + std::vector& denseValues, + std::map& sparseValues) const; + + +protected: + /** Overriden in subclass */ + virtual void add(std::string *internalStruct, + std::vector& denseValues, + std::map& sparseValues) const; + int m_type; + +}; + +class InternalStructFeatureDense : public InternalStructFeature +{ +public: + InternalStructFeatureDense() + :InternalStructFeature(){m_type=1; std::cout<<"InternalStructFeatureDense: Construct "<& denseValues, + std::map& sparseValues) const; +}; + +class InternalStructFeatureSparse : public InternalStructFeature +{ +public: + InternalStructFeatureSparse() + :InternalStructFeature(){m_type=2; std::cout<<"InternalStructFeatureSparse: Construct "<& denseValues, + std::map& sparseValues) const; +}; + +} -- cgit v1.2.3