summaryrefslogtreecommitdiff
path: root/training/mira/kbest_cut_mira.cc
diff options
context:
space:
mode:
Diffstat (limited to 'training/mira/kbest_cut_mira.cc')
-rw-r--r--training/mira/kbest_cut_mira.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/training/mira/kbest_cut_mira.cc b/training/mira/kbest_cut_mira.cc
index e4435abb..a9a4aeb6 100644
--- a/training/mira/kbest_cut_mira.cc
+++ b/training/mira/kbest_cut_mira.cc
@@ -734,10 +734,19 @@ int main(int argc, char** argv) {
ViterbiESentence(bobs.hypergraph[0], &trans);
cout << TD::GetString(trans) << endl;
continue;
- // Translate and update (normal MIRA)
+ // Special command:
+ // CMD ||| arg1 ||| arg2 ...
} else {
- ds->update(buf.substr(delim + 5));
- buf = buf.substr(0, delim);
+ string cmd = buf.substr(0, delim);
+ buf = buf.substr(delim + 5);
+ // Translate and update (normal MIRA)
+ // LEARN ||| source ||| reference
+ if (cmd == "LEARN") {
+ delim = buf.find(" ||| ");
+ ds->update(buf.substr(delim + 5));
+ buf = buf.substr(0, delim);
+ }
+ // TODO: additional commands
}
}
//TODO: allow batch updating