diff options
| author | Patrick Simianer <p@simianer.de> | 2016-06-21 17:43:30 +0200 | 
|---|---|---|
| committer | Patrick Simianer <p@simianer.de> | 2016-06-21 17:43:30 +0200 | 
| commit | 88879ebcd230e7ace8c7819e8d02f83a7273d9a8 (patch) | |
| tree | bfbdff3a20f28fa0eecb85221e0a06810d775809 | |
| parent | af01bff529f5b70e2e552ddd98b980e8222a1876 (diff) | |
hide summary link, more logging, bugfix, hter, s->min
| -rw-r--r-- | interface.php | 4 | ||||
| -rwxr-xr-x | server.rb | 34 | ||||
| -rw-r--r-- | views/summary.haml | 16 | 
3 files changed, 41 insertions, 13 deletions
| diff --git a/interface.php b/interface.php index 00d8779..ddd9348 100644 --- a/interface.php +++ b/interface.php @@ -69,8 +69,8 @@ Note that the source word may be distorted.      Support: <a href="mailto://simianer@cl.uni-heidelberg.de">Mail</a>    </p>    <p class="tiny">Session: <?php echo $_GET["key"]; ?> | -    <a href="http://postedit.cl.uni-heidelberg.de:<?php echo $db->port; ?>/debug" target="_blank">Debug</a> | -    <a href="http://postedit.cl.uni-heidelberg.de:<?php echo $db->port; ?>/summary" target="_blank">Summary</a> +    <a href="http://postedit.cl.uni-heidelberg.de:<?php echo $db->port; ?>/debug" target="_blank">Debug</a> +    <!--| <a href="http://postedit.cl.uni-heidelberg.de:<?php echo $db->port; ?>/summary" target="_blank">Summary</a>-->    </p>  </div>  <!-- /Help --> @@ -190,6 +190,7 @@ def process_next reply    if data["OOV"]                                              # OOV corrections      $status = "Processing OOV corrections"      logmsg :server, "received OOV corrections"                         # status +    logmsg :server, "#{data.to_s}"      #grammar = "#{WORK_DIR}/g/#{$db['progress']}.grammar"      grammar = "#{SESSION_DIR}/g/grammar.#{$db['progress']}"      src, tgt = splitpipe(data["correct"]) # format:src1\tsrc2\tsrc..|||tgt1\t.. @@ -407,16 +408,18 @@ def process_next reply                                       # 1. generate grammar for current sentence      $status = "Generating grammar"                                     # status +    logmsg :server, "generating grammar for segment ##{$db['progress']}"      grammar = "#{WORK_DIR}/g/#{$db['progress']}.grammar"      if !$pregenerated_grammars -    if !File.exist? grammar      # grammar already generated if there were OOVs -      send_recv :extractor, "default_context ||| #{source} ||| #{grammar}" -    end +      if !File.exist? grammar      # grammar already generated if there were OOVs +        send_recv :extractor, "default_context ||| #{source} ||| #{grammar}" +      end      else        grammar = "#{SESSION_DIR}/g/grammar.#{$db['progress']}"      end                                                                  # - known rules      logmsg :server, "annotating known rules" +    logmsg :server, "grammar file: #{grammar}"      $status = "Adding rules to the grammar"                            # status      match = {}      $known_rules.each { |r| @@ -433,12 +436,12 @@ def process_next reply        end      }                                                             # - additional rules -    #logmsg :server, $new_rules.to_s      if $new_rules.size > 0        all_rules += $new_rules -      #`echo "#{s}" >> #{grammar}`      end -    WriteFile.new(grammar).write all_rules.join("\n")+"\n" +    f = WriteFile.new(grammar) +    f.write(all_rules.join("\n")+"\n") +    f.close      #$new_rules.each { |rule|      # logmsg :server, "adding rule '#{rule}' to grammar '#{grammar}'"      #  s = splitpipe(rule)[1..2].map{|i|i.strip.lstrip}.join(" ||| ") @@ -447,10 +450,13 @@ def process_next reply                                                              # 2. check for OOVs      if !$oov_corrected[$db['progress']]      $status = "Checking for OOVs"                                      # status +    logmsg :server, "checking for oovs"      src_r = ReadFile.readlines(grammar).map {        |l| splitpipe(l)[1].strip.split      }.flatten.uniq      oovs = [] +    logmsg :server, "OOVs in '#{source}'" +    logmsg :server, "coverage: #{src_r.to_s}"      source.split.each { |token|        if !src_r.include? token          oovs << token @@ -732,9 +738,23 @@ get '/summary' do      g.unlink    } +  hter_scores = [] +  data["post_edits"].each_with_index { |pe,j| +    f = Tempfile.new "lfpe-summary-mt" +    g = Tempfile.new "lfpe-summary-pe" +    f.write data["mt_raw"][j]+"\n" +    g.write pe+"\n" +    f.close +    g.close +    hter_scores << [1.0, (`#{CDEC}/mteval/fast_score -i #{f.path} -r #{g.path} -m ter 2>/dev/null`.to_f).round(2)].min +    f.unlink +    g.unlink +  } +    haml :summary, :locals => { :session_key => SESSION_KEY,                                :data => data, -                              :ter_scores => ter_scores } +                              :ter_scores => ter_scores, +                              :hter_scores => hter_scores }  end diff --git a/views/summary.haml b/views/summary.haml index f5ff4b3..671f1b5 100644 --- a/views/summary.haml +++ b/views/summary.haml @@ -31,13 +31,19 @@              TER          %td            %strong -            Keystrokes +            MT          %td            %strong -            Mouse actions +            HTER          %td            %strong -            Duration +            Key. +        %td +          %strong +            M.a. +        %td +          %strong +            Dur.          - data["post_edits"].each_with_index do |pe,j|            %tr              %td.center #{j+1}. @@ -46,8 +52,10 @@              %td #{data["references"][j]}              %td.center #{(BLEU::per_sentence_bleu(pe, [data["references"][j]], 4, 0)*100).round 2}%              %td.center #{ter_scores[j]} +            %td #{data["mt_raw"][j]} +            %td.center #{hter_scores[j]}              %td.center #{data["count_kbd"][j]}              %td.center #{data["count_click"][j]} -            %td.center #{(data["durations"][j]/1000).round 1}s +            %td.center #{((data["durations"][j]/1000.0)/60.0).round 1} min | 
