Предсказание наличия переходов на другую поисковую систему по пользовательскому поведению

22 декабря 2012

Challenge description | Download the dataset (Password: SwItChDetect_2012)

Скачать архив с данными (Пароль к архиву: SwItChDetect_2012)

В 2012 году конкурс «Интернет-математика» проводится в седьмой раз. Цель конкурса — предоставить всем желающим возможность продолжить исследования пользовательского поведения и научиться предсказывать наличие определенного действия пользователя. В частности, в этом году конкурс сосредоточится на предсказании переходов на другой поисковик в рамках одной поисковой сессии.

Специально для конкурса Яндекс предоставляет полностью обезличенный набор данных — информацию о запросах и кликах пользователей на документы, а также о том, в какой момент сессии они воспользовались любым другим поисковиком, помимо Яндекса.

Отчеты лучших команд будут представлены на семинаре WSCD, который проводится совместно с конференцией WSDM2013.

Регистрация на участие продлится до 15 декабря, прием решений — до 22 декабря.

Задача и данные

Данные

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

Данные предоставляются исключительно для личного использования и предназначены для выполнения заданий конкурса «Интернет-математика 2012».

Данные содержат:

Уникальных запросов: 10139547

Уникальных документов: 49029185

Уникальных пользователей: 956536

Сессий: 8595731

Логи приблизительно 2-х летней давности и не содержат в себе запросы с коммерческим интентом.

Переходы на другие поисковые системы

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

Были отобраны все пользователи, для которых удалось отследить хотя бы один переход за 27-дневный период и были собраны все поисковые сессии этих пользователей за тот же период. Этот период рассматривается как тренировочный. Следующие за этим тренировочным периодом 3 дня являются тестовым периодом, который состоит только из сессий пользователей, которые были отобраны для тренировочного периода. Все отслеженные переходы из сессий тестового периода были удалены, чтобы участники имели возможность предсказывать их наличие.

Переходы на другие поисковые системы могут быть отслежены тремя способами. Во-первых, пользователь может перейти на другой поисковик по ссылке с поисковой выдачи текущего поисковика (например, которая была возвращена в ответ на навигационный запрос, заданный с целью найти адрес другой поисковой системы). Во-вторых, пользователь может перейти на другие поисковики по ссылкам внизу поисковой выдачи Яндекса (“поискать в других поисковых системах”). В-третьих, для части пользователей, у которых установлен тулбар Яндекса, возможно узнать, что пользователь перешел на другую поисковую систему в конкретный момент времени.

Довольно часто, переходы на другие поисковые системы могут встречаться один за другим (без новых запросов и кликов между ними). Например, это может случится, если один и тот же переход отслежен с поисковой выдачи и с тулбара, или если пользователь перешел на несколько поисковиков по ссылкам внизу поисковой выдачи Яндекса. Мы «склеили» такие переходы в один, предполагая, что время начала такого факта перехода – это время первого детектированного перехода.

Лог

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

Метаданные следующей сессии (TypeOfRecord = M):
SessionID Day TypeOfRecord USERID SwitchType 
Запрос (TypeOfRecord = Q):
SessionID TimePassed TypeOfRecord SERPID QueryID ListOfURLs
Клик (TypeOfRecord = C):
SessionID TimePassed TypeOfRecord SERPID URLID
Переход (TypeOfRecord = S):
SessionID TimePassed TypeOfRecord

-SessionID – уникальный идентификатор пользовательской сессии.

-Day – номер дня, за который собраны данные (все данные собраны за 30 дней).

-TypeOfRecord – тип записи. Это может быть либо запрос (Q), либо клик (C), либо переход (S), либо метаданные следующей сессии (M).

-UserID – уникальный идентификатор пользователя.

-SwitchType – индикатор, сообщающий что переходы какого типа (не менее одного) содержит данная сессия. Это либо переход, который был замечен благодаря установленному у пользователя тулбару (B), либо переход, который удалось отследить непосредственно с поисковой выдачи (P), либо в сессии есть переходы обоих типов (H), либо в сессии не удалось отследить переходы (N). Тип каждого конкретного перехода в сессии не разглашается.

