Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaria nadejde <maria.nadejde@gmail.com>2013-09-12 20:46:40 +0400
committermaria nadejde <maria.nadejde@gmail.com>2013-09-12 20:46:40 +0400
commit43a9323d0fa68d49c1a2d0f0c8c50ef758d80baf (patch)
treeffe292215478d8fdf8c63683d2666dbb2fbca531 /phrase-extract/InternalStructFeature.h
parentb036a038d53289f4b908b7e83201135225b2514e (diff)
add feature files
Diffstat (limited to 'phrase-extract/InternalStructFeature.h')
-rw-r--r--phrase-extract/InternalStructFeature.h66
1 files changed, 66 insertions, 0 deletions
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 <iostream>
+#include <fstream>
+#include <assert.h>
+#include <stdlib.h>
+#include <string>
+#include <queue>
+#include <map>
+#include <cmath>
+
+#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<float>& denseValues,
+ std::map<std::string,float>& sparseValues) const;
+
+
+protected:
+ /** Overriden in subclass */
+ virtual void add(std::string *internalStruct,
+ std::vector<float>& denseValues,
+ std::map<std::string,float>& sparseValues) const;
+ int m_type;
+
+};
+
+class InternalStructFeatureDense : public InternalStructFeature
+{
+public:
+ InternalStructFeatureDense()
+ :InternalStructFeature(){m_type=1; std::cout<<"InternalStructFeatureDense: Construct "<<m_type<<"\n";}
+protected:
+ virtual void add(std::string *internalStruct,
+ std::vector<float>& denseValues,
+ std::map<std::string,float>& sparseValues) const;
+};
+
+class InternalStructFeatureSparse : public InternalStructFeature
+{
+public:
+ InternalStructFeatureSparse()
+ :InternalStructFeature(){m_type=2; std::cout<<"InternalStructFeatureSparse: Construct "<<m_type<<"\n";}
+protected:
+ virtual void add(std::string *internalStruct,
+ std::vector<float>& denseValues,
+ std::map<std::string,float>& sparseValues) const;
+};
+
+}