Бөлісу құралы:


Метрики оценки для моделей распознавания устной речи

Набор данных разделен на две части: набор для обучения и набор для тестирования. Набор для обучения используется для обучения модели, а набор для тестирования — для расчета производительности и оценки модели после обучения. Набор тестирования не используется в модели в процессе обучения, чтобы убедиться, что модель тестируется на новых данных.

Оценка модели автоматически активируется после успешного завершения обучения. Процесс оценки начинается с обученной модели для прогнозирования определяемых пользователем намерений и сущностей для речевых фрагментов в тестовом наборе. Затем процесс сравнивает их с предоставленными тегами, чтобы установить базовые показатели истины. Результаты предоставляются вам для того, чтобы вы могли оценить производительность модели. Для оценки понимания разговорного языка используются следующие метрики:

  • Точность: измеряет, насколько точна или аккуратна ваша модель. Представляет собой соотношение между правильно определенными положительными (истинноположительными) результатами и всеми определенными положительными результатами. Метрика точности показывает, сколько из спрогнозированных классов правильно помечено метками.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Полнота: измеряет, насколько хорошо модель может прогнозировать фактические положительные классы. Это соотношение между прогнозируемыми истинными положительными результатами и тем, что было помечено. Метрика полноты указывает, сколько из прогнозируемых классов являются правильными.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • Оценка F1: Оценка F1 является функцией точности и полноты. Это необходимо, когда вы ищете баланс между точностью и полнотой.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Точность, отзыв и оценка F1 вычисляются для следующих показателей:

  • Каждая сущность отдельно (оценка на уровне сущности).
  • Каждое намерение отдельно (оценка уровня намерения).
  • Для модели в совокупности (оценка на уровне модели)

Определения точности, отзыва и оценки одинаковы для оценки уровня сущности, уровня намерения и уровня модели. Однако количество для истинных положительных, ложных положительных и ложных отрицательных может различаться. Например, рассмотрим следующий текст.

Пример

  • Сделайте ответ с "спасибо вам очень".
  • Ответьте "да".
  • Проверьте мою электронную почту.
  • Отправьте Синтии электронное письмо о том, что ужин на прошлой неделе был великолепным.
  • Отправьте письмо Майку.

Используемые намерения: Reply, sendEmail, и readEmail. Сущности — это contactName и message.

Модель может делать следующие прогнозы:

Фраза Прогнозируемое намерение Фактическое намерение Прогнозируемая сущность Фактическая сущность
Сделайте ответ с "спасибо очень" Ответить Ответить thank you very much как message thank you very much как message
Ответьте "да" отправить электронное письмо Ответить -- yes как message
Проверьте мою электронную почту readEmail readEmail -- --
Электронное письмо Синтии о том, что ужин на прошлой неделе был великолепным. Ответить отправитьEmail dinner last week was splendid как message cynthia как contactName, dinner last week was splendid как message
Отправка сообщения электронной почты Майку отправитьПисьмо отправить электронное письмо mike как message mike как contactName

Оценка уровня намерения для намерения ответа

Ключ Количество Описание
Истинно положительный результат 1 Высказывание 1 было правильно предсказано как Reply.
Ложный положительный результат 1 Высказывание 4 было ошибочно предсказано как Reply.
Ложноотрицательный результат 1 Высказывание 2 было ошибочно предсказано как sendEmail.

Точность = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Отзыв = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Оценка уровня намерения для функции отправки электронной почты

Ключ Подсчет / Граф Описание
Истинноположительный результат 1 Высказывание 5 было правильно предсказано как sendEmail.
Ложный положительный результат 1 Высказывание 2 было ошибочно предсказано как sendEmail.
Ложноотрицательный результат 1 Высказывание 4 было ошибочно предсказано как Reply.

Точность = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Отзыв = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Оценка намерения на уровне для действия "читать электронную почту"

Ключ Счет Объяснение
Истинно положительный случай 1 Речевой фрагмент 3 был правильно предсказан как readEmail.
Ложный положительный результат 0 --
Ложноотрицательный результат 0 --

Точность = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Воспоминание = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 0) = 1

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 1) / (1 + 1) = 1

Оценка на уровне сущности для сущности contactName

Ключ Счёт Описание
Истинноположительный результат 1 cynthia был правильно предсказан как contactName в высказывании 4.
Ложный положительный результат 0 --
Ложноотрицательный результат 1 mike ошибочно был предсказан как message в высказывании 5.

Точность = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Отзыв = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.5) / (1 + 0.5) = 0.67

