File size: 4,497 Bytes
019c64d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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 сообщений из соцсетей, разделенных на два класса: токсичные и не токсичные. Токсичные \
    преимущественно наполнены оскорбительной и нецензурной лексикой.
"""