0% found this document useful (0 votes)
26 views

Projects 1920 C 5

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Projects 1920 C 5

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 95

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 award
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 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 Name 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 style, 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 Wall Street 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 <subj> 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, pronouns, 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, noun 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 order 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.

inventories or simple catalogs of products and services.[1]

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

<?php

session_start();

$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'];

?>

<table border="1px solid" width="200%">

57
<font size="05" color="mocha"> * ENTER WHATEVER YOUR FEELING FREELY *</font>

<tr> <td>

<font color="red" size="05"><center> <input type="hidden" placeholder="NAME"


required="required" name="name11[]" value="<?php echo $NAME;?>">

<?php echo $NAME;?></center> </font> </td> <td> </td></tr>

<tr> <td>

<font color="red" size="05"><center> <input type="hidden" placeholder="SUBJECT"


required="required" name="subject11[]" value="<?php echo $SUBJECT;?>">

<?php echo $SUBJECT;?>

</center>

</font>

</td>

<td> </td>

</tr>

<tr> <td>

<font color="green" size="05"> EXPLANATION & SUBJECT COMMAND :</font> </td>

<td> <textarea rows="4" cols="100" placeholder="COMMENT"

required="required" name="com1[]"></textarea></td> </tr>

<tr>

58
<td><font color="green" size="05"> VOICE & BODY LANGUAGE</font>
</td>

<td> <textarea rows="4" cols="100" placeholder="COMMENT"


required="required" name="com2[]"></textarea></td>

</tr>

<tr>

<td>

<font color="green" size="05"> DOUBTS CLEARENCE & INTERACTION</font>

</td>

<td> <textarea rows="4" cols="100" placeholder="COMMENT"


required="required" name="com3[]">

</textarea>

</td>

</tr>

<tr> <td>

<font color="green" size="05">INTIME SYLLABUS CLEARENCE</font>

</td>

<td> <textarea rows="4" cols="100"placeholder="COMMENT"


required="required" name="com4[]"></textarea></td> </tr>

<br />

59
<br />

<?php

} else

?><script>

alert("SOME DATA IS MISSING TRY TO CONTACT

FACULTY"); window.location.href="Student_Home.html";

</script>

<?php

} else

?><script>

alert("YOUR NOT ALLOWED TO GIVE A FEEDBACK ,YOUR

DATA NOT EXIST"); window.location.href="Student_Home.html";

</script> <?php

} ?>

60
</table>

<input type="submit" value="SUBMIT" name="sub"> <input type="reset" value="RESET"


name="reset">

</div>

</div></section>

<!-- Footer -->

<footer id="footer">

<div class="inner">

<div class="content" style="display: block;text-align:

center;"> <font face="Baskerville Old Face" size="5px"

color="#ffffff">Designed & Developed By 4/4 <b><a

href="team.html">5C</a></b> Team <br /> Department of CSE</font> </div>

<div class="copyright">

<font face="Baskerville Old Face" size="5px"

color="#ffffff"> All Rights Reserved <br />ANITS 2018-2019</font>

</div>

</div>

</footer>

61
<!-- Scripts -->

<script src="assets/js/jquery.min.js"></script>

<script src="assets/js/browser.min.js"></script>

<script src="assets/js/breakpoints.min.js"></script>

<script src="assets/js/util.js"></script> <script

src="assets/js/main.js"></script>

</body>

</html>

Frontend code:

<html>

<head>

<title>STUDENT FEEDBACK

ANALYSIS</title> <meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial- scale=1, user-scalable=no" />

<meta name="description" content="" />

<meta name="keywords" content="" />

<link rel="stylesheet" href="assets/css/font-awesome.min.css" />

<link rel="stylesheet" href="assets/css/main.css" /> <link

rel="stylesheet" href="assets/css/s1.css" />

62
<link rel="icon" type="image/jpg" href="images/res.jpg"

/> </head>

<body class="is-preload"> <!-- Header -->

<header id="header">

<a class="logo" href="index.html">ANITS</a>

<nav>

<a href="#menu">Menu</a>

</nav>

</header>

<!-- Nav -->

<nav id="menu">

<ul class="links">

<li><a href="index.html">Home</a></li>

<li><a href="team.html">About Us</a></li>

< a> Login</a></li>

</header> <!-- Banner -->

<section id="banner"> <div

class="inner"> <h1>WELCOME

TO ANITS</h1>

63
<p>ANIL NEERUKONDA INSTITUTE OF

TECHNOLOGY & SCIENCES<br /></p>

</ div>

<video autoplay loop muted playsinline

src="images/banner.mp4"></video>

</section>

<!-- Highlights -->

<section style="padding-top: 5rem;" class="wrapper">

<div class="inner"> <header class="special"> <img

src="images/hod.jpg" border="1"

height="50%" width="50%"><br>

<font face="Baskerville Old Face"

size="+3">Dr.R.Sivaranjani</font><br>

<font style="color: blue;" size="+3" face="Baskerville Old Face"> - M.Tech., Ph.D</font><br


/>

<font face="Baskerville Old Face"

size="+2">HEAD OF THE DEPARTMENT</font>

<p></p>

</header>

64
<div class="highlights">

</div>

</div>

</section>

<!-- CTA -->

<section style="padding-top: 8rem;" id="cta" class="wrapper">

<div class="inner">

</div>

</section>

<!-- Testimonials -->

<section class="wrapper">

<div class="inner" style="margin-top: 5%;">

</section>

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br/> <!-- Footer -->

<footer id="footer">

<div class="inner">

<div class="content" style="display: block;text-align: center;">

<font face="Baskerville Old Face" size="5px"

color="#ffffff">Designed & Developed By 4/4 <b><a

65
href="team.html">5C</a></b> Team <br /> Department of CSE</font>

</div>

<div class="copyright">

<font face="Baskerville Old Face" size="5px" color="#ffffff"> All Rights Reserved <br
/>ANITS 2018-2019</font> </div> </div> </footer>

FILE UPLOADATION CODE :

<?php

require('library/php-excel-reader/excel_reader2.php');

require('library/SpreadsheetReader.php');

require('db_config.php');

$setti=1;

$NAME =NULL;

$SECTION =NULL;

$YEAR=0;

$SUBJECT=NULL;

$TEST=NULL;

$P_YEAR=0;

$SEM=0;

66
if(isset($_POST['Submit']))

$mimes=['application/vnd.ms-
excel','text/xls','text/xlsx','application/vnd.oasis.opendocument.spreadsheet'];

if(in_array($_FILES["file"]["type"],$mimes))

ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);

error_reporting(E_ALL);

$uploadFilePath = 'uploads/'.basename($_FILES['file']['name']);

move_uploaded_file($_FILES['file']['tmp_name'], $uploadFilePath);

$Reader = new SpreadsheetReader($uploadFilePath);

$totalSheet = count($Reader->sheets());

echo "You have total ".$totalSheet."sheets ".

$html="<table border='1'>";

$html.="<tr>

<th>NAME</th>

<th>SUBJECT</th><

th>YEAR</th>

67
<th>SECTION</th>

<th>PRESENT YEAR</th><th>SEM</th>

</tr>";

/* For Loop for all sheets */

$i=0;

