Evaluadores de similitud de texto

Es importante comparar la estrecha relación con la respuesta textual generada por el sistema de IA que coincide con la respuesta que cabría esperar. La respuesta esperada se denomina verdad sobre el terreno.

Use una métrica LLM-judge como Similitud con un enfoque en la similitud semántica entre la respuesta generada y la verdad del suelo. O bien, use métricas del campo de procesamiento de lenguaje natural (NLP), incluida la puntuación F1, BLEU, GLEU, ROUGE y METEOR con un enfoque en las superposiciones de tokens o n-gramos entre los dos.

Similarity

La similitud mide los grados de similitud semántica entre el texto generado y su verdad básica con respecto a una consulta. En comparación con otras métricas de similitud de texto que requieren verdades básicas, esta métrica se centra en la semántica de una respuesta, en lugar de superponerse simple en tokens o n-gramas. También tiene en cuenta el contexto más amplio de una consulta.

F1 score

La puntuación F1 mide la similitud por tokens compartidos entre el texto generado y la verdad del suelo. Se centra tanto en la precisión como en la recuperación. La puntuación F1 calcula la proporción del número de palabras compartidas entre la generación del modelo y la verdad del suelo. La relación se calcula sobre las palabras individuales de la respuesta generada en relación con esas palabras en la respuesta de la verdad básica. El número de palabras compartidas entre la generación y la verdad es la base de la puntuación F1.

  • La precisión es la proporción del número de palabras compartidas con el número total de palabras de la generación.
  • Recuerde que es la proporción del número de palabras compartidas con el número total de palabras en la verdad básica.

BLEU score

La puntuación de Bleu calcula la puntuación de evaluación bilingüe (BLEU) que se usa habitualmente en el procesamiento de lenguaje natural y la traducción automática. Mide el modo en que el texto generado coincide con el texto de referencia. Es adecuado para la evaluación de calidad de traducción automática, donde las coincidencias exactas de n-gramas entre la salida del sistema y las traducciones de referencia humana son un proxy significativo para la calidad.

GLEU score

La puntuación de Gleu calcula la puntuación Google-BLEU (GLEU). Mide la similitud de n-gramas compartidos entre el texto generado y la verdad del suelo. De forma similar a la puntuación de BLEU, se centra tanto en precisión como en recuperación. Aborda los inconvenientes de la puntuación de BLEU mediante un objetivo de recompensa por oración, lo que hace que sea útil para las tareas de evaluación de nivel de oración en las que la agregación de nivel de corpus de BLEU puede enmascarar las diferencias de calidad por oración.

ROUGE score

La puntuación Rouge calcula las puntuaciones Recall-Oriented Understudy for Gisting Evaluation (ROUGE), un conjunto de métricas utilizadas para evaluar la sumarización automática y la traducción automática. Mide la superposición entre los resúmenes de texto y referencia generados, con un enfoque en la recuperación. A diferencia de otros evaluadores que devuelven una sola puntuación, builtin.rouge_score devuelve tres puntuaciones flotantes independientes de 0 a 1: precisión, recuperación y F1.

METEOR score

La puntuación de meteoros mide la similitud de n-gramas compartidos entre el texto generado y la verdad del suelo. De forma similar a la puntuación de BLEU, se centra en la precisión y la recuperación. Aborda las limitaciones de otras métricas, como la puntuación de BLEU, considerando sinónimos, lematización y parafrases para la alineación del contenido.

Configuración y ejecución de evaluadores

Use builtin.similarity cuando importa el significado semántico, por ejemplo, cuando las parafrases o sinónimos deben puntuar como equivalentes. Use los evaluadores algorítmicos (F1, BLEU, GLEU, ROUGE, METEOR) cuando la superposición exacta del token es el criterio, como la evaluación de calidad de traducción automática, la recuperación de respuesta fija o la prueba comparativa de NLP. Los seis evaluadores están disponibles con carácter general (GA).

