πŸ“„ Token Overlap [deprecated]ΒΆ

Deprecation message: Metric metrics.rag.response_generation.faithfullness.token_overlap is deprecated. Please use metrics.rag.response_generation.faithfulness.token_k_precision instead.

metrics.rag.response_generation.faithfullness.token_overlap

MetricPipeline(
    main_score="precision",
    preprocess_steps=[
        Copy(
            field="task_data/contexts",
            to_field="references",
        ),
    ],
    postprocess_steps=[
        Copy(
            field_to_field={
                "score/instance/f1": "score/instance/faithfullness_f1_token_overlap",
                "score/instance/recall": "score/instance/faithfullness_recall_token_overlap",
                "score/instance/precision": "score/instance/faithfullness_precision_token_overlap",
                "score/global/f1": "score/global/faithfullness_f1_token_overlap",
                "score/global/recall": "score/global/faithfullness_recall_token_overlap",
                "score/global/precision": "score/global/faithfullness_precision_token_overlap",
            },
            not_exist_ok=True,
        ),
    ],
    metric="metrics.token_overlap",
    prediction_type="str",
)
[source]

from unitxt.operators import Copy

Explanation about CopyΒΆ

Copies values from specified fields to specified fields.

Args (of parent class):

field_to_field (Union[List[List], Dict[str, str]]): A list of lists, where each sublist contains the source field and the destination field, or a dictionary mapping source fields to destination fields.

Examples:

An input instance {β€œa”: 2, β€œb”: 3}, when processed by Copy(field_to_field={"a": "b"}) would yield {β€œa”: 2, β€œb”: 2}, and when processed by Copy(field_to_field={"a": "c"}) would yield {β€œa”: 2, β€œb”: 3, β€œc”: 2}

with field names containing / , we can also copy inside the field: Copy(field="a/0",to_field="a") would process instance {β€œa”: [1, 3]} into {β€œa”: 1}

References: metrics.token_overlap

Read more about catalog usage here.