Text detection using Python (original) (raw)

import time

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from tkinter import *

import tkinter.messagebox

from nltk.sentiment.vader import SentimentIntensityAnalyzer

class analysis_text():

`` def center( self , toplevel):

`` toplevel.update_idletasks()

`` w = toplevel.winfo_screenwidth()

`` h = toplevel.winfo_screenheight()

`` size = tuple ( int (_) for _ in

`` toplevel.geometry().split( '+' )[ 0 ].split( 'x' ))

`` x = w / 2 - size[ 0 ] / 2

`` y = h / 2 - size[ 1 ] / 2

`` toplevel.geometry( "%dx%d+%d+%d" % (size + (x, y)))

`` def callback( self ):

`` if tkinter.messagebox.askokcancel( "Quit" ,

`` "Do you want to leave?" ):

`` self .main.destroy()

`` def setResult( self , type , res):

`` if ( type = = "neg" ):

`` self .negativeLabel.configure(text =

`` "you typed negative comment : "

`` + str (res) + " % \n" )

`` elif ( type = = "neu" ):

`` self .neutralLabel.configure( text =

`` "you typed comment : "

`` + str (res) + " % \n" )

`` elif ( type = = "pos" ):

`` self .positiveLabel.configure(text

`` = "you typed positive comment: "

`` + str (res) + " % \n" )

`` def runAnalysis( self ):

`` sentences = []

`` sentences.append( self .line.get())

`` sid = SentimentIntensityAnalyzer()

`` for sentence in sentences:

`` ss = sid.polarity_scores(sentence)

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

`` self .normalLabel.configure(text =

`` " you typed positive statement: " )

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

`` self .normalLabel.configure(text =

`` " you typed negative statement" )

`` else :

`` self .normalLabel.configure(text =

`` " you normal typed statement: " )

`` for k in sorted (ss):

`` self .setResult(k, ss[k])

`` print ()

`` def editedText( self , event):

`` self .typedText.configure(text = self .line.get() + event.char)

`` def runByEnter( self , event):

`` self .runAnalysis()

`` def __init__( self ):

`` self .main = Tk()

`` self .main.title( "Text Detector system" )

`` self .main.geometry( "600x600" )

`` self .main.resizable(width = FALSE, height = FALSE)

`` self .main.protocol( "WM_DELETE_WINDOW" , self .callback)

`` self .main.focus()

`` self .center( self .main)

`` self .label1 = Label(text = "type a text here :" )

`` self .label1.pack()

`` self .line = Entry( self .main, width = 70 )

`` self .line.pack()

`` self .textLabel = Label(text = "\n" ,

`` font = ( "Helvetica" , 15 ))

`` self .textLabel.pack()

`` self .typedText = Label(text = "",

`` fg = "blue" ,

`` font = ( "Helvetica" , 20 ))

`` self .typedText.pack()

`` self .line.bind( "<Key>" , self .editedText)

`` self .line.bind( "<Return>" , self .runByEnter)

`` self .result = Label(text = "\n" ,

`` font = ( "Helvetica" , 15 ))

`` self .result.pack()

`` self .negativeLabel = Label(text = "",

`` fg = "red" ,

`` font = ( "Helvetica" , 20 ))

`` self .negativeLabel.pack()

`` self .neutralLabel = Label(text = "",

`` font = ( "Helvetica" , 20 ))

`` self .neutralLabel.pack()

`` self .positiveLabel = Label(text = "",

`` fg = "green" ,

`` font = ( "Helvetica" , 20 ))

`` self .positiveLabel.pack()

`` self .normalLabel = Label (text = "",

`` fg = "red" ,

`` font = ( "Helvetica" , 20 ))

`` self .normalLabel.pack()

myanalysis = analysis_text()

mainloop()