ROVER

crowdkit.aggregation.texts.rover.ROVER | Source code

ROVER(
self,
tokenizer: Callable[[str], List[str]],
detokenizer: Callable[[List[str]], str],
silent: bool = True
)

Recognizer Output Voting Error Reduction (ROVER).

This method uses dynamic programming to align sequences. Next, aligned sequences are used to construct the Word Transition Network (WTN):

ROVER WTN scheme

Finally, the aggregated sequence is the result of majority voting on each edge of the WTN.

J. G. Fiscus, "A post-processing system to yield reduced word error rates: Recognizer Output Voting Error Reduction (ROVER)"

1997 IEEE Workshop on Automatic Speech Recognition and Understanding Proceedings, 1997, pp. 347-354.

https://doi.org/10.1109/ASRU.1997.659110

Parameters description

ParametersTypeDescription
tokenizerCallable[[str], List[str]]

A callable that takes a string and returns a list of tokens.

detokenizerCallable[[List[str]], str]

A callable that takes a list of tokens and returns a string.

silentbool

If false, show a progress bar.

texts_Series

Tasks' texts. A pandas.Series indexed by task such that result.loc[task, text] is the task's text.

Examples:

from crowdkit.aggregation import load_dataset
from crowdkit.aggregation import ROVER
df, gt = load_dataset('crowdspeech-test-clean')
df['text'] = df['text'].str.lower()
tokenizer = lambda s: s.split(' ')
detokenizer = lambda tokens: ' '.join(tokens)
result = ROVER(tokenizer, detokenizer).fit_predict(df)

Methods summary

MethodDescription
fitFits the model. The aggregated results are saved to the texts_ attribute.
fit_predictFit the model and return the aggregated texts.

Last updated: March 31, 2023

Crowd-Kit
Overview
Reference
Aggregation
Datasets
Learning
Metrics
Postprocessing