if($i<$totalSheet){

$Reader->ChangeSheet($i);

foreach ($Reader as $Row)

$html.="<tr>";

/* Check If sheet not emprt */

$NAME = isset($Row[0]) ? $Row[0] : '';

$SUBJECT = isset($Row[1]) ? $Row[1] : 0;

$YEAR = isset($Row[2]) ? $Row[2] :

''; $YEAR=(int) $YEAR;

$SECTION = isset($Row[3]) ? $Row[3] : '';

$P_YEAR= isset($Row[4]) ? $Row[4] : '';

$SEM= isset($Row[5]) ? $Row[5] : '';

if($NAME!=Null)

68
{

$html.="<td>".$NAME."</td>";

$html.="<td>".$SUBJECT."</td>";

$html.="<td>".$YEAR."</td>";

$html.="<td>".$SECTION."</td>";

$html.="<td>".$P_YEAR."</td>";

$html.="<td>".$SEM."</td>";

$i=$i+1;

//for each closed

$html.="</tr>";

if($NAME!=NULL)

if($NAME!=NULL && $SUBJECT!=NULL

&& $YEAR>0 && $YEAR<5 && $SECTION!=NULL && $P_YEAR>1000 && $SEM>0 )

$query = ("insert into


faculty_data(f_name,f_subject,year,section,present_year,sem)
values('".$NAME."','".$SUBJECT."','".$YEAR."','".$SECTION."','".$P_YEAR."','".$SEM."')")
or die("120120");

$mysqli->query($query);

69
}

else

echo "namaste";

?>

<script>

alert("DATA IN THE FILE SHOULD BE AS FOR THE INSTRUCTIONS


FORMAT");

window.location.href="upload_file_faculty.php";

</script>

<?php

}//foreach loop

}//total_sheet if is closed

$html.="</table>";

echo $html;

?> <script>

alert("FILE UPLOADED SUCCESSFULLY");

70
CHAPTER 8. CONCLUSION AND FUTURE SCOPE

In this paper we have discussed about the sentiment analysis in detail. Sentiment Analysis deals
with evaluating whether this expressed opinion about the entity has a positive or a negative
orientation. Sentiment Analysis problem has been a research interest for recent years.
Sentimental analysis is an emerging field of data mining used to extract the knowledge from a
huge volume of customer comments, feedback and reviews on any product or topic etc. A lot of
work in opinion mining in customer reviews has been conducted to mine opinions in form of
document, sentence and feature level sentiment analysis. In future, Sentiment analysis can be
carried out on set of discovered feature expressions extracted from reviews. The Sentiment
analysis and in natural language processing community, Sentiment Analysis become a most
interesting research area. A more innovative and effective techniques needed to be invented
which should overcome the current challenges faced by Sentiment Analysis.
Although several notable works have come in this field, a fully automated and highly efficient
system has not been introduced till now. This is because of the unstructured nature of natural
language. The vocabulary of natural language is very large that things become even hard. Several
challenges still exist in the field of machine learning and some of them are Named entity
Recognition, Co reference Resolution, domain dependency etc. These problems have to be
tackled separately and those solutions can be used to improve the methods to do sentiment
analysis.

71
REFERENCES

[1] Student Feedback Mining System Using Sentiment Analysis Prabu Palanisamy, Vineet
Yadavand Harsha Elchuri “ Simple and Practical lexicon- based approach to Sentiment
Analysis”,pp.october- 2017

[2] K.P.Mohanan, the place of student feedback in teaching evaluation


http://www.cdtl.nus.edu.sg/publications/studfeedback/StudFeedback_Teach Quality.pdf

[3] Khin Zezawar Aung,"Analysing Sentiment in Student-Teacher Textual Comments


Using Lexicon Based Approach".pp.29-06,2017.

[4] M. A. Ullah,” Sentiment analysis of students feedback: a study towards optimal


tools”, International Workshop on Computational Intelligence (IWCI), pp. 17-10,
2016.

[5] R Mehana,"Student feedback mining system adopting sentiment


analysis", https://ijcat.com/archives/volume6/issue1/ij catr06011009.pdf.

[6] Tanvi Hardeniya, Dilipkumar A.Borikar “Dictionary-Based approach to Sentiment


analysis”,pp.may,2016.

[7] Z Nasim, Q Rajput, S Haider. “Sentiment Analysis of Student Feedback Using Machine
Learning and Lexicon Based Approaches” , pp.1-6, 2017.

[8] Bhagyashree Gore “Sentiment Analysis of Parent Feedback” to guage their Satisfaction
Level, pp.march, 2018.

[9] Sajjad Haider and Sayeed Ghani “Lexicon-Based Sentiment Analysis of Teachers’
Evaluation”, pp.october, 2016.

[10] A. Rashid, “Feature level opinion mining of educational student feedback data using
sequential pattern mining and association rule mining,” International Journal of
Computer Applications (0975-8887). 81 (10), pp. 31-38, 2013.

72
[11] A. Sagum, Jessiree Grace M. de Vera, Prince John S. Lansang, Danica Sharon R.
Narciso and Jahren K. Respeto, “Application of Language Modelling in Sentiment
Analysis for Faculty Comment Evaluation,” Proceedings of the International Multi Conference of
Engineers and Computer Scientists, vol.1, March 2015.

[12] H. Saif, M. Fernandez, Y. He, and H. Alani, “Evaluation datasets for twitter sentiment analysis,” in
Proceedings of the 1st International Workshop on Emotion and Sentiment in Social and Expressive

Media (ESSEM) in Conjunction with AI∗IA Conference, Turin, Italy, 2013


Sentiment Analysis of Students’ Comment Using
Lexicon Based Approach
(BASE PAPER)

Khin Zezawar Aung Nyein Nyein Myo


University of Computer Studies, Mandalay University of Computer Studies, Mandalay
Mandalay, Myanmar Mandalay, Myanmar
[email protected] [email protected]

Abstract— In education system, students’ feedback is important scale by statistical techniques, but it is difficult to interpret the
to measure the quality of teaching. Students’ feedback can be qualitative data from the students' comments[14]. Most
analyzed using lexicon based approach to identify the students’ researchers on teacher evaluation focused to quantitative data but
positive or negative attitude. In most of the existing teaching ignored qualitative data. However, the personal answers from
evaluation system, the intensifier words and blind negation words open-ended questions contain the sentences or phrases regarding
are not considered. The level of opinion result isn’t displayed:
the teaching methods. The processing of qualitative data analysis
whether positive or negative opinion. To address this problem, we
propose to analyze the students’ text feedback automatically using
is very important and it can enhance the teacher evaluation
lexicon based approach to predict the level of teaching effectiveness[9].
performance. A database of English sentiment words is created as a This paper is organized as follows. In Section 2, the relevant
lexical source to get the polarity of words. By analyzing the previous work on sentiment analysis in education domain is
sentiment information including intensifier words extracting from presented. The methods in sentiment analysis are discussed in
students’ feedback, we are able to determine opinion result of section 3. Section 4 describes the construction of sentiment word
teachers, describing the level of positive or negative opinions. This database for teaching evaluation. Section 5 presents the
system shows the opinion result of teachers that is represented as to
architecture of our proposed system. The next section presents
whether strongly positive, moderately positive, weakly positive,
strongly negative, moderately negative, weakly negative or neutral.
the case study and results of the teaching evaluation. Finally, we
conclude the paper in section 7.
Keywords— opinion mining; sentiment analysis; teaching
evaluation; students’ comments; lexicon based II. RELATED WORKS
Sentiment analysis has been studied in wide area of domain
I. INTRODUCTION such as movie review, teaching review [1] [4] [13], product
Opinion mining is a process for tracking the mood of the review [11], e-learning[2], hotel review and many more. Most
people about any particular topic by review. In general, opinion scholars focused to quantitative data analysis. However, some
may be the result of people’s personal feelings, beliefs, studies have been done on qualitative data using sentiment
sentiments and desires etc. Most of the opinion mining research analysis[14], we found six works that mentioned the idea of
has focused on business and e-commerce applications, such as using opinion mining and sentiment analysis in education.
product reviews, hotel review and movie ratings etc. This El-Halees [1] proposed course evaluation model using
research work focus on students’ feedback comments. Feedback students’ attitudes posted on discussion forum written in Arabic
analysis is more important to measure the performance of language to improve course evaluation. Naive Bays, k-nearest
teacher. Analyzing students’ comments using sentiment analysis and Support Vector Machine are used in opinion classification.
approaches can classify the students’ positive or negative To extract the features for each course, the author used Gate
feelings. Students’ feedback can highlight various issues Information Extraction tool and Rapidminer data mining tool to
students may have with a lecture [8]. Sometimes students do not classify the students’ posts. The experimental result shows that
understand what the lecturer is trying to explain, thus by Naive Bays method has better performance than the other two
providing feedbacks, students can indicate this to the lecturer. methods. Their system calculates the positive or negative
The answers of student evaluation consist of quantitative and orientation by computing the difference between the number of
qualitative data collected by two question types; the quantitative positive and negative adjective words. The author didn’t
data was collected by close-ended questions as multiple choices consider the score of opinion words. This work suggests the
and the qualitative data was collected by open-ended questions effectiveness of user-generated content to improve course
as comments and suggestions from student opinions in textual evaluation.
form. It is easy to analyze quantitative data in numerical rating

978-1-5090-5507-4/17/$31.00 ©2017 IEEE 149


ICIS 2017, May 24-26, 2017, Wuhan, China
Rashid [3] presents frequent features and opinion words teacher evaluation. The target of automatic sentiment analysis is
extraction from students’ feedback dataset on faculty improving the better accuracy result of sentiment classification
performance evaluation using two pattern mining algorithm; and summarization. However, current works considered the
e.g., sequential pattern algorithms (Apriori) and Generalized sentiment analysis into three classes; positive, negative and
Sequential Pattern (GSP). This study considered Noun and neutral. None of the methods above considered the level of
Adjective extraction. They compared two algorithms. Their student's opinion.
evaluated results showed that GSP is more significant than
Apriori for frequent features and opinion words extraction. III. METHODS IN SENTIMENT ANALYSIS
Furthermore, Jagtap and Dhotre [6] demonstrate the effective There are two main approaches for sentiment analysis:
method of automated sentiment analysis from teacher feedback machine learning based and lexicon based. Machine learning
assessment using Hidden Markova Model and Support Vector based approach uses classification technique to classify text.
Machine. The authors only discussed the effective method Lexicon based method uses sentiment dictionary with opinion
concepts. There has been no experimental result. words and match them with data to determine polarity. They
LI Caiqiang and Ma Junming [10] perform online education assign sentiment scores to the opinion words describing how
teacher evaluation model based on opinion mining. They collect Positive, Negative and Objective the words contained in the
the students’ comments written in Chinese language published dictionary are. Lexicon based approach involves calculating the
in the LMS (learning management system) by using web orientation of words or phrases [16].
crawler. They didn’t indicate the words polarity strength in their
work. If sentiment words of subjective text are not in the A. Lexicon Based Approach
polarity word dictionary, they used pointwise mutual In this approach, opinion words are divided in two
information (PMI ) method to judge the polarity of it. This categories. Positive opinion words are used to express some
model gets an overall evaluation of each teacher. necessary things, and negative opinion words are used to
Ortigosa, Martin and Carro [2] proposed other sentiment describe unnecessary things.
analysis approach for e-learning environment using a combined
method of Spanish lexical based and machine learning B. Dictionary Based Approach
techniques. In their experiment, combination of lexicon based One of the simple techniques in this approach is based on
techniques and SVM obtained the highest accuracy (83.27). In bootstrapping using a small set of seed opinion words and an
the context of e-learning, it is possible to extract information online dictionary, e.g., WordNet. The strategy is to first collect a
about the student’s sentiments from the messages they write in small set of opinion words manually with known orientations,
Facebook, the students’ sentiments towards a course can serve and then to grow this set by searching in the WordNet for their
as feedback for teachers, especially in the case of online synonyms and antonyms. The newly found words are added to
learning. However, this work still has the limitation of the the seed list. The next iteration starts. The iterative process stops
sentiment analysis, all the words tagged as the same polarity get when no more new words are found. After the process
the same score, all positive words get the score = 1, all negative completes, manual inspection can be carried out to remove
words get the score = -1 and all neutral words get the score = 0. and/or correct errors [7].
They did not assign different weights to different words; bad and
very bad are assigned the same score. C. Corpus Based Approach
Similar to Pong-inwong and Rungworawut [9] proposed the Using the corpus based approach alone to identify all
construction of teaching evaluation sentiment lexicon for an opinion words, however, is not as effective as the dictionary-
automated sentiment polarity. Their work consists of two parts, based approach because it is hard to prepare a huge corpus to
first part is data preparation and second part is data modelling cover all English words [7]. But it can help to find domain and
and evaluation. The authors chose ID3, Naïve Bayes and SVM context specific opinion words using a domain corpus which is
to classify the teaching sentiment evaluation. Their experimental the huge advantage of this method. The corpus-based approach
result shows that SVM has the highest accuracy of other two is performed in statistical approach or semantic approach.
methods. In this work, the weight score of terms was defined by
an expert who has experience in teaching evaluation. The IV. SENTIMENT WORD DATABASE CONSTRUCTION
sentiment weight was ranged from -1.00 to 1.00. Their proposed
This section presents the construction of sentiment word
method couldn’t consider the intensifier word and was
constructed in Thai language. database. The lexicon can be created either manually [12] or
expanding automatically from a seed of words. In our lexicon
As mention above it is possible to perform sentiment the synonym is considered as a positive word and antonym is
analysis in students' textual feedback. The application of considered as a negative word [14]. In our work, the score of
sentiment analysis in students' comment was used in various opinion words are defined by two experts who have experience
objectives; teaching evaluation, course-online evaluation and in teaching evaluation. It is verified that the reliability of the

150
score of opinion words are given by a language expert from the teaching review domain. For example ‘I understand her teaching
Department of Languages, the University of Computer Studies, but speed of presentation is very fast for other students’. In this
Mandalay. sentence ‘fast’ is negative opinion (-1) and ‘very’ depicts
There are 745 words in sentiment word database. Total intensifier word that increased by 50%. The sentiment word
intensifier words are 24, total positive words are 448 words and database contains the scores of the polarity of every word. Some
total negative words are 263 words, the remaining words are words are not included in existing lexicon. The polarity of some
neutral words. The sentiment score ranges from -3 to +3. The words written by students in teaching review needs to add in
sentiment lexicon. Consider the following sentences in students’
score ranging from 1 to 3 are considered as positive; whereas
feedback.
any negative score ranging from -1 to -3. The sentiment score
equals to zero is considered as neutral category. Some example “She can’t explain the theory in detail.”
words are shown in Table 1.
“She doesn't have interactive teaching with her students
while teaching.”
TABLE I. SAMPLE WORDS IN SENTIMENT WORD DATABASE
“Our teacher is very helpful, knowledgeable. We can ask her
Example Opinion Words about our lessons outside the class.”
Opinion word Score Description
“She is a practiced teacher in C ++ programming.”
care +2 verb
“His calculation idea in programming is complex.”
useful +2 adjective
“We feel sleepy while he teaching.”
helpful +2 adjective
“She always gives complicated questions in exam.”
clear +2 adjective, verb
“Her teaching speed is fast for other student but I understand
good +2 adjective, verb
her teaching.”
joyful +1 adjective
“Her voice is very low.”
marvellous +3 adjective
“Available outside the class”
brilliant +3 adjective
“Over serious while explaining.”
ordinary 0 adjective
The words “explain, interactive, ask, understand, practiced,
complex -3 adjective knowledgeable, available, slow, fast, talented, complex,
confuse -3 verb complicated, sleepy, overcome, concern, etc.” need to consider
as opinion words to get the correct opinion result. Some words
normal 0 adjective are not included in Afinn lexicon [5]and Vader lexicon.
complicated -3 adjective 1) Negation words: The negation words are the words which
sleepy -2 adjective reverse the polarity of sentiment[15], changing good (+2) into
not good (-2). (e.g. no, not, neither, nor, nothing, never, none)
fast -1 adjective are very important in identifying the sentiments, as their
daily 0 adjective presence can reverse the polarity of the sentence. In the proposed
approach, whenever a negation word is encountered in a
most +100% Intensifier
comment, the opinion score is reversed by a certain amount.
slightly -50% Intensifier 2) Blind negation words: (e.g. Need, needed, require,
really +25% Intensifier required) are also very important in identifying the sentiments.
For example ‘Her teaching method needed to be better’, ‘better’
little -50% Intensifier
depicts a positive sentiment but the inclusion of the blind
very +50% Intensifier negation word ‘needed’ suggests that this sentence is really
easily +25% Intensifier depicting negative sentiment. In the proposed approach
whenever a blind negation word occurs in a sentence its polarity
is immediately labeled as negative and assigned the opinion
Same word in different domains can have different score to (-2).
meanings. In our lexicon ‘fast’ is negative opinion and its 3) Adjective, adverb, verb, noun words: Most of the opinion
polarity score is -1. For example ‘I feel IPAD2 is fast running words are adjective. Our dictionary contains several different
speed and higher screen resolution’. In this sentence ‘fast’ is the adjectives, adverb, verb and noun. For example ‘She is
positive opinion in phone review domain but negative opinion in knowledgeable. Her discussions are interesting. I understand her

