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