From 7e8600d924f082c2d4b84e5d80993531e880c390 Mon Sep 17 00:00:00 2001 From: Michael Denkowski Date: Mon, 2 Sep 2013 15:09:19 -0700 Subject: Use kbest_cut_mira stream as decoder --- realtime/rt/decoder.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'realtime/rt/decoder.py') diff --git a/realtime/rt/decoder.py b/realtime/rt/decoder.py index f4fea0e2..786bc07a 100644 --- a/realtime/rt/decoder.py +++ b/realtime/rt/decoder.py @@ -8,6 +8,11 @@ class Decoder: def close(self): self.decoder.stdin.close() + def decode(self, sentence, grammar): + input = '{s}\n'.format(i=id, s=sentence, g=grammar) + self.decoder.stdin.write(input) + return self.decoder.stdout.readline().strip() + class CdecDecoder(Decoder): def __init__(self, config, weights): @@ -16,8 +21,11 @@ class CdecDecoder(Decoder): decoder_cmd = [decoder, '-c', config, '-w', weights] self.decoder = util.popen_io(decoder_cmd) - def decode(self, sentence, grammar): - input = '{s}\n'.format(i=id, s=sentence, g=grammar) - self.decoder.stdin.write(input) - return self.decoder.stdout.readline().strip() +class MIRADecoder(Decoder): + def __init__(self, config, weights): + cdec_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + mira = os.path.join(cdec_root, 'training', 'mira', 'kbest_cut_mira') + # optimizer=2 step=0.001 best=500, k=500, uniq, stream + mira_cmd = [mira, '-c', config, '-w', weights, '-o', '2', '-C', '0.001', '-b', '500', '-k', '500', '-u', '-t'] + self.decoder = util.popen_io(mira_cmd) -- cgit v1.2.3