151
teaching’. In this sentence ‘knowledgeable’ and ‘interesting’ are next step is preprocessing that removes the unwanted and noisy
positive adjective opinion words, ‘understand’ is a positive verb data. This step includes case conversion, split sentences, replace
opinion. “n’t” with “not”, punctuation removal, tokenization.
4) Intensifier words: They are classified into two major The next step is opinion word identification. This system
categories, depending on their polarity. Amplifiers (e.g., very) compares each tokenized word in the comment with blind
increase the semantic intensity of a neighboring lexical item, negation word or negation word or positive opinion word or
whereas down toners (e.g., slightly) decrease it [12]. For negative opinion word or intensifier word by using sentiment
example, “Her explanation is really very good”. In this sentence word database. And then the polarity scores are assigned to each
‘really and very’ are intensifiers that increase the positive word by using sentiment word database. The presence of the
sentiment polarity. blind negation word indicates negative sentiment value (-2).
A heuristic technique is used to calculate the semantic
V. SYSTEM ARCHITECTURE orientation score of combining words for automated students'
feedback comments analysis. In the following equations, ‘Ws’ is
Students’ feedback the semantic orientation score of combining words. ‘Sinf’ is the
comment intensifier value of word based on 100%. ‘Os’ is the score of
opinion word from sentiment word database.

