Ends in 28 hours
81 participants
5 submissions

Хакатон «Пульс города» от Академии ИИ: призовой фонд – 1 000 000 рублей.

Задача хакатона — научить модель предсказывать, какие новости Омска окажутся наиболее популярными. Её подготовили преподаватели кафедры «Прикладная математика и фундаментальная информатика» ОмГТУ!

Принимая участие в соревновании, вы соглашаетесь с Правилами участия.

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

В 2026 году Омск носит статус Культурной столицы России. В городе проходят сотни спортивных, культурных и общественных событий, каждое из них по-разному отражается в СМИ. Одни публикации остаются почти незамеченными, другие получают широкий резонанс. При планировании информационного сопровождения мероприятий важно заранее понимать и оценивать, насколько заметной окажется та или иная публикация.

Сервисы медиамониторинга (например, «Медиалогия») оценивают каждую публикацию числом — заметностью. Чем выше значение, тем сильнее публикация «звучит» в медиаполе. Но заметность сильно зависит от издания. Материал в крупном СМИ почти всегда заметнее заметки в районной газете, и это не заслуга текста. Поэтому в задаче предлагается предсказывать нормированную заметность: насколько публикация заметнее обычной для своего же издания. Так название СМИ перестаёт быть «ярлыком», и выигрывает тот, кто лучше извлекает сигнал из содержания.

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

Метрика

Качество оценивается модулем коэффициента ранговой корреляции Спирмена между предсказанной и истинной нормированной заметностью:

$$\mathrm{score} = \left|\operatorname{corr}\big(\operatorname{rank}(y_{\text{true}}),\ \operatorname{rank}(y_{\text{pred}})\big)\right|$$
  • значение лежит в диапазоне от 0 до 1, выше — лучше;
  • метрика смотрит на порядок публикаций по заметности, а не на абсолютные значения, поэтому устойчива к скосу распределения и выбросам;
  • константные предсказания допустимы, но не содержат ранжирующего сигнала и получают значение 0.0.

Метрика считается автоматически при отправке решения. При этом тест делится на публичную (виден предварительный результат в лидерборде) и приватную (определяет итоговые места) части.

Данные

Набор данных собран на основе мониторинга публикаций об омских событиях. Каждая строка соответствует одной публикации в СМИ.

Файлы:

ФайлНазначение
train.csvобучающая выборка с известной заметностью
test.csvтестовая выборка без заметности, на ней делаются предсказания
sample_submission.csvпример файла с предсказаниями

Колонки:

  • id — уникальный идентификатор публикации;
  • title — заголовок публикации;
  • text — лид статьи (первые 500 символов);
  • date — дата публикации;
  • outlet — издание (СМИ), где вышла публикация;
  • targetнормированная заметность (только в train.csv; это и есть целевая переменная).

target — это z-оценка заметности внутри каждого издания: насколько публикация заметнее типичной для своего СМИ. У любого издания среднее target равно нулю, поэтому угадать значение просто по названию издания нельзя, нужен текст.

Особенности данных, о которых стоит знать:

  • выборки разделены по времени: тест — это публикации, вышедшие позже обучающих;
  • тело статьи намеренно обрезано до лида: так заметность нельзя угадать просто по длине статьи, решает именно содержание;
  • название издания (outlet) выдаётся как признак, но само по себе не помогает: целевой признак нормирован внутри издания.

Baseline (базовое решение)

Этот baseline специально сделан простым и служит примером организации конвейера обработки данных. Решение протестировано с применением интерпретатора Python 3.12.4.

baseline

IPYNB | 3.57 KB

email

Формат решения

На проверку отправляется CSV-файл с двумя колонками: id и predict. Каждая строка представлена в виде пары «идентификатор публикации из test.csv» и «предсказанная нормированная заметность». Файл должен покрывать все id из test.csv.

Абсолютные значения не важны сами по себе, поскольку метрика смотрит на порядок. Важно правильно ранжировать публикации.

sample_submission

CSV | 30.55 KB

email

Правила использования данных и ресурсов

  • Решение на CPU, значит тяжёлые внешние сервисы и платные API использовать не нужно.
  • Разрешается использовать открытые ресурсы со свободной некоммерческой лицензией: предварительно обученные эмбеддинги/модели, корпуса для обучения векторов, лексиконы тональности и т.п.
  • Запрещено пытаться «подсмотреть» истинную заметность тестовых публикаций во внешних сервисах медиамониторинга или вручную размечать тест. Оценивается именно предсказание по тексту.

Приватный обмен идеями (private sharing), решениями и кодом между участниками запрещён. В случае обнаружения этого факта, все причастные решения аннулируются.

Our website uses cookies, including web analytics services. By using the website, you consent to the processing of personal data using cookies. You can find out more about the processing of personal data in the Privacy policy