Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +3 -9
src/streamlit_app.py
CHANGED
|
@@ -4,15 +4,14 @@ import pickle
|
|
| 4 |
from tensorflow.keras.preprocessing.sequence import pad_sequences
|
| 5 |
import numpy as np
|
| 6 |
|
| 7 |
-
# --- 1. CONFIGURATION & SETUP ---
|
| 8 |
st.set_page_config(page_title="IMDb Sentiment Analysis", page_icon="🎬")
|
| 9 |
|
| 10 |
-
#
|
| 11 |
MAX_LEN = 200
|
| 12 |
MODEL_PATH = "src/sentiment_lstm_model.h5"
|
| 13 |
TOKENIZER_PATH = "src/tokenizer.pickle"
|
| 14 |
|
| 15 |
-
#
|
| 16 |
@st.cache_resource
|
| 17 |
def load_model():
|
| 18 |
model = tf.keras.models.load_model(MODEL_PATH)
|
|
@@ -27,16 +26,12 @@ def load_tokenizer():
|
|
| 27 |
try:
|
| 28 |
model = load_model()
|
| 29 |
tokenizer = load_tokenizer()
|
| 30 |
-
st.success("System loaded successfully! 🚀")
|
| 31 |
except Exception as e:
|
| 32 |
st.error(f"Error loading files: {e}")
|
| 33 |
st.stop()
|
| 34 |
|
| 35 |
-
#
|
| 36 |
def predict_sentiment(review_text):
|
| 37 |
-
# Preprocess the text
|
| 38 |
-
# Note: Text cleaning is handled implicitly by the tokenizer to some extent,
|
| 39 |
-
# but for best results, basic lowercase/strip is recommended.
|
| 40 |
review_seq = tokenizer.texts_to_sequences([review_text])
|
| 41 |
review_pad = pad_sequences(review_seq, maxlen=MAX_LEN)
|
| 42 |
|
|
@@ -51,7 +46,6 @@ def predict_sentiment(review_text):
|
|
| 51 |
# --- 4. STREAMLIT UI ---
|
| 52 |
st.title("🎬 Movie Review Sentiment Analysis")
|
| 53 |
st.markdown("Enter a movie review below to check if it's **Positive** or **Negative**.")
|
| 54 |
-
st.markdown("*(Powered by LSTM & Word2Vec)*")
|
| 55 |
|
| 56 |
# Text Input
|
| 57 |
user_input = st.text_area("Write your review here (English):", height=150)
|
|
|
|
| 4 |
from tensorflow.keras.preprocessing.sequence import pad_sequences
|
| 5 |
import numpy as np
|
| 6 |
|
|
|
|
| 7 |
st.set_page_config(page_title="IMDb Sentiment Analysis", page_icon="🎬")
|
| 8 |
|
| 9 |
+
#Training parameters
|
| 10 |
MAX_LEN = 200
|
| 11 |
MODEL_PATH = "src/sentiment_lstm_model.h5"
|
| 12 |
TOKENIZER_PATH = "src/tokenizer.pickle"
|
| 13 |
|
| 14 |
+
#Load Resources
|
| 15 |
@st.cache_resource
|
| 16 |
def load_model():
|
| 17 |
model = tf.keras.models.load_model(MODEL_PATH)
|
|
|
|
| 26 |
try:
|
| 27 |
model = load_model()
|
| 28 |
tokenizer = load_tokenizer()
|
|
|
|
| 29 |
except Exception as e:
|
| 30 |
st.error(f"Error loading files: {e}")
|
| 31 |
st.stop()
|
| 32 |
|
| 33 |
+
#Predicion
|
| 34 |
def predict_sentiment(review_text):
|
|
|
|
|
|
|
|
|
|
| 35 |
review_seq = tokenizer.texts_to_sequences([review_text])
|
| 36 |
review_pad = pad_sequences(review_seq, maxlen=MAX_LEN)
|
| 37 |
|
|
|
|
| 46 |
# --- 4. STREAMLIT UI ---
|
| 47 |
st.title("🎬 Movie Review Sentiment Analysis")
|
| 48 |
st.markdown("Enter a movie review below to check if it's **Positive** or **Negative**.")
|
|
|
|
| 49 |
|
| 50 |
# Text Input
|
| 51 |
user_input = st.text_area("Write your review here (English):", height=150)
|