Ws=Os (1)
Preprocessing
Ws=(100%+Sinf) * Os (2)

Opinion word Ws=(100%+Sinf) * (100%+Sinf) * Os (3)


Sentiment
identification word Ws=Ws * (-1) (4)
Database If there is only one opinion word in a sentence, the
corresponding positive scores or negative scores are assigned
using (1). If one intensifier word and one opinion word are
Assign polarity found together, i.e. the location of intensifier word is adjacent
scores with the location of opinion word, (2) is used to get the semantic
orientation score of combining words. If two intensifier words
and one opinion word are found in a sentence, moreover the
index of first intensifier word must be the index by reducing two
Calculate total of the index of opinion word, (3) is used. If a negation word in
sentiment score front of the opinion word is found in a sentence, reversed
polarity scores are given by (4).
The semantic orientation score of combining words in all
sentences are summed up to get the total polarity scores by (5).
Calculate the average polarity In (5), ‘PTs’ is the total polarity score of all words in all
scores of all sentences sentences from one comment. ‘Wsi’ is the semantic orientation
score of combining words for ith term in one comment. ‘i’ is the
order of combining opinion words from 1 to n. ‘n’ is the total
number of combining opinion words in all sentences from one
comment. ‘T’ is set of teaching sentiment terms from sentiment
Show the
opinion result word database. ‘PTsi’ is the total polarity score of ith term for all
comments. ‘N’ is the total number of opinion words in all
comments. ‘P’ is the average polarity scores of all comments.
Fig. 1. The model of sentiment analysis
, (Wsi T) (5)
Fig. 1 shows the model for sentiment analysis of students’
feedback comments using lexicon based approach. Initially, we (6)
gathered comments from the Faculty Evaluation Survey for The average polarity score of all comments can be calculated
University of Computer Studies, Mandalay, Myanmar. We used by (6).
this comments as an input. Input texts were the students’
comments for their teachers, which were composed of one or If P>0 or <=1, the opinion result is defined as weakly
more sentences connected to a course and teaching style. The positive. If P>1 or <=2, the opinion result is defined as

152
moderately positive. If P>2, the opinion result is defined as
strongly positive. If P<0 or >= (-1), the opinion result is defined
as weakly negative. If P< (-1) or >= (-2), the opinion result is
defined as moderately negative. If P< ( -2), the opinion result is
defined as strongly negative. If P=0, the opinion result is defined
as neutral.

VI. CASE STUDY AND RESULTS


