summaryrefslogtreecommitdiff
path: root/rampion
diff options
context:
space:
mode:
Diffstat (limited to 'rampion')
-rwxr-xr-xrampion/rampion.pl6
-rw-r--r--rampion/rampion_cccp.cc8
2 files changed, 10 insertions, 4 deletions
diff --git a/rampion/rampion.pl b/rampion/rampion.pl
index fda2bac2..9884f453 100755
--- a/rampion/rampion.pl
+++ b/rampion/rampion.pl
@@ -301,11 +301,15 @@ while (1){
my $score = 0;
my $icc = 0;
my $inweights="$dir/weights.$im1";
+ my $outweights="$dir/weights.$iteration";
$cmd="$MAPINPUT $dir/hgs > $dir/agenda.$im1";
print STDERR "COMMAND:\n$cmd\n";
check_call($cmd);
- die "PLEASE IMPL";
+ $cmd="$MAPPER $refs_comma_sep -m $metric -i $dir/agenda.$im1 -w $inweights > $outweights";
+ check_call($cmd);
+ $lastWeightsFile = $outweights;
$iteration++;
+ `rm hgs/*.gz`;
print STDERR "\n==========\n";
}
diff --git a/rampion/rampion_cccp.cc b/rampion/rampion_cccp.cc
index 6eb3ccf3..7a6f1f0c 100644
--- a/rampion/rampion_cccp.cc
+++ b/rampion/rampion_cccp.cc
@@ -58,6 +58,7 @@ struct HypInfo {
SufficientStats ss;
scorer.Evaluate(hyp, &ss);
g = metric->ComputeScore(ss);
+ if (!metric->IsErrorMetric()) g = 1 - g;
}
vector<WordID> hyp;
@@ -90,8 +91,7 @@ int main(int argc, char** argv) {
EvaluationMetric* metric = EvaluationMetric::Instance(evaluation_metric);
DocumentScorer ds(metric, conf["reference"].as<vector<string> >());
cerr << "Loaded " << ds.size() << " references for scoring with " << evaluation_metric << endl;
- double goodsign = 1;
- if (metric->IsErrorMetric()) goodsign = -goodsign;
+ double goodsign = -1;
double badsign = -goodsign;
Hypergraph hg;
@@ -121,6 +121,8 @@ int main(int argc, char** argv) {
vector<HypInfo>& curkbest = kis.back();
is >> file >> sent_id;
ReadFile rf(file);
+ if (kis.size() % 5 == 0) { cerr << '.'; }
+ if (kis.size() % 200 == 0) { cerr << " [" << kis.size() << "]\n"; }
HypergraphIO::ReadFromJSON(rf.stream(), &hg);
hg.Reweight(weights);
KBest::KBestDerivations<vector<WordID>, ESentenceTraversal> kbest(hg, kbest_size);
@@ -132,8 +134,8 @@ int main(int argc, char** argv) {
curkbest.push_back(HypInfo(d->yield, d->feature_values, *ds[sent_id], metric));
}
}
+ cerr << "\nHypergraphs loaded.\n";
- cerr << "Hypergraphs loaded.\n";
vector<SparseVector<weight_t> > goals(kis.size()); // f(x_i,y+,h+)
SparseVector<weight_t> fear; // f(x,y-,h-)
for (unsigned iterp = 1; iterp <= tp; ++iterp) {