diff options
author | Kenneth Heafield <github@kheafield.com> | 2012-09-13 04:04:17 -0700 |
---|---|---|
committer | Kenneth Heafield <github@kheafield.com> | 2012-09-13 04:04:17 -0700 |
commit | 7f809684f51d4e520b506c74ed2b475d611eee24 (patch) | |
tree | 9f73d5e50859f7c15d5279d4494a3fca304d96f2 /klm/search | |
parent | 5258e0355a3fe54ce29877f5b2a8d5cd5f1737ca (diff) | |
parent | 8505fdfdf0bc4ce9acec42e1980a2fdd4f254109 (diff) |
Merge branch 'master' of github.com:kpu/cdec
Diffstat (limited to 'klm/search')
-rw-r--r-- | klm/search/config.hh | 6 | ||||
-rw-r--r-- | klm/search/weights.cc | 2 | ||||
-rw-r--r-- | klm/search/weights.hh | 17 |
3 files changed, 15 insertions, 10 deletions
diff --git a/klm/search/config.hh b/klm/search/config.hh index e21e4b7c..ef8e2354 100644 --- a/klm/search/config.hh +++ b/klm/search/config.hh @@ -8,15 +8,15 @@ namespace search { class Config { public: - Config(StringPiece weight_str, unsigned int pop_limit) : - weights_(weight_str), pop_limit_(pop_limit) {} + Config(const Weights &weights, unsigned int pop_limit) : + weights_(weights), pop_limit_(pop_limit) {} const Weights &GetWeights() const { return weights_; } unsigned int PopLimit() const { return pop_limit_; } private: - search::Weights weights_; + Weights weights_; unsigned int pop_limit_; }; diff --git a/klm/search/weights.cc b/klm/search/weights.cc index 82ff3f12..d65471ad 100644 --- a/klm/search/weights.cc +++ b/klm/search/weights.cc @@ -49,6 +49,8 @@ Weights::Weights(StringPiece text) { word_penalty_ = Steal("WordPenalty"); } +Weights::Weights(Score lm, Score oov, Score word_penalty) : lm_(lm), oov_(oov), word_penalty_(word_penalty) {} + search::Score Weights::DotNoLM(StringPiece text) const { DotProduct dot; Parse<const Map, DotProduct>(text, map_, dot); diff --git a/klm/search/weights.hh b/klm/search/weights.hh index 4a4388c7..df1c419f 100644 --- a/klm/search/weights.hh +++ b/klm/search/weights.hh @@ -23,25 +23,28 @@ class Weights { // Parses weights, sets lm_weight_, removes it from map_. explicit Weights(StringPiece text); - search::Score DotNoLM(StringPiece text) const; + // Just the three scores we care about adding. + Weights(Score lm, Score oov, Score word_penalty); - search::Score LM() const { return lm_; } + Score DotNoLM(StringPiece text) const; - search::Score OOV() const { return oov_; } + Score LM() const { return lm_; } - search::Score WordPenalty() const { return word_penalty_; } + Score OOV() const { return oov_; } + + Score WordPenalty() const { return word_penalty_; } // Mostly for testing. - const boost::unordered_map<std::string, search::Score> &GetMap() const { return map_; } + const boost::unordered_map<std::string, Score> &GetMap() const { return map_; } private: float Steal(const std::string &str); - typedef boost::unordered_map<std::string, search::Score> Map; + typedef boost::unordered_map<std::string, Score> Map; Map map_; - search::Score lm_, oov_, word_penalty_; + Score lm_, oov_, word_penalty_; }; } // namespace search |