We tested the effectiveness of this system using the feedback
comments of fourth year students from BIS (Business
Information System) specialized students, HPC (High
Performance Computing) specialized students, SE (Software
Engineering) specialized students, KE (Knowledge Engineering)
specialized students in our University. In this section, three
comments are tested for sample calculation based on the same
Fig. 2. Opinion result of teachers using two lexicon
teacher. The opinion result of all comments is classified as
strongly negative, or moderately negative, or weakly negative, Afinn is an English word list rated for valence with an
or strongly positive, or moderately positive, or weakly positive integer between -5 (negative) and +5 (positive). The words in
or neutral. Afinn have been manually labeled by Finn Arup Nielsen in
Comment 1: She is very knowledgeable. Her discussions are 2009-2011[5]. Afinn lexicon can’t identify the students’
very interesting and easily understand. comment including the words, “explain, interactive, ask,
Comment 2: She is a helpful teacher. But her teaching speed is understand, practiced, knowledgeable, available, slow, fast,
very fast. Her voice is also very low. talented, complex, complicated, sleepy, overcome, etc.”. Some
Comment 3: Her explanations are clear. Her class notes and of the above words are included in the reviews of teacher 2. So
outlines are very useful. She gives enjoyable discussion. the opinion result of teacher 2 using Afinn lexicon is neutral.
There are three opinion words in comment 1. The opinion The opinion result of teacher 2 using our lexicon is weakly
score calculation of comment 1 is very knowledgeable (2× positive. The opinion result depends on the opinion words in
[100%+50%])=3 by (2), very interesting (2× [100%+50%])=3 students’ comments. Some scores of opinion words in our
by (2), easily understand (2× [100%+25%])=2.5 by (2). The lexicon and Afinn lexicon are a little different. If the scores of
total opinion scores in comment 1 is 3+3+2.5=8.5 by (5). opinion words are the same in both lexicons, the opinion result
There are three opinion words in comment 2. The opinion is the same. If the scores of opinion words in both lexicons are
different slightly, the average polarity score will be different.
score calculation of comment 2 is helpful =2 by (1), very fast (-
Although the average polarity scores of teacher 1,3,4,7,8,9,10,11
1× [100%+50%]) =-1.5 by (2), very low (-2× [100%+50%]) = (-
are slightly different from using two lexicons, the opinion results
3) by (2). The total opinion scores in comment 2 is 2+ (-1.5) + (- are same because these scores are found within the predefined
3) = (-2.5) by (5). ranges. The opinion result of teacher 2, 5, 6 using two lexicons
There are three opinion words in comment 3. The opinion are different because the scores of opinion words are different.
score calculation of comment 3 is clear =2 by (1), very useful Table 2 shows the average polarity score of twelve teachers
(2× [100%+50%]) =3 by (2), enjoyable=1 by (1). The total using our lexicon and Afinn lexicon.
opinion scores in comment 3 is 2+ 3 + 1 = 6 by (5).
So total opinion scores of all comments are 8.5+ (-2.5) TABLE II. COMPARISON OF AVERAGE POLARITY SCORE USING TWO
+6=12 by (5) and divided by total number of opinion words in LEXICON
all comments. The result is 12/9=1.3333 by (6). So the opinion
Average Polarity Score of all Comments
result of three feedback comments about the teacher is Teacher Average Polarity Score Average Polarity Score
moderately positive. Name Using Our Lexicon Using Afinn Lexicon
We tested the students’ comments of some teachers from our Teacher 1 0.02 (weakly positive) 0.69 (weakly positive)
University using our lexicon and Afinn lexicon [5]. Among
Teacher 2 0.2 (weakly positive) 0.0 (neutral)
them, the opinion results of twelve teachers are displayed in
Fig.2. Teacher 3 -2.6 (strongly negative) -2.25 (strongly negative)

Teacher 4 2.17 ( strongly positive) 2.33 ( strongly positive)


1.65 ( moderately
Teacher 5 2.42 ( strongly positive)
positive)
-1.17 ( moderately
Teacher 6 -1 (weakly negative)
negative)

153
Average Polarity Score of all Comments [4] A. Sagum, Jessiree Grace M. de Vera, Prince John S. Lansang, Danica
Teacher Average Polarity Score Average Polarity Score Sharon R. Narciso and Jahren K. Respeto, “Application of Language
Name Using Our Lexicon Using Afinn Lexicon Modelling in Sentiment Analysis for Faculty Comment Evaluation,”
Proceedings of the International Multi Conference of Engineers and
Teacher 7 3.0 ( strongly positive) 3.17 ( strongly positive) Computer Scientists, vol.1, March 2015.
Teacher 8 1.9 (moderately positive) 1.93 (moderately positive) [5] AFINN word database an affective lexicon by Finn Årup Nielsen,
http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/6010/zip/im
1.78 (moderately m6010.zip.
Teacher 9 1.64 (moderately positive)
positive)
[6] B. Jagtap and V. Dhotre, “SVM and HMM based hybrid approach of
Teacher 10 2.83 ( strongly positive) 2.46 ( strongly positive) sentiment Analysis for Teacher Feedback Assessment,” International
Journal of Emerging Trends of technology in computer science. (IJETCS).
Teacher 11 2.32 ( strongly positive) 2.21 ( strongly positive) 3 (3), pp. 229-232, 2014.
Teacher 12 2.14 ( strongly positive) 2.14 ( strongly positive) [7] B. Liu, “Sentiment analysis and subjectivity,” Handbook of natural
language processing, pp. 627-666, 2010.
[8] C. Pong-inwong and W. Rungworawut, "Teaching Evaluation Using Data
VII. CONCLUSION
Mining on Moodle LMS Forum" , 6th International Conference on New
In this paper, lexicon based sentiment analysis is used to Trends in Information Science, Service Science and Data Mining
evaluate the level of teaching performance from students’ (Issdm2012), Taipei: IEEE, 2012, pp. 550–555.
[9] C. Pong-inwong, & W. Songpan (Rungworawut), “TeachingSenti-Lexicon
textual feedback comment. A database of English sentiment for Automated Sentiment Polarity Definition in Teaching Evaluation,” 10th
words is constructed to identify the polarity of words as a lexical International Conference on Semantics, Knowledge and Grids (SKG),
source. Our sentiment word database contains the opinion words Beijing: IEEE, pp. 84-91, 2014.
concerning with the academic domain to achieve the better [10] L. Caiqiang, and M. Junming, “Research on online education teacher
result. Every opinion word in the database is given a value. The evaluation model based on opinion mining,” National Conference on
Information Technology and Computer Science (CITCS), 2012.
sentiment value is ranged from -3 to +3. This paper proposes the
[11] L. V. Avanco, M.G.V.Nunes, “Lexicon-based Sentiment Analysis for
level of teaching evaluation method based on lexicon based Reviews of Products in Brazillian Portugues,” 2014 IEEE Brazillian
approach. This method analyzes automatically the students’ Conference on Intelligent Systems, 2014, pp. 277-281, 2014.
feedback comments to strongly negative, or moderately [12] M. Taboada, J. Brooke, M. Tofiloski, K. Voll and M. Stede, “Lexicon-
negative, or weakly negative, or strongly positive, or moderately based methods for sentiment analysis,” Association for Computational
positive, or weakly positive or neutral category using two Linguistics, vol. 37, Issue 2, pp. 267-307, June 2011.
[13] N. Altrabsheh, M. Cocea, S. Fallahkhair, “Sentiment analysis: towards a
lexicons. The level of opinion result for any teacher is given out tool for analyzing real-time students feedback,” 2014 IEEE 26th
from students’ feedback comments. Internationaal Conference on Tools with Artificial Intelligence, pp.419-
423, 2014.
[14] P. Kaewyong, A. Sukprasert, N. Salim and F.A. Phang, “The possibility of
References students’ comments automatic interpret using Lexicon based sentiment
analysis to teacher evaluation,” 3rd International Conference on Artificial
[1] A. El-Halees, “Mining opinions in user- generated contents to improve Intelligence and Computer Science (AICS2015), pp. 179-189, 2015.
course evaluation,” Software Engineering and Computer Systems, pp. 107- [15] P. Palanisamy, V. Yadav, H. Elchuri, “Serendio: Simple and Practical
115, 2011. lexicon based approach to Sentiment Analysis,” Seventh International
[2] A. Ortigosa, J.M. Martín and R.M. Carro, “Sentiment analysis in Facebook Workshop on Semantic Evaluation (SemEval 2013), (2), pp. 543-548,
and its application to e-learning,” Computers in Human Behavior, 31(1), 2013.
pp. 527-541, 2014. [16] P.T.Ngoc, M.Yoo, “The Lexicon-based Sentiment Analysis for Fan Page
[3] A. Rashid, “Feature level opinion mining of educational student feedback Ranking in Facebook,” 2014 IEEE International Conference on
data using sequential pattern mining and association rule mining,” Information Networking (ICOIN), Phuket, pp. 444-448, 2014.
International Journal of Computer Applications (0975-8887). 81 (10),
pp. 31-38, 2013.

