File size: 923 Bytes
6766eda |
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 30 31 32 33 34 35 36 37 |
# encoding: utf-8
import editdistance
import argparse
import re
def compute_wer_txt(hypo_f, ref_f):
f = open(hypo_f)
hypos = f.readlines()
f.close()
f = open(ref_f)
refs = f.readlines()
f.close()
err,cnt = 0,0
print("Start Computing WER")
for i in range(len(hypos)):
hypo = hypos[i].strip().split()[:-1]
ref = refs[i].strip().split()[:-1]
e = editdistance.eval(ref, hypo)
#print(ref_token,predict_token,e/float(len(ref_token)+0.001))
err += e
cnt += len(ref)
print(err,cnt,float(float(err+0.0) / float(cnt+0.01)*100))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--hypo', '--h', type=str, required=True,
help='Input file path')
parser.add_argument('--ref', '--r', type=str, required=True)
args = parser.parse_args()
compute_wer_txt(args.hypo, args.ref)
|