Using NLP to analyze customer feedback

By Data Science Salon

The role of customer experience is vital and known for a long time. According to the data gathered by CGS, 30% of customers are willing to pay more for excellent service. This can be delivered by listening to the voice of customers and constantly monitoring their feedback. 

However, reading through thousands of customer reviews manually, understanding them all and naming the emotions behind the words would be an impossible endeavor for organizations.

Embracing Natural Language Processing techniques, organizations are able to automate this process and thus gain valuable customer insights and deliver an improved customer experience.

Types of feedback data

There are mainly two types of data that can be gathered to analyze customer feedback:

  • Structured data. This is information provided in a standardized format. It includes surveys with a scale, for example ranging from 1 to 5, leaving star ratings, Net Promoter Score, and similar tools. This type of data can be harvested massively and processed in the way every structured data is. 
  • Unstructured data. This is feedback in the form of written text, which is not structured in a predefined manner. It appears as comments on social media, in emails sent to the company, in chat with assistants, or in comments on the internet. According to IBM’s findings, up to 80% of all data worldwide will be unstructured by 2025. 

Structured data is easier to process and analyze and depending on the size of the dataset, it can be done in a simple spreadsheet. The latter is prevalent all around the web, yet automated analysis and processing are possible only using NLP techniques. 

What is natural language processing?

Natural Language Processing (NLP) is the set of techniques used to enable machines to understand and process text written in the natural language used by humans. The history of the field reaches back to 1940 with the first attempts to automate the translations. Early approaches were based purely on manually-designed rules, while the modern approach leverages artificial intelligence and machine learning techniques.  

How NLP supports customer feedback analysis

“Automated text analysis can be used basically anywhere, including services, product management, and competitive analytics” comments Orestes Castaneda, Business Intelligence Lead at CBS Interactive and speaker during a recent edition of the Data Science Salon conference. 

In his speech he summarized two dominant ways to analyze customer feedback using NLP techniques:

  • Sentiment analysis
  • Context analysis

Sentiment analysis

Sentiment analysis is a subfield of NLP, focused on the analysis of emotions that customers express in feedback and measure whether their opinion of a brand is positive or negative.

A popular framework used in sentiment analysis is VADER (Valence Aware Dictionary and Entiment Reasoner”). The framework was initially developed to support sentiment analysis in social media, yet according to Orestes Castaneda, it works well with any type of text. 

The tool can be used to analyze Amazon Kindle reviews for example, where the system extracts the sentiment from the comments and remarks left by the users. Thus, the gain is to  have immediate information on the good-bad ratio of a book without the need to read thousands of reviews.

Context analysis

Sentiment analysis is pretty straightforward and to a lesser extent can be done using only a labeled dictionary (for example marking “awesome” as positive and “disgusting” as negative). In contrast, context analysis aims to deliver a more precise meaning of the text. 

“It allows us to go beyond the words, which are very generic, usually meaning nothing without the context” , comments Orestes Castaneda. The technique, for example, allows the company to extract the key phrases from a given text.

How sentiment analysis and context analysis work together

A good example of how the sentiment analysis of customer feedback can be used to improve the customer experience is this case study of a South African bank

The institution has launched a social listening campaign that aimed to find the pain points and get the general attitude of users. The scraping has revealed that the most common phrases associated with bank branches are:

  • Long lineups
  • Always closed (referring to hours of operation) 
  • No tellers

Knowing that, the bank has shifted its efforts and is now known for great customer service. Also, there was a major overhaul of the bank website to meet the customers’ needs and make the offer more legible. 

Also, by harvesting the insights from the gathered data, the company was able to identify the issues behind the negative comments and deliver solutions. For example, the bank branch in the downtown core of Johannesburg was left open one hour later to accommodate more customers.  


Customer feedback can be rocket fuel for companies and there are multiple ways to measure it. Leveraging the power of natural language processing and machine learning they are able to automatically extract knowledge from data and use it to improve their products and services.

Sign up for our newsletter