in src/fmeval/transforms/semantic_robustness_metrics.py [0:0]
def __init__(self, prediction_keys: List[str], reference_keys: List[str], output_key: str):
"""WER initializer.
Note that the order of elements in `prediction_keys` and `reference_keys` matters;
the kth element of `prediction_keys` should correspond to the kth element of
`reference_keys`.
:param prediction_keys: The record keys corresponding to model predictions.
:param reference_keys: The record keys corresponding ot reference, aka target, values.
:param output_key: The output key to assign the computed WER value.
"""
require(
len(prediction_keys) == len(reference_keys),
"prediction_keys and reference_keys should have the same number of elements. "
f"prediction_keys has {len(prediction_keys)} elements while reference_keys has "
f"{len(reference_keys)} elements.",
)
super().__init__(prediction_keys, reference_keys, output_key)
self.register_input_output_keys(prediction_keys + reference_keys, [output_key], allow_duplicates=True)
self.prediction_keys = prediction_keys
self.reference_keys = reference_keys
self.output_key = output_key
self.wer = hf_evaluate.load("wer")