How to Learn More from Your Customers with NLP
Natural language processing (NLP) is an area of computer science and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyse large amounts of natural language data. Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation.
Given the above introduction and the title of this blog post, you may be asking yourself: why is NLP important or how can I benefit from it?
How Natural Language Processing is Redefining the Business World
If you have ever purchased something online (be it an item or a service), there is a good chance that you have been prompted to give some feedback about your experience with the party that offers the good. Be it a wall of text, a simple phrase or the traditional ⭐ rating — customer feedback is super important to every merchant.
If you are the merchant and use the traditional ⭐ rating, then I hope this makes you think about the way you ask your clients for feedback. In this example, I will show you a pratical way to use NLP, in which a program interacts and analyses the sentiments of an user after making a purchase.
In this “tutorial” (or, re-wording: use case), we will be using the TextBlob library.
TextBlob is a Python library for processing textual data. It provides a simple API for diving into common natural language processing (NLP) tasks such as part-of-speech tagging, noun phrase extraction, sentiment analysis, classification,translation, and more.
We have imported the
TextBlob class from the
textblob module. Since I want this to serve as a simple usage example, I’m going to get feedback from a customer using an unsophisticated approach (but still trying to make as much sense as possible).
polarity returns the polarity score as a float within the range [-1.0, 1.0]. The closer to -1.0, the more negative; the closer to 1.0, the more positive the feedback is. We’ll store the result of the feedback analysis in a variable called
We can now print
analyse to the console.
Let’s save the file. Call it
app.py or whatever you find more convinient — it doesn’t matter much. At the end, your code should look like this:
Open a terminal window and run
I bought a product and I really enjoyed it, so I will give it a nice review; if you remember what I wrote about regarding
polarity, then you would’ve guessed by now that the expected output will be close to 0.6. The experience will be similar to this:
I got a polarity of
0.6, and that’s a positive score and relatively close to 1.0.
Let’s try to write a really bad review now. This time around, if we express our frustration, we’ll get a negative score.
A score of
-0.5049999999999999 is pretty negative, I’d say!
Then it’s just a matter of how you want to handle the situation. Let’s say that you want to offer the costumer a free discount code in your store if he writes a negative review. We’ll have to write a bit of code in addition to what we had before. Add the following lines below the code you already have:
We’ll run two experiments: one positive review and one negative review. Positive review.
I hope I could shine some light about how important Natural Language Processing can be in order to get feedback from clients and offer a better service. The possibilities are endless, and this was a very simple example case — you can do a lot of data analysis with NLP libraries (like TextBlob, used here, or NLTK) and that could definitely help your business grow in several different aspects.
On other news, I plan to write blog posts more often.