ANALYSIS OF STUDENT FEEDBACK ON FACULTY TEACHING USING SENTIMENT ANALYSIS AND NLP TECHNIQUES A Project report submitted in partial fulfilment of the requirements for the of the degree of BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE AND ENGINEERING

Submitted by

M.RAVI VARMA 316126510160 R.VENKATESH 316126510172 S.V.PAVAN 316126510176 P.SAI TEJA 316126510183 Under the guidance of S. JOSHUA JOHNSON ASSISTANT PROFESSOR

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

ANIL NEERUKONDA INSTITUTE OF TECHNOLOGY AND SCIENCES (UGC AUTONOMOUS) (Permanently Affiliated to AU, Approved by AICTE and Accredited by NBA & NAAC with ‘A’ Grade) Sangivalasa, bheemili mandal, Visakhapatnam dist. (A.P) 2019-2020

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ANIL NEERUKONDA INSTITUTE OF TECHNOLOGY AND SCIENCES (UGC AUTONOMOUS) (Affiliated to AU, Approved by AICTE and Accredited by NBA & NAAC with ‘A’ Grade) Sangivalasa, bheemili mandal, visakhapatnam dist. (A.P)

BONAFIDE CERTIFICATE

This is to certify that the project report entitled “ANALYSIS OF STUDENT FEEDBACK ON FACULTY TEACHING USING SENTIMENT ANALYSIS AND NLP TECHNIUQES” submitted by M.Ravi Varma (316126510160), R.Venkatesh (316126510172), S.V.Pavan (316126510176), P.Sai Teja (316126510183) in partial fulfillment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering of Anil Neerukonda Institute of technology and sciences (A), Visakhapatnam is a record of bonafide work carried out under my guidance and supervision.

SIGNATURE DR.R.SIVARANJINI S.JOSHUA JOHNSON HEAD OF THE DEPARTMENT ASSISTANT PROFESSOR COMPUTER SCIENCE ENGINEERING COMPUTER SCIENCE ENGINEERING ANIL NEERUKONDA INSTITUTE OF ANIL NEERUKONDA INSTITUTE OF TECHNOLOGY&SCIENCES TECHNOLOGY&SCIENCES (AUTONOMOUS) (AUTONOMOUS)

DECLARATION

This is to certify that the project work entitled “Analysis of Student Feedback on Faculty Teaching Using Sentiment Analysis and NLP Techniques” is a bonafide work carried out by M.Ravi Varma, R.Venkatesh, S.V.Pavan, P.Sai Teja as a part of B.TECH final year 2nd semester of Computer science & engineering of ANITS, Visakhapatnam during the year 2016-2020.

We, M.Ravi Varma, R.Venkatesh, S.V.Pavan, P.Sai Teja of final semester B.TECH ,in the department of Computer Science Engineering from ANITS, Visakhapatnam, hereby declare that the project work entitled “Analysis of Student Feedback on Faculty Teaching Using Sentiment Analysis and NLP Techniques” is carried out by us and submitted in partial fulfilment of the requirements for the award of Bachelor of Technology in Computer Science & Engineering , under Anil Neerukonda Institute Of Technology & Sciences during the academic year 2016-2020 and has not been submitted to any other university for the award of any kind of degree.

M RAVI VARMA 316126510160 R VENKATESH 316126510172 S V PAVAN 316126510176 P SAI TEJA 316126510183 ACKNOWLEDGEMENT

An endeavor over a long period can be advice and support of many well-wishers. We take this opportunity to express our gratitude and appreciation to all of them. We owe our tributes to Dr.R.Sivaranjani, Head of the Department, Computer Science & Engineering for her valuable support and guidance during the period of project implementation.

We wish to express our sincere thanks and gratitude to our project guide S.Joshua Johnson, Assistant Professor, Department of Computer Science And Engineering, ANITS for their simulating discussions, in analyzing problems associated with our project work and for guiding us throughout the project. Project meeting were highly informative. We express our sincere thanks for the encouragement, untiring guidance and the confidence they had shown in us. We are immensely indebted for their valuable guidance throughout our project. We also thank our B.Tech project coordinator B.Mahesh, for his support and encouragement.

We also thank all the staff members of Computer Science & Engineering department for their valuable advice. We also thank Principal and supporting staff for providing resources as and when required.

M.Ravi Varma 316126510160 R.Venkatesh 316126510172 S.V.Pavan 316126510176 P.Sai Teja 316126510183

ABSTRACT

In education system, student’s feedback is important to measure the quality of teaching. Students’ feedback can be analyzed using lexicon-based approach to identify the student’s positive or negative attitude. The main objective of this research is to analysis the Students feedback and obtains the opinion. In most of the existing teaching evaluation system, the intensifier words and blind negation words are not considered. The level of opinion result isn’t displayed-whether positive or negative opinion. To address this problem, we propose to analyze the student’s text feedback automatically using lexicon based approach to predict the level of teaching performance. The opinion result is represented as whether strongly positive, moderately positive, weakly positive, strongly negative, moderately negative, weakly negative or neutral.

Key words: Opinion mining, Sentiment Analysis, Teaching Evaluation, Lexicon based approach, corpus based approach, Dictionary based approach, Qualitative information, quantitative information, Afinn lexicon.

CONTENTS

ABSTRACT Vi LIST OF FIGURES viii LIST OF TABLES ix LIST OF ABBREVATIONS x CHAPTER 1 INTRODUCTION 1 1.1 Supervised methods 2 1.2 Unsupervised methods 3 1.3 Semi Supervised methods 6 1.4 Problem Statement 7 CHAPTER 2 LITERATURE SURVEY 2.1 Introduction 8 2.2 Existing methods for research papers 8 CHAPTER 3 SENTIMENT ANALYSIS PROCESS 3.1 Lexicon based approach 12 3.1.1 Dictionary based approach 13 3.1.2 Corpus based approach 14 3.2 Machine Learning based approach 15 3.3 Hybrid approach 16 CHAPTER 4 METHODOLOGY 4.1 Proposed System 17 4.2 Analyzing sentiment in student feedback 19 4.2.1 Liu Lexicon 20 4.2.2 Afinn Lexicon 20 4.3 System Architecture 22 4.3.1 Preprocessing 23 4.3.2 Opinion words identification 23 4.3.3 Assign polarity values 24 4.3.4 Total sentiment score 24 4.3.5 Calculate average polarity value 25

CHAPTER 5 MODULES DIVISION & UML DIAGRAMS 5.1 Modules 26

5.1.1 Student module 26 5.1.2 Faculty Module 26 5.1.3 Admin Module 26 5.2 Uml Diagrams 27

5.2.1 Use case diagrams 27 5.2.2 Class diagram 31 5.2.3 Activity diagrams 33 CHAPTER 6 SYSTEM REQUIREMENTS 6.1 Software Requirements 37 6.2 Hardware Requirement 38 6.3 XAMPP Software 38 6.4 ANACONDA Software 39 CHAPTER 7 RESULTS AND DISCUSSIONS 41 7.1 Student Login 43 7.2 Student Feedback 44 7.3 Admin Portal 45 7.4 Faculty Portal 50 7.5 Sample Input 52 7.6 Graphical Output 53 7.6 Sample Code 54 CHAPTER 8 CONCLUSION AND FUTURE SCOPE 71

REFERENCES 72 LIST OF FIGURES

Figure Number of the Figure Page number

4.1 Block diagram of proposed system 18

4.2 Lexicon based sentiment approach 21

4.3 System Architecture 22

5.2.1.1 Use case Diagram of Student login 29

5.2.1.2 Use case Diagram of Faculty login 30

5.2.2 Class Diagram 32

5.2.3.1 Activity Diagram of Admin 34

5.2.3.2 Activity Diagram of Faculty 35

5.2.3.3 Activity Diagram of Student 36

7.1 Login Form 43

7.2.1 Student Feedback Form 44

