isan2001 commited on
Commit
a014054
·
1 Parent(s): b03c3ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -16
app.py CHANGED
@@ -27,24 +27,43 @@ def predict_sentiment(text):
27
  sentiment = tf.argmax(probabilities, axis=1)
28
  return sentiment.numpy()[0], probabilities.numpy()[0]
29
 
30
- # Judul aplikasi
31
- st.title('Prediksi Sentimen menggunakan BERT')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  # Input teks
34
- text = st.text_area('Masukkan teks', '')
35
 
36
  # Tombol untuk memprediksi sentimen
37
- if st.button('Prediksi'):
38
- if text.strip() == '':
39
- st.warning('Masukkan teks terlebih dahulu.')
40
- else:
41
- sentiment, probabilities = predict_sentiment(text)
42
-
43
- # Menghitung persentase probabilitas sentimen positif
44
- positive_probability = probabilities[1] * 100
45
- negative_probability = probabilities[0] * 100
46
- st.write(f'HASIL PREDIKSI')
47
- if sentiment == 0:
48
- st.write(f'Negatif ({negative_probability:.2f}%)')
49
  else:
50
- st.write(f'Positif ({positive_probability:.2f}%)')
 
 
 
 
 
 
 
 
 
 
27
  sentiment = tf.argmax(probabilities, axis=1)
28
  return sentiment.numpy()[0], probabilities.numpy()[0]
29
 
30
+ menu = ["Home","Prediksi Analisis"]
31
+ choice = st.sidebar.selectbox("Menu", menu)
32
+
33
+
34
+ if choice == "Home":
35
+ st.title("Selamat Datang di Aplikasi Prediksi Sentimen Komentar Aplikasi Dana di Intagram Menggunakan BERT")
36
+ st.write("Ini merupakan aplikasi prediksi Komentar aplikasi Dana menggunakan model Pretrained BERT dari IndoBert. Aplikasi ini dapat memprediksi apakah komentar yang dilontarkan pada postingan akun instagram Dana bersifat positif atau negatif berdasarkan teks yang dimasukkan.")
37
+ image = Image.open("Logo_dana.png")
38
+ st.image(image, caption='Logo Dana')
39
+ st.write("DANA adalah dompet digital Indonesia yang dirancang untuk menangani semua transaksi tunai dan kartu digital online dan offline dengan kecepatan, kenyamanan dan keamanan yang terjamin. Talenta terbaik Indonesia akan terus mengembangkan dana sebagai dompet digital open platform yang dapat digunakan untuk mendukung segala aktivitas keuangan dan gaya hidup digital seluruh masyarakat Indonesia.")
40
+ st.write("Berdasarkan survei yang dilakukan oleh merdeka, dana menjadi aplikasi popular setelah gopay dan ovo yang dimana dana ini memiliki pertumbuhan terpesat dalam jumlah penggunaanya. Pada akun Instagram dana, dana sering kali melakukan kampanye agar pengguna mengetahui informasi terbarunya. Kampanye tersebut menuai banyak komentar yang bersifat membangun atau menjantuhkan, dari komentar tersebut dapat dimanfaatkan sebagai sebuah informasi")
41
+ st.write("Data komentar yang terkumpul sebanyak 1331 dari komentar pada postingan akun instagram diberikan label secara otomatis, mendapatkan 2 kategori yaitu positif dan negatif berikut jumlah dari masing-masing kategori.")
42
+ image = Image.open("SEBELUM OVR.png")
43
+ st.image(image, caption='Jumlah Positif dan Negatif')
44
+ st.write("Dalam penelitian, jumlah kategori akan diseimbangkan menggunakan random oversampling yang dapat dilihat pada gambar berikut :")
45
+ image = Image.open("sesudah over.png")
46
+ st.image(image, caption='Jumlah Positif dan Negatif sesudah Oversampling')
47
+ st.write("Random Oversampling ini dilakukan agar nantinya klasifikasi dilakukan dengan tepat dan tidak bias terhadap sampel mayoritas")
48
+ st.write("Masuk ke menu Prediksi Analisis untuk mencoba hasil penelitian yang dilakukan")
49
+ elif choice == "Prediksi Analisis":
50
+ st.title('Prediksi Sentimen menggunakan BERT')
51
 
52
  # Input teks
53
+ text = st.text_area('Masukkan teks', '')
54
 
55
  # Tombol untuk memprediksi sentimen
56
+ if st.button('Prediksi'):
57
+ if text.strip() == '':
58
+ st.warning('Masukkan teks terlebih dahulu.')
 
 
 
 
 
 
 
 
 
59
  else:
60
+ sentiment, probabilities = predict_sentiment(text)
61
+
62
+ # Menghitung persentase probabilitas sentimen positif
63
+ positive_probability = probabilities[1] * 100
64
+ negative_probability = probabilities[0] * 100
65
+ st.write(f'HASIL PREDIKSI')
66
+ if sentiment == 0:
67
+ st.write(f'Negatif ({negative_probability:.2f}%)')
68
+ else:
69
+ st.write(f'Positif ({positive_probability:.2f}%)')