diff options
author | Chris Dyer <redpony@gmail.com> | 2014-12-18 12:52:00 -0500 |
---|---|---|
committer | Chris Dyer <redpony@gmail.com> | 2014-12-18 12:52:00 -0500 |
commit | db1733fb11577638c230de097dd0171c132647b8 (patch) | |
tree | 863f23817da4dd760aa252a8c29923e9f07af039 /decoder/ff_soft_syn.h | |
parent | a617b8f7b93f4cdfb5b5100865fb57545a843a6c (diff) | |
parent | 126c54ec0026814e530f983fcb5184b2fce12319 (diff) |
Merge pull request #64 from kho/softsyn_2
Proper implementation of soft syntactic constraint features
Diffstat (limited to 'decoder/ff_soft_syn.h')
-rw-r--r-- | decoder/ff_soft_syn.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/decoder/ff_soft_syn.h b/decoder/ff_soft_syn.h new file mode 100644 index 00000000..df9a6cc8 --- /dev/null +++ b/decoder/ff_soft_syn.h @@ -0,0 +1,38 @@ +/* + * ff_soft_syn.h + * + */ + +#ifndef FF_SOFT_SYN_H_ +#define FF_SOFT_SYN_H_ + +#include "ff_factory.h" +#include "ff.h" + +struct SoftSynFeatureImpl; + +class SoftSynFeature : public FeatureFunction { + public: + SoftSynFeature(std::string param); + ~SoftSynFeature(); + static std::string usage(bool param, bool verbose); + + protected: + virtual void PrepareForInput(const SentenceMetadata& smeta); + + virtual void TraversalFeaturesImpl( + const SentenceMetadata& smeta, const HG::Edge& edge, + const std::vector<const void*>& ant_contexts, + SparseVector<double>* features, SparseVector<double>* estimated_features, + void* out_context) const; + + private: + SoftSynFeatureImpl* pimpl_; +}; + +struct SoftSynFeatureFactory : public FactoryBase<FeatureFunction> { + FP Create(std::string param) const; + std::string usage(bool params, bool verbose) const; +}; + +#endif /* FF_SOFT_SYN_H_ */ |