7.2.2 Student Feedback Form 1 45

7.3.1 Admin Portal 46

7.3.2 Instructions to Uploading the Excel 47

7.3.3 Uploading the Excel File 48

7.3.4 Faculty Data to Enter 49

7.4.1 Faculty Home Page 50

7.4.2 Selection of View Result’s 51

7.6 Graphical Representation of Feedback 63

LIST OF TABLES

Table Number Table Name Page Number 4.3.5 Opinion Word Analyzer 25 7.5 Student Feedback 52

LIST OF ABBREVIATIONS

ESM : Explanation and Subject Command VBL : Voice and Body Language DCL : Doubt Clearance and Interaction ISC : In time syllabus Coverage

CHAPTER-1: INTRODUCTION

Sentimental analysis is a method for identifying the sentiment expressed in texts. The need of Sentiment Analysis of text has gained more importance in today’s situations faced by the people of the world. Generally, there are three approaches in sentimental analysis. They are lexicon based, machine learning and hybrid approach. In machine learning technique, it uses unsupervised learning or supervised learning. Classification problem can be carried out using several algorithms like support vector machine, naive bayes, random forest. In lexicon based method sentiment polarity of the textual content is detected using sentiment lexicon. A lexicon is a list of words with associated sentiment polarity Sentiment analysis is a process for tracking the mood of the people about any particular topic by review. In general, opinion may be the result of people’s personal feelings, beliefs, sentiments and desires etc. This research work focus on students comments Analyzing students comments using sentiment analysis approaches can classify the students positive or negative feelings. Student’s feedback can highlight various issues students may have with a lecture. Sometimes students do not understand what the lecturer is trying to explain, thus by providing feedbacks, students can indicate this to the lecturer. The Input we take is qualitative data rather than quantitative data. The processing of qualitative data analysis is very important and it can enhance the teacher evaluation effectiveness. Evaluating performance of faculty members is becoming an essential component of an education management system. It not only helps in improving the course contents and quality but is also often used during the annual appraisal process of faculty members. The evaluation is typically collected at the end of each course on a set of question which are answered. The evaluation form, however, also provides room for open feedback which typically is not included in the performance evaluation/appraisal due to lack of automated text analytics methods. The textual data may contain useful insight about subject knowledge of the teacher, regularity, and presentation skills and may also provide suggestions to improve the teaching of quality. Students provide feedback in quantitative ratings and qualitative comments related to preparation, contents, delivery methods, punctual, skills, appreciation, and learning experience. The delivery methods and preparation component refers

1 to instructor’s interaction, delivery , ability to motivate students, out of class support, etc. The content refers to course details such as concepts, lecture notes, labs, exams, projects, etc. The preparation refers to student’s learning experience such as understanding concepts, developing skills, applying acquired skills, etc. The paper correction refers to correction of mistakes and providing solutions to overcome it. The punctual refers to the class timing and assignment or record submission. The appreciation refers to the comments given when something is done perfectly. Analyzing and evaluating this qualitative data helps us to make better sense of student feedback on instruction and curriculum. Recent methods for analyzing student course evaluations are manual and it mainly focuses on the quantitative feedback. It does not support for deeper analysis. This paper focus on providing qualitative and quantitative feedback to analyze and provide better teaching to improve the student’s performance.

1.1 Supervised Methods

Supervised Learning is one of the types of Sentiment Analysis. Supervised learning as the name indicates the presence of a supervisor as a teacher. Basically supervised learning is a learning in which we teach or train the machine using data which is well labeled that means some data is already tagged with the correct answer. After that, the machine is provided with a new set of examples (data) so that supervised learning algorithm analyses the training data(set of training examples) and produces a correct outcome from labeled data. The increasing availability of labelled data has played an important role in the application of supervised machine learning methods to sentiment analysis. These methods represent the labelled data in the form of a set of features. The features are then used to learn a function for classification of unseen data. In this dissertation, I approach the problem of sentiment analysis as a classification task.

Supervised learning can also be performed using multiple classifiers, particularly if the labeling scheme allows for hierarchical relations. As described earlier, one example of this is the work by Pang and Lee. They represented sentences in the given document as graph nodes and calculated the minimal cut on that graph to identify the subjective sentences. Afterwards, standard machine learning classification algorithms (NB and SVMs) were applied only on the extracted subjective sentences to predict their polarity. On a balanced polarity corpus of 2,000

2 reviews, the minimum-cut framework resulted in an accuracy of 86.4%, which represents a statistically significant improvement in polarity classification accuracy over previous attempts.

Supervised learning with dependency trees was also used by Joshi and Penstein-Rose (2009), who worked on solving the problem of identifying opinions from product reviews. Their method was to transform syntactic dependency relation triplets into features for classification. The motivation was to capture the general relationship between opinionated phrases by ‘backing off’ to the head word in the triplet. For instance, consider the phrases a great camera and a great mp3 player with the relations {amod, camera, great} and {amod,player,great}. Here, backing off the head words (camera and player) to their POS tags results in a more generalised form {amod,NN,great}, which makes a better indicator for opinion extraction. A collection of 2,200 reviews from the extended version of the Amazon.com/CNet.com product review corpus3 was used, 1,053 of which were subjective. With 11-fold cross-validation in an SVM learner, their method of backing off the head word to the POS achieved approximately 68% accuracy. For obtaining a balanced corpus, 700 documents of each label were selected. N- grams, part-of-speech (POS) tags and their combinations were used as features, and three-fold cross validation was used. Their best system achieved an accuracy of 82.9% when using the unigram presence feature set with SVMs. It should be noted that the corpus used in this work was balanced artificially, thus avoiding the problem of data sparsity for under-represented classes.

1.2 UnSupervised Methods

Next one, Unsupervised Learning, It is the training of machine using information that is neither classified nor labeled and allowing the algorithm to act on that information without guidance. Here the task of machine is to group unsorted information according to similarities, patterns and differences without any prior training of data.

Unlike supervised learning, no teacher is provided that means no training will be given to the machine. Therefore, machine is restricted to find the hidden structure in unlabeled data by our- self.

3 Another common approach for the detection of sentiment is to develop a sentiment lexicon in an unsupervised way, and then to classify the input text as being positive, negative or neutral using some scoring function based on that lexicon.

The simplest way to explore the sentiment attributed to an object is perhaps to examine the adjectives used to describe that object. Hatzivassiloglou and McKeown (1997) presented an automatic method to classify positive or negative semantic orientation information for adjectives. They proposed that conjunctions between adjectives provide indirect information about orientation. For instance, most adjectives joined by the word and have similar orientation (fair and legitimate) and the ones joined by but have different orientation (simple but popular). They extracted conjunctions of adjectives from the Journal corpus along with their morphological relations. This information was used in a log-linear regression model to determine if each pair of conjoined adjectives was of the same or different orientation.

A graph was then obtained where the vertices were the adjectives and the edges represented the orientation link between them. This graph was partitioned into two subsets using clustering. Since these clusters were not labelled, some criteria was needed to distinguish between the positive and negative one. Using the premises that the unmarked member in a pair of antonyms is almost always positive (Lehrer, 1985), and that the unmarked member is likely to be the most frequent term (Hatzivassiloglou and McKeown, 1995), the average frequencies in each subset were compared and the subset with the higher value was labelled as positive. Their best configuration achieved a classification.

Turney extracted phrases containing adjectives and adverbs by using POS tag patterns. He then estimated the PMI of each phrase combined with one of the two target phrases, poor and excellent, using the hit count reported by the AltaVista search engine4 with the NEAR operator. The semantic orientation of a phrase was calculated by subtracting the PMI between that phrase and the word poor from the PMI between that phrase and the word excellent.

Each review was then classified as positive or negative based on the sign of the average semantic orientation.

The system was tested on 410 reviews collected from epinions.com on four different domains. The accuracy achieved ranged from 66% to 84% over these domains, with an average of 74%.

