nlp_lstm_project / pages /03_🔥_Results.py
Анастасия
project_streamlit_app
019c64d
import streamlit as st
from PIL import Image
import matplotlib.pyplot as plt
st.write("""
## 📝 Итоги.
""")
"""
### 1. Классификация киноотзывов
Датасет для обучения оказался крайне несбалансированным, отзывы разделены на три класса: Нейтральный, \
Положительный, Отрицательный
"""
st.image('images/classes.png')
'''
\n Датасет был поделен на три выборки:
'''
st.text('Тренировочный сет - 21954 отзывов')
st.text('Валидационный сет - 8782 отзывов')
st.text('Тестовый сет - 5855 отзывов')
"""
##### 1. Rubert-tiny2, модель-классификатор: LogisticRegression
"""
"""
Была проведена балансировка классов в тренировочном наборе методом Oversampling(RandomOverSampler). На скорость обучения повлияла \
максимальная длина твита после токенизации в train, MAX_LEN = 4548, она была ограничена 1024 в виду возможностей производительности \
системы. Классификатором была выбрана LogisticRegression, также исходя из скорости обучения.
\n ##### Classification Report:
"""
st.image('images/classification_report.png')
"""
Метрика качества f1-macro показала наилучший результат 0.62
"""
"""
##### 2. ML-алгоритм, обученный на TF-IDF представлении, модель-классификатор: LogisticRegression
"""
"""
Прежде всего для этого алгоритма был проведена предобработки текста, а именно очистка текста от лишних символов, \
лемматизация текста, затем, была проведена балансировка классов в тренировочном наборе методом Oversampling(SMOTE). \
Для TfidfVectorizer был указан параметр max_features=5000, т.е. было выбрано максимальное количество признаков \
(слов или термов), которые были учтены при создании матрицы TF-IDF. Классификатором была выбрана LogisticRegression, \
исходя из скорости обучения.
\n Метрика качества f1-macro показала наилучший результат 0.65
"""
"""
##### 3. Модель на основе LTSM
"""
"""
Предобработка текста осуществлялась аналогичным с предыдущими моделями способом, для обеспечения сравнимых результатов \
Векторизация текста проводилась с помощью Word2Vec, встроенного в модель. Модель обрабатывала текст через \
LTSM слои, были выбраны значения hidden_size 128, embedding_dim 128. В модели также применялся механизм \
Attention. Классификация производилась внутри модели полносвязными слоями.
\n Метрика качества f1-macro в конце обучения составила 0.57
"""
"""
### 2. Оценка степени токсичности пользовательского сообщения
Задача была решена с помощью модели [rubert-tiny-toxicity](https://huggingface.co/cointegrated/rubert-tiny-toxicity), \
доработанной для классификации токсичности и неуместности коротких неофициальных текстов на русском языке, \
таких как комментарии в социальных сетях.
\n Датасет: 14412 сообщений из соцсетей, разделенных на два класса: токсичные и не токсичные. Токсичные \
преимущественно наполнены оскорбительной и нецензурной лексикой.
"""