Sentiment Analysis Tricks with Keras, spaCy and Transformers


Sentiment analysis is a quite popular area of NLP, int his task text is classified into categories of emotional reactions such as happy, sad, angry, 1-star, 2-star and so on. From classifying customer emotion (obviously you'd like to spot angry customers) to gather information about some consumer products (you would fix some parts of your product that people hate), analyzing human sentiment and reactions is quite important in industry level NLP.

This workshop includes all the tips and tricks to deploy a successful sentiment analysis model. We'll start from word level semantics and dissect vocab words with spaCy. More specifically, we'll classify vocabulary words with their syntactic categories. Next we'll continue with statistical word semantics and play with word vectors. Finally we'll move onto sentence level semantics, play with context dependent word vectors, then experiment with the mighty BERT.

Session Outline:

This tutorial is divided into 3 parts:

Part I: Getting to know your dataset
We'll be using the Amazon Fine Food Reviews (
First we'll go over the text and observe what kind of reviews are there. Then we'll collect frequent patterns from the dataset and build a pattern recognizer. We'll also analyze syntax of some sentences to extract some syntactical patterns from the dataset.

Part II: Transition to statistics
In this section, we'll do an exploratory analysis on the dataset. We'll visualize class member texts by embedding the words/sentences into semantic space with word embeddings and transformer embeddings. This section includes different ways of semantic grouping th data.

Part III: Train a classifier with Transformers
In this part we'll train a statistical text classifier with BERT and analyze the results.

Background Knowledge:
Knowledge about sentence level syntax would be good, but not necessary I'll do some explanations
Keras is a must
Transformer knowledge would be great, yet I'll do an introduction


Duygu Altinok is a senior NLP engineer with 12 years of experience in almost all areas of NLP including search engine technology, speech recognition, text analytics and conversational AI. She authored several publications in NLP area at conferences such as LREC and CLNLP. She also enjoys working for open-source projects and a contributor of spaCy library.

Duygu earned her undergraduate degree in Computer Engineering from METU, Ankara in 2010 and later earned her Master’s degree in Mathematics from Bilkent University, Ankara in 2012. She spent 2 years at University of Bonn for her PhD studies. She is currently a senior engineer at Deepgram with a focus on conversational AI and speech technology.

Originally from Istanbul, Duygu currently resides in Berlin, DE with her cute dog Adele.

Open Data Science




Open Data Science
One Broadway
Cambridge, MA 02142

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from - Youtube
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google