Метрики оценки для моделей распознавания устной речи
Набор данных делится на две части: набор для обучения и набор для тестирования. Набор для обучения используется для обучения модели, а набор для тестирования — для расчета производительности и оценки модели после обучения. Набор для тестирования не представляется модели в процессе обучения, чтобы протестировать ее на новых данных.
Оценка модели автоматически активируется после успешного завершения обучения. Процесс оценки прежде всего применяет обученную модель для прогнозирования определяемых пользователем намерений и сущностей по речевым фрагментам из тестового набора, а затем сравнивает результаты с предоставленными тегами (которые содержат уже известные значения). Результаты позволяют оценить производительность модели. Оценка в распознавания устной речи использует следующие метрики:
Точность: измеряет, насколько точна модель. Представляет собой соотношение между правильно определенными положительными (истинноположительными) результатами и всеми определенными положительными результатами. Метрика точности показывает, сколько из спрогнозированных классов правильно помечено метками.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Полнота: измеряет способность модели прогнозировать фактические положительные классы. Это отношение между спрогнозированными истинноположительными результатами и фактически помеченными значениями. Метрика полноты показывает, сколько из прогнозируемых классов определено верно.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
F-мера: зависит от точности и полноты. Она необходима при поиске баланса между точностью и полнотой.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
Точность, полнота и показатель F1 вычисляются для следующих объектов:
- Каждая сущность по отдельности (оценка на уровне сущности)
- Каждое намерение по отдельности (оценка на уровне намерения)
- Для модели в совокупности (оценка на уровне модели)
Определения точности, полноты и оценки являются одинаковыми для оценок на уровне сущностей, намерений и моделей. Но счетчики истинноположительных, ложноположительных и ложноотрицательных значений могут различаться. Например, рассмотрим следующий текст.
Пример
- Отправьте в ответе искреннюю благодарность.
- ответьте "да".
- Проверьте мою электронную почту.
- напишите Екатерине в электронном письме, что ужин на прошлой неделе был великолепным.
- отправьте сообщение электронной почты Андрею
Используются следующие намерения: Reply,sendEmail,readEmail. Используются следующие сущности: contactName, message.
Модель может делать следующие прогнозы:
Речевой фрагмент | Прогнозируемое намерение | Фактическое намерение | Прогнозируемая сущность | Фактическая сущность |
---|---|---|---|---|
Отправьте в ответе искреннюю благодарность | Ответить | Ответить |
thank you very much как message |
thank you very much как message |
ответьте "да" | sendEmail | Ответить | -- |
yes как message |
Проверьте мою электронную почту | readEmail | readEmail | -- | -- |
напишите Екатерине в электронном письме, что ужин на прошлой неделе был великолепным | Ответить | sendEmail |
dinner last week was splendid как message |
cynthia как contactName , dinner last week was splendid как message |
отправьте сообщение электронной почты Андрею | sendEmail | sendEmail |
mike как message |
mike как contactName |
Оценка на уровне намерения для намерения Reply
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Оценка на уровне намерения для намерения sendEmail
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Оценка на уровне намерения для намерения readEmail
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 1) / (1 + 1) = 1
Оценка на уровне сущности для сущности contactName
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.5) / (1 + 0.5) = 0.67
Оценка на уровне сущностей для сущности message
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67
Вычисление на уровне модели для общей модели
Клавиши | Count | Пояснение |
---|---|---|
Истинный положительный результат | 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
F-мера = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.60) / (0.67 + 0.60) = 0.63
Матрица неточностей
Матрица неточностей — это матрица N×N для оценки производительности модели, где N — это число сущностей и намерений. Матрица сравнивает ожидаемые метки с метками, прогнозируемыми моделью. Это дает целостное представление о том, насколько хорошо работает модель и какие типы ошибок она делает.
Матрицу неточностей можно использовать для определения намерений или сущностей, которые слишком похожи и часто извлекаются ошибочно, так как являются неоднозначными. В этом случае рекомендуется объединять эти намерения или сущности. Если это невозможно, попробуйте добавить больше примеров с тегами для обоих намерений или сущностей, чтобы модели было проще их различить.
Выделенная диагональ на изображении ниже отражает правильно предсказанные сущности, где прогнозируемый тег совпадает с фактическим.
Метрики оценки на уровне намерений или сущностей и моделей можно вычислить на основе матрицы неточностей:
- Значения по диагонали являются истинноположительными значениями каждого намерений или сущности.
- Сумма значений в строках намерений или сущностей (кроме значений по диагонали) — это ложноположительный результат модели.
- Сумма значений в столбцах намерений или сущностей (кроме значений по диагонали) — это ложноотрицательный результат модели.
По аналогии
- Истинноположительный результат модели — это сумма истинноположительных значений для всех намерений или сущностей.
- Ложноположительный результат модели —это сумма ложноположительных значений для всех намерений или сущностей.
- Ложноотрицательный результат модели —это сумма ложноотрицательных значений для всех намерений или сущностей.
Руководство
После обучения модели вы увидите некоторые рекомендации и рекомендации по улучшению модели. Рекомендуется иметь модель, охватывающую все точки в разделе руководства.
Обучающий набор содержит достаточно данных. Если намерение или сущность содержит менее 15 помеченных экземпляров в обучающих данных, это может привести к снижению точности из-за того, что модель не будет должным образом обучена на этом намерении. В этом случае можно добавить дополнительные размеченные данные в набор для обучения. Следует рассмотреть возможность добавления дополнительных помеченных данных в сущность только в том случае, если у сущности есть изученный компонент. Если сущность определяется только компонентами списка, предварительно созданными и регулярными выражениями, эта рекомендация неприменима.
Все намерения или сущности присутствуют в тестовом наборе. Если в тестовых данных отсутствуют помеченные экземпляры для намерения или сущности, оценка модели является менее комплексной из-за непроверенных сценариев. Рассмотрите возможность наличия тестовых данных для каждого намерения и сущности в модели, чтобы убедиться, что все тестируются.
Неясное различие между намерениями или сущностями. Если данные похожи для разных намерений или сущностей, это может привести к снижению точности, так как они часто могут быть неправильно классифицированы как друг друга. Просмотрите следующие намерения и сущности и рассмотрите возможность их объединения, если они похожи. В противном случае добавьте дополнительные примеры, чтобы лучше из различать. Для получения дополнительных рекомендаций можно просмотреть вкладку матрицы неточностей. Если вы видите, что две сущности постоянно прогнозируются для одних и тех же диапазонов, так как они используют один и тот же список, предварительно созданные или регулярные компоненты, обязательно добавьте изученный компонент для каждой сущности и сделайте его обязательным. Дополнительные сведения о компонентах сущностей.
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по