File size: 1,257 Bytes
2d0356a
7901fc5
 
94c0eb7
7901fc5
c34d627
7901fc5
ffea153
7901fc5
4f574b7
2bb3a11
ed041a7
94c0eb7
ffea153
7901fc5
94c0eb7
 
 
02e7577
7901fc5
4f574b7
94c0eb7
 
 
02e7577
94c0eb7
 
 
 
 
 
6ca2c27
ffea153
8e21ec3
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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

st.header('Amazon Sentiment Analysis using FineTuned :blue[GPT-2] Pre-Trained Model')

sentiment_model = pipeline(model="ashok2216/gpt2-amazon-sentiment-classifier")
# Example usage:-
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.write("Done")

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(sentiment_model(text)[0].values())[0] == 'LABEL_1':
        output = 'Positive'
    else:
        output = 'Negative'
    sentiments.append(output)

reviews['sentiments'] = sentiments
st.header(':rainbow[Output]')
st.dataframe(reviews, use_container_width=True)
# sns.countplot(reviews['sentiments'])