summaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorredpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-09-21 20:10:27 +0000
committerredpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-09-21 20:10:27 +0000
commit1cc6a37d1a93cbcb14a980fc64d7bdbe6db486fd (patch)
tree4ef09d87e88c3cfd5d950d388644502d0d4a92ed /decoder
parente5625218ad4e0ea8216ad55125fc1099ccab0e19 (diff)
fix for lattice cost bug
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@653 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder')
-rw-r--r--decoder/bottom_up_parser.cc2
-rw-r--r--decoder/decoder.cc6
-rw-r--r--decoder/rule_lexer.l7
-rw-r--r--decoder/scfg_translator.cc6
4 files changed, 12 insertions, 9 deletions
diff --git a/decoder/bottom_up_parser.cc b/decoder/bottom_up_parser.cc
index 2d945222..9504419c 100644
--- a/decoder/bottom_up_parser.cc
+++ b/decoder/bottom_up_parser.cc
@@ -188,7 +188,7 @@ void PassiveChart::ApplyRule(const int i,
new_edge->i_ = i;
new_edge->j_ = j;
new_edge->feature_values_ = r->GetFeatureValues();
- if (lattice_cost)
+ if (lattice_cost && lc_fid_)
new_edge->feature_values_.set_value(lc_fid_, lattice_cost);
Cat2NodeMap& c2n = nodemap_(i,j);
const bool is_goal = (r->GetLHS() == kGOAL);
diff --git a/decoder/decoder.cc b/decoder/decoder.cc
index e0967e40..1a233fc5 100644
--- a/decoder/decoder.cc
+++ b/decoder/decoder.cc
@@ -580,10 +580,10 @@ DecoderImpl::DecoderImpl(po::variables_map& conf, int argc, char** argv, istream
cerr << "prelm rescoring with "<<prelm_ffs.size()<<" 0-state feature functions. +LM pass will use "<<late_ffs.size()<<" features (not counting rule features)."<<endl;
late_models = new ModelSet(feature_weights, late_ffs);
- show_models(conf,*late_models,"late ");
+ if (!SILENT) show_models(conf,*late_models,"late ");
prelm_models = new ModelSet(prelm_feature_weights, prelm_ffs);
- if (has_prelm_models)
- show_models(conf,*prelm_models,"prelm ");
+ if (has_prelm_models) {
+ if (!SILENT) show_models(conf,*prelm_models,"prelm "); }
int palg = 1;
if (LowercaseString(str("intersection_strategy",conf)) == "full") {
diff --git a/decoder/rule_lexer.l b/decoder/rule_lexer.l
index 2de94587..2e5d3bf5 100644
--- a/decoder/rule_lexer.l
+++ b/decoder/rule_lexer.l
@@ -11,6 +11,7 @@
#include "tdict.h"
#include "fdict.h"
#include "trule.h"
+#include "verbose.h"
int lex_line = 0;
std::istream* scfglex_stream = NULL;
@@ -222,8 +223,10 @@ NT [^\t \[\],]+
// std::cerr << rp->AsString() << std::endl;
num_rules++;
lex_line++;
- if (num_rules % 50000 == 0) { std::cerr << '.' << std::flush; fl = true; }
- if (num_rules % 2000000 == 0) { std::cerr << " [" << num_rules << "]\n"; fl = false; }
+ if (!SILENT) {
+ if (num_rules % 50000 == 0) { std::cerr << '.' << std::flush; fl = true; }
+ if (num_rules % 2000000 == 0) { std::cerr << " [" << num_rules << "]\n"; fl = false; }
+ }
ctf_level = 0;
BEGIN(INITIAL);
}
diff --git a/decoder/scfg_translator.cc b/decoder/scfg_translator.cc
index 4e6cc226..60123e6f 100644
--- a/decoder/scfg_translator.cc
+++ b/decoder/scfg_translator.cc
@@ -34,7 +34,7 @@ struct SCFGTranslatorImpl {
if(conf.count("grammar")){
vector<string> gfiles = conf["grammar"].as<vector<string> >();
for (int i = 0; i < gfiles.size(); ++i) {
- cerr << "Reading SCFG grammar from " << gfiles[i] << endl;
+ if (!SILENT) cerr << "Reading SCFG grammar from " << gfiles[i] << endl;
TextGrammar* g = new TextGrammar(gfiles[i]);
g->SetMaxSpan(max_span_limit);
g->SetGrammarName(gfiles[i]);
@@ -46,7 +46,7 @@ struct SCFGTranslatorImpl {
GlueGrammar* g = new GlueGrammar(conf["scfg_extra_glue_grammar"].as<string>());
g->SetGrammarName("ExtraGlueGrammar");
grammars.push_back(GrammarPtr(g));
- cerr << "Adding glue grammar from file " << conf["scfg_extra_glue_grammar"].as<string>() << endl;
+ if (!SILENT) cerr << "Adding glue grammar from file " << conf["scfg_extra_glue_grammar"].as<string>() << endl;
}
ctf_iterations_=0;
if (use_ctf_){
@@ -74,7 +74,7 @@ struct SCFGTranslatorImpl {
GlueGrammar* g = new GlueGrammar(goal, default_nt, ctf_iterations_);
g->SetGrammarName("GlueGrammar");
grammars.push_back(GrammarPtr(g));
- cerr << "Adding glue grammar for default nonterminal " << default_nt <<
+ if (!SILENT) cerr << "Adding glue grammar for default nonterminal " << default_nt <<
" and goal nonterminal " << goal << endl;
}
}