Оценка на уровне сущностей для сущности сообщения

Ключ Количество Описание
Истинноположительный результат 2 thank you very much был правильно предсказан, как message в высказывании 1 и dinner last week was splendid был правильно предсказан, как message в высказывании 4.
Ложный положительный результат 1 mike ошибочно прогнозировался как message в высказывании 5.
Ложноотрицательный результат 1 yes не было предсказано как message в высказывании 2.

Точность = #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67

Отзыв = #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Вычисление на уровне модели для общей модели

Ключ Количество Описание
Истинноположительный результат 6 Сумма истинных положительных значений для всех намерений и сущностей.
Ложный положительный результат 3 Сумма положительных ошибок для всех намерений и сущностей.
Ложноотрицательный результат 4 Сумма ложных отрицательных значений для всех намерений и сущностей.

Точность = #True_Positive / (#True_Positive + #False_Positive) = 6 / (6 + 3) = 0.67

Вспоминание = #True_Positive / (#True_Positive + #False_Negatives) = 6 / (6 + 4) = 0.60

Оценка F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.60) / (0.67 + 0.60) = 0.63

Матрица ошибок классификации

Матрица путаницы — это матрица N x N, используемая для оценки производительности модели, где N — это число сущностей или намерений. Матрица сравнивает ожидаемые метки с метками, прогнозируемыми моделью. Матрица дает целостное представление о том, насколько хорошо выполняется модель и какие типы ошибок она делает.

Матрицу путаницы можно использовать для выявления намерений или сущностей, которые слишком близки друг к другу и часто ошибаются (неоднозначность). В этом случае рекомендуется объединить эти намерения или сущности вместе. Если слияние невозможно, попробуйте добавить более помеченные примеры обоих намерений или сущностей, чтобы помочь модели различать их.

Выделенная диагональ на следующем изображении показывает правильно предсказанные сущности, в которых предсказанный тег совпадает с фактическим тегом.

Снимок экрана: пример матрицы путаницы.

Метрики оценки на уровне намерений или сущностей и моделей можно вычислить на основе матрицы неточностей:

  • Значения в диагонали являются истинными положительными значениями каждого намерения или сущности.
  • Сумма значений в строках намерений или сущностей (кроме значений по диагонали) — это ложноположительный результат модели.
  • Сумма значений в столбцах намерений или сущностей (за исключением диагонали) — ложное отрицательное значение модели.

Подобным образом:

  • Истинное положительное значение модели — это сумма истинных положительных значений для всех намерений или сущностей.
  • Ложноположительный результат модели —это сумма ложноположительных значений для всех намерений или сущностей.
  • Ложное отрицательное значение модели — это сумма ложных отрицательных значений для всех намерений или сущностей.

Руководство

После обучения модели вы увидите некоторые советы и рекомендации по её улучшению. Рекомендуется использовать модель, охватывающую каждую точку в разделе рекомендаций.

  • Обучающий набор содержит достаточно данных: если намерение или сущность имеет менее 15 помеченных экземпляров в обучающих данных, это может привести к снижению точности, так как модель недостаточно обучена для данного намерения. В этом случае можно добавить дополнительные размеченные данные в набор для обучения. Следует обдумать добавление большего количества помеченных данных в сущность только в том случае, если в вашей сущности есть обучающийся компонент. Если сущность определена только по спискам, предварительно созданным и регулярным компонентам, эта рекомендация не применяется.
  • Все намерения или сущности присутствуют в тестовом наборе: если данные тестирования не имеют помеченных экземпляров для намерения или сущности, оценка модели менее комплексна из-за непроверенных сценариев. Рассмотрите возможность тестирования данных для каждого намерения и сущности в модели, чтобы убедиться, что все тестируется.
  • Неясное различие между намерениями или сущностями: если данные похожи для различных намерений или сущностей, это может привести к снижению точности, так как они могут быть часто неправильно классифицированы друг друга. Просмотрите следующие намерения и сущности и рассмотрите возможность их объединения, если они похожи. В противном случае добавьте дополнительные примеры, чтобы лучше их различать. Вы можете проверить вкладку матрица ошибок для получения дополнительных рекомендаций. Если вы видите, что две сущности постоянно прогнозируются для одних и тех же диапазонов из-за того, что они используют одни и те же списки, предварительно созданные или регулярные компоненты, обязательно добавьте компонент обучаемый для каждой сущности и сделайте его обязательным. Дополнительные сведения о компонентах сущностей.