diff options
author | Patrick Simianer <p@simianer.de> | 2013-04-29 11:01:38 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2013-04-29 11:01:38 +0200 |
commit | 619daa3700303b55604781645b28aa702d96b91a (patch) | |
tree | 7674142886e98a9263dee720963cd309bc84347c | |
parent | 3ea6bc5eadc05b9f052e16a33a5eb96823048e88 (diff) |
added (broken) variant of a feature
-rw-r--r-- | decoder/Makefile.am | 13 | ||||
-rw-r--r-- | decoder/cdec_ff.cc | 24 | ||||
-rw-r--r-- | decoder/ff_source_syntax2_p.cc | 14 | ||||
-rw-r--r-- | decoder/ff_source_syntax2_p.h | 10 |
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 |