4 A similar approach was taken by Taboada and Grieve (2004), who used information about the position of the text in a document to expand the lexicon. They assigned more weight to certain parts of the text where they believed most subjective content was concentrated. Using the AltaVista search engine, this method achieved an overall accuracy of 65%.

Another way to increase the number of items in the lexicon is to use bootstrapping. The general approach is to start with a limited number of polar phrases in the lexicon and to extract similar phrases from unlabelled data. These extracted phrases are then added to the polar lexicon and the process is repeated until a stopping criterion is reached. Riloff and Wiebe’s (2003) bootstrapping algorithm learns linguistically rich patterns for subjective expressions. For example, the pattern was satisfied will match all sentences with the passive form of the verb satisfied. High precision classifiers trained on known subjective vocabulary were used to automatically identify objective and subjective sentences in unannotated text. The labelled sentences from these classifiers were fed to an extraction pattern learner. The remaining unlabelled sentences were filtered through a separate pattern-based subjective sentence classifier that used the extraction pattern previously learned. To close the bootstrap loop, the output of the pattern-based classifier was returned back to the extraction pattern learner and the extracted patterns were used again in the initial high-precision classifiers. This system was used on a balanced corpus of roughly 34,000 sentences and achieved a precision of 0.902 and a recall of 0.401.

Exploring more lexical features in a later work, Wiebe and Riloff (2005) developed a Naive Bayes (NB) classifier using data extracted by a pattern learner. This pattern learner was seeded with known subjective data. Additional features for this NB classifier included strong and weak subjective clues from a pre-existing rule-based system, POS tags, , modals, adjectives, cardinal number data and adjectives. The classifier was used to classify the unlabelled text corpus, and the most confidently classified sentences were added to the training set for another cycle. They trained the system for two cycles. Using test corpus of 9,289 sentences, 5,104 of which were subjective, they reported up to 0.863 subjective recalls with a subjective precision of 0.713 (corresponding to 73.4% accuracy).

5

1.3. Semi Supervised Method:

Semi supervised learning is an approach to machine learning that combines a small amount of labeled data with a large amount of unlabeled data during training. Semi-supervised learning falls between unsupervised learning (with no labeled training data) and supervised learning (with only labeled training data).

Unlabeled data, when used in conjunction with a small amount of labeled data, can produce considerable improvement in learning accuracy. The acquisition of labeled data for a learning problem often requires a skilled human agent (e.g. to transcribe an audio segment) or a physical experiment (e.g. determining the 3D structure of a protein or determining whether there is oil at a particular location). The cost associated with the labeling process thus may render large, fully labeled training sets infeasible, whereas acquisition of unlabeled data is relatively inexpensive. In such situations, semi-supervised learning can be of great practical value. Semi-supervised learning is also of theoretical interest in machine learning and as a model for human learning.

A set of independently identically disturbuted examples with corresponding labels and unlabeled examples are processed. Semi-supervised learning combines this information to surpass the classification performance that can be obtained either by discarding the unlabeled data and doing supervised learning or by discarding the labels and doing unsupervised learning.

Semi-supervised learning may refer to either transductive learning or inductive learning. The goal of transductive learning is to infer the correct labels for the given unlabeled data only. The goal of inductive learning is to infer the correct mapping from X to Y

Intuitively, the learning problem can be seen as an exam and labeled data as sample problems that the teacher solves for the class as an aid in solving another set of problems. In the transductive setting, these unsolved problems act as exam questions. In the inductive setting, they become practice problems of the sort that will make up the exam.