154
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

( PUBLISHED PAPER)

Analysis of Student Feedback on Faculty Teaching Using Sentiment


Analysis and NLP Techniques
M. Ravi Varma1, R. Venkatesh2, S.V. Pavan3, P. Sai Teja4
Students [1][2][3][4], Dept of Computer Science Engineering, ANITS, Andhra Pradesh, India
---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - In education system, student’s feedback is very different areas to be thought of for evaluating a college like
important to live the teaching traditional. Students feedback teaching, advising and analysis and critical activities. the
area unit usually analyzed victimization lexicon primarily foremost necessary advantage of this analysis is that the
based approach to spot the scholars positive or negative angle. feedback the forms offer on to instructors, so they'll refine
the foremost objective of this analysis is to analysis the the courses and teaching practices to produce students
student’s feedback and acquire the opinion. In most of the with higher learning experiences.
prevailing teaching analysis system, the qualifier words and This analysis shows the utilization of sentiment analysis to
blind negation words aren't thought of. The extent of opinion gauge the student’s narrative comment within the analysis
result isn’t displayed-whether positive or negative opinion. To of their various school. the remainder of the paper is
traumatize this downside, we've got a bent to propose to organized as follows: Section 2 presents a review of
analysis the scholars text feedback automatically victimization literature; planned methodology is conferred in Section 3;
lexicon-based approach to predict the extent of teaching Section 4 describes the development of sentiment word
performance. To extend the accuracy of the sentiment price, the information for teaching analysis. Section 5 presents the
comments undergone polarity identification, negation tagging, design of our planned system. Section 6 presents the case
and intensity multiplication, taking into thought the terms study and results of the teaching evaluation; and therefore,
close a given word. the final chapter presents the conclusion.

Key Words: Sentiment analysis, lexicon based,


dictionary based, corpus based, qualitative II. RELATED WORKS
information, quantitative information.
The following are the variety of the work’s on Student
feedback using sentiment Analysis.
I. INTRODUCTION • Tanvi Hardeniya and Dilipkumar A.Borikar[8] in 2016 self-
Sentiment analysis is additionally a way for tracing the addressed the Dictionary- Based strategy to Sentiment
ambiance of the people concerning any specific topic by analysis. They reviewed on sentiment analysis is completed
reviews. Generally, opinion is additionally the results of and so the challenges and problems concerned inside the
people’s personal feelings, beliefs, opinions, sentiments and method are mentioned. The approaches to sentiment analysis
desires etc. This analysis work concentrates on student’s mistreatment dictionaries like SenticNet,SentiFul,
comments and Analysing student’s comments pattern SentiWordNet, and WordNet are studied. Lexicon-based
sentiment analysis approaches and will classify the scholars approaches are economical over a website of study. though a
positive or negative feeling. Student’s feedback can highlight generalized lexicon like WordNet might even be used, the
varied issues that students might have with a lecture. accuracy of the classifier gets affected due to problems like
Typically, students don't understand what the lecturer is negation, synonyms, sarcasm, etc. This has provided impetus
creating a shot to elucidate, therefore by providing feedback, to substantial growth of online buying creating opinion
student’s candidate this to the lecturer. The Input we've got a analysis a very important issue for business development.
bent to require is qualitative info instead of quantitative info.
the method of qualitative info analysis is awfully necessary • Another Approach was developed by Bhagyashree Gore
and it'll enhance the teacher analysis effectiveness. supported Lexicon based mostly Sentiment Analysis of
The taking of feedback plays a awfully vital role within the Parent Feedback to gauge their Satisfaction Level [10] in
lifetime of students additionally because the academics. the 2018.They used lexicon based mostly approach and
scholars offer the feedback therefore to convey what's the computing of polarity values. throughout this approach
distinction between the particular teaching that is presently they produce a lexicon of words with opinion score
going down in schools and what variety of teaching students assigned to that.
very want for. These feedbacks show the school their overall
performance in their specific subjects. they'll improve their • R Mehana from Dr.Mahalingam school of Engineering and
teaching consequently then school analysis is that the method Technology Pollachi, Tamlinadu, india[6] developed Student
of gathering and process knowledge to live the effectiveness feedback mining system adopting sentiment analysis in
of teaching. There square measure totally 2017.They projected a system to mine the feedback given by
the students and acquire information from that and gift that

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 1
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

info in qualitative method. they have known the frequency accustomed describe surplus things. the method started with
of each word and extract the topic that has the perfect the pre-processing of the input texts were the comments for
frequency count. Similar comments in every topic are the school, that were composed of 1 or several sentences
clustered then the clustered words are classified into connected to a precise person, specifically a academic. For
positive or negative comments. this project, the comments were assumed to be correct in
terms of writing system and synchronic linguistics.
• S. MacKim and R. A. Calvo projected Sentiment analysis
in student experiences of learning [7] in 2016.they Classify IV. SENTIMENT WORD DATABASE CONSTRUCTION
the text supported the presence of unambiguous have an
effect on words. In their approach, a bit set of opinion Throughout this paper we have a tendency to learned
words is collected manually as a seed. They have a transient description regarding the strategies that we have
sentiment lexicon contains a listing of words aboard their a tendency to adopted to extract the key words from the
individual polarity. many like corpora are developed and student’s feedback document. They are:
that they created freely out there. 1. Tokenization
Tokenization is that the act of ending a sequence of strings
• Other interesting approach of Sentiment Analysis was into things like words, keywords, phrases, symbols and
presented in the work of M. A. Ullah [5] wherein they totally different elements named as tokens. Tokens will be
extract sentiments with polarities of positive and negative individual words, phrases or perhaps whole sentences.
for specific subjects from a document, instead of within the strategy of tokenization, some characters like
classifying if the document is positive or negative. In this punctuation marks square measure discarded.
paper, they applied semantic analysis with a syntactic
parser and semantic lexicon which gave them a high 2. Stop word removal
precision of 75% to 95% in finding the sentiments within Stop words square measure words that square measure
web pages and news articles. filtered out before or once method of tongue info. These
words square measure removed to extract only the pregnant
information. The list of stop words may even be ' the, is, at,
III. METHODS IN SENTIMENT ANALYSIS
which, on, who, where, how, hi, before, when’ etc.
There are two main approaches for lexicon based in
Sentiment analysis:
A. Corpus based Approach
Using the corpus-based approach alone to identify all
opinion words, however, it is not as effective as a result of
the results of the lexicon-Based approach as a result of it's
arduous to rearrange an outsized corpus to cover all
English words. however, it's going to facilitate to hunt out
domain and context specific opinion words using an online
website corpus that is that the big advantage of this
methodology. The corpus-based approach is performed in
arithmetic approach or linguistics approach. Fig 4.1: Diagram of proposed System

