Spaces:
Runtime error
Runtime error
# Умный поиск книг | |
Этот проект представляет собой систему умного поиска книг, которая позволяет пользователям искать книги по их описанию. Проект был выполнен командой из пяти человек: Анной Филиной, Иваном Никифоровым, Ильвиром Хасановым, Марией Козловой и Викторией Князевой. | |
## Описание задачи | |
Магазин электронных книг выразил желание улучшить свою систему поиска, которая в настоящее время основана только на авторе и названии книги. Однако аннотации к книгам, содержащие полезную информацию для пользователей, не учитываются в поисковой системе. Задачей нашей команды было создание системы поиска книг, учитывающей описания, и предоставление пользователю наиболее подходящих вариантов книг по его запросу. | |
## Решение | |
Для реализации данной системы мы использовали следующие технологии и инструменты: | |
- **Языковая модель ruBERT**: Мы применили языковую модель ruBERT (Russian BERT) для анализа и понимания содержания книг и запросов пользователей. Для данного проекта была использована модель [cointegrated/rubert-tiny2](https://huggingface.co/cointegrated/rubert-tiny2), которая является легковесной версией ruBERT. Эта модель обучается на русском языке и способна эффективно обрабатывать текстовые данные, включая описания книг. | |
- **Парсинг данных**: Анна Филина и Иван Никифоров занимались парсингом данных с сайта [biblio-globus.ru](https://www.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`: Файл с датасетом книг, содержащим названия, аннотации, авторов, жанры, ссылки на изображения обложек и страницы книг на сайте Библио-Глобуса. | |
## Установка и запуск | |
Для запуска проекта выполните следующие шаги: | |
1. Установите необходимые зависимости, выполнив команду: | |
``` | |
pip install -r requirements.txt | |
``` | |
2. Запустите приложение Streamlit, выполнив команду: | |
``` | |
streamlit run app.py | |
``` | |
Приложение будет запущено, и веб-интерфейс для умного поиска книг будет доступен по адресу [http://localhost:8501](http://localhost:8501). | |
## Дальнейшее развитие | |
В дальнейшем мы планируем расширить функциональность системы умного поиска книг, добавив возможность фильтрации по различным критериям, рекомендации книг на основе предпочтений пользователей и другие улучшения, которые позволят сделать поиск книг еще более удобным и персонализированным. |