From 1286791ba177757c5dec3ce58e3c5b9771e01f07 Mon Sep 17 00:00:00 2001 From: shuoyangd Date: Thu, 4 Feb 2016 17:18:23 -0500 Subject: [PATCH 1/2] add nnjm-settings to access options in train_nplm.py --- scripts/ems/experiment.perl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/ems/experiment.perl b/scripts/ems/experiment.perl index 20f9cc93e..95c982cd7 100755 --- a/scripts/ems/experiment.perl +++ b/scripts/ems/experiment.perl @@ -1800,6 +1800,10 @@ sub define_lm_train_bilingual_lm { my $epochs = &get_bilingual_lm_epochs($set); $cmd .= " -e $epochs" if defined($epochs); + my $nnjm_settings = backoff_and_get("LM:$set:nnjm-settings"); + $cmd .= " "; + $cmd .= $nnjm_settings; + my $nplm_settings = backoff_and_get("LM:$set:nplm-settings"); $cmd .= " --extra-settings \"$nplm_settings\"" if defined($nplm_settings); From 7cf3b239622caf4f9e6d49579c077262ef525436 Mon Sep 17 00:00:00 2001 From: shuoyangd Date: Thu, 4 Feb 2016 17:21:24 -0500 Subject: [PATCH 2/2] fix search graph parsing for CYK+ --- scripts/ems/support/analysis.perl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/ems/support/analysis.perl b/scripts/ems/support/analysis.perl index 01bb21773..effd8f76f 100755 --- a/scripts/ems/support/analysis.perl +++ b/scripts/ems/support/analysis.perl @@ -782,7 +782,8 @@ sub hs_scan_line { if ($line =~ /^Trans Opt/) { # Old format $line =~ /^Trans Opt (\d+) \[(\d+)\.\.(\d+)\]: (.+) : (\S+) \-\>(.+) :([\(\),\d\- ]*): pC=[\d\.\-e]+, c=/ || - $line =~ /^Trans Opt (\d+) \[(\d+)\.\.(\d+)\]: (.+) : (\S+) \-\>\S+ \-\> (.+) :([\(\),\d\- ]*): c=/ || return 0; + $line =~ /^Trans Opt (\d+) \[(\d+)\.\.(\d+)\]: (.+) : (\S+) \-\>\S+ \-\> (.+) :([\(\),\d\- ]*): c=/ || + $line =~ /^Trans Opt (\d+) \[(\d+)\.\.(\d+)\]: (.+) : (\S+) \-\>\S+ \-\> (.+) :([\(\),\d\- ]*): term=.*: nonterm=.*: c=/ || return 0; my ($sentence,$start,$end,$spans,$rule_lhs,$rule_rhs,$alignment) = ($1,$2,$3,$4,$5,$6,$7); ${$ref_sentence} = $sentence; @@ -1202,7 +1203,8 @@ sub process_search_graph { if (/^(\d+) (\d+)\-?\>?(\S*) (\S+) =\> (.+) :(.*): pC=([\de\-\.]+), c=([\de\-\.]+) \[(\d+)\.\.(\d+)\] (.*)\[total=([\d\-\.]+)\] \<\?(\S*) (\S+) =\> (.+) :(.*): c=([\de\-\.]+) \[(\d+)\.\.(\d+)\] (.*)\[total=([\d\-\.]+)\] core/) { + elsif (/^(\d+) (\d+)\-?\>?(\S*) (\S+) =\> (.+) :(.*): c=([\de\-\.]+) \[(\d+)\.\.(\d+)\] (.*)\[total=([\de\-\.]+)\] core/ || + /^(\d+) (\d+)\-?\>?(\S*) (\S+) =\> (.+) :(.*): c=([\de\-\.]+) core=\(.*\) \[(\d+)\.\.(\d+)\] (.*)\[total=([\de\-\.]+)\] core/) { ($sentence,$id,$recomb,$lhs,$output,$alignment,$rule_score,$from,$to,$children,$hyp_score) = ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12); $heuristic_rule_score = $rule_score; # hmmmm.... }