Средство оценки сходства текста

Важно сравнить, насколько тесно текстовый ответ, созданный системой ИИ, соответствует ожидаемому ответу. Ожидаемый ответ называется правдой земли.

Используйте метрику LLM-судья, например сходство , с фокусом на семантику сходства между сформированным ответом и правдой земли. Кроме того, используйте метрики из области обработки естественного языка (NLP), включая оценку F1, BLEU, GLEU, ROUGE и METEOR с фокусом на перекрытия токенов или n-граммов между двумя.

Similarity

Сходство измеряет степень семантической сходства между созданным текстом и его основной правдой в отношении запроса. По сравнению с другими метриками сходства текста, для которых требуются конечные истины, эта метрика фокусируется на семантике ответа, а не на простом перекрытии маркеров или n-граммов. Он также рассматривает более широкий контекст запроса.

F1 score

Оценка F1 измеряет сходство по общим маркерам между созданным текстом и правдой земли. Он фокусируется как на точности, так и на отзыве. Оценка F1 вычисляет соотношение количества общих слов между поколением модели и общей правдой. Соотношение вычисляется по отдельным словам в созданном ответе на эти слова в ответе на правду земли. Количество общих слов между поколением и правдой является основой оценки F1.

  • Точность — это соотношение количества общих слов к общему числу слов в поколении.
  • Напомним , это соотношение количества общих слов к общему количеству слов в земле истины.

BLEU score

Оценка Bleu вычисляет двуязычную оценку недостудий (BLEU), которая часто используется в обработке естественного языка и машинном переводе. Он измеряет, насколько тесно созданный текст соответствует ссылочного текста. Он хорошо подходит для оценки качества машинного перевода, где точные n-граммы совпадают между выходными данными системы и переводом на человеческие ссылки являются значимым прокси-сервером для качества.

GLEU score

Балл Gleu вычисляет балл Google-BLEU (GLEU). Он измеряет сходство по общим n-граммам между созданным текстом и земной правдой. Как и оценка BLEU, она фокусируется на точности и отзыве. Он устраняет недостатки оценки BLEU с помощью целевой цели вознаграждения за предложение, что делает его полезным для задач оценки на уровне предложения, где агрегирование уровня BLEU может маскирует различия качества предложения.

ROUGE score

Оценка Rouge вычисляет баллы Recall-Oriented Understudy for Gisting Evaluation (ROUGE) — набор метрик, используемых для оценки автоматического итога и машинного перевода. Он измеряет перекрытие между созданными текстовыми и справочными сводами с акцентом на отзыв. В отличие от других вычислителей, возвращающих одну оценку, builtin.rouge_score возвращает три отдельных 0-1 с плавающей запятой: точность, отзыв и F1.

METEOR score

Метеорная оценка измеряет сходство по общим n-граммам между созданным текстом и правды земли. Аналогично оценке BLEU, он фокусируется на точности и отзыве. Он обращается к ограничениям других метрик, таких как оценка BLEU, учитывая синонимы, стебливание и парафразирование для выравнивания содержимого.

Настройка и запуск вычислителей

Используйте, builtin.similarity когда имеет значение семантического значения, например, если парафразы или синонимы должны оценить как эквивалентные. Используйте алгоритмические вычислители (F1, BLEU, GLEU, ROUGE, МЕТЕОР), когда точное перекрытие маркеров является критерием, например оценка качества машинного перевода, получение фиксированного ответа или проверка NLP. Все шесть вычислителей обычно доступны (GA).

Вычислители сходства текста сравнивают созданные ответы с текстом правды земли с помощью различных алгоритмов:

  • Сходство — оценка семантической сходства на основе LLM
  • F1, BLEU, GLEU, ROUGE, METEOR — алгоритмический токен/n-грамм перекрываются метрики

Examples:

  • пример средства оценки сходства Textual
Evaluator Что он измеряет Required inputs Required parameters Output Default threshold
builtin.similarity Семантическое сходство с земной правдой query, , responseground_truth deployment_name 1-5 integer 3
builtin.f1_score Перекрытие маркера с помощью точности и отзыва ground_truth, response (none) 0-1 float 0.5
builtin.bleu_score Перекрытие N-грамм (метрика машинного перевода) ground_truth, response (none) 0-1 float 0.5
builtin.gleu_score Вариант вознаграждения за предложение BLEU ground_truth, response (none) 0-1 float 0.5
builtin.rouge_score Перекрытие диаграммы с ориентацией на отзыв ground_truth, response rouge_type 3 с плавающей запятой: точность, отзыв, F1 0,5 за оценку
builtin.meteor_score Выравнивание по весу с синонимами ground_truth, response (none) 0-1 float 0.5

Example input

Тестовый набор данных должен содержать поля, на которые ссылаются сопоставления данных:

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

Синтаксис сопоставления данных:

  • {{item.field_name}} ссылается на поля из тестового набора данных (например, {{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}}",
        },
    },
]

Дополнительные сведения о выполнении вычислений и настройке источников данных см. в статье о выполнении вычислений из пакета SDK .

Note

Параметр rouge_type принимает: rouge1 (перекрытие юниграммы), rouge2 (биграм перекрывается), rouge3, rouge4, rouge5и rougeL (самый длинный общий подсекунд). Используется rouge1 для оценки сводных данных общего назначения.

Example output

Вычислители на основе LLM, такие как builtin.similarity использование шкалы 1–5 Likert. Большинство алгоритмических вычислителей выводит одну оценку с плавающей запятой 0-1. builtin.rouge_score исключение — возвращает три отдельных оценки. Все вычислители передают или завершаютсбой на основе пороговых значений. Ключевые поля выходных данных:

{
    "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 возвращает три отдельных оценки, а не один: rouge_precision, rouge_recallи rouge_f1_score, каждый из которых имеет собственный результат передачи или сбоя. Пороговое значение 0,5 применяется независимо к каждой оценке.