Skip to content

Maximgitman/nlp_soup

Repository files navigation

#Nlp Soup 🚀

Web приложение, которое включает в себя несколько задач по NLP, содержит в себе 4 экрана:

  1. Home - результаты по трем задачам;
  2. Emotion-Detection - классификация Русского текста по эмоциям;
  3. Text-Recognition - распознавание Английского текста на картинке;
  4. Similar-Recognition для сравнения двух текстов;
Stack: Python, HTML, CSS, Flask, SQL, Jinja, Pytorch, Tesseract, Bootstrap;

Ссылка на web app: https://3ce3-205-178-20-45.ngrok.io

Quick Start Examples

Install

Python>=3.6.0 is required with all requirements.txt installed Для запуска на локальной машине необходимо скачать веса модели и скопировать их в папку /static/ Скачать веса можно по ссылке weights_model installed

Чтобы установить на локальной машине:

$ git clone https://github.com/Maximgitman/all_ZB.git
$ cd all_ZB
$ pip install -r requirements.txt
$ flask run
Home

На главной странице отображаются результаты со всех трех моделей *данные берутся из SQL allzb.db

screen

В базе данных allzb.db находится 3 таблицы со следующей схемой:

# sqlite3 emotion
CREATE TABLE emotion(id INTEGER PRIMARY KEY AUTOINCREMENT, input TEXT NOT NULL, output TEXT NOT NULL, score FLOAT NOT NULL);

# sqlite3 image
CREATE TABLE image(id INTEGER PRIMARY KEY AUTOINCREMENT, image TEXT NOT NULL, text TECT NOT NULL);

# sqlite3 similar
CREATE TABLE similar(id INTEGER PRIMARY KEY AUTOINCREMENT, text_1 TEXT NOT NULL, text_2 TEXT NOT NULL, score FLOAT NOT NULL);
Emotion-Detection На вкладке Emotion-Detection работает модель по классификации эмоций. Вы можете ввести текст на Русском языке после чего данные попадают в базу данных и ваш результат видно ниже в таблице на самой первой строчке.

По умолчанию страница рендерит 3 результат из DB emotion-detection

Модель предсказывает только три класса:

  • Neagive (негативный);
  • Positive (позитивный);
  • Neutral (нейтральный).

Модельку одолжил вот по этой ссылке rubert-base-cased-sentiment-new

Text-Recognition

На вкладке Text-Recognition работает распознавание Английского текста на фото форматов .png .jpg .jpeg Распознавание происходит на основании библиотеки pytesseract

Чтобы загрузить свою картинку, нажмите просто кнопку Choose File после чего необходимо нажать submit. emotion-detection

Similar-Recognition

На вкладке Similar-Recognition работает 2 примера алгоритма по сравнению двух предложений.

  1. Формируем вектора на основании слов из двух предложений;
  2. Формируем вектора с помощью натренированной Word2Vec.

На вход получаем 2 предложения, после чего представляем их в виде вектора и сравниваем его с помощью косинусного расстояния. Для того чтобы попробовать, необходимо заполнить два поля, в которых запрашивается два текста для сравнения друг с другом.

Weights: weights word2vec

emotion-detection

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages