import streamlit as st from utils.metrics_data import load_metrics from utils.model_loader import model_is_available st.set_page_config( page_title="SentiMart - Analisis Sentimen E-Commerce", page_icon="๐Ÿ›๏ธ", layout="wide", initial_sidebar_state="expanded", ) # ---------- Global style ---------- st.markdown(""" """, unsafe_allow_html=True) with st.sidebar: st.markdown("### ๐Ÿ›๏ธ SentiMart") st.caption("v1.0") st.markdown("---") if model_is_available(): st.success("Model IndoBERT: siap") else: st.warning("Mode DEMO (model belum di-load)") metrics = load_metrics() status = "" if not metrics.get("is_demo") else " ยท demo data" st.markdown('๐Ÿค– IndoBERT ยท fine-tuned' + status + '', unsafe_allow_html=True) st.markdown("## SentiMart") st.markdown("#### Analisis Sentimen Ulasan E-Commerce Indonesia") st.write( "Platform analisis sentimen berbasis deep learning untuk ulasan produk " "e-commerce berbahasa Indonesia. Dibangun dengan model **IndoBERT** yang " "di-fine-tune pada dataset **PRDECT-ID** (5.400 ulasan nyata)." ) st.write("") c1, c2, c3 = st.columns(3) with c1: st.markdown( '
5,400
' '
Total Ulasan
' '
Dataset PRDECT-ID
', unsafe_allow_html=True, ) with c2: st.markdown( f'
{metrics["accuracy"]*100:.1f}%
' '
Akurasi Model
' '
Test set evaluation
', unsafe_allow_html=True, ) with c3: st.markdown( '
2
' '
Kelas Sentimen
' '
Positif & Negatif
', unsafe_allow_html=True, ) st.write("") st.markdown("##### FITUR APLIKASI") r1c1, r1c2 = st.columns(2) with r1c1: st.markdown( '
๐Ÿ” Prediksi Sentimen
' '
Analisis sentimen satu ulasan produk secara real-time ' 'menggunakan model IndoBERT terlatih.
', unsafe_allow_html=True, ) with r1c2: st.markdown( '
๐Ÿ“Š Analisis Batch
' '
Unggah file CSV berisi banyak ulasan dan dapatkan hasil ' 'prediksi sentimen secara massal.
', unsafe_allow_html=True, ) st.write("") r2c1, r2c2 = st.columns(2) with r2c1: st.markdown( '
๐Ÿ“ˆ Performa Model
' '
Lihat metrik evaluasi model: akurasi, precision, recall, ' 'F1-Score, dan kurva pelatihan.
', unsafe_allow_html=True, ) with r2c2: st.markdown( '
โ„น๏ธ Tentang Aplikasi
' '
Informasi dataset, metodologi penelitian, dan tim ' 'pengembang aplikasi SentiMart.
', unsafe_allow_html=True, ) st.write("") st.caption("SentiMart ยท Indonesia ยท 2026 โ€” Proyek Akhir Praktikum NLP, Politeknik Caltex Riau")