It is unnecessary (and, according to Vapnik's principle, imprudent) to perform transductive learning by way of inferring a classification rule over the entire input space; however, in

6 practice, algorithms formally designed for transduction or induction are often used interchangeably.

1.4 Problem Statement

This research shows the use of sentiment analysis to evaluate the student’s narrative comment in the evaluation of their respective Faculty. The rest of the project is organized as follows: One Section presents a review of literature; proposed methodology is presented in another section. It also describes the construction of sentiment word database for teaching evaluation and also presents the architecture of our proposed system. It also presents the case study and results of the teaching evaluation and the final chapter presents the conclusion.

7

CHAPTER 2. LITERATURE SURVEY

2.1 Introduction

There are some papers which are based on various work carried out in literature on sentiment classification and opinion mining are reviewed. In this project various techniques used for Opinion mining and sentiment classification is investigated. Subsequently feature selection techniques which are critical for unstructured data classification is reviewed. The following are the some of the works on Student feedback using sentiment Analysis.

2.2 Existing Methods for Research Papers

• Tanvi Hardeniya and Dilipkumar A.Borikar[8] in 2016 self-addressed the Dictionary- Based strategy to Sentiment analysis. They reviewed on sentiment analysis is completed and so the challenges and problems concerned inside the method are mentioned. The approaches to sentiment analysis mistreatment dictionaries like SenticNet, SentiFul, SentiWordNet, and WorldNet are studied. Lexicon-based approaches are economical over a website of study. Though a generalized lexicon like WorldNet might even be used, the accuracy of the classifier gets affected due to problems like negation, synonyms, sarcasm, etc. This has provided impetus to substantial growth of online buying creating opinion analysis a very important issue for business development.

• Another Approach was developed by Bhagyashree Gore supported Lexicon based mostly Sentiment Analysis of Parent Feedback to gauge their Satisfaction Level[10] in 2018.They used lexicon based mostly approach and commutating of polarity values. Throughout this approach they produce a lexicon of words with opinion score assigned to that. A database of English sentiment words is created for reference in the domain of satisfaction level with the opinion score assigned to it. They extracted data from parent’s comments and then analyze the level of positive and negative opinion. The opinion result of parents Satisfaction on teaching learning process is represented as to whether strongly positive, positive, strongly negative, negative, or neutral.

8 • R Mehana from Dr.Mahalingam school of Engineering and Technology Pollachi, Tamlinadu, India[6] developed Student feedback mining system adopting sentiment analysis in 2017.They projected a system to mine the feedback given by the students and acquire information from that and gift that info in qualitative method. they have known the frequency of each word and extract the topic that has the perfect frequency count. Similar comments in every topic are clustered then the clustered words are classified into positive or negative comments.

• S. MacKim and R. A. Calvo projected Sentiment analysis in student experiences of learning[7] in 2016.they Classify the text supported the presence of unambiguous have an effect on words. In their approach, a bit set of opinion words is collected manually as a seed. They have a sentiment lexicon contains a listing of words aboard their individual polarity. Many like corpora are developed and that they created freely out there.

• Other interesting approach of Sentiment Analysis was presented in the work of M. A. Ullah [5] wherein they extract sentiments with polarities of positive and negative for specific subjects from a document, instead of classifying if the document is positive or negative. In this paper, they applied semantic analysis with a syntactic parser and semantic lexicon which gave them a high precision of 75% to 95% in finding the sentiments within web pages and news articles.

• LI Caiqiang and Ma Junming [10] perform online education teacher evaluation model based on opinion mining. They collect the students’ comments written in Chinese language published in the LMS (learning management system) by using web crawler. They didn’t indicate the words polarity strength in their work. If sentiment words of subjective text are not in the polarity word dictionary, they used point wise mutual information (PMI) method to judge the polarity of it. This model gets an overall evaluation of each teacher. They collect the students’ comments written in Chinese language published in the LMS (learning management system) by using web crawler. They didn’t indicate the words polarity strength in their work. If sentiment words of subjective text are not in the polarity word dictionary, they used point wise mutual information (PMI) method to judge the polarity of it. This model gets an overall evaluation of each teacher.

9

• Sajjad Haider and Sayeed Ghani projected Lexicon-Based Sentiment Analysis of Teachers’ Evaluation in 2016. They analyze textual feedback automatically and to develop quantitative and qualitative metrics that can aid in assessing a teacher’s performance and highlighting her major areas of appreciations/concerns. The primary focus of the sentiment analysis is to determine a writer’s feeling from a given text. The feeling might be his/her attitude, emotion, or opinion. The most important step of this analysis is to classify the polarity of the given text as positive, negative, or neutral. In a similar fashion, the presented work aims to identify the polarity of a student’s feedback in terms of positive, neutral, and negative. In addition, the paper also suggests methods to identify the recurring theme in students’ feedback by generating word clouds for visualization, sentiment score, and other frequency-based filters.

• Ayesha Rashid perform Feature level opinion mining of educational student feedback data using sequential pattern mining and association rule mining in 2013.They want to extract the nuggets of knowledge from massive volume of student feedback dataset on faculty performance. There main objective is to compare two renowned association rule mining and sequential pattern mining algorithms namely Apriori and Generalized Sequential Pattern (GSP) mining in the context of extracting frequent features and opinion words. Sentence level sentiment classification is one level deeper to document level opinion mining. It extracts such sentences from reviews documents which contains object, and adjectives. Polarity about opinionated object is found by counting positive and negative adjective words used to express opinion about product and its features. If positive words are more than negative, opinion about object is positive otherwise negative, if both are same then opinion is neutral. To extract nuggets of knowledge from huge amount of opinionated text in databases data mining techniques are used.

10

• A. Sagum, Jessiree Grace M. de Vera, Prince John S. Lansang, Danica Sharon R. Narciso and Jahren K. Respeto projected Application of Language Modelling in Sentiment Analysis for Faculty Comment Evaluation, in 2015. Faculty evaluation is the process of gathering and processing data to measure the effectiveness of teaching. There are different areas to be considered for evaluating a faculty [1] such as teaching, advising and research and scholarly activities. There are different studies of Sentiment Analysis wherein the researchers used reviews to identify the sentiment of user where companies can use this so they can easily determine the sentiment of a review, whether it’s positive or negative.

• H. Saif, M. Fernandez, Y. He, and H. Alani perform Evaluation datasets for twitter sentiment analysis in 2013. With the emergence of social media, the performance of sentiment analysis tools has become increasingly critical. Developing accurate sentiment analysis methods requires the creation of evaluation datasets that can be used to assess their performances. They present STS-Gold, an evaluation dataset for Twitter sentiment analysis that targets sentiment annotation at both, tweet and entity levels. this paper summarises eight publicly available and manually annotated evaluation datasets for Twitter sentiment analysis.

.

11 CHAPTER 3. SENTIMENT ANALYSIS PROCESS

3.1. Lexicon based Approach In this approach, opinion words area unit divided in 2 classes. Positive opinion words area unit accustomed categorical some necessary things, and negative opinion words area unit accustomed describe surplus things. Conversely vocabulary based notion examination characterizes the conclusion message by breaking down the feeling of the assessment word. Feeling words are utilized in numerous estimation grouping assignments. Positive sentiment words are utilized to express some coveted states, while negative supposition words are utilized to express some undesired states. There are likewise conclusion expressions and maxims which together are called assessment dictionary. There are three principle approaches keeping in mind the end goal to accumulate or gather the sentiment word list. Application of a lexicon is one of the two main approaches to sentiment analysis and it involves calculating the sentiment from the semantic orientation of word or phrases that occur in a text. With this approach a dictionary of positive and negative words is required, with a positive or negative sentiment value assigned to each of the words. Different approaches to creating dictionaries have been proposed, including manual and automatic approaches. Generally speaking, in lexicon-based approaches a piece of text message is represented as a bag of words. Following this representation of the message, sentiment values from the dictionary are assigned to all positive and negative words or phrases within the message. A combining function, such as sum or average, is applied in to make the final prediction regarding the overall sentiment for the message. Apart from a sentiment value, the aspect of the local context of a word is usually taken into consideration, such as negation or intensification. Social media channels, such as Facebook or Twitter, allow for people to express their views and opinions about any public topics. Public sentiment related to future events, such as demonstrations or parades, indicate public attitude and therefore may be applied while trying to estimate the level of disruption and disorder during such events. Consequently, sentiment analysis of social media content may be of interest for different organisations, especially in security and law enforcement sectors. This paper presents a new lexicon-based sentiment analysis algorithm that has been designed with the main focus on real time Twitter content

12 analysis. The algorithm consists of two key components, namely sentiment normalisation and evidence-based combination function, which have been used in order to estimate the intensity of the sentiment rather than positive/negative label and to support the mixed sentiment classification process. Finally, we illustrate a case study examining the relation between negative sentiment of twitter posts related to English Defence League and the level of disorder during the organisation’s related events.

Lexicon based approach can further be divided into two categories: Dictionary based approach (based on dictionary words i.e. WordNet or other entries) and Corpus based approach (using corpus data, can further be divided into Statistical and Semantic approaches).

3.1.1 Dictionary based mostly Approach: Using a dictionary approach to compile sentiment words is an obvious approach because most dictionaries (e.g., WordNet (john, 1990)) list synonyms and antonyms for each word. Thus, a simple technique in this approach is to use a few seed sentiment words to bootstrap based on the synonym and antonym structure of a dictionary. Specifically, this method works as follows: A small set of sentiment words with known positive or negative orientations is first collected manually, which is very easy. The algorithm then grows this set by searching in the WordNet or another online dictionary for their synonyms and antonyms. The latterly found words are added to the seed list. The next iteration begins. The iterative process ends when no more new words can be found. After the process completes, a manual inspection step was used to clean up the list. One of the easy techniques throughout this approach is based on bootstrapping using slightly set of seed opinion words and a web wordbook, e.g., WordNet. The strategy is to 1st collect slightly set of opinion words manually with renowned orientations then to grow this set by looking inside the WordNet for his or her synonyms and antonyms. The fresh found words area unit supplementary to the seed list. Ulterior iteration starts. The repetitious method stops once no additional new words area unit found. When the maneuver completes, manual examination area unit typically administered to urge obviate and/or correct errors.

13 Machine translation can use a method based on dictionary entries, which means that the words will be translated as a dictionary does – word by word, usually without much correlation of meaning between them. Dictionary lookups may be done with or without morphological analysis or lemmatization. While this approach to machine translation is probably the least sophisticated, dictionary-based machine translation is ideally suitable for the translation of long lists of phrases on the sub sentential (i.e., not a full sentence) level, e.g. [1] inventories or simple catalogs of products and services. It can also be used to expedite manual translation, if the person carrying it out is fluent in both languages and therefore capable of correcting syntax and grammar.

3.1.2 Corpus based Approach: The corpus-based approach have objective of providing dictionaries related to a specific domain. These dictionaries are generated from a set of seed opinion terms that grows through the search of related words by means of the use of either statistical or semantic techniques. Corpus linguistics is a research approach that has developed over the past few decades to support empirical investigations of language variation and use, resulting in research findings which have much greater generalizability and validity than would otherwise be feasible. Corpus studies have used two major research approaches: ‘corpus-based’ and ‘corpus-driven’. Corpus-based research assumes the validity of linguistic forms and structures derived from linguistic theory. The primary goal of research is to analyse the systematic patterns of variation and use for those pre- defined linguistic features. Corpus-driven research is more inductive, so that the linguistic constructs themselves emerge from analysis of a corpus. This chapter illustrates the kinds of analyses and perspectives on language use possible from both corpus-based and corpus-driven approaches.

Using the corpus-based approach alone to identify all opinion words, however, is not as effective as a result of the dictionary-Based approach as a result of its arduous to prepare a huge corpus to

14 cover all English words. However it will facilitate to hunt out domain and context specific opinion words using a website corpus that is that the massive advantage of this technique. The corpus-based approach is performed in applied math approach or linguistics approach.

Corpus linguistics has generated a number of research methods, which attempt to trace a path from data to theory. Wallis and Nelson first introduced what they called the 3A perspective: Annotation, Abstraction and Analysis

• Annotation consists of the application of a scheme to texts. Annotations may include structural markup, part-of-speech tagging, parsing, and numerous other representations.

• Abstraction consists of the translation (mapping) of terms in the scheme to terms in a theoretically motivated model or dataset. Abstraction typically includes linguist-directed search but may include e.g., rule-learning for parsers.

• Analysis consists of statistically probing, manipulating and generalizing from the dataset. Analysis might include statistical evaluations, optimization of rule-bases or knowledge discovery methods.

Most lexical corpora today are part-of-speech-tagged (POS-tagged). However even corpus linguists who work with 'un annotated plain text' inevitably apply some method to isolate salient terms. In such situations annotation and abstraction are combined in a lexical search. The advantage of publishing an annotated corpus is that other users can then perform experiments on the corpus (through corpus managers). Linguists with other interests and differing perspectives than the originators' can exploit this work. By sharing data, corpus linguists are able to treat the corpus as a locus of linguistic debate and further study.

3.2 Machine Learning based Approach Machine learning approaches include Support Vector Machine (SVM) and Naïve Bayesian classification. SVM is a supervised learning method used to analyze the data and recognize data patterns that can be used for classification and regression analysis. Naïve Bayesian Classification is based on Naïve-Bayes theorem and uses the concepts of maximum likelihood and Bayesian probability. The limitation of this method is that the model needs to be trained with a large data

15 volume before testing. It is time consuming and low on accuracy when training data is not sufficient.

3.3 Hybrid Approach It uses both the machine learning and the dictionary-based approaches. It employs the lexicon- based approach for sentiment scoring followed by training a classifier assign polarity to the entities in the newly find reviews. Hybrid approach is generally used since it achieves the best of both worlds, high accuracy from a powerful supervised learning algorithm and stability from lexicon based approach.

16

CHAPTER 4. METHODOLOGY

4.1 Proposed System The sentiment analysis problem is met using some of the techniques using natural language processing technique, lexicon method etc. Following are a brief study on a few of them. During this paper we learned brief description about the methods that we adopted to extract the key words from the scholars feedback document. They are: • Tokenization: Tokenization is that the act of ending a sequence of strings into pieces like words, keywords, phrases, symbols and other elements called tokens. Tokens are often individual words, phrases or maybe whole sentences. Within the process of tokenization, some characters like punctuation marks are discarded. Tokenization is about splitting strings of text into smaller pieces, or “tokens”. Paragraphs can be tokenized into sentences and sentences can be tokenized into words. Normalization aims to put all text on a level playing field, e.g., converting all characters to lowercase. Noise removal cleans up the text, e.g., remove extra whitespaces. • Stop word removal: Stop words are words which are filtered out before or after processing of tongue data. These words are removed to extract only the meaningful information. The list of stop words could also be ' the, is, at, which, on, who, where, how, hi, before, after , etc. Stop words are the most common words in any natural language. For the purpose of analysing text data and building NLP models, these stop words might not add much value to the meaning of the document. Consider this text string – “There is a pen on the table”. Now, the words “is”, “a”, “on”, and, “the” add no meaning to the statement while parsing it. Whereas words like “there”, “book”, and “table” are the keywords and tell us what the statement is all about. • Clustering: Clustering is that the process of creating a gaggle of abstract objects into classes of comparable objects. A cluster of knowledge objects are often treated together group. While doing cluster analysis, we first partition these top data into groups supported data similarity then assign the labels to the groups. the most advantage of clustering over

17 classification is that, it's adaptable to changes and helps single out useful features that distinguish different groups.

• Classification: Data classification is that the process of organizing data into categories for its best and efficient use. A well-planned data arrangement makes essential data easy to seek out and retrieve. This will be of particular importance for risk management, legal discovery, and compliance.

Following is the block diagram of Proposed System:

Fig4.1 Block diagram of Proposed System

18

4.2. ANALYSING SENTIMENT IN STUDENT FEEDBACK

Sentiment analysis (also known as opinion mining or emotion AI) refers to the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information. Sentiment analysis is widely applied to voice of the customer materials such as reviews and survey responses, online and social media, and healthcare materials for applications that range from marketing to customer service to clinical medicine.

A basic task in sentiment analysis is classifying the polarity of a given text at the document, sentence, or feature/aspect level—whether the expressed opinion in a document, a sentence or an entity feature/aspect is positive, negative, or neutral. Advanced, "beyond polarity" sentiment classification looks, for instance, at emotional states such as "angry", "sad", and "happy".

Precursors to sentimental analysis include the General Inquirer, which provided hints toward quantifying patterns in text and, separately, psychological research that examined a person's psychological state based on analysis of their verbal behavior.

Subsequently, the method described in a patent by Volcani and Fogel, looked specifically at sentiment and identified individual words and phrases in text with respect to different emotional scales. A current system based on their work, called EffectCheck, presents synonyms that can be used to increase or decrease the level of evoked emotion in each scale.

Many other subsequent efforts were less sophisticated, using a mere polar view of sentiment, from positive to negative, such as work by Turney, and Pang who applied different methods for detecting the polarity of product reviews and movie reviews respectively. This work is at the document level. One can also classify a document's polarity on a multi-way scale, which was attempted by Pang and Snyder among others: Pang and Lee expanded the basic task of classifying a movie review as either positive or negative to predict star ratings on either a 3- or a 4-star scale, while Snyder performed an in-depth analysis of restaurant reviews, predicting ratings for various aspects of the given restaurant, such as the food and atmosphere (on a five- star scale).

19

In this project we learn about various lexicons that are used to get the opinion of student analysis. The lexicon- based approach depends on opinion (or sentiment) words, which are words that express positive or negative sentiments. Choosing the sentiment lexicon to rely on is very important. The following section describes some popular sentiment lexicon.

4.2.1 Liu Lexicon Liu lexicon consists to facet of around 6800 English words classified into positive and negative opinion groups. It utilized the adjective synonym and antonym set sin WorldNet to predict semantic orientation of adjectives. Firstly, a small list of seed adjective staged with either positive or negative labels is 17 manually created. This seed adjective list is actually domain independent. For example, great, fantastic, good are positive adjectives; and bad, dull are negative adjectives. The list will be then expanded using Word Net, resulting in a list of 4783 negative terms and 2006 positive terms including misspellings, morphological variants, slang, and social-media markup which are useful for social network data analysis. However Liu lexicon cannot cover all of real world problems in terms of sentiment analysis.

4.2.2 Afinn Lexicon Afinn lexicon was initially set up in 2009 for tweets downloaded for online sentiment analysis in relation to the United Nation Climate Conference (COP15). The old version termed AFINN-96 distributed on the Internet has 1468 different words, including a few phrases. The newest version, AFINN-111 contains 2477 unique words and 15 phrases. AFINN uses a scoring range from−5 (very negative) to +5 (very positive).. The words were scored manually by the author. The word list in Afinn lexicon initiated from a set of obscene words. Most of the positive words were labeled with +2 and most of the negative words with –2, strong obscene words with either 4 or –5.

20

Fig 4.2.2. Lexicon based sentiment predictor

21 4.3. SYSTEM ARCHITECTURE

System Architecture corresponds to a set of techniques used to extract pattern or trends implicit in textual databases. This process can be divided into following steps:

Fig4.3. System Architecture

22 4.3.1 PREPROCESSING: The preprocessing has done in the following ways:

A) Text extraction: The comments, which consist of few sentences, are split up into clause based on clause level punctuation mark. The clause level punctuation mark is any word from regular expression ^[.,:;!?].

