import streamlit as st

st.set_page_config(page_title="Student Assistant")

st.markdown('''
# :female-student: «Персональный помощник для студентов»
Данное приложение предназначено для обработки научных статей на английском языке. Оно осуществляет автоматическое составление краткого изложения (summary) статьи, извлечение ключевых слов и создание облака слов (word cloud) для облегчения запоминания этих слов. Кроме того, приложение создает карточки, содержащие эти ключевые слова и их перевод.

## Описание цели проекта и его функциональности
**Цель проекта:** помочь пользователям быстро и эффективно обрабатывать и запоминать содержимое научных статей на английском языке. Оно предоставляет удобный интерфейс, который автоматически генерирует краткое изложение статьи, выделяет наиболее важные ключевые слова и предлагает их перевод на русский язык.

- **Составление краткого изложения статьи.** Приложение использует модель "bart-large-cnn" для автоматического генерирования краткого изложения статьи. Это позволяет пользователям быстро ознакомиться с ее основным содержанием.
- **Извлечение ключевых слов.** Приложение использует модель "keyphrase-extraction-kbir-inspec" для извлечения наиболее важных ключевых слов из статьи. Это помогает пользователям запоминать основные понятия.
- **Создание облака слов.** Приложение создает облако слов на основе извлеченных ключевых слов. Облако слов представляет из себя графическое отображение информации, где частотность или важность каждого слова представлена в виде размера или цвета. Это помогает пользователю быстро уловить основные идеи статьи.
- **Составление карточек с переводом ключевых слов.** Приложение использует модель "Helsinki-NLP/opus-mt-en-ru" для автоматического перевода ключевых слов на русский язык. Это облегчает запоминание ключевых понятий научной статьи для пользователей, которые не владеют английским языком.


## Команда 19
- Болотов М.
- Гилёв Д.
- Пахомов Д.
- Шибакова А.
- Султанов Э.

## Вклад участников

Совместными усилиями мы разработали общую концепцию приложения, определили его основные функции и цели, распределили обязанности между всеми членами команды.

### ```Болотов М., Гилёв Д.```
 Работа над модулем "Изучение английского языка через визуальное и аудио восприятие". Поиск и исследование подходящих предварительно обученных моделей Hugging Face. 
 На основе данных моделей был разработан функционал приложения, которое позволяет пользователю генерировать изображения, описывать их на английском языке и озвучивать 
 получившийся текст. 

### ```Шибакова А., Пахомов Д., Султанов Э.```
Работа над модулем "Конспект и ключевые слова из статьи". Поиск и исследование подходящих предварительно обученных моделей Hugging Face.
На основе данных моделей был разработан функционал приложения, которое позволяет пользователю составлять краткое изложение статьи,
извлекать ключевые слова и создавать облако слов для облегчения запоминания слов. Кроме того, приложение создает карточки, 
содержащие эти ключевые слова и их перевод.

### ```Пахомов Д.```
Интеграция модулей и тестирование. Оценка и улучшение системы.

### ```Шибакова А.```
Оформление документации. Создание презентации проекта.

### ```Султанов Э.```
Развертывание приложения на платформе Hugging Face Spaces.

''')


st.markdown('''
### Технологии

* Приложение разработано на языке ```Python```, с использованием библилотеки ```Streamlit```.
* Приложение использует: 
	* модель ```"bart-large-cnn"``` для автоматического создания конспекта статьи;
	* модель ```"keyphrase-extraction-kbir-inspec"``` для извлечения ключевых слов из статьи;
	* модель ```"Helsinki-NLP/opus-mt-en-ru"``` для автоматического перевода ключевых слов на русский язык.
* Приложение использует библиотеку ```wordcloud``` для создания облака слов из ключевых слов.
* Для визуализации результатов приложение использует библиотеки ```Matplotlib``` и ```Plotly```.
* Прриложение развернуто на платформе ```Hugging Face Spaces```.

### Установка и использование

1. Склонируйте репозиторий приложения с GitHub: ```https://github.com/sultanovemil/PI_URFU_2023.git```.
2. Установите необходимые зависимости, выполнив команду ```pip install -r requirements.txt```.
3. Запустите приложение, выполнив команду ```streamlit run app.py```в корневой папке проекта.
4. Откройте веб-браузер и перейдите по адресу ```http://localhost:8501```.
5. Введите текст статьи на английском языке в соответствующее поле и нажмите кнопку "Обработать текст".


## Основные достижения и преимущества нашего решения

1. Автоматическое составление конспектов: приложение позволяет студентам сэкономить время и усилия, 
предоставляя автоматически созданные конспекты текстов на английском языке. 
Это помогает в изучении и запоминании материала более эффективно.
2. Интерактивное обучение: путем использования карточек для изучения английских слов, 
приложение создает интерактивную и эффективную среду для улучшения словарного запаса студентов. 
Это помогает учащимся запоминать новые слова и применять их в контексте.
3. Улучшение языковых навыков: решение помогает студентам улучшить свои языковые навыки, 
включая понимание текста на английском языке, активное использование новых слов и умение составлять конспекты. 
Это дает студентам уверенность и полезные навыки для дальнейшего образования и карьеры.
4. Творческий подход к изучению английского языка: мы используем API модели от Hugging Face для генерации интересных и 
разнообразных изображений, которые помогут студентам улучшить навыки описания изображений и говорения на английском языке.


**Практическая ценность и потенциал** для улучшения образовательного процесса заключаются в том, 
что наше решение предоставляет инновационный подход к изучению английского языка и созданию конспектов. 
Оно помогает студентам эффективно использовать свое время, повысить свою академическую успеваемость и 
развивать важные навыки для будущей карьеры.
''')




st.divider()