handex commited on
Commit
61ce52e
·
verified ·
1 Parent(s): 1b479e5

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. 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
- # Constants (Must match training parameters)
11
  MAX_LEN = 200
12
  MODEL_PATH = "src/sentiment_lstm_model.h5"
13
  TOKENIZER_PATH = "src/tokenizer.pickle"
14
 
15
- # --- 2. LOAD RESOURCES (Cached for performance) ---
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
- # --- 3. PREDICTION FUNCTION ---
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)