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 сообщСний ΠΈΠ· соцсСтСй, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π΄Π²Π° класса: токсичныС ΠΈ Π½Π΅ токсичныС. ВоксичныС \ прСимущСствСнно Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΎΡΠΊΠΎΡ€Π±ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π½Π΅Ρ†Π΅Π½Π·ΡƒΡ€Π½ΠΎΠΉ лСксикой. """