| from tensorflow.keras.models import load_model | |
| import joblib | |
| from tensorflow.keras.preprocessing.sequence import pad_sequences | |
| import numpy as np | |
| import re | |
| # Load the model, tokenizer, and label encoder | |
| 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]} | |