Продолжаю про очередной #deephack. Начало: https://vk.com/kalaidin?w=wall143978_1455
Часть ботов была весьма продвинута (см пример, где Alice - бот, а Bob - [id88984|Алексей]).
До хакатона был отборочный раунд на кегле: https://inclass.kaggle.com/c/human-or-machine-generated-text, придуманные фичи с которого [id1688205|Игоря] и [id121696|Павла] мы использовали как боевые с самого начала.
Теперь к подходу - финальная метрика определялась тем, как хорошо мы отранжируем ботов и людей между собой. Задача усложнялась тем, что некоторые люди писали как боты (и получали соответствующие оценки), так и хорошим ботам иногда ставили плохие оценки.
Тем не менее идея была проста:
1) данных мало (скажем, 1000 диалогов вида Alice - Bob). Как же нам набрать данных?
2) гипотеза: бота можно определить только по его репликам
3) генерим пары всех со всеми (1e6 пар, much more!)
4) берем фичи с существующих моделей (например средний w2v всех реплик бота, длину реплик или как далеко первая реплика бота отстоит от контекста, который нужно обсуждать) для обоих ботов в паре
5) учимся предсказывать, что оценка первого собеседника в паре больше оценки второго (xgboost, logloss, nothing serious)
6) на этапе предсказаний суммируем предсказания по всем 1000 парам, где присутствует определенный бот. То есть результат - это бот лучше, например, 600 других ботов, это и есть финальный рейтинг. Абсолютные значение для метрики не важны, важен порядок.
Как выяснилось на постерной сессии, такой подход никто не использовал, хотя вроде обсуждали; он на достаточно простых фичах и без ансамблей моделей (финальный сабмит - ровно одна модель) выдал весьма приличный результат.
Метод между собой называли HBO, чтобы не спойлерить решение. В воскресенье он удачно расшифровался в human bot order :)
Часть ботов была весьма продвинута (см пример, где Alice - бот, а Bob - [id88984|Алексей]).
До хакатона был отборочный раунд на кегле: https://inclass.kaggle.com/c/human-or-machine-generated-text, придуманные фичи с которого [id1688205|Игоря] и [id121696|Павла] мы использовали как боевые с самого начала.
Теперь к подходу - финальная метрика определялась тем, как хорошо мы отранжируем ботов и людей между собой. Задача усложнялась тем, что некоторые люди писали как боты (и получали соответствующие оценки), так и хорошим ботам иногда ставили плохие оценки.
Тем не менее идея была проста:
1) данных мало (скажем, 1000 диалогов вида Alice - Bob). Как же нам набрать данных?
2) гипотеза: бота можно определить только по его репликам
3) генерим пары всех со всеми (1e6 пар, much more!)
4) берем фичи с существующих моделей (например средний w2v всех реплик бота, длину реплик или как далеко первая реплика бота отстоит от контекста, который нужно обсуждать) для обоих ботов в паре
5) учимся предсказывать, что оценка первого собеседника в паре больше оценки второго (xgboost, logloss, nothing serious)
6) на этапе предсказаний суммируем предсказания по всем 1000 парам, где присутствует определенный бот. То есть результат - это бот лучше, например, 600 других ботов, это и есть финальный рейтинг. Абсолютные значение для метрики не важны, важен порядок.
Как выяснилось на постерной сессии, такой подход никто не использовал, хотя вроде обсуждали; он на достаточно простых фичах и без ансамблей моделей (финальный сабмит - ровно одна модель) выдал весьма приличный результат.
Метод между собой называли HBO, чтобы не спойлерить решение. В воскресенье он удачно расшифровался в human bot order :)
0
У записи 19 лайков,
1 репостов,
5890 просмотров.
1 репостов,
5890 просмотров.
Эту запись оставил(а) на своей стене Павел Калайдин