summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-02-16 00:25:49 +0100
committerPatrick Simianer <p@simianer.de>2014-02-16 00:25:49 +0100
commit4680f4a3178a9d630377116d38bd5412468c0d7a (patch)
tree50cc10100eba2991c4dc49224eb4f790a8aabadd
parent81a637ae52d2a1d0bc751b44c193765cdc1091f1 (diff)
per sentence ...
-rwxr-xr-xper_sentence_bleu_kbest34
-rwxr-xr-xper_sentence_ter35
2 files changed, 69 insertions, 0 deletions
diff --git a/per_sentence_bleu_kbest b/per_sentence_bleu_kbest
new file mode 100755
index 0000000..475da03
--- /dev/null
+++ b/per_sentence_bleu_kbest
@@ -0,0 +1,34 @@
+#!/usr/bin/env ruby
+
+require 'nlp_ruby'
+require 'trollop'
+
+
+def main
+ cfg = Trollop::options do
+ opt :kbests, "kbests", :type => :string, :default => '-'
+ opt :references, "references", :type => :string, :required => true
+ end
+ refs = ReadFile.new cfg[:references]
+ kbest_lists = read_kbest_lists cfg[:kbests]
+ i = 0
+ kbest_lists.each { |list|
+ scores = []
+ o = false
+ list.each { |e| scores << per_sentence_bleu(e, refs[i]) }
+ max = scores.max
+ scores.each_with_index { |x,j|
+ puts "#{j+1} ||| #{scores[j]} ||| #{list[j]}"
+ if scores[j]==max && !o
+ puts "^^^ #{j+1} #{max}"
+ o = true
+ end
+ }
+ puts
+ i += 1
+ }
+end
+
+
+main
+
diff --git a/per_sentence_ter b/per_sentence_ter
new file mode 100755
index 0000000..eb7083b
--- /dev/null
+++ b/per_sentence_ter
@@ -0,0 +1,35 @@
+#!/usr/bin/env ruby
+
+require 'nlp_ruby'
+require 'trollop'
+require 'tempfile'
+
+
+def main
+ cfg = Trollop::options do
+ opt :input, "input", :type => :string, :default => '-'
+ opt :references, "references", :type => :string, :required => true
+ opt :mteval_bin, "cdec's mteval/fast_score", :type => :string, :default => '`/toolbox/cdec-dtrain/mteval/fast_score'
+ end
+
+ refs = ReadFile.readlines_strip cfg[:references]
+ input = ReadFile.new cfg[:input]
+ i = -1
+ while line = input.gets
+ line.strip!
+ i += 1
+ a = Tempfile.new 'pster'
+ b = Tempfile.new 'pster'
+ a.write line+"\n"
+ b.write refs[i]+"\n"
+ a.close; b.close
+ score = `/toolbox/cdec-dtrain/mteval/fast_score -i #{a.path} -r #{b.path} -m ter 2>/dev/null`
+ puts score
+ a.unlink; b.unlink
+ end
+ input.close
+end
+
+
+main
+