Sentiment Detector GUI using Tkinter Python (original) (raw)

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer

from tkinter import *

def clearAll() :

`` negativeField.delete( 0 , END)

`` neutralField.delete( 0 , END)

`` positiveField.delete( 0 , END)

`` overallField.delete( 0 , END)

`` textArea.delete( 1.0 , END)

def detect_sentiment():

`` sentence = textArea.get( "1.0" , "end" )

`` sid_obj = SentimentIntensityAnalyzer()

`` sentiment_dict = sid_obj.polarity_scores(sentence)

`` string = str (sentiment_dict[ 'neg' ] * 100 ) + "% Negative"

`` negativeField.insert( 10 , string)

`` string = str (sentiment_dict[ 'neu' ] * 100 ) + "% Neutral"

`` neutralField.insert( 10 , string)

`` string = str (sentiment_dict[ 'pos' ] * 100 ) + "% Positive"

`` positiveField.insert( 10 , string)

`` if sentiment_dict[ 'compound' ] > = 0.05 :

`` string = "Positive"

`` elif sentiment_dict[ 'compound' ] < = - 0.05 :

`` string = "Negative"

`` else :

`` string = "Neutral"

`` overallField.insert( 10 , string)

if __name__ = = "__main__" :

`` gui = Tk()

`` gui.config(background = "light green" )

`` gui.title( "Sentiment Detector" )

`` gui.geometry( "250x400" )

`` enterText = Label(gui, text = "Enter Your Sentence" ,

`` bg = "light green" )

`` textArea = Text(gui, height = 5 , width = 25 , font = "lucida 13" )

`` check = Button(gui, text = "Check Sentiment" , fg = "Black" ,

`` bg = "Red" , command = detect_sentiment)

`` negative = Label(gui, text = "sentence was rated as: " ,

`` bg = "light green" )

`` neutral = Label(gui, text = "sentence was rated as: " ,

`` bg = "light green" )

`` positive = Label(gui, text = "sentence was rated as: " ,

`` bg = "light green" )

`` overall = Label(gui, text = "Sentence Overall Rated As: " ,

`` bg = "light green" )

`` negativeField = Entry(gui)

`` neutralField = Entry(gui)

`` positiveField = Entry(gui)

`` overallField = Entry(gui)

`` clear = Button(gui, text = "Clear" , fg = "Black" ,

`` bg = "Red" , command = clearAll)

`` Exit = Button(gui, text = "Exit" , fg = "Black" ,

`` bg = "Red" , command = exit)

`` enterText.grid(row = 0 , column = 2 )

`` textArea.grid(row = 1 , column = 2 , padx = 10 , sticky = W)

`` check.grid(row = 2 , column = 2 )

`` negative.grid(row = 3 , column = 2 )

`` neutral.grid(row = 5 , column = 2 )

`` positive.grid(row = 7 , column = 2 )

`` overall.grid(row = 9 , column = 2 )

`` negativeField.grid(row = 4 , column = 2 )

`` neutralField.grid(row = 6 , column = 2 )

`` positiveField.grid(row = 8 , column = 2 )

`` overallField.grid(row = 10 , column = 2 )

`` clear.grid(row = 11 , column = 2 )

`` Exit.grid(row = 12 , column = 2 )

`` gui.mainloop()