53 lines
1008 B
Python
53 lines
1008 B
Python
import sys
|
|
import pandas as pd
|
|
|
|
correct, insertion, deletion, substitution = [] , [] , [] , []
|
|
all_wers = []
|
|
|
|
|
|
srr = 0
|
|
|
|
|
|
def wer(s,d,c,i):
|
|
return (s + d + i )/(s + d + c)
|
|
|
|
for line in sys.stdin:
|
|
if line.startswith('Scores'):
|
|
line = line.split(' ') [5:]
|
|
c = int(line[0])
|
|
s = int(line[1])
|
|
d = int(line[2])
|
|
i = int(line[3])
|
|
|
|
if d == 0 and s == 0 and i == 0:
|
|
srr +=1
|
|
|
|
correct.append(c)
|
|
substitution.append(s)
|
|
deletion.append(d)
|
|
insertion.append(i)
|
|
all_wers.append(wer(s,d,c,i))
|
|
|
|
|
|
|
|
|
|
all_c = sum(correct)
|
|
all_s = sum(substitution)
|
|
all_d = sum(deletion)
|
|
all_i = sum(insertion)
|
|
|
|
total_wer = wer(all_s,all_d,all_c,all_i)
|
|
|
|
print(total_wer)
|
|
|
|
data = pd.read_csv('wikiniews_results.tsv',sep = '\t',header=None)
|
|
df = pd.DataFrame(data)
|
|
df.insert(4,'',all_wers)
|
|
df.to_csv('wikiniews_results.tsv',sep = '\t')
|
|
|
|
srr = srr/len(all_wers)
|
|
|
|
with open('wer_srr.txt', 'w+') as f:
|
|
f.write("{} {}".format(srr,total_wer))
|
|
|