B) Text cleaning: This is used to remove special characters and change Uppercase into Lowercase letters.

C) Stemming: Stemming is a heuristic method for collapsing distinct word forms by trying to remove affixes. Noun can be in either singular or plural form using either –es or –s suffix. Similarly, verb can be in either present or past participle form using –ing and –ed respectively. Adjectives can be in comparative form using -er suffix or superlative form using –est suffix. The base form is then used for looking up the word in dictionary.

4.3.2. OPINION WORDS IDENTIFICATION: The words which are used for opinion analyzing are categorizes into following: A) Negation words: The negation words are the words which reverse the polarity of sentiment, changing good (+2) into not good (- 2). (E.g. no, not, neither, nor, nothing, never) are very important in identifying the sentiments, as their presence can reverse the polarity of the sentence.

B) Blind negation words: Words such as need, needed, require, required etc., are also very important in identifying the sentiments. For example: ‘Her teaching method needed to be better’, ‘better’ depicts a positive sentiment but the inclusion of the blind negation word ‘needed’ suggests that this sentence is really depicting negative sentiment. In the proposed approach whenever a blind negation word

23 occurs in a sentence its polarity is immediately labeled as negative and assigned the opinion score to (-2).

C) Adjective, adverb, verb, noun words: Most of the opinion words are adjective. For example: ‘She is knowledgeable. Her discussions are interesting. I understand her teaching’. In this sentence ‘knowledgeable’ and ‘interesting’ are positive adjective opinion words, ‘understand’ is a positive verb.

