Harshb11's picture
Update app.py
50c6bfc verified
raw
history blame
1.51 kB
import streamlit as st
import matplotlib.pyplot as plt
from mca_comment_analyzer import MCACommentAnalyzer
# Streamlit Page Config
st.set_page_config(
page_title="MCA Comment Analyzer",
page_icon="πŸ“Š",
layout="wide"
)
st.title("πŸ“Š MCA eConsultation Comment Analyzer")
# Sidebar
st.sidebar.header("Upload or Enter Comments")
upload_file = st.sidebar.file_uploader("Upload a text file with comments", type=["txt"])
manual_input = st.sidebar.text_area("Or enter comments (one per line):")
comments = []
if upload_file:
comments = upload_file.read().decode("utf-8").splitlines()
elif manual_input.strip():
comments = manual_input.strip().split("\n")
if st.sidebar.button("πŸš€ Analyze"):
if comments:
analyzer = MCACommentAnalyzer()
df, keyword_freq = analyzer.process_comments(comments)
# Show Analysis Results
st.subheader("πŸ“Œ Analysis Results")
st.dataframe(df, use_container_width=True)
# Sentiment Distribution Chart
st.subheader("πŸ“Š Sentiment Distribution")
sentiment_counts = df["Sentiment"].value_counts()
st.bar_chart(sentiment_counts)
# Word Cloud
st.subheader("☁️ Word Cloud")
fig = analyzer.generate_wordcloud(keyword_freq)
st.pyplot(fig)
# Keyword Frequency Table
st.subheader("πŸ”‘ Keyword Frequency")
st.dataframe(keyword_freq, use_container_width=True)
else:
st.warning("⚠️ Please provide comments to analyze.")