Spaces:
Runtime error
Умный поиск книг
Этот проект представляет собой систему умного поиска книг, которая позволяет пользователям искать книги по их описанию. Проект был выполнен командой из пяти человек: Анной Филиной, Иваном Никифоровым, Ильвиром Хасановым, Марией Козловой и Викторией Князевой.
Описание задачи
Магазин электронных книг выразил желание улучшить свою систему поиска, которая в настоящее время основана только на авторе и названии книги. Однако аннотации к книгам, содержащие полезную информацию для пользователей, не учитываются в поисковой системе. Задачей нашей команды было создание системы поиска книг, учитывающей описания, и предоставление пользователю наиболее подходящих вариантов книг по его запросу.
Решение
Для реализации данной системы мы использовали следующие технологии и инструменты:
- Языковая модель ruBERT: Мы применили языковую модель ruBERT (Russian BERT) для анализа и понимания содержания книг и запросов пользователей. Для данного проекта была использована модель cointegrated/rubert-tiny2, которая является легковесной версией ruBERT. Эта модель обучается на русском языке и способна эффективно обрабатывать текстовые данные, включая описания книг.
- Парсинг данных: Анна Филина и Иван Никифоров занимались парсингом данных с сайта biblio-globus.ru. С помощью парсера был собран датасет, содержащий 45 тысяч книг разных жанров. Датасет включает названия, аннотации, авторов, жанры, ссылки на изображения обложек и страницы книг на сайте Библио-Глобуса.
- Embeddings: Для обработки текстовых данных и вычисления семантических векторов (embeddings) мы использовали модель ruBERT. Эти embeddings позволяют сравнивать и находить семантически похожие описания книг и запросы пользователей.
Файлы проекта
В проекте вы найдете следующие файлы:
parser.ipynb
: Файл с кодом для парсинга данных с сайта biblio-globus.ru и создания датасета книг.model.py
: Файл с кодом модели, включая обработку текстовых данных с помощью ruBERT и вычисление embeddings для описаний книг и запросов пользователей.app.py
: Файл с кодом для создания веб-приложения с использованием Streamlit. Этот файл отвечает за интерфейс пользователя, обработку запросов и отображение результатов поиска.requirements.txt
: Файл со списком зависимостей, необходимых для запуска проекта.books_dataset.csv
: Файл с датасетом книг, содержащим названия, аннотации, авторов, жанры, ссылки на изображения обложек и страницы книг на сайте Библио-Глобуса.
Установка и запуск
Для запуска проекта выполните следующие шаги:
- Установите необходимые зависимости, выполнив команду:
pip install -r requirements.txt
- Запустите приложение Streamlit, выполнив команду:
Приложение будет запущено, и веб-интерфейс для умного поиска книг будет доступен по адресу http://localhost:8501.streamlit run app.py
Дальнейшее развитие
В дальнейшем мы планируем расширить функциональность системы умного поиска книг, добавив возможность фильтрации по различным критериям, рекомендации книг на основе предпочтений пользователей и другие улучшения, которые позволят сделать поиск книг еще более удобным и персонализированным.