4.3.3. ASSIGN POLARITY SCORES:

The Polarity Scores for words are assign based on the dataset we are taken.

‘Ws’ is the semantic orientation score of combining words.

‘Sinf’ is the intensifier value of word based on 100%.

‘Os’ is the score of opinion word from sentiment word database.

If there is only one opinion word in a sentence, the corresponding positive scores or negative scores are assigned using

= ---(Eq 4.3.3.1) If one intensifier word and one opinion word are found together, = ( % + ) ∗ --- (Eq 4.3.3.2) If two intensifier words and one opinion word are found in a sentence

= ( % + ) ∗ ( % + ) ∗ --- (Eq 4.3.3.3) If a negation word in front of the opinion word is found in a sentence

= ∗ (− ). --- (Eq 4.3.3.4)

4.3.4. CALCULATE TOTAL SENTIMENT SCORES: The total score is calculated by adding all the comments polarity scores.

PTs = ∑ =1 --- (Eq 4.3.4)

24 4.3.5. CALCULATE AVERAGE POLARITY FOR ALL THE SENTENCES:

Table4.3.5: Opinion words Analyzer

The average can be calculated by dividing the total scores by total opinion words.

P = ∑ =1 / --- (Eq 4.3.6) ‘N’ is the total number of opinion words in all comments.

25 CHAPTER 5. MODULES DIVISION & UML DIAGRAMS

5.1 MODULES DIVISION

5.1.1 STUDENT MODULE:

In this module, the student should enter his own college Id, Number and password to get an access for giving feedback. The feedback form contains 4 questions to which he/she should answer.

The student gives feedback for each teacher of particular subject belongs to their class. Here, the questions are telling about the teacher’s performance in a certain field. Example: Does he/she giving a clear Explanation? Is the voice Audible?

Does he clarify the doubts? This data is stored in database and later we do a sentiment analysis on this data. Sentiment scores is obtained by using Natural language techniques. Python language is used for finding whether sentence is positive or negative.

5.1.2 FACULITY MODULE: This module is only accessed by faculty. The faculty can able to check the sentiment score for a particular subject. One faculty can teach many subjects. So, he can check a sentiment score for each subject. .

5.1.3 ADMIN MODULE:

This module is only accessed by admin. The admin updates the student data and teacher’s data. The passwords for teacher and student are given by him. The whole system is maintained by admin.

26 The data of teachers have to change for every semester. The admin also adds the students and faculty details in the database. The admin also can delete the student’s as well as the faculty data. The admin can view all the feedbacks results present in the database.

5.2 UML DIAGRAMS

UML the Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

UML is linked with object-oriented design and analysis. UML makes the use of elements and forms associations between them to form diagrams.

Diagrams in UML can be broadly classified as:

1. Structural Diagrams –Capture static aspects or structure of a system. Structural Diagrams include: Component Diagrams, Object Diagrams, Class Diagrams and Deployment Diagrams.

2. Behavioral Diagrams–Capture dynamic aspects or behavior of the system. Behavioral diagrams include: Use Case Diagrams, State Diagrams, Activity Diagrams and Interaction Diagrams.

27 5.2.1 USECASE DIAGRAM:

A Use case diagram at its simplest is a representation of a user's interaction with the system that shows the relationship between the user and the different use cases in which the user is involved. The use cases are represented by either circles or ellipses.

The purpose of use case diagram is to capture the dynamic aspect of a system. However, this definition is too generic to describe the purpose, as other four diagrams (activity, sequence, collaboration, and State chart) also have the same purpose. We will look into some specific purpose, which will distinguish it from other four diagrams.

Use case diagrams are used to gather the requirements of a system including internal and external influences. These requirements are mostly design requirements. Hence, when a system is analyzed to gather its functionalities, use cases are prepared and actors are identified.

Use case diagrams are considered for high level requirement analysis of a system. When the requirements of a system are analysed, the functionalities are captured in use cases. We can say that use cases are nothing but the system functionalities written in an organized manner. The second thing which is relevant to use cases are the actors. Actors can be defined as something that interacts with the system.

This Use Case is a graphic depiction of the interactions among the elements of Student Feedback System. It represents the methodology used in the system analysis to identify, clarify and organize system requirements of Student feedback System. The main actors of Student Feedback System in this use case diagram are: Admin and Student.

Use cases of Admin are Manage student, Manage Feedback, Manage Class, Manage Faculty, Manage users and full student feedback system operations. Use cases of Student are Submit Feedback, Search Faculty.

28

Fig5.2.1.1 Use-case diagram for student login

29

Fig5.2.1.2. Use-case diagram for faculty login

30

5.2.2 CLASS DIAGRAM:

Class diagram is a static diagram. A Class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects It represents the static view of an application. Class diagram is not only used for visualizing, describing, and documenting different aspects of a system but also for constructing executable code of the software application. Class diagram describes the attributes and operations of a class and also the constraints imposed on the system. The class diagrams are widely used in the modeling of object-oriented systems because they are the only UML diagrams, which can be mapped directly with object-oriented languages. Class diagram shows a collection of classes, interfaces, associations, collaborations, and constraints. It is also known as a structural diagram.

The purpose of class diagram is to model the static view of an application. Class diagrams are the only diagrams which can be directly mapped with object-oriented languages and thus widely used at the time of construction. UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the application, and however class diagram is a bit different. It is the most popular UML diagram in the coder community.

In this Class diagram, first, the student has to register. Only registered Student will log in by his username and password. . In the dashboard all the contents of the feedback forms will be displayed.. Student can tell his likes and dislikes about the teachers by attending every questions.

Next, Faculty logins into their portal and can see the total of all marks will be calculated and according to it percentage is calculated .On this percentage basis Faculty can take print out of the summary list and keep a backup of it.

We can also have Admin which is the main part of the System.The main tasks of Admin are:

Admin can Login,Admin can add new faculty,Admin can View faculty list,Admin can Update faculty data,Admin can Delete faculty,Admin can Manage Student,Admin can Check feedback given by student,Admin can update the contact details dynamically,Admin can update password.

31

Fig5.2.2. Class diagram for Proposed System

32

5.2.3 ACTIVITY DIAGRAM:

An Activity diagram is a behavioral diagram i.e. it depicts the behavior of a system. An activity diagram portrays the control flow from a start point to a finish point showing the various decision paths that exist while the activity is being executed. Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The activity can be described as an operation of the system.

The control flow is drawn from one operation to another. This flow can be sequential, branched, or concurrent. Activity diagrams deal with all type of flow control by using different elements such as fork, join, etc. The basic purposes of activity diagrams are similar to other four diagrams. It captures the dynamic behavior of the system. Other four diagrams are used to show the message flow from one object to another but activity diagram is used to show message flow from one activity to another.

