in metrics/cer/cer.py [0:0]
def _compute(self, predictions, references, concatenate_texts=False):
if hasattr(jiwer, "compute_measures"):
if concatenate_texts:
return jiwer.compute_measures(
references,
predictions,
truth_transform=cer_transform,
hypothesis_transform=cer_transform,
)["wer"]
incorrect = 0
total = 0
for prediction, reference in zip(predictions, references):
measures = jiwer.compute_measures(
reference,
prediction,
truth_transform=cer_transform,
hypothesis_transform=cer_transform,
)
incorrect += measures["substitutions"] + measures["deletions"] + measures["insertions"]
total += measures["substitutions"] + measures["deletions"] + measures["hits"]
return incorrect / total
else:
if concatenate_texts:
return jiwer.process_characters(
references,
predictions,
).cer
incorrect = 0
total = 0
for prediction, reference in zip(predictions, references):
measures = jiwer.process_characters(
reference,
prediction,
)
incorrect += measures.substitutions + measures.deletions + measures.insertions
total += measures.substitutions + measures.deletions + measures.hits
return incorrect / total