File size: 5,586 Bytes
f6f503a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Умный поиск книг
Этот проект представляет собой систему умного поиска книг, которая позволяет пользователям искать книги по их описанию. Проект был выполнен командой из пяти человек: Анной Филиной, Иваном Никифоровым, Ильвиром Хасановым, Марией Козловой и Викторией Князевой.
## Описание задачи
Магазин электронных книг выразил желание улучшить свою систему поиска, которая в настоящее время основана только на авторе и названии книги. Однако аннотации к книгам, содержащие полезную информацию для пользователей, не учитываются в поисковой системе. Задачей нашей команды было создание системы поиска книг, учитывающей описания, и предоставление пользователю наиболее подходящих вариантов книг по его запросу.
## Решение
Для реализации данной системы мы использовали следующие технологии и инструменты:
- **Языковая модель 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).
## Дальнейшее развитие
В дальнейшем мы планируем расширить функциональность системы умного поиска книг, добавив возможность фильтрации по различным критериям, рекомендации книг на основе предпочтений пользователей и другие улучшения, которые позволят сделать поиск книг еще более удобным и персонализированным.