summaryrefslogtreecommitdiff
path: root/per-sentence-bleu
blob: 257eb3acb88b1543797f3cbace1343f9e7ec0c9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env ruby

require 'zipf'
require 'optimist'

def main
  conf = Optimist::options do
    opt :input, "input", :type => :string, :default => '-'
    opt :references, "references", :type => :string, :required => true
    opt :len_hack, "hack of Nakov et al", :type => :int, :default => 0
    opt :n, "N", :default => 4
  end

  refs = ReadFile.readlines_strip conf[:references]
  i = -1
  input = ReadFile.new conf[:input]
  while line = input.gets
    i += 1
    if line.strip == ''
      puts 0.0
      next
    end
    puts BLEU::per_sentence_bleu line.strip, refs[i].split, conf[:n], conf[:len_hack]
  end
  input.close
end

main