Rouge#
- class ignite.metrics.Rouge(variants=None, multiref='average', alpha=0, output_transform=<function Rouge.<lambda>>, device=device(type='cpu'))[source]#
Calculates the Rouge score for multiples Rouge-N and Rouge-L metrics.
More details can be found in Lin 2004.
update
must receive output of the form(y_pred, y)
or{'y_pred': y_pred, 'y': y}
.y_pred must be a sequence of tokens.
y must be a list of sequence of tokens.
- Parameters
variants (Optional[Sequence[Union[str, int]]]) – set of metrics computed. Valid inputs are “L” and integer 1 <= n <= 9.
multiref (str) – reduces scores for multi references. Valid values are “best” and “average” (default: “average”).
alpha (float) – controls the importance between recall and precision (alpha -> 0: recall is more important, alpha -> 1: precision is more important)
output_transform (Callable) – a callable that is used to transform the
Engine
’sprocess_function
’s output into the form expected by the metric. This can be useful if, for example, you have a multi-output model and you want to compute the metric with respect to one of the outputs.device (Union[str, torch.device]) – specifies which device updates are accumulated on. Setting the metric’s device to be the same as your
update
arguments ensures theupdate
method is non-blocking. By default, CPU.
Example:
from ignite.metrics import Rouge m = Rouge(variants=["L", "2"], multiref="best") candidate = "the cat is not there".split() references = [ "the cat is on the mat".split(), "there is a cat on the mat".split() ] m.update((candidate, references)) m.compute() >>> {'Rouge-L-P': 0.6, 'Rouge-L-R': 0.5, 'Rouge-L-F': 0.5, 'Rouge-2-P': 0.5, 'Rouge-2-R': 0.4, 'Rouge-2-F': 0.4}
New in version 0.4.5.
Methods
Computes the metric based on it's accumulated state.
Resets the metric to it's initial state.
Updates the metric's state using the passed batch output.
- compute()[source]#
Computes the metric based on it’s accumulated state.
By default, this is called at the end of each epoch.
- Returns
- the actual quantity of interest. However, if a
Mapping
is returned, it will be (shallow) flattened into engine.state.metrics whencompleted()
is called. - Return type
Any
- Raises
NotComputableError – raised when the metric cannot be computed.