Spaces:
Sleeping
Sleeping
import pybase64 as base64 | |
import pandas as pd | |
import streamlit as st | |
import seaborn as sns | |
from data_cleaning import preprocess | |
from transformers import pipeline | |
from data_integration import scrape_all_pages | |
page_bg_img = """ | |
<style> | |
.stApp > header { background-color: transparent;} | |
.stApp { | |
background: rgb(80,255,235); | |
background: linear-gradient(90deg, rgba(80,255,235,1) 0%, | |
rgba(0,0,255,1) 50%, rgba(188,0,255,1) 92%); | |
background-size: 150% 150%; | |
animation: my_animation 30s ease infinite; | |
} | |
@keyframes my_animation { | |
0% {background-position: 0% 0%;} | |
25% { background-position: 0% 0%;} | |
50% {background-position: 100% 100%;} | |
75% {background-position: 100% 100%;} | |
100% {background-position: 0% 0%;} | |
} | |
</style> | |
""" | |
st.markdown(page_bg_img, unsafe_allow_html=True) | |
#st.image("logo.png", width=200, height=200) | |
st.image("logo.png", width=80) | |
st.subheader(':violet[NLP HUB®]') | |
st.markdown("") | |
st.markdown("") | |
st.markdown("") | |
st.markdown("") | |
st.subheader('Amazon Sentiment Analysis using FineTuned :red[GPT-2] Pre-Trained Model') | |
def load_model(): | |
sentiment_model = pipeline(model="ashok2216/gpt2-amazon-sentiment-classifier") | |
return sentiment_model | |
model = load_model() | |
sample_url = 'https://www.amazon.in/Dell-Inspiron-i7-1255U-Processor-Platinum/product-reviews/B0C9F142V6/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews' | |
url = st.text_input("Amazon product link", sample_url) | |
st.button("Re-run") | |
st.write("Done") | |
st.subheader('', divider='rainbow') | |
try: | |
all_reviews = scrape_all_pages(url) | |
# Convert to DataFrame for further analysis | |
reviews = pd.DataFrame(all_reviews) | |
reviews['processed_text'] = reviews['content'].apply(preprocess) | |
# st.dataframe(reviews, use_container_width=True) | |
# st.markdown(sentiment_model(['It is Super!'])) | |
sentiments = [] | |
for text in reviews['processed_text']: | |
if list(model(text)[0].values())[0] == 'LABEL_1': | |
output = 'Positive' | |
else: | |
output = 'Negative' | |
sentiments.append(output) | |
reviews['sentiments'] = sentiments | |
st.markdown(':white[Output]') | |
st.dataframe(reviews, use_container_width=True) | |
# sns.countplot(reviews['sentiments']) | |
except KeyError: | |
st.markdown('Please :red[Re-run] the app') | |