Датасеты¶
Требование к датасету для cold-start item бенчмарка: нужны новые айтемы (можно эмулировать) и контентные признаки айтема (жанры/категории/текст), чтобы оценивать рекомендации по контенту без истории взаимодействий.
| Приоритет | Датасет | Домен | Размер (users / items / interactions) | Контент-фичи айтема | Feedback | Загрузка |
|---|---|---|---|---|---|---|
| 1 | MTS KION | фильмы/сериалы (RU) | 962K / 15.7K / 5.48M | жанры, страны, студии, описания (RU+EN) | implicit (watch %) | github.com/irsafilo/KION_DATASET (.zip CSV) |
| 2 | MovieLens-1M | кино | 6K / 3.9K / 1M | жанры, год | explicit (ratings) | grouplens (.zip) — внешний бейзлайн GroupedMP AUC≈0.709 (multi-seed mean 0.7082±0.007 по 5 seeds, см. results/seeds.md; ср. single-seed 0.7202 в results/full_matrix.md) |
| 3 | Goodbooks-10k | книги | 53K / 10K / 6M | авторы, жанры (tags), год | explicit | zygmuntz/goodbooks-10k |
| 4 | Amazon Toys & Games (5-core) | e-com | 19.4K / 11.9K / 168K | категории, бренд, TF-IDF(title/desc) | explicit (ratings) | SNAP 5-core (McAuley) |
| 5 | MIND (MINDlarge) | новости (EN) | 750K / 19.2K / 3.93M | категория, подкатегория, TF-IDF(title/abstract) | implicit (клики) | HuggingFace yjw1029/MIND |
| опц. | Yambda-50M | музыка (RU) | ~1M / млн / 50M | audio-эмбеддинги, artist/album | implicit + explicit | HuggingFace yandex/yambda |
Покрываемые оси обобщаемости: домены (кино/книги/e-com/музыка), explicit/implicit feedback, тип контента (категориальный / текст / эмбеддинги), масштаб (1M…50M), язык (RU/EN).
Статус реализации¶
- ✅ MovieLens-1M (
ml-1m) — реализован, основной для сверки и анализа. - ✅ MovieLens-20M (
ml-20m) — реализован, большой кейс кино (20M рейтингов) для масштаба. - ✅ Goodbooks-10k (
goodbooks) — реализован, второй домен (книги). - ✅ MTS KION (
kion) — реализован, третий домен (RU, фильмы/сериалы, implicit). - ✅ KION-text (
kion-text) — тот же KION, контент = TF-IDF текста (для абляции контента). - ✅ Amazon Toys (
amazon-toys) — реализован, e-com (5-core), контент = топ-категории + бренд. - ✅ Amazon Toys-text (
amazon-toys-text) — тот же Amazon, контент = TF-IDF title + desc. - ✅ MIND (
mind) — реализован, новости (EN, implicit-клики), контент = категория + подкатегория. - ✅ MIND-text (
mind-text) — тот же MIND, контент = TF-IDF title + abstract. - ⬜ Yambda — в планах (загрузчик не написан).
Доноры: ✅ ALS (als), ✅ BPR (bpr), ✅ CatBoost (catboost), ✅ EASE (ease),
✅ Two-Tower (two_tower). Бенчмарк прогнан на 8 загрузчиках датасетов × 5 доноров
(см. results/full_matrix.md).
Память (M1 16GB)¶
KION, ML-1M, Goodbooks грузятся целиком. Amazon и Yambda — субсэмплируем (по пользователям/ времени) до влезающего размера. Скоры доноров кэшируются в parquet, плотные матрицы users×items не материализуем.
Контракт загрузчика¶
Каждый датасет реализует DatasetLoader.load() -> Dataset (interactions long-format +
ItemFeatures). Добавление нового датасета = один класс + декоратор @register_dataset(...).