Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import numpy as np | |
| # from pages.models.model import model_ml | |
| # from pages.models.preprocessing import preprocess | |
| import joblib | |
| import time | |
| from sklearn.metrics import f1_score | |
| from sklearn.feature_extraction.text import TfidfVectorizer | |
| # from flask import Flask, render_template, request | |
| from sklearn.feature_extraction.text import TfidfVectorizer | |
| from sklearn.linear_model import LogisticRegression | |
| # from tensorflow.keras.models import Sequential | |
| # from tensorflow.keras.layers import Embedding, LSTM, Dense | |
| from transformers import BertTokenizer, TFBertForSequenceClassification | |
| import tensorflow as tf | |
| import time | |
| import pandas as pd | |
| import joblib | |
| from sklearn.metrics import accuracy_score, classification_report | |
| model_ml = LogisticRegression() | |
| # Предобработка данных | |
| stop_list = ['уже', 'была', 'зачем', 'с', 'сейчас', 'чего', 'нельзя', 'только', 'над', 'всего', 'под', 'эту', 'тебя', 'перед', 'им', 'себя', 'есть', | |
| 'вдруг', 'вам', 'нас', 'может', 'тут', 'надо', 'в', 'ты', 'чтоб', 'все', 'ним', 'ни', 'этого', 'раз', 'всю', 'того', 'два', 'а', 'я', | |
| 'здесь', 'чуть', 'конечно', 'было', 'ей', 'уж', 'они', 'него', 'тем', 'том', 'куда', 'для', 'от', 'при', 'так', 'никогда', 'и', 'нибудь', | |
| 'потому', 'до', 'или', 'то', 'ее', 'чтобы', 'между', 'через', 'она', 'такой', 'его', 'сам', 'моя', 'свою', 'много', 'впрочем', 'этой', | |
| 'три', 'один', 'тот', 'хорошо', 'совсем', 'всегда', 'что', 'там', 'тогда', 'но', 'нее', 'меня', 'ней', 'как', 'себе', 'нет', 'со', 'если', | |
| 'лучше', 'них', 'ж', 'какая', 'вот', 'быть', 'из', 'где', 'всех', 'их', 'после', 'больше', 'был', 'про', 'ведь', 'какой', 'этот', 'он', | |
| 'об', 'теперь', 'будет', 'когда', 'ему', 'более', 'ну', 'наконец', 'кто', 'иногда', 'почти', 'можно', 'были', 'чем', 'хоть', 'этом', 'вас', | |
| 'ли', 'тоже', 'мы', 'не', 'потом', 'еще', 'к', 'на', 'во', 'да', 'мне', 'бы', 'опять', 'разве', 'вы', 'эти', 'у', 'ничего', 'без', 'мой', | |
| 'будто', 'за', 'по', 'о', 'другой', 'даже', 'же'] | |
| # Создание экземпляра TfidfVectorizer и преобразование текста в векторы признаков | |
| vectorizer = joblib.load("pages/models/vectorizer_weights.pkl") | |
| def preprocess(text): | |
| # Убедитесь, что text - это список | |
| if isinstance(text, str): | |
| text = [text] | |
| # Преобразуйте текст | |
| text = vectorizer.transform(text) | |
| return text | |
| model = model_ml | |
| model = joblib.load("pages/models/model_weights1.pkl") | |
| def predict(text): | |
| start_time = time.time() | |
| text = preprocess(text) | |
| predicted_label = model.predict(text) | |
| dict = {0:'Bad', 1: 'Neutral', 2:'Good'} | |
| predicted_label_text = dict[predicted_label[0]] | |
| end_time = time.time() | |
| inference_time = end_time - start_time | |
| return f'Classic ML {predicted_label_text} {inference_time} секунд' | |