Los evaluadores de similitud textual comparan las respuestas generadas con el texto de la verdad básica mediante algoritmos diferentes:

  • Similitud: evaluación de similitud semántica basada en LLM
  • F1, BLEU, GLEU, ROUGE, METEOR : métricas de superposición de token algorítmico/n-gramas

Examples:

  • ejemplo de evaluador de similitud Textual
Evaluator Qué mide Required inputs Required parameters Output Default threshold
builtin.similarity Similitud semántica con la verdad básica query, , response, ground_truth deployment_name 1-5 integer 3
builtin.f1_score Superposición de tokens mediante precisión y recuperación ground_truth, response (none) 0-1 float 0.5
builtin.bleu_score Superposición de N-gramas (métrica de traducción automática) ground_truth, response (none) 0-1 float 0.5
builtin.gleu_score Variante de recompensa por oración de BLEU ground_truth, response (none) 0-1 float 0.5
builtin.rouge_score Superposición de n-gramas orientados a la recuperación ground_truth, response rouge_type 3 flotadores: precisión, recuperación, F1 0,5 por puntuación
builtin.meteor_score Alineación ponderada con sinónimos ground_truth, response (none) 0-1 float 0.5

Example input

El conjunto de datos de prueba debe contener los campos a los que se hace referencia en las asignaciones de datos:

{"query": "What is the largest city in France?", "response": "Paris is the largest city in France.", "ground_truth": "The largest city in France is Paris."}
{"query": "Explain machine learning.", "response": "Machine learning is a subset of AI that enables systems to learn from data.", "ground_truth": "Machine learning is an AI technique where computers learn patterns from data."}

Configuration example

Sintaxis de asignación de datos:

  • {{item.field_name}} hace referencia a campos del conjunto de datos de prueba (por ejemplo, {{item.response}}).
testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "Similarity",
        "evaluator_name": "builtin.similarity",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {
            "query": "{{item.query}}",
            "response": "{{item.response}}",
            "ground_truth": "{{item.ground_truth}}",
        },
    },
    {
        "type": "azure_ai_evaluator",
        "name": "BLEUScore",
        "evaluator_name": "builtin.bleu_score",
        "data_mapping": {
            "ground_truth": "{{item.ground_truth}}",
            "response": "{{item.response}}",
        },
    },
    {
        "type": "azure_ai_evaluator",
        "name": "ROUGEScore",
        "evaluator_name": "builtin.rouge_score",
        "initialization_parameters": {"rouge_type": "rouge1"},
        "data_mapping": {
            "ground_truth": "{{item.ground_truth}}",
            "response": "{{item.response}}",
        },
    },
]

Consulte Ejecución de evaluaciones desde el SDK para obtener más información sobre la ejecución de evaluaciones y la configuración de orígenes de datos.

Note

El rouge_type parámetro acepta: rouge1 (superposición de unigramas), (superposición de bigram), rouge2rouge3, rouge4, rouge5y rougeL (subsecuencia común más larga). Use rouge1 para la evaluación de resumen de uso general.

Example output

Evaluadores basados en LLM, como builtin.similarity usar una escala de 1 a 5 Likert. La mayoría de los evaluadores algorítmicos generan una única puntuación flotante de 0 a 1. builtin.rouge_score es una excepción: devuelve tres puntuaciones independientes. Todos los evaluadores de salida superan o producen un error en función de sus umbrales. Campos de salida de clave:

{
    "type": "azure_ai_evaluator",
    "name": "Similarity",
    "metric": "similarity",
    "score": 4,
    "label": "pass",
    "reason": "The response accurately conveys the same meaning as the ground truth.",
    "threshold": 3,
    "passed": true
}

Note

builtin.rouge_score devuelve tres puntuaciones independientes en lugar de una: rouge_precision, rouge_recally , cada una con su propio resultado de paso o rouge_f1_scoreerror. El umbral de 0,5 se aplica independientemente a cada puntuación.