diff options
author | Patrick Simianer <p@simianer.de> | 2013-12-04 20:13:07 +0100 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2013-12-04 20:13:07 +0100 |
commit | 02647059daa297e7b2b3ca3a2c03d848ae3ad9f2 (patch) | |
tree | a5d2b5d66a8cff38a9422378c66861a3fb493e80 /extractor/backoff_sampler.h | |
parent | 7b2cd4e93114baaa329c483a98d6f7999aad1ba0 (diff) | |
parent | 7d391d8eb88d27c5637042fefe2d27e7b12f5587 (diff) |
fix merge conflict
Diffstat (limited to 'extractor/backoff_sampler.h')
-rw-r--r-- | extractor/backoff_sampler.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/extractor/backoff_sampler.h b/extractor/backoff_sampler.h new file mode 100644 index 00000000..5c244105 --- /dev/null +++ b/extractor/backoff_sampler.h @@ -0,0 +1,41 @@ +#ifndef _BACKOFF_SAMPLER_H_ +#define _BACKOFF_SAMPLER_H_ + +#include <vector> + +#include "sampler.h" + +namespace extractor { + +class DataArray; +class PhraseLocation; + +class BackoffSampler : public Sampler { + public: + BackoffSampler(shared_ptr<DataArray> source_data_array, int max_samples); + + BackoffSampler(); + + PhraseLocation Sample( + const PhraseLocation& location, + const unordered_set<int>& blacklisted_sentence_ids) const; + + private: + virtual int GetNumSubpatterns(const PhraseLocation& location) const = 0; + + virtual int GetRangeLow(const PhraseLocation& location) const = 0; + + virtual int GetRangeHigh(const PhraseLocation& location) const = 0; + + virtual int GetPosition(const PhraseLocation& location, int index) const = 0; + + virtual void AppendMatching(vector<int>& samples, int index, + const PhraseLocation& location) const = 0; + + shared_ptr<DataArray> source_data_array; + int max_samples; +}; + +} // namespace extractor + +#endif |