apratim24 commited on
Commit
59e1a86
·
verified ·
1 Parent(s): d890152

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -17
app.py CHANGED
@@ -8,35 +8,35 @@ from transformers import pipeline
8
  # model_path = ("../Models/models--distilbert--distilbert-base-uncased-finetuned-sst-2-english"
9
  # "/snapshots/714eb0fa89d2f80546fda750413ed43d93601a13")
10
 
11
- # analyzer = pipeline("text-classification", model=model_path)
12
-
13
-
14
  analyzer = pipeline("text-classification",
15
  model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
16
 
17
- # print(analyzer(["This production is good", "This product was quite expensive"]))
 
18
 
19
 
 
 
 
20
  def sentiment_analyzer(review):
21
  sentiment = analyzer(review)
22
  return sentiment[0]['label']
23
 
24
- def sentiment_pie_chart(df):
25
  sentiment_counts = df['Sentiment'].value_counts()
26
 
27
- # Create a pie chart
28
  fig, ax = plt.subplots()
29
- pie = ax.pie(sentiment_counts, autopct='%1.1f%%', colors=['green', 'red'], labels=sentiment_counts.index)
30
-
31
- # Add count values to each slice
32
- for i, p in enumerate(pie[0]):
33
- count = f'({sentiment_counts[i]})'
34
- ax.annotate(count, xy=p.get_xy(), xytext=(0, 0.5), textcoords='offset points', ha='center', fontsize=10)
35
-
36
  ax.set_title('Review Sentiment Counts')
37
  ax.set_xlabel('Sentiment')
 
 
 
 
38
  return fig
39
 
 
40
  def read_reviews_and_analyze_sentiment(file_object):
41
  # Load the Excel file into a DataFrame
42
  df = pd.read_excel(file_object)
@@ -47,16 +47,19 @@ def read_reviews_and_analyze_sentiment(file_object):
47
 
48
  # Apply the get_sentiment function to each review in the DataFrame
49
  df['Sentiment'] = df['Reviews'].apply(sentiment_analyzer)
50
- chart_object = sentiment_pie_chart(df)
51
  return df, chart_object
52
 
53
  # result = read_reviews_and_analyze_sentiment("../Files/Prod-review.xlsx")
54
  # print(result)
 
 
 
55
 
56
 
57
  demo = gr.Interface(fn=read_reviews_and_analyze_sentiment,
58
- inputs=[gr.File(file_types=["xlsx"], label="Upload your reviews file")],
59
  outputs=[gr.Dataframe(label="Sentiments"), gr.Plot(label="Sentiment Analysis")],
60
- title="Sentiment Analyzer",
61
- description="Analyze the sentiment based on file uploaded (Excel file .xlsx must contain a 'Reviews' column)")
62
  demo.launch()
 
8
  # model_path = ("../Models/models--distilbert--distilbert-base-uncased-finetuned-sst-2-english"
9
  # "/snapshots/714eb0fa89d2f80546fda750413ed43d93601a13")
10
 
 
 
 
11
  analyzer = pipeline("text-classification",
12
  model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
13
 
14
+ # analyzer = pipeline("text-classification",
15
+ # model=model_path)
16
 
17
 
18
+
19
+ # print(analyzer(["This production is good", "This product was quite expensive"]))
20
+
21
  def sentiment_analyzer(review):
22
  sentiment = analyzer(review)
23
  return sentiment[0]['label']
24
 
25
+ def sentiment_bar_chart(df):
26
  sentiment_counts = df['Sentiment'].value_counts()
27
 
28
+ # Create a bar chart
29
  fig, ax = plt.subplots()
30
+ sentiment_counts.plot(kind='pie', ax=ax, autopct='%1.1f%%', color=['green', 'red'])
 
 
 
 
 
 
31
  ax.set_title('Review Sentiment Counts')
32
  ax.set_xlabel('Sentiment')
33
+ ax.set_ylabel('Count')
34
+ # ax.set_xticklabels(['Positive', 'Negative'], rotation=0)
35
+
36
+ # Return the figure object
37
  return fig
38
 
39
+
40
  def read_reviews_and_analyze_sentiment(file_object):
41
  # Load the Excel file into a DataFrame
42
  df = pd.read_excel(file_object)
 
47
 
48
  # Apply the get_sentiment function to each review in the DataFrame
49
  df['Sentiment'] = df['Reviews'].apply(sentiment_analyzer)
50
+ chart_object = sentiment_bar_chart(df)
51
  return df, chart_object
52
 
53
  # result = read_reviews_and_analyze_sentiment("../Files/Prod-review.xlsx")
54
  # print(result)
55
+ # Example usage:
56
+ # df = read_reviews_and_analyze_sentiment('path_to_your_excel_file.xlsx')
57
+ # print(df)
58
 
59
 
60
  demo = gr.Interface(fn=read_reviews_and_analyze_sentiment,
61
+ inputs=[gr.File(file_types=["xlsx"], label="Upload your review comment file")],
62
  outputs=[gr.Dataframe(label="Sentiments"), gr.Plot(label="Sentiment Analysis")],
63
+ title="@GenAILearniverse Project 3: Sentiment Analyzer",
64
+ description="THIS APPLICATION WILL BE USED TO ANALYZE THE SENTIMENT BASED ON FILE UPLAODED.")
65
  demo.launch()