summaryrefslogtreecommitdiff
path: root/kbest_bleu_oracles
diff options
context:
space:
mode:
Diffstat (limited to 'kbest_bleu_oracles')
-rwxr-xr-xkbest_bleu_oracles51
1 files changed, 0 insertions, 51 deletions
diff --git a/kbest_bleu_oracles b/kbest_bleu_oracles
deleted file mode 100755
index a36c345..0000000
--- a/kbest_bleu_oracles
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'zipf'
-require 'trollop'
-
-def get_context kbest_lists, references, n
- a = []
- kbest_lists.each_index { |i|
- a << BLEU::get_counts(kbest_lists[i][0].s, references[i], n, 1)
- }
- return a
-end
-
-def main
- conf = Trollop::options do
- opt :kbest_lists, "kbest lists", :type => :string, :required => true
- opt :references, "reference", :type => :string, :required => true
- opt :n, "N for BLEU", :type => :int, :default => 4
- opt :weight, "how much to weigh single translations", :type => :int, :default => 1
- opt :debug, "debug mode", :type => :bool, :default => false
- end
- debug = conf[:debug]
- n = conf[:n]
- kbest_lists = read_kbest_lists conf[:kbest_lists]
- references = ReadFile.readlines_strip conf[:references]
- context = get_context kbest_lists, references, n
- kbest_lists.each_with_index { |kbest,j|
- scores = []
- max_score = -1.0/0
- max_idx = -1
- kbest.each_index { |i|
- context_cp = context.dup
- context_cp[j] = BLEU::get_counts kbest[i].s, references[j], n, conf[:weight]
- score = BLEU::hbleu_(context_cp, n, debug)
- scores << score
- if score > max_score
- max_score = score
- max_idx = i
- end
- STDERR.write "#{i} #{kbest[i]}\t#{score}\n---\n" if debug
- }
- puts "#{references[j]}"
- puts "BLEU=#{scores[0]} ||| #{kbest[0]}"
- puts "BLEU=#{max_score} ||| #{kbest[max_idx]}"
- puts
- STDERR.write "\n" if debug
- }
-end
-
-main
-