Automated creation of an Opinion Mining/Sentiment Analysis Classifier Model using Genetic Programming
"Sentiment analysis, also called opinion mining, is the field of study that analyzes people’s opinions, sentiments, evaluations, appraisals, attitudes, and emotions towards entities such as products, services, organizations, individuals, issues, events, topics, and their attributes." (Liu, 2012)
"Genetic programming (GP) is an evolutionary computation (EC) technique that automatically solves problems without requiring the user to know or specify the form or structure of the solution in advance. At the most abstract level GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done." (Poli, Langdon, McPhee)
- tkinter (Standard Python interface to the Tk GUI toolkit)
- DEAP (Distributed Evolutionary Algorithms in Python)
- numpy (Fundamental package for scientific computing with Python)
- matplotlib (Python 2D plotting library)
- stemming 1.0 (Python implementations of various stemming algorithms)
- yagmail (Gmail/SMTP client)
- nltk (Natural Language Toolkit)
>>> import nltk
>>> nltk.download('stopwords')
- Lexicons
- Bing Liu Lexicon
- SentiWordNet
- AFINN
- Vader Lexicon (Valence Aware Dictionary and sEntiment Reasoner)
- SlangSD (Sentiment Dictionary for Slang Words)
- MPQA Effect Lexicon
- SemEval2015 Lexicon