Gforce-ML's picture
trnslt info
1c2ef8c
raw
history blame
4.97 kB
import numpy as np
import pandas as pd
# import io
import streamlit as st
import streamlit.components.v1 as components
# For download buttons
#from functionforDownloadButtons import download_button
# content
# =====================================================
components.html(
"""
<a href="https://git.io/typing-svg"><img src="https://readme-typing-svg.herokuapp.com?font=Fira+Code&pause=1000&width=435&lines=Маруся+не+отвечает+на+реплики" alt="Typing SVG" /></a>
<a href="https://git.io/typing-svg"><img src="https://readme-typing-svg.herokuapp.com?font=Fira+Code&pause=1000&width=435&lines=из+телевизора" alt="Typing SVG" /></a>
"""
)
st.markdown("<h1 style='text-align: center;'>VK кейс Маруся <i>GrowAi</i></h1>", unsafe_allow_html=True)
with open("./image.jpg", "rb") as f:
st.image(f.read(), use_column_width=True)
with st.expander("ℹ️ - Об этом приложении", expanded=True):
st.write(
"""
- Это приложение — это простой в использовании интерфейс, встроенный в специальную библиотеку Streamlit.
- Оно использует метод минимального извлечения ключевых слов, который использует несколько вложений NLP и полагается на transformers.
"""
)
st.write(
"""
# Краткое описание решения
Мы представляем алгоритм машинного обучения для решения задачи бинарной классификации, отличающий команды пользователя голосового помощника VK "Маруся" от внешнего шума для повышения коммуникации.
Проанализировав входные данные нами было проведена комплексная оценка параметров признаков, в процессе подготовки было очищено порядка 1,5 тысяч диалогов, содержащих смайлики и пустые значения для лучшего распознавания команд алгоритмом, проставлена пунктуация в ключевых фразах и диалогах пользователей, дана оценка токсичности пользовательских ответов, качества данного ответа, а также лингвистическая приемлемость.
Стек решения:
python, torch, transformers, sklearn, scipy, pandas, numpy, streamlit
Уникальность:
Решение оформлено в виде web приложения с пользовательским интерфейсом, позволяющим загружать релевантные данные для их обработки разработанным алгоритмом. Интерпретируемость модели определяется извлечением отдельных признаков, имеющих наибольшую взаимосвязь и значимость для классификации. Повышение точности основано на подходе разделения дата сета на 5 частей для обучения отдельных моделей вместо 1.
"""
)
# load_model
# ==================================================
#@st.cache(allow_output_mutation=True)
#def load_model():
#model = ________________(weights='imagenet')
#return model
#model = load_model()
st.title("Проверить работу алгоритма, можно через эту форму")
placeholder = st.empty()
text = placeholder.text_area("Вставьте или напишите текст", height=300)
submit_button = st.button(label="✨ ТЫК")
#button = st.button("ТЫК")
# upload_file
# ==================================================
c29, c30, c31 = st.columns([1, 6, 1])
with c30:
uploaded_file = st.file_uploader(
"",
key="1",
help="Чтобы активировать «широкоэкранный режим»: > «Настройки» > Широкоэкранный режим».'",
)
if uploaded_file is not None:
file_container = st.expander("Формат загружаемого файла - .csv")
shows = pd.read_csv(uploaded_file)
uploaded_file.seek(0)
file_container.write(shows)
else:
st.info(
f"""
👆 Или Вы можете загрузить сюда файл
"""
)
st.stop()