data/erDiagram users { int user_id PK int gender int age } interactions { int user_id FK int edition_id FK int event_type float rating datetime event_ts } editions { int edition_id PK int book_id int author_id FK int publication_year int age_restriction int language_id int publisher_id str title str description } authors { int author_id PK str author_name } genres { int genre_id PK str genre_name } book_genres { int book_id FK int genre_id FK } users ||--o{ interactions : "user_id" editions ||--o{ interactions : "edition_id" editions ||--o{ authors : "author_id" editions ||--o{ book_genres : "book_id" genres ||--o{ book_genres : "genre_id"
editions.csvСправочник изданий (edition-level). Каждое издание привязано к одной книге.
| Field | Description | Comment |
|---|---|---|
edition_id | идентификатор издания (PK) | - |
book_id | идентификатор книги | - |
author_id | идентификатор автора (FK → authors.author_id) | - |
publication_year | год публикации | издания, не книги |
age_restriction | возрастное ограничение | например, 18+ |
language_id | идентификатор языка | справочник отсутствует |
publisher_id | идентификатор издателя | справочник отсутствует |
title | название | - |
description | описание | сравнительно короткое нестандартизированное описание издания |
authors.csvСправочник авторов.
| Field | Description | Comment |
|---|---|---|
author_id | идентификатор автора (PK) | - |
author_name | имя автора | необязательно ФИО, может быть и псевдонимом, и даже несколькими авторами |
genres.csvСправочник жанров.
| Field | Description | Comment |
|---|---|---|
genre_id | идентификатор жанра (PK) | - |
genre_name | название жанра | - |
book_genres.csvСвязь многие-ко-многим между книгами и жанрами.
Уникальность: (book_id, genre_id).
| Field | Description | Comment |
|---|---|---|
book_id | идентификатор книги | - |
genre_id | идентификатор жанра (FK → genres.genre_id) | - |
users.csvСправочник пользователей с демографическими признаками.
| Field | Description | Comment |
|---|---|---|
user_id | идентификатор пользователя (PK) | - |
gender | пол: 1 — мужской, 2 — женский, NULL — неизвестен | - |
age | возраст (может быть NULL) | - |
interactions.csvЛог событий взаимодействий пользователя с изданиями.
Каждая строка — одно событие.
| Field | Description | Comment |
|---|---|---|
user_id | идентификатор пользователя (FK → users.user_id) | - |
edition_id | идентификатор издания (FK → editions.edition_id) | - |
event_type | тип события: 1 — wishlist, 2 — read | - |
rating | рейтинг (только для read, иначе NULL) | - |
event_ts | дата-время события | - |
submit/submit/targets.csvСписок пользователей, для которых нужно построить рекомендации.
| Field | Description | Comment |
|---|---|---|
user_id | идентификатор пользователя | один столбец |
submit/candidates.csvПул кандидатов для ранжирования: по 200 edition_id на каждого пользователя.
| Field | Description | Comment |
|---|---|---|
user_id | идентификатор пользователя | - |
edition_id | идентификатор издания | - |
submit/example_submission.csvПример случайного сабмита (baseline).
| Field | Description | Comment |
|---|---|---|
user_id | идентификатор пользователя | - |
edition_id | рекомендованное издание | должно быть в candidates для этого user_id |
rank | позиция в топ-20 | значения 1..20, уникальны в рамках user_id |
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