summaryrefslogtreecommitdiff
path: root/decoder/ff_klm.cc
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2011-06-06 21:06:02 -0400
committerChris Dyer <cdyer@cs.cmu.edu>2011-06-06 21:06:02 -0400
commit4f3d61a3578dd99136913fc8cc8852fddcb50682 (patch)
tree9ab3988fff10eb2bc0fe8ad63f49babfe9d16073 /decoder/ff_klm.cc
parent866ae1777a42dfecf1869eb0ebc722c7d8cfc7d0 (diff)
parentdcf4447590277887d65b0bdec7e6818081869a9a (diff)
Merge branch 'master' of github.com:redpony/cdec
Diffstat (limited to 'decoder/ff_klm.cc')
-rw-r--r--decoder/ff_klm.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/decoder/ff_klm.cc b/decoder/ff_klm.cc
index 35b35d36..a3bd0c5f 100644
--- a/decoder/ff_klm.cc
+++ b/decoder/ff_klm.cc
@@ -282,11 +282,10 @@ class KLanguageModelImpl {
KLanguageModelImpl(const string& filename, const string& mapfile, bool explicit_markers) :
kCDEC_UNK(TD::Convert("<unk>")) ,
add_sos_eos_(!explicit_markers) {
- if (true) {
- boost::scoped_ptr<lm::ngram::EnumerateVocab> vm;
- vm.reset(new VMapper(&cdec2klm_map_));
+ {
+ VMapper vm(&cdec2klm_map_);
lm::ngram::Config conf;
- conf.enumerate_vocab = vm.get();
+ conf.enumerate_vocab = &vm;
ngram_ = new Model(filename.c_str(), conf);
}
order_ = ngram_->Order();
@@ -385,7 +384,12 @@ KLanguageModel<Model>::KLanguageModel(const string& param) {
if (!ParseLMArgs(param, &filename, &mapfile, &explicit_markers, &featname)) {
abort();
}
- pimpl_ = new KLanguageModelImpl<Model>(filename, mapfile, explicit_markers);
+ try {
+ pimpl_ = new KLanguageModelImpl<Model>(filename, mapfile, explicit_markers);
+ } catch (std::exception &e) {
+ std::cerr << e.what() << std::endl;
+ abort();
+ }
fid_ = FD::Convert(featname);
oov_fid_ = FD::Convert(featname+"_OOV");
cerr << "FID: " << oov_fid_ << endl;