Activity is a particular operation of the system. Activity diagrams are not only used for visualizing the dynamic nature of a system, but they are also used to construct the executable system by using forward and reverse engineering techniques. The only missing thing in the activity diagram is the message part. It does not show any message flow from one activity to another. Activity diagram is sometimes considered as the flowchart. Although the diagrams look like a flowchart, they are not. It shows different flows such as parallel, branched, concurrent, and single.

This is the login Activity Diagram of Student Feedback System, which shows the flows of login activity, where admin will be able to login using their user name and password. After login user can manage all the operations on Class, Feedback, Student, Teacher.All the pages such as Feedback, Faculty, and Student are secure and user can access these page after login. The three diagrams below help demonstrate how login page works in a Student Feedback System. The various objects in Student, Class, Feedback and Faculty page--interact over the course of activity, and the user will not be able to access this page without verifying their identity.

33

Fig5.2.3.1. Activity Diagram for Admin Login

34

Fig5.2.3.2. Activity Diagram for Faculty Login

35

Fig5.2.3.3. Activity Diagram for Student Login

36

CHAPTER 6. SYSTEM REQIREMENTS

SYSTEM CONFIGURATION:

This project can run on commodity hardware. We ran entire project on an Intel Pentium or higher processor with 256MB Ram, 2 GB NVidia Graphic Processor, It also has 2 cores which runs at 1.7 GHz, 2.1 GHz respectively. First part of the project just takes very little amount of time that depends on the size of data set upon which classifier is working upon. Second part sentiment analysis takes some time around 5-10 mins to produce results because of its large volume data set.

6.1 SOFTWARE REQUIREMENTS

Following are the software and modules that needs to be installed for successful execution of the project. They are:

Operating Systems : Windows Operating System Tools : XAMPP, Anaconda (spider launcher) Front End : HTML, CSS, Java Script IDE : XAMPP, Anaconda Backend : Python, PHP, MySQL, Browser : Google Chrome, Firefox Server : XAMPP, ANITS Server

37 6.2 HARDWARE REQUIREMENTS

Following are the HARDWARE REQUIREMENTS necessary for execution of a code

RAM : Minimum 256MB or higher

PROCESSOR : Intel Pentium 3 or higher

HDD : 10GB or higher

MONITOR : 15” or 17” color monitor

MOUSE : Scroll or optical Mouse or Touch Pad

Keyboard : Standard 110 keys Keyboard

6.3 XAMPP SOFTWARE:

XAMPP is a software distribution which provides the Apache web server, MySQL database (actually Maria DB), Php and Perl (as command-line executables and Apache modules) all in one package. It is available for Windows, MAC and Linux systems. No configuration is necessary to integrate Php with MySQL. It is a great fit for this course and provides a relatively painless installation and way to manage the configuration changes. Also provided is PhpMyadmin which gives a GUI tool for managing your MySQL databases.

The installation file I used is:

xampp-win32-5.6.23-0-VC11-installer.exe Install in the usual way. It gives some notification messages for which you can just click OK. Close whatever installation brings upon completion. It installs into C:\xampp

At some point the Windows Firewall may invoke notifications; just click Allow access and then Finish

38 RUN XAMPP IN CONTROL PANEL:

What you want to run is the XAMPP Control Panel found under XAMPP in the Start menu. Right-click and run this as administrator.

Start both MySQL and Apache (unless you have an alternative Apache installation). I do not recommend messing with the Modules service column. When you start MySQL, you should see it running on port 3306. The Apache service gives you access to the Admin buttons next to the services. For Apache Admin, you get:

http://localhost/dashboard For MySQL Admin you get PhpMyadmin: http://localhost/phpmyadmin

6.4 ANACONDA SOFTWARE:

DESCRIPTION: Together with a list of Python packages, tools like editors, Python distributions include the Python interpreter. Anaconda is one of several Python distributions. Anaconda is a new distribution of the Python and R data science package. It was formerly known as Continuum Analytics. Anaconda has more than 100 new packages. This work environment, Anaconda is used for scientific computing, data science, statistical analysis, and machine learning. The latest version of Anaconda 5.0.1 is released in October 2017. The released version 5.0.1 addresses some minor bugs and adds useful features, such as updated R language support. All of these features weren’t available in the original 5.0.0 release.

ANACONDA FOR PYTHON:

This package manager is also an environment manager, a Python distribution, and a collection of open source packages and contains more than 1000 R and PYTHON DATA SCIENCE Packages. There’s no big reason to switch to Anaconda if you are completely happy with you regular python. But some people like data scientists who are not full-time developers, find anaconda much useful as it simplifies a lot of common problems a beginner runs into.

39 Anaconda can help with – 1. Installing Python on multiple platforms 2. Separating out different environments 3. Dealing with not having correct privileges and 4. Getting up and running with specific packages and libraries

Download Anaconda 5.0.1

The free version of Anaconda distribution community edition can be downloaded directly from Anaconda’s website. For the enterprise edition, one need professional support from Anaconda’s sales team. Conda treats Python the same as any other package, so it is easy to manage and update multiple installations. Anaconda supports Python 2.7, 3.4, 3.5 and 3.6. The default is Python 2.7 or 3.6, depending on which installer you used: • For the installers “Anaconda” and “Miniconda,” the default is 2.7. • For the installers “Anaconda 3” or “Miniconda 3,” the default is 3.6.

Install Anaconda

• Once downloaded the .exe file, run through the installer. Do accept the terms, and finish the installation. To check, close the browser and pull up the terminal. • Once the installation is complete, it should have automatically added that to the path. To test this, go ahead and type ‘python’.

• The version of python i.e. 3 will show and also the anaconda distribution will be seen. If you install the 4 versions of Anaconda, then all the packages, which are there in the packages, can also be imported easily. • To check type import numpy or import matplotlib and run that.

40 CHAPTER 7. RESULTS AND DISCUSSIONS

Firstly, there’s admin module which has admin login portal. The username and password of admin is initially fixed. After login, Admin views the students as well as faculty accounts and can modify their details. The whole data is stored in the database. The admin also adds the students and faculty details in the database. The admin also can delete the student’s as well as the faculty data. The admin can view all the feedbacks results present in the database. The identity of the student who gave the feedback is given by the admin.

Then there’s student module which has student login portal. Each and every valid student has their unique username and password which is given by admin. The username and password when entered are checked with data present in the database. After login, the student can view the subject’s feedback which he/she wants to submit. Then in the feedback form, the name of the faculty automatically comes who teaches that particular subject. In the feedback form, there are multiple fields for which student has to show his opinion. The fields are Vocabulary and Body language, Audibility, Explanation, Subject Command etc., after the submission of feedback the answers of all the questions are analyzed and the result is stored in database. If the student has already given the feedback of that particular teacher, then he/she can’t give the feedback again.

Then at last there’s faculty module which has teacher login portal. Each and every faculty has their unique username and password which is given by the admin. The username and password when entered are checked with data present in the database. The faculty can view their overall performance according to the student’s feedback. And student’s identity is not revealed to the faculty. There will be a graphical representation of student's feedback so that faculty can clearly understand his/her strengths.

Next, the polarity of the words in each sentences were calculated. The polarity scores are assigned as given below:

If there's only 1 opinion word in an exceedingly sentence, the corresponding positive scores or negative scores area unit allotted mistreatment = --- (Eq 6.1)

41

If one modifier word and one opinion word area unit found along, = ( % + ) ∗ --- (Eq 6.2)

If 2 modifier words and one opinion word area unit found in an exceedingly sentence = ( % + ) ∗ ( % + ) ∗ --- (Eq 6.3)

If a negation word ahead of the opinion word is found in an exceedingly sentence = ∗ (− ).----(Eq 6.4)

