--- title: NLP Project emoji: 🐒 colorFrom: pink colorTo: purple sdk: streamlit sdk_version: 1.21.0 app_file: app.py pinned: false --- # NLP project Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ являСтся ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ СстСствСнного языка (Natural Language Processing) ΠΈ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с использованиСм ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Hugging Face ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Streamlit. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… участников: Василий БСвостянов, Анна Π€ΠΈΠ»ΠΈΠ½Π°, Π˜Π»ΡŒΠ²ΠΈΡ€ Π₯асанов, Иван Никифоров ΠΈ Виктория КнязСва. [ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС](https://huggingface.co/spaces/vasevooo/NLP_project) ## 1. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² Π½Π° Ρ„ΠΈΠ»ΡŒΠΌΡ‹ Π½Π° английском языкС (Иван Никифоров) Π’ этой части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° систСма классификации ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² Π½Π° Ρ„ΠΈΠ»ΡŒΠΌΡ‹ Π½Π° английском языкС. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти свой ΠΎΡ‚Π·Ρ‹Π² Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, послС Ρ‡Π΅Π³ΠΎ систСма прСдсказываСт Π΅Π³ΠΎ класс (ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ/Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: * ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ML-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π° прСдставлСнии BagOfWords/TF-IDF. * RNN ΠΈΠ»ΠΈ LSTM модСль. * BERT (мощная прСдобучСнная модСль для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с СстСствСнным языком). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ прСдсказания ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ выводятся Π½Π° экран вмСстС со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ Π½Π° ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅. ## 2. ГСнСрация тСкста с использованиСм ΠΌΠΎΠ΄Π΅Π»ΠΈ GPT (Π˜Π»ΡŒΠ²ΠΈΡ€ Π₯асанов ΠΈ Виктория КнязСва) Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° гСнСрация тСкста с использованиСм ΠΌΠΎΠ΄Π΅Π»ΠΈ GPT (Generative Pre-trained Transformer). ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π½Π°Ρ‡Π°Π»ΠΎ (prompt) тСкста, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π»ΠΈΠ½Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ число Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ top-k ΠΈ top-p (nucleus) для управлСния Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ΠΌ ΠΈ качСством Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ тСкста. ## 3. МодСль question answering (Анна Π€ΠΈΠ»ΠΈΠ½Π° ΠΈ Василий Π‘Π΅Π²ΠΎΡΡ‚ΡŒΡΠ½ΠΎΠ²) Π’ этой части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° систСма вопросно-ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста с использованиСм ΠΌΠΎΠ΄Π΅Π»ΠΈ timpal0l/mdeberta-v3-base-squad2, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… SQuAD 2.0. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти вопрос ΠΈ контСкст (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится ΠΎΡ‚Π²Π΅Ρ‚), ΠΈ модСль примСняя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ вопросно-ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ модСлирования Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚. # NLP project This project is a multipage application for Natural Language Processing (NLP) developed using the Hugging Face platform and the Streamlit framework. The project involved the following contributors: Vasily Sevostyanov, Anna Filina, Ilvir Khasanov, Ivan Nikiforov, and Victoria Knyazeva. [You can read it by following this link](https://huggingface.co/spaces/vasevooo/NLP_project) ## 1. Film Review Classification in English (Ivan Nikiforov) This part of the project focuses on classifying film reviews in English. Users can enter their reviews in the input field, and the system predicts the sentiment (positive/negative) using three models: * Classic ML algorithm trained on BagOfWords/TF-IDF representation. * RNN or LSTM model. * BERT (a powerful pretrained model for natural language processing). The predictions of each model are displayed along with the time taken to obtain them. ## 2. Text Generation using GPT Model (Ilvir Khasanov and Victoria Knyazeva) In this section of the project, text generation is implemented using the GPT (Generative Pre-trained Transformer) model. Users can enter a specific starting prompt and adjust generation parameters, including the length of the output sequence and the number of generations. Temperature control or top-k and top-p (nucleus) methods can be used to manage the diversity and quality of the generated text. ## 3. Question Answering Model (Anna Filina and Vasily Sevostyanov) This part of the project focuses on a question answering system using the timpal0l/mdeberta-v3-base-squad2 model, trained on the SQuAD 2.0 dataset. Users can input a question and the corresponding context containing the answer, and the model applies question answering algorithms to provide the answer.