import streamlit as st st.write(""" # Итоги и результаты работы по проекту🔥 """) st.write(""" ### Работа с парсингом и формирование датасета: \n- **В sitemap мы нашли 90 038 ссылок на страницы с книгами.** \n- **Однако в категориях было найдено только 15 411 ссылок на актуальные продукты, доступные для покупки.** \n- **Далее, проходясь по каждой ссылке продуктов из категорий, собрали следующие features: \ "Имя автора", "Название книги", "Описание", "Ссылка на книгу", "Ссылка на обложку". Работа была запущена с двух компьютеров одновремнно (~ 4 часов работы).** \n- **Был сформирован первый вариант рабочего датасета.** \n- **На следующий день в датасет были добавлены ещё две дополнительные Features: "Жанр книги", "Возрастное ограничение".** """) st.write(""" ### Очистка датасета от всякой нечести: \n- **Были удалены все строки с NaN (около 500).** \n- **Были также удалены дубли по авторам, аннотациям и названию книг (около 1500-1800).** \n- **К векторам аннотаций было применено косинусное сходство — удалены ещё 1200 дубликатов. Граница для удаления стояла на уровне 0.9.** """) st.write(""" ### Процесс тестирования моделей и различных подходов к решению задачи: """) st.write(""" ##### Алиса: \n- **FastText + Embedding Layer.** \n- **RuBERT-tiny2, используя аннотации и возрастное ограничение.** """) st.write(""" ##### Тигран: \n- **TF-IDF.** \n- **RuBERT-tiny2 + Faiss.** \n- **Библиотека SentenceTransformers.** """) st.write(""" ##### Руслан: \n- **TF-IDF + SVD до 1000-ой размерности.** \n- **Жалкая попытка использовать GloVe.** \n- **Doc2Vec + Faiss.** """) st.write(""" ### Пример работы лучшей модели - RuBERT-tiny2: """) st.info(""" ##### Текст запроса: "Интригующий детектив с неожиданной развязкой, приключение и убийства." \n- Использование IndexFlatL2 с помощью библиотеки faiss. Данный Индекс вычисляет Евклидово расстояние. """) st.image('images/image_bert_1.jpg') st.info(""" ##### Текст запроса: "Интригующий детектив с неожиданной развязкой, приключение и убийства." \n- Использование cosine_similarity с помощью библиотеки sklearn. Данная мера находит Косинусное сходство. """) st.image('images/image_bert_2.jpg') st.info(""" ##### Текст запроса: "Интригующий детектив с неожиданной развязкой, приключение и убийства." \n- Использование IndexFlatIP с помощью библиотеки faiss. Данный Индекс вычисляет Скалярное произведение векторов. """) st.image('images/image_bert_3.jpg')