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} секунд'