-TimePassed – время, прошедшее с начала текущей сессии в условных временных единицах. Количество секунд в одной временной единице не разглашается.

-QueryID – уникальный идентификатор текста запроса.

-SERPID – идентификатор поисковой выдачи, уникальный на уровне сессии.

-URLID – уникальный идентификатор документа.

-ListOfURLs – список документов, отранжированный слева направо так как они были показаны пользователям на странице выдачи Яндекса (сверху вниз).

Пример:

744899 23 M 123123123 B
744899 0 Q 0 192902 632428 309585 319567 6547 20264 3094446 90 841 8344 119571
744899 592 S
744899 1403 C 0 632428

Задача

Задача данного конкурса - правильно предсказать наличие перехода на другую поисковую систему в данной поисковой сессии. Предоставляемый поисковый лог может использоваться как для обучения моделей предсказания перехода, так и для предсказания переходов в сессиях из тестового набора. Мера оценки качества предсказания

Результаты будут оцениваться путем подсчета меры AUC[1] (Area Under Curve), которая считается для списка сессий, отранжированных по вероятности наличия в них перехода. Значение этой меры будет использоваться для определения выигравших участников. AUC - популярная мера для оценки качества классификаторов и представляет собой вероятность, что данный классификатор для случайно выбранной пары, состоящей из сессий с переходом и без, присвоит большую вероятность вероятности наличия перехода именно сессии с переходом.

Результаты

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

SessionID
SessionID
SessionID
SessionID
...
SessionID

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

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

Важнейшим условием участия в конкурсе является описание метода, с помощью которого было произведен результат (длиной от 150 до 700 символов) на английском (желательно) или на русском языке. Это описание предоставляется вместе с результатами при их загрузке. Организаторы оставляют за собой право аннулировать регистрацию участников, которые предоставляют бессмысленные или неинформативные описания своих результатов.

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

Архив с набором данных содержит два файла. Первый файл train.txt содержит сессии из тренировочного периода (с 1-го по 27-й день). Во втором файле test.txt содержатся сессии из тестового периода (с 28-го по 30-й день). Каждое загруженное решение должно содержать в идентификаторов сессий из тестового периода, отранжированных по убыванию вероятности наличия в них перехода.

Победители и Призы

По окончании конкурса, все последние результаты участников будут отранжированы по убыванию значений официальной меры качества конкурса. Первые три участника получат денежные призы в размере:

За первое место: $5,000

За второе место: $3,000

За третье место: $1,000

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

Одним из главных условий получения приза является предоставление полного технического отчета с описанием методики получения результата. Отчет должен содержать достаточно информации, чтобы результат можно было бы воспроизвести без участия самого участника предоставившего результат. Отчет должен быть предоставлен до 20 января 2013 года в формате ACM (Tighter Alternate Style) и занимать не более 8 страниц.

Мы также надеемся, хотя это и не является условием получения приза, что победители и просто лидеры конкурса (отобранные организаторами конкурса) представят доклад с описанием их метода на семинаре WSCD, который состоится 4 февраля 2013 года в Риме, Италия. Однако, все расходы по участию в семинаре каждый приглашенный участник обязан взять на себя сам.

Лучшему из российских участников конкурса или одному представителю лучшей Российской команды, независимо от занятого ими места среди всех участников, будет оплачен перелет экономическим классом от места проживания до Рима, Италия и стоимость регистрации на конференции WSDM 2013.

Поздравления призеров

1-й приз: Out of mEmory Denis Savenkov, Dmitry Lagun, Qiaoling Liu. Emory University

2-й приз: Insight Павел Калинин. Воронежский Государственный Университет

3-й приз: GraphLab Qiang Yan(Institute of Automation, Chinese Academy of Sciences), Xingxing Wang(Computer Network Information Center, Chinese Academy of Sciences), Heng Gao, Dongying Kong (Institute of Computing Technology, Chinese Academy of Sciences), Yangbao Lee(Chinese Academy of Sciences)

Отчеты лучших команд были представлены на семинаре WSCD, который проводился совместно с конференцией WSDM2013.