Avaliadores de similaridade textual

É importante comparar até que ponto a resposta textual gerada pelo seu sistema de IA corresponde à resposta que esperaria. A resposta esperada chama-se verdade de base.

Use uma métrica de juiz LLM como a Similaridade , com foco na semelhança semântica entre a resposta gerada e a verdade fundamentada. Ou, use métricas do campo do processamento de linguagem natural (PLN), incluindo pontuação F1, BLEU, GLEU, ROUGE e METEOR , com foco nas sobreposições de tokens ou n-gramas entre os dois.

Similarity

A similaridade mede os graus de semelhança semântica entre o texto gerado e a sua verdade fundamental relativamente a uma consulta. Comparado com outras métricas de similaridade textual que exigem verdades fundamentais, esta métrica foca-se na semântica de uma resposta, em vez de simples sobreposições em tokens ou n-gramas. Considera também o contexto mais amplo de uma consulta.

pontuação F1

A pontuação F1 mede a semelhança, através de tokens partilhados, entre o texto gerado e a verdade fundamental. Foca-se tanto na precisão como na recordação. A pontuação F1 calcula a razão entre o número de palavras partilhadas entre a geração do modelo e a verdade fundamental. A razão é calculada sobre as palavras individuais na resposta gerada em relação às palavras da resposta de verdade fundamental. O número de palavras partilhadas entre a geração e a verdade é a base da pontuação F1.

  • Precisão é a razão entre o número de palavras partilhadas e o número total de palavras na geração.
  • Recordação é a razão entre o número de palavras partilhadas e o número total de palavras na verdade fundamental.

BLEU score

A pontuação Bleu calcula a pontuação do Estudante de Avaliação Bilingue (BLEU), comumente utilizada no processamento de linguagem natural e tradução automática. Mede quão próximo é o texto gerado do texto de referência. É muito adequado para avaliação da qualidade da tradução automática, onde correspondências exatas de n-gramas entre a saída do sistema e as traduções de referência humana são um proxy significativo da qualidade.

GLEU score

A pontuação Gleu calcula a pontuação Google-BLEU (GLEU). Mede a semelhança, por n-gramas partilhados, entre o texto gerado e a verdade fundamental. Semelhante à pontuação BLEU, foca-se tanto na precisão como na recordação. Aborda as desvantagens da pontuação BLEU usando um objetivo de recompensa por frase, tornando-o útil para tarefas de avaliação ao nível da frase onde a agregação ao nível do corpus da BLEU pode mascarar diferenças de qualidade por frase.

ROUGE score

A pontuação Rouge calcula as pontuações Recall-Oriented Understudy for Gisting Evaluation (ROUGE), um conjunto de métricas usadas para avaliar a sumarização automática e a tradução automática. Mede a sobreposição entre o texto gerado e os resumos de referência, com foco na recordação. Ao contrário de outros avaliadores que dão uma única pontuação, apresenta builtin.rouge_score três pontuações separadas de 0-1 flutuantes: precisão, recordação e F1.

METEOR score

A pontuação Meteor mede a semelhança, por n-gramas partilhados, entre o texto gerado e a verdade fundamental. Semelhante à pontuação BLEU, foca-se na precisão e na recordação. Aborda limitações de outras métricas, como a pontuação BLEU, considerando sinónimos, stemming e parafraseando o alinhamento do conteúdo.

Configurar e executar avaliadores

Use builtin.similarity quando o significado semântico importa — por exemplo, quando paráfrases ou sinónimos devem ser considerados equivalentes. Use os avaliadores algorítmicos (F1, BLEU, GLEU, ROUGE, METEOR) quando a sobreposição exata de tokens for o critério, como avaliação da qualidade da tradução automática, recuperação de respostas fixas ou benchmarking de PLN. Todos os seis avaliadores estão geralmente disponíveis (GA).

Os avaliadores de similaridade textual comparam respostas geradas com texto de verdade fundamentada usando diferentes algoritmos:

  • Similaridade - Avaliação de similaridade semântica baseada em LLM
  • F1, BLEU, GLEU, ROUGE, METEOR - Métricas algorítmicas de sobreposição token/n-grama

Examples:

Evaluator O que mede Required inputs Required parameters Output Default threshold
builtin.similarity Semelhança semântica com a verdade de base query, response, ground_truth deployment_name 1-5 integer 3
builtin.f1_score Sobreposição de tokens usando precisão e recordação ground_truth, response (none) 0-1 float 0.5
builtin.bleu_score Sobreposição de N-gramas (métrica de tradução automática) ground_truth, response (none) 0-1 float 0.5
builtin.gleu_score Variante de recompensa por frase do BLEU ground_truth, response (none) 0-1 float 0.5
builtin.rouge_score Sobreposição de n-gramas orientados à recordação ground_truth, response rouge_type 3 flutuadores: precisão, recall, F1 0,5 por pontuação
builtin.meteor_score Alinhamento ponderado com sinónimos ground_truth, response (none) 0-1 float 0.5

Example input

O seu conjunto de dados de teste deve conter os campos referenciados nos seus mapeamentos de dados:

{"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

Sintaxe do mapeamento de dados:

  • {{item.field_name}} Referências a campos do seu conjunto de dados de teste (por exemplo, {{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 Run evaluations from the SDK para detalhes sobre avaliações em execução e configuração de fontes de dados.

Note

O rouge_type parâmetro aceita: rouge1 (sobreposição de unigramas), rouge2 (sobreposição de bigramas), rouge3, rouge4, rouge5, e rougeL (subsequência comum mais longa). Use rouge1 para avaliação de sumarização de propósito geral.

Example output

Avaliadores baseados em LLM como builtin.similarity eles usam uma escala de Likert de 1 a 5. A maioria dos avaliadores algorítmicos apresenta uma única pontuação float de 0-1. builtin.rouge_score é uma exceção — devolve três pontuações separadas. Todos os avaliadores indicam aprovação ou reprovação com base nos seus limiares. Campos-chave de saída:

{
    "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 devolve três pontuações separadas em vez de uma: rouge_precision, rouge_recall, e rouge_f1_score, cada uma com o seu próprio resultado de aprovação/reprovação. O limiar de 0,5 aplica-se de forma independente a cada pontuação.