Where ‘Ws’ is that the linguistics orientation score of mixing words. ‘Sinf’ is that the qualifier worth of word supported 100 percent. ‘Os’ is that the score of opinion word from sentiment word info

42

7.1Student Login: Only registered Student will log in by his username and password. Each and every valid student has their unique username and password which is given by admin. The username and password when entered are checked with data present in the database. In the dashboard all the contents of the feedback forms will be displayed. Student can tell his likes and dislikes about the teachers by attending every questions. The following figure represents the Login Page of Student:

Fig.7.1: Student Login Form

7.2 Student Feedback:

43 After login, the student can view the subject’s feedback which he/she wants to submit. Then in the feedback form, the name of the faculty automatically comes who teaches that particular subject. In the feedback form, there are multiple fields for which student has to show his opinion. The fields are Vocabulary and Body language, Audibility, Explanation, Subject Command etc., after the submission of feedback the answers of all the questions are analyzed and the result is stored in database. If the student has already given the feedback of that particular teacher, then he/she can’t give the feedback again. The following figure represents the Student Feedback Page:

Fig.7.2.1: Student Feedback Form

44

Fig.7.2.2: Student Feedback Form

7.3 Admin Portal: The username and password of admin is initially fixed. After login, Admin views the students as well as faculty accounts and can modify their details. The whole data is stored in the database. The admin also adds the students and faculty details in the database. The admin also can delete the student’s as well as the faculty data. The admin can view all the feedbacks results present in the database. The identity of the student who gave the feedback is given by the admin. The following figure represents the Admin Page:

45

Fig7.3.1 Admin Portal

The main tasks of Admin are: Admin can Login,Admin can add new faculty,Admin can View faculty list,Admin can Update faculty data,Admin can Delete faculty,Admin can Manage Student,Admin can Check feedback given by student,Admin can update the contact details dynamically,Admin can update password.

Following are some of the Screenshots which shows the process to upload Student data and also the Rules and Regulations to Upload a File:

46

Fig7.3.2Instructions to upload a file

47

Fig7.3.3Uploading the Excel File

48

Fig7.3.4 Faculty Data to Enter

49

7.4 FACULTY PORTAL Faculty login details are fixed by faculty only but maintained by admin, if Sir/Madam want to change login details must be contact with admin. After login faculty can see the feedback from a student which shows only positive percentage given by a student feedback. Sir/Madam can see previous feedback result as well as present details. Sir/Madam can select specific section year, semester and also academic year and subject. The details are automatically shown in form by using faculty details maintained by a admin.

Fig7.4.1 Faculty Home

50

Fig7.4.2 Selection of Result’s

51 7.5 SAMPLE INPUT:

Subject: OST Lab

Faculty: S.Joshua Johnson

Class&Section: 3 - C

Academic year: 2018-2019

Students had given their feedback as below

ESM VBL DCI ISC

Everything is good Voice is so fast Friendly interaction In time syllabus was completed

Good Bad Bad Good

I am not satisfied with good Doubts are clarified All topics covered the explanation even outside the in time classroom

Good Very good Very good Very good

Good Good Good Good

Good Good Good Good

Table 7.5: Student Feedback

ESM:-Explanation and subject Command

VBL:-Voice and Body Language

DCI: - Doubt clearance and Interaction

ISC: - In time syllabus Coverage

52 7.6 GRAPHICAL OUTPUT:

We have the graphical output through which Faculty logins into their portal and can see the total of all marks will be calculated and according to it percentage is calculated .On this percentage basis Faculty can take print out of the summary list and keep a backup of it. The following fig shows the Graphical Representation of Students positive feedback on Faculty:

Fig 7.6: Graphical Representation of Feedback

53

7.6. SAMPLE CODE

Backend code: PYTHON CODE import pymysql connection=pymysql.connect("localhost","root","","project") cur=connection.cursor() check="no" check_test=0 sql_command=""" select * from feedback_data;""" cur.execute(sql_command) set=cur.fetchall() print(cur.rowcount) for row in set: name=row[0] subject=row[1] year=row[2] section=row[3]

ESM=row[4]

VBL=row[5]

DCI=row[6] ISC=row[7] active=row[8] data1=0 data2=0 data3=0 data4=0 obj1=TextBlob(ESM) sentiment=obj1.sentiment.polarity print(sentiment) if sentiment >= 0: data1=1 obj2=TextBlob(VBL) sentiment=obj2.sentiment.polarity print(sentiment) if sentiment >= 0: data2=1 obj3=TextBlob(DCI) sentiment=obj3.sentiment.polarity print(sentiment) if sentiment >= 0: data3=1 obj4=TextBlob(ISC) sentiment=obj4.sentiment.polarity print(sentiment) if sentiment >= 0: data4=1

54 cur.execute("select * from feedback_data_analyze") set=cur.fetchall() for row2 in set: test11=row2[0] test12=row2[2] test13=row2[3] if(test11==name and test12==year and test13==section): check_test=1

if(check_test!=1 and active=="no"): cur.execute("INSERT into

feedback_data_analyze(name1,subject1,year,section,ESM,VBL,DCI,ISC)

VALUES(%s,%s,%s,%s,%s,%s,%s,%s)",(name,subject,year,section,data 1,data2,data3,data4)) cur.execute("update feedback_data set activated='yes' where name=%s and subject=%s and year=%s and section=%s ",(name,subject,year,section)) elif(active=="yes" or check_test==1): print("hello") check_test=0 cur.execute("select * from feedback_data_analyze where name1=%s and subject1=%s and year=%s and section=%s ",(name,subject,year,section)) set=cur.fetchall() for row1 in set:

ESM1=row1[4]

VBL1=row1[5]

DCI1=row1[6]

ISC1=row1[7] print(ESM1) data1=data1+ESM1 data2=data2+VBL1 data3=data3+DCI1 data4=data4+ISC1 cur.execute("update feedback_data_analyze set ESM=%s , VBL=%s , DCI=%s , ISC=%s where name1=%s and subject1=%s and year=%s and

55 section=%s ",(data1,data2,data3,data4,name,subject,year,section) connection.commit() connection.close()

2.BACKEND CODE : PHP

$b=mysql_connect("localhost","root","") or die("ksajdflk");

//mysql_query("create database project") ; mysql_select_db("project") or die("not selected");

//mysql_query("CREATE TABLE feedback_data(name varchar(100),subject varchar(100),year int(4),section varchar(3),ESM varchar(400),VBL varchar(400),DCI varchar(400),ISC varchar(400),activated varchar(15))") or die(" nttootot2");

//mysql_query("CREATE TABLE feedback_data_analyze(name varchar(100),subject varchar(100),year int(4),section varchar(3),ESM int(100),VBL int(100),DCI int(100),ISC int(100))") or die(" nttootot2");

$i=0;

$YEAR=0;

$SECTION="";

$NAME="";

56 $SUBJECT="";

$rollnumber=$_SESSION['user'];

$query= mysql_query("SELECT year,section FROM student_data WHERE rollnumber='$rollnumber' ") ;

$numrows=mysql_num_rows($query); if($numrows!=0)

{ while($row=mysql_fetch_assoc($query)) {

$YEAR=$row['year']

$SECTION=$row['section'];

$query= mysql_query("SELECT f_name,f_subject FROM faculty_data

WHERE year=$YEAR and section='$SECTION' ") ;

$numrows=mysql_num_rows($query); if($numrows!=0) { while($row=mysql_fetch_assoc($query))

{

$NAME=$row['f_name'];

$SUBJECT=$row['f_subject'];

?>

57 * ENTER WHATEVER YOUR FEELING FREELY *

58


59

}

} else

{

?>

}

}

} else

{

?>

} ?>

60

EXPLANATION & SUBJECT COMMAND :

VOICE & BODY LANGUAGE

DOUBTS CLEARENCE & INTERACTION

INTIME SYLLABUS CLEARENCE