PLUSH_PYTHON Telegram 41
Как правильно оценивать чатбота-"болталку"?
#ml

На работе мы делаем, в числе прочего, чатбота, который должен уметь поддержать разговор с пользователем на любую (приличную) тему, да так, чтобы непотребного чего-нибудь не ляпнул. С подобными чатботами есть известная проблема - автоматически оценить их качество не очень получается, нужна экспертная - то есть человеческая - оценка. А как её делать эффективно и результативно?

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

Оценка тоже не самая простая. Чем чётче обозначены критерии, тем легче будет работа разметчиков, а значит, тем надёжнее результаты. Есть разные методики оценки, в их числе sensibleness and specificity average (SSA), которую разработали исследователи из Google. Она довольно проста и эффективна: оценивают разумность и специфичность ответов бота. Вот тут можно подробнее прочитать, но если вкратце, разумность - это про адекватность ответов, отсутствие в них бреда и оскорблений, например. Специфичность интереснее: ответы бота не должны быть слишком односложными, короткими, "на все случаи жизни". Простой пример:

Пользователь: У моего сына сегодня день рождения.

Бот А: Отличная песня!
Данный ответ не имеет смысла в этом контексте, поэтому он получает оценку 0 за разумность. Если за разумность 0, то и за специфичность автоматически тоже 0.

Бот Б: Понятно.
Данный ответ, в целом, разумен, но не специфичен, много на что можно сказать "понятно", но развитию темы это не способствует. Поэтому оценки 1 и 0, соответственно.

Бот В: Поздравляю от всей цифровой души. А сколько лет вашему сыну исполняется?
А вот это уже и разумный, и специфичный ответ. Да ещё и с юмором. Кстати, реальный ответ нашего бота. Вот бы он всегда так хорошо отвечал)

Мы добавили к SSA ещё пару дополнительных критериев, важных для бизнес-задачи. Итак, у нас есть оценки от трёх разметчиков по четырём параметрам. Что дальше? Имеет смысл также измерить согласие между аннотаторами. Каппа Коэна - отличная метрика, которую очень легко посчитать с помощью библиотеки scikit-learn. Она лучше, чем просто усреднение ответов разметчиков, потому что учитывает вероятность случайного совпадения. Другими словами, если у вас всего два возможных класса (0 и 1) и их распределение неравномерно, то вероятность случайного совпадения оценок гораздо выше, чем если бы классов было 15 и они встречались бы примерно с одинаковой частотой.

Каппа Коэна считается для каждой пары аннотаторов, благодаря чему мы можем увидеть, например, что ответы одного из разметчиков сильно отличаются от ответов двух других. Это может говорить о том, что данный эксперт не так понял задачу и его следует проинструктировать ещё раз. Или возможна ситуация, когда у всех троих разметчиков очень разные оценки по одному из критериев - тогда, возможно, данный критерий стоит сформулировать более понятно.



tgoop.com/plush_python/41
Create:
Last Update:

Как правильно оценивать чатбота-"болталку"?
#ml

На работе мы делаем, в числе прочего, чатбота, который должен уметь поддержать разговор с пользователем на любую (приличную) тему, да так, чтобы непотребного чего-нибудь не ляпнул. С подобными чатботами есть известная проблема - автоматически оценить их качество не очень получается, нужна экспертная - то есть человеческая - оценка. А как её делать эффективно и результативно?

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

Оценка тоже не самая простая. Чем чётче обозначены критерии, тем легче будет работа разметчиков, а значит, тем надёжнее результаты. Есть разные методики оценки, в их числе sensibleness and specificity average (SSA), которую разработали исследователи из Google. Она довольно проста и эффективна: оценивают разумность и специфичность ответов бота. Вот тут можно подробнее прочитать, но если вкратце, разумность - это про адекватность ответов, отсутствие в них бреда и оскорблений, например. Специфичность интереснее: ответы бота не должны быть слишком односложными, короткими, "на все случаи жизни". Простой пример:

Пользователь: У моего сына сегодня день рождения.

Бот А: Отличная песня!
Данный ответ не имеет смысла в этом контексте, поэтому он получает оценку 0 за разумность. Если за разумность 0, то и за специфичность автоматически тоже 0.

Бот Б: Понятно.
Данный ответ, в целом, разумен, но не специфичен, много на что можно сказать "понятно", но развитию темы это не способствует. Поэтому оценки 1 и 0, соответственно.

Бот В: Поздравляю от всей цифровой души. А сколько лет вашему сыну исполняется?
А вот это уже и разумный, и специфичный ответ. Да ещё и с юмором. Кстати, реальный ответ нашего бота. Вот бы он всегда так хорошо отвечал)

Мы добавили к SSA ещё пару дополнительных критериев, важных для бизнес-задачи. Итак, у нас есть оценки от трёх разметчиков по четырём параметрам. Что дальше? Имеет смысл также измерить согласие между аннотаторами. Каппа Коэна - отличная метрика, которую очень легко посчитать с помощью библиотеки scikit-learn. Она лучше, чем просто усреднение ответов разметчиков, потому что учитывает вероятность случайного совпадения. Другими словами, если у вас всего два возможных класса (0 и 1) и их распределение неравномерно, то вероятность случайного совпадения оценок гораздо выше, чем если бы классов было 15 и они встречались бы примерно с одинаковой частотой.

Каппа Коэна считается для каждой пары аннотаторов, благодаря чему мы можем увидеть, например, что ответы одного из разметчиков сильно отличаются от ответов двух других. Это может говорить о том, что данный эксперт не так понял задачу и его следует проинструктировать ещё раз. Или возможна ситуация, когда у всех троих разметчиков очень разные оценки по одному из критериев - тогда, возможно, данный критерий стоит сформулировать более понятно.

BY Плюшевый Питон


Share with your friend now:
tgoop.com/plush_python/41

View MORE
Open in Telegram


Telegram News

Date: |

The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." 2How to set up a Telegram channel? (A step-by-step tutorial) Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members.
from us


Telegram Плюшевый Питон
FROM American