1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import jiwer
- import glob
- import os
- import re
- from collections import defaultdict
- root_path = 'sample/wrd/'
- clova = 'clova_200.wrd'
- aws = 'aws_200.wrd'
- GT = 'GT_200.wrd'
- def get_list(list, path):
- with open(os.path.join(root_path, path), 'r') as f:
- for line in f:
- line = f.readline().strip()
- line = re.sub(r"[^\uAC00-\uD7A30-9a-zA-Z\s]", "", line)
- list.append(line)
-
- return list
- def get_error_rate(gt, target, filename):
- cer_list = []
- wer_list = []
- sum_cer = 0
- sum_wer = 0
- for _gt, _target in zip(gt, target):
- cer = jiwer.cer(_gt, _target)
- wer = jiwer.wer(_gt, _target)
- cer_list.append(cer)
- wer_list.append(wer)
- sum_cer += cer
- sum_wer += wer
-
- print(f"cer avg : {sum_cer/len(cer_list)}")
- print(f"wer avg : {sum_wer/len(wer_list)}")
-
- if __name__ == '__main__':
- clova_list = get_list([], clova)
- aws_list = get_list([], aws)
- GT_list = get_list([], GT)
- get_error_rate(GT_list, clova_list, '')
- get_error_rate(GT_list, aws_list, '')
|