Spaces:
Sleeping
Sleeping
import streamlit as st | |
from tensorflow.keras.models import load_model | |
from tensorflow.keras.preprocessing.text import Tokenizer # Assuming you used Tokenizer during training | |
# Load the pre-trained sentiment analysis model | |
model = load_model("sentiment_analysis_model.h5") | |
# Define a tokenizer (replace with your actual tokenization logic from training) | |
tokenizer = Tokenizer(num_words=5000) # Adjust vocabulary size based on your training | |
def preprocess_text(text): | |
# Preprocess text based on your training process (e.g., tokenization) | |
tokens = tokenizer.texts_to_sequences([text]) | |
padded_sequence = pad_sequences(tokens, maxlen=200) # Adjust max length based on your training | |
return padded_sequence | |
def classify_sentiment(text): | |
""" | |
Function to preprocess text, make predictions using the loaded model, | |
and return the predicted sentiment. | |
""" | |
preprocessed_text = preprocess_text(text) | |
prediction = model.predict(preprocessed_text) | |
sentiment_mapping = {0: "Negative", 1: "Neutral", 2: "Positive"} | |
sentiment = sentiment_mapping[prediction.argmax()] | |
return sentiment | |
def main(): | |
""" | |
Streamlit app for sentiment analysis | |
""" | |
st.title("Sentiment Analysis App") | |
text_input = st.text_input("Enter text to analyze:") | |
if text_input: | |
sentiment = classify_sentiment(text_input) | |
st.write(f"Predicted Sentiment: {sentiment}") | |
if __name__ == "__main__": | |
main() | |