s452088-mlworkshops/plots.py
Krzysztof Jurkiewicz 07ad51dfa0 add metric counter
2019-04-26 15:28:54 +02:00

49 lines
1.2 KiB
Python

def collect_csdi(file):
with open(file, encoding="utf-8") as f:
# print(f)
scores = None
id = None
res = {}
for line in f:
if line.find("Scores: ") == 0:
#correct line, lets collect results:
scores = list(map(int, line[22:].split()))
# print(scores)
res[id] = scores
if line.find("id: ") == 0:
id = line[4:]
# print(id)
return res
def print_WRR_for_sentences(csdi_dict):
for key, val in csdi_dict.items():
#( # C #S #D #I)
C = val[0]
S = val[1]
D = val[2]
I = val[3]
WRR = (S+D+I) / (S+D+C)
#print(C,S,D,I)
print(key,WRR,sep="\t")
def print_SRR_for_ASR(csdi_dict):
correct = 0
all = 0
for key, val in csdi_dict.items():
#( # C #S #D #I)
C = int(val[0])
S = int(val[1])
D = int(val[2])
I = int(val[3])
all+=1
if C > 0 and S == 0 and D == 0 and I == 0:
correct += 1
print(correct / all)
if __name__ == "__main__":
csdi_dict = collect_csdi("hypothesis.trn.pra")
print_WRR_for_sentences(csdi_dict)
print_SRR_for_ASR(csdi_dict)