Goutham204 commited on
Commit
48e54f3
·
verified ·
1 Parent(s): 11a4e74

Upload 3 files

Browse files
.gitattributes CHANGED
@@ -34,3 +34,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  imdb-002.keras filter=lfs diff=lfs merge=lfs -text
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  imdb-002.keras filter=lfs diff=lfs merge=lfs -text
37
+ IMDB/imdb-002.keras filter=lfs diff=lfs merge=lfs -text
IMDB/imdb-002.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:856d9433af1a4d677ed11613cad81effd81460a4d1fb469c116ae4d85b5a3c3c
3
+ size 17628414
IMDB/imdb_prediction(flask).py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, render_template, request
2
+ import numpy as np
3
+ from tensorflow.keras.models import load_model
4
+ from tensorflow.keras.preprocessing.sequence import pad_sequences
5
+ from tensorflow.keras.preprocessing.text import tokenizer_from_json
6
+ import json
7
+
8
+ app = Flask(__name__)
9
+
10
+ model = load_model('imdb-002.keras')
11
+
12
+ with open('D:\Python_vscode\jupyter_notebook\imdb.json') as file:
13
+ imdb = file.read()
14
+ token = tokenizer_from_json(imdb)
15
+
16
+ def preprocess_text(text, max_length=20):
17
+ sequ = token.texts_to_sequences([text])
18
+ pad = pad_sequences(sequ, maxlen = max_length, padding = 'post', truncating = 'post')
19
+ return pad
20
+
21
+ @app.route('/')
22
+
23
+ def home():
24
+ return render_template('index.html')
25
+
26
+ @app.route('/predict', methods =['POST'])
27
+
28
+ def predict():
29
+ review = request.form['review']
30
+ processed_review = preprocess_text(review)
31
+
32
+ prediction = model.predict(processed_review)[0][0]
33
+ if prediction >= 0.5:
34
+ sentiment = "Positive"
35
+ else:
36
+ "Negative"
37
+
38
+ return render_template('index.html', review=review, sentiment=sentiment, probability=round(prediction,2))
39
+
40
+ if __name__ == '__main__':
41
+ app.run(debug=True)
IMDB/templates/index.html ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Movie Review Sentiment Analysis</title>
7
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
8
+ </head>
9
+ <body class="bg-light">
10
+ <div class="container mt-5">
11
+ <h2 class="text-center">IMDb Sentiment Analysis</h2>
12
+ <form action="/predict" method="post" class="mt-4">
13
+ <div class="mb-3">
14
+ <textarea class="form-control" name="review" rows="4" placeholder="Enter your movie review here " required></textarea>
15
+ </div>
16
+ <button type="submit" class="btn btn-primary w-100">Analyze</button>
17
+ </form>
18
+
19
+ {% if review %}
20
+ <div class="mt-4 p-3 bg-white shadow-sm rounded">
21
+ <h5>Your Review:</h5>
22
+ <p>{{ review }}</p>
23
+ <h5>Sentiment Prediction:</h5>
24
+ <p class="fw-bold">{{ sentiment }} (Confidence: {{ probability }})</p>
25
+ </div>
26
+ {% endif %}
27
+ </div>
28
+ </body>
29
+ </html>