Norgan97's picture
test2
a487402
raw
history blame
3.52 kB
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} секунд'