A web application in Python Django that highlights:
- Sentiments (Positive/Negative/Neutral) at the sentence level
- Named Entities (Organization/Person/Location)
The backend for the named entity is Stanford NER. For sentiment analysis, 4 models have been used:
- TextBlob Lexicon (based on Pattern)
- TextBlob Naive Bayes (based on NLTK)
- NLTK Vader
- Stanford Core NLP Deep Learning
Python packages: textblob, nltk, ner Download and extract the CoreNLP Jar files for Sentiment and for NER
Two servers need to be running in the background for CoreNLP to function.
cd stanford-english-corenlp-2016-10-31-models/ java -mx5g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer cd stanford-ner-2015-12-09 java -mx1000m -cp "stanford-ner.jar:lib/*" edu.stanford.nlp.ie.NERServer -loadClassifier classifiers/english.all.3class.distsim.crf.ser.gz -port 9191
Once this is done, start the django app by executing the following commands:
cd sentimentapp/ python manage.py runserver