tgoop.com/neural_cat/15
Last Update:
Как оценивать качество разговорных ботов? 🤖
Допустим, у нас есть датасет, состоящий из диалогов людей. Мы на этих данных обучаем генеративную модель по истории диалога (контексту) предсказывать следующую реплику (ответ бота). Можно ли на валидационном датасете понять, хорош ли наш бот?
Первое, что приходит на ум, — использовать метрики из перевода или speech-to-text (BLEU, Word Error Rate, etc). В чем их проблема?
Оказывается, это плохая идея, так как на один и тот же вопрос можно ответить совершенно по-разному и все равно быть "правым" 🤷♀️
— Ты любишь огурцы?
— Да, люблю
vs.
— Ты любишь огурцы?
— Нет, ненавижу
Оба ответа имеют право на существование, поэтому любые метрики похожести между ответом бота и реальным ответом человека использовать не стоит! Хоть синтаксические (любые текстовые близости, в том числе расстояния между bag-of-words, tf-idf представлениями), хоть семантические (векторные расстояния над представлениями fasttext/bert/muse/etc).
Так что же делать? Одно из предложений — использовать разметку (читай в следующем выпуске журнала).
BY Нейронный Кот
Share with your friend now:
tgoop.com/neural_cat/15
