|
import streamlit as st |
|
|
|
def app_description_page(): |
|
st.image('data/2024-04-19 14.05.03.jpg', use_column_width=True) |
|
st.markdown(""" |
|
<style> |
|
/* Пользовательские стили */ |
|
.title-shadow { |
|
font-weight: bold; |
|
font-size: 26px; /* Уменьшен размер шрифта для заголовка */ |
|
color: #333333; /* Темно-серый цвет для заголовка */ |
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); /* Слегка заметная тень для заголовка */ |
|
} |
|
.text-content { |
|
font-size:18px; |
|
color: #333333; /* Темно-серый цвет для лучшего контраста */ |
|
} |
|
.subtitle { |
|
font-size:22px; /* Размер шрифта для подзаголовка */ |
|
color: #333333; /* Цвет подзаголовка */ |
|
} |
|
hr { |
|
border: none; |
|
height: 3px; /* Более толстая линия для разделения */ |
|
background: #CCCCCC; /* Светло-серая линия */ |
|
margin: 24px 0; /* Большой отступ после линии */ |
|
} |
|
.team-title { |
|
font-size:20px; /* Размер шрифта для названия команды */ |
|
color: #333333; /* Цвет для названия команды */ |
|
margin-bottom: 0.5em; /* Отступ перед списком команды */ |
|
} |
|
</style> |
|
""", unsafe_allow_html=True) |
|
|
|
st.markdown("<h1 style='text-align: center; color: #333333;'>Приложение для Рекомендации Книг</h1>", unsafe_allow_html=True) |
|
|
|
st.write("Это приложение предлагает подборку книг, основываясь на вводе пользователя. Введите желаемое описание книги, и система порекомендует подходящие книги.") |
|
|
|
st.markdown("<h2 style='color: #333333;'>📚 Описание проекта</h2>", unsafe_allow_html=True) |
|
|
|
st.markdown(""" |
|
**1. Парсинг данных с сайта Библио-Глобус:** |
|
- Информация о книгах различных жанров собирается с помощью веб-парсера. |
|
- Создается словарь жанров для систематизированного сбора данных. |
|
- Около 5,000 книг собраны в базу данных приложения. |
|
**2. Создание модели:** |
|
- Модель SentenceTransformer (sentence-transformers/all-mpnet-base-v2) и библиотека FAISS (IndexFlatIP) используются для оптимизированного поиска по сходству. |
|
- IndexFlatIP идеально подходит для работы с многомерными векторами, которые представляют аннотации книг. |
|
- Обеспечивает быстрый и точный поиск на основе косинусного сходства. |
|
- Модель cointegrated/rubert-tiny2 применяется для оценки сходства текстов. |
|
|
|
**Преимущества косинусного сходства:** |
|
- Нечувствительность метрики к длине векторов обеспечивает точное сравнение текстов разной длины. |
|
- Возможность высокоточной оценки семантического сходства между текстами. |
|
**3. Развертывание приложения на Streamlit:** |
|
- Удобный интерфейс пользователя разработан с использованием Streamlit. |
|
- Приложение размещено через Hugging Face, делая его доступным для пользователей по всему миру. |
|
""") |
|
st.markdown("<div class='team-title'>🦄 Dream Team</div>", unsafe_allow_html=True) |
|
st.markdown(""" |
|
<div class='text-content'> |
|
- Вероника Белова<br> |
|
- Ольга Шеина<br> |
|
- Валерия Николаева<br> |
|
</div> |
|
""", unsafe_allow_html=True) |