Продолжаю про очередной #deephack. Начало: https://vk.com/kalaidin?w=wall143978_1455 Часть ботов...

Продолжаю про очередной #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 :)
0
У записи 19 лайков,
1 репостов,
5890 просмотров.
Эту запись оставил(а) на своей стене Павел Калайдин

Понравилось следующим людям