Spaces:
Runtime error
Runtime error
import torch | |
import gradio as gr | |
import pandas as pd | |
import matplotlib.pyplot as plt | |
from transformers import pipeline | |
analyis = pipeline( | |
"text-classification", | |
model="distilbert/distilbert-base-uncased-finetuned-sst-2-english" | |
) | |
def sentiment_analysis(review): | |
sentiment = analyis(review) | |
return sentiment[0]['label'] | |
def sentiment_bar_chart(df): | |
sentiment_counts = df['Sentiment'].value_counts() | |
fig, ax = plt.subplots() | |
sentiment_counts.plot(kind='pie', ax=ax, autopct='%1.1f%%', color=['green', 'red']) | |
ax.set_title('Review Sentiment Counts') | |
ax.set_xlabel('Sentiment') | |
ax.set_ylabel('Count') | |
return fig | |
def read_reviews_and_analyze_sentiment(file_object): | |
df = pd.read_excel(file_object) | |
if 'Reviews' not in df.columns: | |
raise ValueError("Excel file must contain a 'Review' column") | |
df['Sentiment'] = df['Reviews'].apply(sentiment_analysis) | |
chart_object = sentiment_bar_chart(df) | |
return df, chart_object | |
demo = gr.Interface( | |
fn=sentiment_analysis, | |
inputs=[gr.File(file_types=["xlsx"], label="Input users reviews")], | |
outputs=[gr.DataFrame(label="User sentiment"), gr.Plot(label="Users' Sentiments")], | |
title="@caesar-2series: Users' Sentiment Analysis", | |
description="User Sentiment Review Analysis Based on File Uploaded" | |
) | |
demo.launch() |