https://github.com/dimflix-hackathons/recsystem
Цифровой Прорыв| Rutube Case | Рекомендательная система видео
https://github.com/dimflix-hackathons/recsystem
ai hackaton python
Last synced: 7 months ago
JSON representation
Цифровой Прорыв| Rutube Case | Рекомендательная система видео
- Host: GitHub
- URL: https://github.com/dimflix-hackathons/recsystem
- Owner: DIMFLIX-Hackathons
- Created: 2023-09-10T04:27:03.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-11T14:17:06.000Z (about 2 years ago)
- Last Synced: 2025-03-21T09:35:57.636Z (about 1 year ago)
- Topics: ai, hackaton, python
- Language: Python
- Homepage: https://hacks-ai.ru
- Size: 5.56 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EDYK-RecSystem
Инструмент разработанный для вычисления рекомендаций видео для пользователей. В нем используется смешанный тип рекомендательной системы.
В нем используются направления контент-направленного типа:
используя атрибуты удержания просмотра и эмоции, мы создаем систему рейтингов, благодаря которой пользователю рекомендуется определенное видео из определенных категорий.
# Установка
Для начала требуется установить PostgreSQL 14 версии и выше.
Создать там базу данных c любым названием.
После чего необходимо заполнить конфиги.
В репозитории есть файл ".env.example", в котором содержутся основные переменные окружения, которые вы должны обязательно заполнить.
Далее в папку YourDataForConvert добавьте исходные данные.
А именно:
- emotions.csv
- videos.parquet
- player_starts_train.parquet
Далее открываем консоль в данной дирректории и устанавливаем зависимости.
### pip install -r requirements.txt
После чего нужно конвертировать все входные файлы с данными.
Для этого запустите файл convert_all_data.py и выберите подходящий для вас вариант загрузки данных (необходимо загрузить все доступные файлы).
#### *выбор файлов добавлен для того, чтобы исключить вариант перезаписи сразу всех файлов, если на одном из них в процессе выполнения конвертации произошел сбой.
После выполнения всех вышеуказанных действий вы можете запускать основной файл async_app.py, который и выполнит подбор рекомендаций для конкретного пользователя.
# Уникальность нашего проекта
1. Для построения рекомендаций не используются сторонние пакеты.
2. Использование чистого SQL для фильтрации данных
3. Использование асинхронности
4. В некоторых местах параллельное выполнение кода
5. Максимальная оптимизация
# Задачи которые нужно решить в будущем
1. Информационный перегруз пользователей: множество видео с различными темами и качеством усложняет поиск контента по интересам.
2. Сложность определения индивидуальных предпочтений: алгоритмы рекомендаций должны адаптироваться к уникальным интересам каждого пользователя.
3. Низкая точность рекомендаций: постоянные ошибки в предлагаемых видео могут оттолкнуть пользователей от использования видеохостинга.
4. Ограниченность выбора контента: пользователи могут ограничиваться только существующими категориями и жанрами видео, не имея возможности открыть что-то новое.
# Итоги Хакатона