B. Dictionary based Approach We projected a system to mine the feedback given by the
One amongst the simple techniques throughout this approach scholars and procure data from that and gift that info in
is supported bootstrapping pattern slightly set of seed qualitative approach. Feedback was collected for a course;
opinion words and a web reference, e.g., WordNet. The those feedback were pre-processed victimization text process
strategy is to initial collect slightly set of opinion words techniques. In preprocessing, the feedback files square
manually with celebrated orientations then to grow this set measure generated as a file. The file is tokenized into
by making an attempt inside the WordNet for his or her sentences and also the keywords square measure listed when
synonyms and antonyms. The modern found words unit of removing the stop words. we've known the frequency of
activity supplementary to the seed list. ulterior iteration every word and extract the subject that has the best
starts. The repetitious technique stops once no additional frequency count. Similar comments in every topic square
new words unit of activity found. once the manoeuvre measure clustered then the clustered words square measure
completes, manual examination unit of activity usually classified into positive or negative comments. The classified
administered to urge obviate and/or correct errors. comments square measure generated as a chart for
During this approach, opinion words unit of activity divided straightforward visualization. This method of planned system
in an exceedingly combine of classes. Positive opinion words started with the pre-processing of the input texts were the
unit of activity accustomed categorical some necessary things, comments for the school, that were composed of 1 or several
and negative opinion words unit of activity sentences connected to a precise person, specifically a
academic. For this project, the comments were

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 2
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

assumed to be correct in terms of writing system and equals to zero (0), it's thought of as neutral class. Some
synchronic linguistics. example words are shown in below Table 4.1.1.

3. Classification of information
Classification is that the strategy of organizing info into
categories for its best and economical use. A well-planned
info arrangement makes essential info straightforward to
hunt out and retrieve. this will be of specific importance
for risk management, legal discovery, and compliance.
Faculty matter Comments exploitation Lexicon based
Approach throughout this paper we've got a bent to
learned concerning varied lexicons that unit won’t to urge
the opinion of student analysis. The lexicon- based
approach depends on opinion (or sentiment) words, that
unit words that express positive or negative sentiments.
choosing the sentiment lexicon to just accept is
extraordinarily necessary. the following section describes
some common sentiment lexicon.

Liu Lexicon: Liu lexicon consist to facet of around 6800


English words classified into positive and negative opinion
teams. Liuet al used the adjective word and opposite set sin
WordNet to predict linguistics orientation of adjectives.
Firstly, as mallist of seed adjective staged with either positive
or negative labels is seventeen manually created. This seed
adjective list is actually domain freelance. as an example,
great, fantastic, smart square measure positive adjectives;
and unhealthy, boring square measure negative adjectives.
The list is then enlarged exploitation Word web, leading to an
inventory of 4783 negative terms and 2006 positive terms as
well as misspellings, morphological variants, slang, and
social-media mark-up that square measure helpful for social Table 4.11: Sample words in sentiment word database.
network information analysis. but Liu lexicon cannot cowl all
of planet issues in terms of sentiment analysis for education a Using the sentiment word database, the sentences are
domain. processed as below:
1. Text extraction:
Afinn Lexicon: Afinn lexicon was initially came across in The comments, that consists of few sentences unit of
2009 for tweets downloaded for online sentiment analysis in measuring go alternative routes into clause supported
connectedness the United Nation Climate Conference clause level mark. The clause level punctuation is any
(COP15). The previous version termed AFINN-96 distributed word from regular expression ^[.,:;!?]$ .
on the online has 1468 whole completely different words,
likewise as several phrases. the foremost recent version, 2. Text cleaning:
AFINN-111 contains 2477 distinctive words and fifteen This is to urge eliminate special characters and switch the
phrases. AFINN uses a rating vary from−5(very negative) to majuscule letters into minuscule ones. The is employed to
+5 (very positive). for straightforward labeling the author urge eliminate special characters and alter majuscule into
only scored for valence, leaving out, e.g., judgement minuscule letters.
/objectivity, arousa land dominance. The words were scored
manually by the author. The synonym finder in Afinn lexicon 3. Stemming:
initiated from a set of obscene words. Most of the positive Stemming might even be a heuristic technique for
words were tagged with +2 and most of the negative words collapsing distinct word forms by making an attempt to
with –2, strong obscene words with either four or –5. urge eliminate affixes. Noun square measure in either
Sentiment word information contains immense quantity of singular or descriptor exploitation either –es or –s suffix.
words. It consists many intensive words, positive words, Similarly, verb square measure in either gift or verb kind
negative words and conjointly neutral words. The sentiment exploitation –ing and –ed severally. Adjectives square
score ranges from -1 to +1. once the score is one then it may measure in comparative kind exploitation -er suffix or
be thought of as positive; whereas once score shows -1, it is superlative kind exploitation –est suffix. very cheap kind is
aforesaid to be negative word. once the sentiment score then used for wanting up the word in lexicon.

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 3
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

4. Negation Marking: Negation words:


Negators unit of measuring words and phrases that switch The negation words unit the words that reverse the
sentiment orientation of different words at intervals polarity of sentiment, high-power sensible (+2) into not
constant sentence. The negation marking technique of sensible (-2). (e.g. no, not, neither, nor, nothing, never,
defender Potts is applied. this methodology appends a none) unit very important in characteristic the emotions,
_NEG suffix to each word standing between a negator and as their presence can reverse the polarity of the sentence.
a clause-level mark.
For example, given the text “It isn't delicious: it's TOO Blind negation words:
spicy!!!”. The content once applying the pre- process Words like would love, needed, require, needed etc., are
technique is “it isn't delicious _NEG it's too spicy”. very important in characteristic the emotions. as Associate
in Nursing example:
5. Parts of speech: ‘Her teaching method needed to be better’, ‘better’ depicts
POS Tagger is employed to assign a part of speech to every a positive sentiment but the inclusion of the blind negation
word at intervals the text (and completely different word ‘needed’ suggests that this Sentence is depicting
tokens), like noun, verb, adjective, etc. negative sentiment. Within the projected approach
whenever a blind negation word happens in a {very} very
V. SYSTEM ARCHITECTURE sentence its polarity is instantly labelled as negative and
allotted the opinion score to (-2).
In this paper, we have a tendency to followed the below
design System to research topics and their sentiments Adjective, adverb, verb, noun words:
from the coed generated feedback. we have a tendency to Most of the opinion words unit adjective. as an example: ‘She
tokenized the feedbacks into sentences. Topics were is knowledgeable. Her discussions unit fascinating. I
extracted from the feedback document. the subsequent understand her teaching’. throughout this sentence
design shows however the comments are extracted and ‘knowledgeable’ and ‘interesting’ unit positive adjective
got scored. opinion words, ‘understand’ can be a positive verb opinion.

