|
from tensorflow.keras.models import load_model |
|
import joblib |
|
from tensorflow.keras.preprocessing.sequence import pad_sequences |
|
import numpy as np |
|
import re |
|
|
|
|
|
model = load_model("transactify.h5") |
|
tokenizer = joblib.load("tokenizer.joblib") |
|
label_encoder = joblib.load("label_encoder.joblib") |
|
|
|
def clean_text(text): |
|
text = text.lower() |
|
text = re.sub(r"\d+", "", text) |
|
text = re.sub(r"[^\w\s]", "", text) |
|
return text.strip() |
|
|
|
def predict(text): |
|
cleaned_text = clean_text(text) |
|
sequence = tokenizer.texts_to_sequences([cleaned_text]) |
|
padded_sequence = pad_sequences(sequence, maxlen=100) |
|
prediction = model.predict(padded_sequence) |
|
predicted_label = np.argmax(prediction, axis=1) |
|
category = label_encoder.inverse_transform(predicted_label) |
|
return {"category": category[0]} |
|
|