| 218 | |
| 219 | |
| 220 | class WerStats: |
| 221 | def __init__(self): |
| 222 | self.infos = [] |
| 223 | |
| 224 | def add(self, wer_info): |
| 225 | self.infos.append(wer_info) |
| 226 | |
| 227 | def print(self): |
| 228 | r = sum(info.r for info in self.infos) |
| 229 | if r <= 0: |
| 230 | print(f"REF len is {r}, check") |
| 231 | r = 1 |
| 232 | s = sum(info.s for info in self.infos) |
| 233 | d = sum(info.d for info in self.infos) |
| 234 | i = sum(info.i for info in self.infos) |
| 235 | se = 100.0 * s / r |
| 236 | de = 100.0 * d / r |
| 237 | ie = 100.0 * i / r |
| 238 | wer = 100.0 * (s + d + i) / r |
| 239 | sen = max(len(self.infos), 1) |
| 240 | errsen = sum(info.e > 0 for info in self.infos) |
| 241 | ser = 100.0 * errsen / sen |
| 242 | print("-"*80) |
| 243 | print(f"ref{r:6d} sub{s:6d} del{d:6d} ins{i:6d}") |
| 244 | print(f"WER{wer:6.2f} sub{se:6.2f} del{de:6.2f} ins{ie:6.2f}") |
| 245 | print(f"SER{ser:6.2f} = {errsen} / {sen}") |
| 246 | print("-"*80) |
| 247 | |
| 248 | |
| 249 | class EnDigStats: |
no outgoing calls
no test coverage detected