SNA Hackathon - Коллаборативная система SNA Hackathon - Картинки SNA Hackathon - Тексты Telecom Data Cup Ответы Mail.ru (Хакатон, МФТИ) Прогноз отклика аудитории на интернет-опрос Предсказание ССЗ Задача с секретом По мотивам онлайн-игр ok.ru: Возраст по графу Студенческий контест по Machine Learning ok.ru: Связи пользователей Обучающие задачи Первый открытый контест
Участники
  • 1
    Sergey Shalnov
  • 2
    Иван Брагин
  • 3
    Сергей Старицын
  • 4
    Сергей Лавриков
  • 5
    Алексей Забайкин
Задача "SNA Hackathon - Коллаборативная система"

Расписание


Чемпионат пройдет в два этапа: 

  1. онлайн — с 7 февраля по 15 марта;
  2. офлайн — с 30 марта по 1 апреля.

После 15 марта будут подведены промежуточные итоги и 15 человек из топа лидеров по каждой из задач получат приглашения на второй этап, который пройдет в московском офисе Mail.ru Group. Кроме того, приглашения на заключительный этап получат три человека, оказавшиеся в лидерах рейтинга на конец 23 февраля.

Описание задач


Для соревнования SNA Hackathon были собраны логи показов контента из открытых групп в новостных лентах пользователей за февраль-март 2018 года. В тестовое множество спрятаны последние полторы недели марта. Каждая запись в логе содержит информацию о том, что и кому было показано, а также о том, как отреагировал пользователь на этот контент: поставил «Класс», прокомментировал, проигнорировал или скрыл из ленты. 

Суть задачи в том, чтобы для каждого пользователя тестового множества отранжировать кандидатов, как можно выше поднимая тех, которые получат «класс»,.

Обычно мы давали одну задачу, но в этот раз решили дать сразу три. Вам не нужно их решать все, достаточно только одну. Поскольку пользовательская лента совмещает контент разного типа, то при его ранжировании востребованы навыки из разных областей — компьютерное зрение, работа с текстами и рекомендательные системы. 

В рамках онлайн-этапа мы предлагаем три набора данных, в каждом из которых представлен только один из типов информации: изображение, текст или данные о разнообразных коллаборативных признаках. 

Только на втором этапе, когда эксперты в разных областях соберутся вместе, будет раскрыт общий датасет, позволяющий найти точки для синергии разных методов.
После открытия чемпионата на платформе, вы увидите описание задач и получите возможность скачать необходимые для участия данные. 

Описание данных

 

Информация представлена в формате Apache Parquet, который является основным для фреймворка Spark. Для работы с этим форматом из Python мы рекомендуем воспользоваться библиотекой Apache Arrow. Для простоты понимания в репозитории на GitHub выложены бейзлайны. Пользуйтесь! 

В обучающем множестве данные разложены по дням, а внутри дня разделены на 6 частей по ID пользователя (один и тот же пользователь всегда попадает в ту же самую часть). Такая раскладка позволяет участникам анализировать не все данные сразу, а ограничиться определёнными днями и/или подгруппами пользователей.

Обучающие наборы разбиты на три непересекающиеся группы: с текстами, с картинками и с коллаборативными признаками. В каждой группе данные содержат следующие поля:

  • instanceId_userId — идентификатор пользователя (анонимизированный);
  • instanceId_objectType — тип объекта;
  • instanceId_objectId — идентификатор объекта (анонимизированный);
  • feedback — массив с типами реакций пользователя (наличие в массиве токена Liked говорит о том, что объект получил «класс» от пользователя);
  • audit_clientType — тип платформы, с которой зашёл пользователь;
  • audit_timestamp — время, когда строилась лента;
  • metadata_ownerId — автор показанного объекта (анонимизированный);
  • metadata_createdAt — дата создания показанного объекта.

Для объектов из обучающего текстового множества дополнительно предоставлены связанные с ними тексты в формате Apache Parquet:

  • objectId — идентификатор объекта;
  • lang — язык текста (на базе детектора языка Одноклассников);
  • text — сырой текст, связанный с объектом;
  • preprocessed — массив токенов, полученный после фильтрации пунктуации и стемминга.

В данных для ранжирования по картинкам дополнительно присутствует поле-массив ImageId с MD5-хешами, связанными с объектами картинок. Тела изображений разложены по отдельным tar-файлам, в зависимости от первой буквы хеша.

В блоке с коллаборативными признаками представлена разнообразная дополнительная информация:

  • audit_* — расширенная информация о контексте построения ленты;
  • metadata_* — расширенная информация о самом объекте;
  • userOwnerCounters_* — информация о предыдущих взаимодействиях пользователя и автора контента;
  • ownerUserCounters_* — информация о предыдущих взаимодействиях автора контента и пользователя;
  • membership_* — информация о членстве пользователя в группе, где опубликован контент;
  • user_* — подробная информация о пользователе;
  • auditweights_* — большое количество runtime-признаков, извлечённых текущей системой.

Структуры тестовых наборов эквивалентны структуре обучающих множеств, но не разложены по дням и не содержат поля feedback.

Оценка результата


Участники чемпионата должны так отсортировать ленту, чтобы объекты с высокой вероятностью «класса» оказались наверху. Сортировка производится индивидуально для каждого пользователя, после чего формируется текст сабмита следующего вида (формат соответствует экспорту из Pandas-датафрейма с колонками типа int и int[]):

User_id_1,"[object_id_1_1, object_id_2_2]
User_id_2,"[object_id_2_1, object_id_2_2, object_id_2_3]

В сабмите должна присутствовать строчка для каждого пользователя тестового набора, а строки отсортированы по возрастанию ID. Объекты для каждого пользователя должны быть отсортированы по убыванию релевантности.  При оценке сабмита для каждого пользователя будет посчитан его личный ROC-AUC, после чего посчитано среднее по всем пользователям и умножено на 100. 

 

Подарки


Второй этап будет проходить в командном формате, а победителей ждут ценные подарки, стикерпаки и другие призы:

  • 300 000 рублей команде, занявшей первое место;
  • 200 000 рублей команде, занявшей второе место;
  • 100 000 рублей команде, занявшей третье место;
  • 100 000 рублей команде, предложившей решение с наилучшими перспективами по внедрению в эксплуатацию по мнению жюри.

Кроме того, призёры онлайн-этапа (топ-33 из лидеров по каждой задаче) получат крутые футболки. 

Бонус!

ТОП1 получит RTX 2080 TI по результатам на лидерборде.

Кроме того, лучший и самый активный участник онлайн-этапа получит PlayStation / XBox на выбор. Критерии просты — много графиков по делу в чате, интересные вжухи вниз/вверх, ну и ещё что-нибудь. Победитель будет избран народным публичным голосованием.

Форум: SNA Hackathon

Темы Сообщения Просмотры Последнее сообщение
Алгоритм вручения RTX 2080TI  [Закреплено] 2 6576 15.03.2019, 15:16:24
Вопросы организаторам
страницы: 1 2 3 4 5
44 22098 25.03.2019, 15:14:10
ОГРОМНАЯ ПРОСЬБА ОРГАНИЗАТОРАМ 3 7205 02.03.2019, 11:08:41