Intensifier words:
They're classified into two major categories, depending on
their polarity. Amplifiers (e.g., very) increase the
linguistics intensity of an in-depth lexical item, whereas
down toners (e.g., slightly) decrease it. For example, “Her
clarification is de facto very good”. throughout this
sentence ‘really and very’ unit intensifiers that increase
the positive sentiment polarity.
Next, the polarity of the words in every sentence were
summed up, and divided by the overall range of subjective
words. Then, it had been classified as powerfully Positive,
Positive, Negative or powerfully Negative. Then, the
polarities of all the sentences were averaged. when the
averaging, the ultimate output was classified supported 3
classifications: Positive, Neutral or Negative.
During this paper, we have a tendency to use Text Blob
that could be a python library and offers an easy API to
access its strategies and perform basic information
processing tasks. Since, it's engineered on the shoulders of
Fig. 5.1: The Architecture model of sentiment analysis NLTK and Pattern, thus creating it easy by providing
Associate in Nursing intuitive interface to NLTK. Here, the
The first a part of the pre-processing module is that the sentiment property returns a named section of the shape
sentence splitter. it's the method wherever the comment Sentiment (polarity, subjectivity) It very depends on what
was broken down into smaller components, specifically in type of text analysis we wish to perform and what
sentence level below the method. Afterwards, these information feels like. Text Blob is less complicated to use
sentences dampened from the sentence splitter were if we're simply obtaining started with information
additional dampened into words processing primarily because of 2 reasons - it's an honest
Then the words are labelled in their individual a part of interface and a superb documentation.
speech. within the opinion word identification. The words In this way, the opinion result will be showed.
that unit used for opinion analysing unit categorizes into
following:

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 4
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

VI. CASE STUDY AND RESULTS Then eventually there’s faculty module that has teacher
login portal. every and each school has their distinctive
In this system, there are basically three different modules username and password that is given by the admin. The
which are as following: username and password once entered are checked with
ØAdmin Module data in database. The faculty will read their overall
ØStudent Module performance in keeping with the student’s feedback. And
ØFaculty Module student’s identity isn't unconcealed to the faculty.
There will be a graphical illustration of student's feedback
Firstly, there’s admin module which has admin login portal.
in order that faculty will clearly perceive his/her
The username and password of admin is initially fixed. After
strengths. Next, the polarity of the words in each sentence
login, Admin views the students as well as faculty accounts
were calculated. The polarity scores are assigned as given
and can modify their details. The whole data is stored in the
below: If there's only 1 opinion word in an exceedingly
database. The admin also adds the students and faculty
sentence, the corresponding positive scores or negative
details in the database. The admin also can delete the
scores area unit allotted mistreatment Ws=Os
student’s as well as the faculty data. The admin can view all
If one modifier word and one opinion word area unit
the feedbacks results present in the database. The identity of
found along,
the student who gave the feedback is given by the admin.
Ws=(100%+Sinf) * Os
Then there’s student module that has student login portal. If 2 modifier words and one opinion word area unit found in
every and each valid student has their distinctive username an exceedingly sentence Ws=(100%+Sinf) * (100%+Sinf) *
and password that is given by admin. The username and
Os
password once entered are checked with data in database.
If a negation word ahead of the opinion word is found in
when login, the coed will read the subject’s feedback that
an exceedingly sentence Ws=Ws*(-1).
he/she needs to submit. Then in the feedback form, the name
Where
of the faculty automatically comes who teaches that
‘Ws’ is that the linguistics orientation score of mixing words.
particular subject. within the feedback from, there are
‘Sinf’ is that the qualifier worth of word supported 100
multiple fields that student should show his opinion. The
percent.
fields are Vocabulary and visual communication, Audibility,
‘Os’ is that the score of opinion word from sentiment word
clarification, Subject Command etc., when the submission of
info.
feedback the answers of all the queries are analyzed and also
the result's hold on in information.
Student Feedback Table:
Let us consider there are 6 students. They have to give
ESM VBL DCI ISC feedback to one of their faculty.
Everythi Voice Friendly Intime following table represents the feedback form for one
ng is is so interaction syllabus faculty(say):
good fast was Subject: OST lab
completed Faculty: S.Joshua Johnson Class&Section:3&C Academic
Good Bad Bad Good year:2018-2019
I am not good Doubts are All topics
satisfied clarified covered in ISC: Intime Syllabus Coverage
with the even time
explanati outside Graphical Representation of student feedback on faculty
on the teaching:
classroom
Good Very Very good Very good
good
Good Good Good Good
Good Good Good Good

Table 6.1.1: Student Feedback table

Where
ESM: - Explanation and subject Command VBL: -Voice
and visual communication DCI: -Doubt clearance and
Interaction
If the coed has already given the feedback of that specific
Fig. 6.1: Feedback result of Faculty in Graphical Notation
teacher, then he/she can’t provide the feedback once more.

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 5
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 04 | Apr 2020 www.irjet.net p-ISSN: 2395-0072

VII. CONCLUSION AND FUTURE SCOPE


This project is designed in order to reduce burden of
maintaining bulk of records of all student’s feedback details.
This system uses preprocessing, topic extraction, clustering,
classification to represent the student views in a graphical
way. This system will be useful to improve the students
learning and instructor’s methods of delivery. The Opinion
Mining and in language process community, Sentiment
Analysis become a most fascinating analysis space. A lot of
innovative and effective techniques required to be fancied
that ought to overcome these challenges faced by Sentiment
Analysis.

REFERENCES
[1] A. El-Halees, “Mining opinions in user- generated
contents to improve course evaluation,” Software
Engineering and Computer Systems, pp. 107-115, 2011.

[2] Student Feedback Mining System Using Sentiment


Analysis Prabu Palanisamy, Vineet Yadav
and Harsha Elchuri “Simple and Practical lexicon- based
approach to Sentiment Analysis”, pp.october- 2017.
[3] K.P.Mohanan, the place of student feedback in teaching
evaluation

http://www.cdtl.nus.edu.sg/publications/studfeedback
/StudFeedback_Teach Quality. pdf.
[4] Khin Zezawar Aung,"Analysing Sentiment in Student-
Teacher Textual Comments Using Lexicon Based
Approach". pp. 29-06,2017.

[5] M. A. Ullah,” Sentiment analysis of students feedback: a


study towards optimal tools”, International Workshop on
Computational Intelligence (IWCI), pp. 17-10, 2016.

[6] R Mehana,"Student feedback mining system adopting


sentiment analysis",
https://ijcat.com/archives/volume6/issue1/ij
catr06011009.pdf.

[7] S. MacKim and R. A. Calvo, “Sentiment analysis in


student experiences of learning,” in Proceedings of the 3rd
International Conference on Educational Data Mining (EDM
'10), pp. 111– 120, Pittsburgh, Pa, USA, June 2010.

[8] Tanvi Hardeniya, Dilipkumar A.Borikar “ Dictionary-


Based approach to Sentiment analysis”,pp.may,2016.

[9] Z Nasim, Q Rajput, S Haider. “Sentiment Analysis of


Student Feedback Using Machine Learning and Lexicon
Based Approaches” , pp.1-6, 2017.

[10] Bhagyashree Gore “Sentiment Analysis of Parent


Feedback” to gauge their Satisfaction Level, pp. march,2018.

© 2020, IRJET | Impact Factor value: 7.34 | ISO 9001:2008 Certified Journal | Page 6

You might also like