summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2013-04-29 11:01:38 +0200
committerPatrick Simianer <p@simianer.de>2013-04-29 11:01:38 +0200
commit619daa3700303b55604781645b28aa702d96b91a (patch)
tree7674142886e98a9263dee720963cd309bc84347c
parent3ea6bc5eadc05b9f052e16a33a5eb96823048e88 (diff)
added (broken) variant of a feature
-rw-r--r--decoder/Makefile.am13
-rw-r--r--decoder/cdec_ff.cc24
-rw-r--r--decoder/ff_source_syntax2_p.cc14
-rw-r--r--decoder/ff_source_syntax2_p.h10
4 files changed, 34 insertions, 27 deletions
diff --git a/decoder/Makefile.am b/decoder/Makefile.am
index a93a5dbe..00f8b5f9 100644
--- a/decoder/Makefile.am
+++ b/decoder/Makefile.am
@@ -142,20 +142,13 @@ libcdec_a_SOURCES = \
ff_csplit.cc \
ff_tagger.cc \
ff_source_path.cc \
- ff_source_syntax.h \
+ ff_parse_match.cc \
+ ff_soft_syntax.cc \
+ ff_soft_syntax2.cc \
ff_source_syntax.cc \
- ff_source_syntax_p.h \
ff_source_syntax_p.cc \
- ff_source_syntax2.h \
ff_source_syntax2.cc \
- ff_source_syntax2_p.h \
ff_source_syntax2_p.cc \
- ff_parse_match.cc \
- ff_parse_match.h \
- ff_soft_syntax.cc \
- ff_soft_syntax.h \
- ff_soft_syntax2.cc \
- ff_soft_syntax2.h \
ff_bleu.cc \
ff_factory.cc \
incremental.cc \
diff --git a/decoder/cdec_ff.cc b/decoder/cdec_ff.cc
index 186c4de3..bbb83258 100644
--- a/decoder/cdec_ff.cc
+++ b/decoder/cdec_ff.cc
@@ -17,11 +17,15 @@
#include "ff_soft_syntax.h"
#include "ff_soft_syntax2.h"
#include "ff_source_path.h"
+
+
+#include "ff_parse_match.h"
#include "ff_source_syntax.h"
#include "ff_source_syntax_p.h"
#include "ff_source_syntax2.h"
#include "ff_source_syntax2_p.h"
-#include "ff_parse_match.h"
+
+
#include "ff_register.h"
#include "ff_charset.h"
#include "ff_wordset.h"
@@ -54,14 +58,24 @@ void register_feature_functions() {
ff_registry.Register("NgramFeatures", new FFFactory<NgramDetector>());
ff_registry.Register("RuleContextFeatures", new FFFactory<RuleContextFeatures>());
ff_registry.Register("RuleIdentityFeatures", new FFFactory<RuleIdentityFeatures>());
- ff_registry.Register("SoftSyntactcFeatures", new FFFactory<SoftSyntacticFeatures>);
- ff_registry.Register("SoftSyntcticFeatures2", new FFFactory<SoftSyntacticFeatures2>);
+
+
+ ff_registry.Register("ParseMatchFeatures", new FFFactory<ParseMatchFeatures>);
+
+ ff_registry.Register("SoftSyntacticFeatures", new FFFactory<SoftSyntacticFeatures>);
+ ff_registry.Register("SoftSyntacticFeatures2", new FFFactory<SoftSyntacticFeatures2>);
+
ff_registry.Register("SourceSyntaxFeatures", new FFFactory<SourceSyntaxFeatures>);
- //ff_registry.Register("PSourceSyntaxFeatures", new FFFactory<PSourceSyntaxFeatures>);
ff_registry.Register("SourceSyntaxFeatures2", new FFFactory<SourceSyntaxFeatures2>);
- ff_registry.Register("ParseMatchFeatures", new FFFactory<ParseMatchFeatures>);
+
ff_registry.Register("SourceSpanSizeFeatures", new FFFactory<SourceSpanSizeFeatures>);
+
+ //ff_registry.Register("PSourceSyntaxFeatures", new FFFactory<PSourceSyntaxFeatures>);
//ff_registry.Register("PSourceSpanSizeFeatures", new FFFactory<PSourceSpanSizeFeatures>);
+ ff_registry.Register("PSourceSyntaxFeatures2", new FFFactory<PSourceSyntaxFeatures2>);
+
+
+
ff_registry.Register("CMR2008ReorderingFeatures", new FFFactory<CMR2008ReorderingFeatures>());
ff_registry.Register("RuleSourceBigramFeatures", new FFFactory<RuleSourceBigramFeatures>());
ff_registry.Register("RuleTargetBigramFeatures", new FFFactory<RuleTargetBigramFeatures>());
diff --git a/decoder/ff_source_syntax2_p.cc b/decoder/ff_source_syntax2_p.cc
index 3517b87f..dfa791ea 100644
--- a/decoder/ff_source_syntax2_p.cc
+++ b/decoder/ff_source_syntax2_p.cc
@@ -15,8 +15,8 @@ using namespace std;
// source trees must be represented in Penn Treebank format, e.g.
// (S (NP John) (VP (V left)))
-struct SourceSyntaxFeatures2Impl {
- SourceSyntaxFeatures2Impl(const string& param) {
+struct PSourceSyntaxFeatures2Impl {
+ PSourceSyntaxFeatures2Impl(const string& param) {
if (param.compare("") != 0) {
string triggered_features_fn = param;
ReadFile triggered_features(triggered_features_fn);
@@ -137,17 +137,17 @@ struct SourceSyntaxFeatures2Impl {
};
-SourceSyntaxFeatures2::SourceSyntaxFeatures2(const string& param) :
+PSourceSyntaxFeatures2::PSourceSyntaxFeatures2(const string& param) :
FeatureFunction(sizeof(WordID)) {
- impl = new SourceSyntaxFeatures2Impl(param);
+ impl = new PSourceSyntaxFeatures2Impl(param);
}
-SourceSyntaxFeatures2::~SourceSyntaxFeatures2() {
+PSourceSyntaxFeatures2::~PSourceSyntaxFeatures2() {
delete impl;
impl = NULL;
}
-void SourceSyntaxFeatures2::TraversalFeaturesImpl(const SentenceMetadata& smeta,
+void PSourceSyntaxFeatures2::TraversalFeaturesImpl(const SentenceMetadata& smeta,
const Hypergraph::Edge& edge,
const vector<const void*>& ant_contexts,
SparseVector<double>* features,
@@ -161,6 +161,6 @@ void SourceSyntaxFeatures2::TraversalFeaturesImpl(const SentenceMetadata& smeta,
impl->FireFeatures(*edge.rule_, edge.i_, edge.j_, ants, features);
}
-void SourceSyntaxFeatures2::PrepareForInput(const SentenceMetadata& smeta) {
+void PSourceSyntaxFeatures2::PrepareForInput(const SentenceMetadata& smeta) {
impl->InitializeGrids(smeta.GetSGMLValue("src_tree"), smeta.GetSourceLength());
}
diff --git a/decoder/ff_source_syntax2_p.h b/decoder/ff_source_syntax2_p.h
index b6b7dc3d..d56ecab0 100644
--- a/decoder/ff_source_syntax2_p.h
+++ b/decoder/ff_source_syntax2_p.h
@@ -4,12 +4,12 @@
#include "ff.h"
#include "hg.h"
-struct SourceSyntaxFeatures2Impl;
+struct PSourceSyntaxFeatures2Impl;
-class SourceSyntaxFeatures2 : public FeatureFunction {
+class PSourceSyntaxFeatures2 : public FeatureFunction {
public:
- SourceSyntaxFeatures2(const std::string& param);
- ~SourceSyntaxFeatures2();
+ PSourceSyntaxFeatures2(const std::string& param);
+ ~PSourceSyntaxFeatures2();
protected:
virtual void TraversalFeaturesImpl(const SentenceMetadata& smeta,
const Hypergraph::Edge& edge,
@@ -19,7 +19,7 @@ class SourceSyntaxFeatures2 : public FeatureFunction {
void* context) const;
virtual void PrepareForInput(const SentenceMetadata& smeta);
private:
- SourceSyntaxFeatures2Impl* impl;
+ PSourceSyntaxFeatures2Impl* impl;
};
#endif