RougeN
classkeras_nlp.metrics.RougeN(order=2, use_stemmer=False, name="rouge-n", **kwargs)
ROUGE-N metric.
This class implements the ROUGE-N variant of the ROUGE metric. The ROUGE-N metric is traditionally used for evaluating summarisation systems. Succinctly put, ROUGE-N is a score based on the number of matching n-grams between the reference text and the hypothesis text.
Note on input shapes:
For y_true
and y_pred
, this class supports scalar values and batch
inputs of shapes ()
, (batch_size,)
and (batch_size, 1)
.
Arguments
2
.False
."float32"
.References
Examples
>>> rouge_n = keras_nlp.metrics.RougeN(order=2)
>>> y_true = "the tiny little cat was found under the big funny bed"
>>> y_pred = "the cat was under the bed"
>>> rouge_n(y_true, y_pred)["f1_score"]
<tf.Tensor: shape=(), dtype=float32, numpy=0.26666668>
>>> rouge_n = keras_nlp.metrics.RougeN(order=2)
>>> y_true = [
... "the tiny little cat was found under the big funny bed",
... "i really love contributing to KerasNLP",
... ]
>>> y_pred = [
... "the cat was under the bed",
... "i love contributing to KerasNLP",
... ]
>>> rouge_n(y_true, y_pred)["f1_score"]
<tf.Tensor: shape=(), dtype=float32, numpy=0.4666667>
>>> rouge_n = keras_nlp.metrics.RougeN(order=2)
>>> y_true =[
... ["the tiny little cat was found under the big funny bed"],
... ["i really love contributing to KerasNLP"],
... ]
>>> y_pred =[
... ["the cat was under the bed"],
... ["i love contributing to KerasNLP"],
... ]
>>> rouge_n(y_true, y_pred)["f1_score"]
<tf.Tensor: shape=(), dtype=float32, numpy=0.4666667>
>>> rouge_n = keras_nlp.metrics.RougeN(order=3)
>>> y_true = [
... "the tiny little cat was found under the big funny bed",
... "i really love contributing to KerasNLP",
... ]
>>> y_pred = [
... "the cat was under the bed",
... "i love contributing to KerasNLP",
... ]
>>> rouge_n(y_true, y_pred)["f1_score"]
<tf.Tensor: shape=(), dtype=float32, numpy=0.2857143>