Have you been handed an initiative to listen to and analyze social media messages for your product, brand, or service? Were you given a few high level corporate initiatives to leverage social media messages to validate and understand your business trends? If so, you should be asking these questions:
- Why is customer attrition on the rise?
- What do customers like and dislike about you and your competitors?
- Why did your latest product launch fail to increase usability?
You perform a little research and come across a wealth of tools that allow you to enter in keyword searches. You sign up for one of these services, define your keywords, and begin to analyze. For example, to track customer attrition you enter searches of “cancel” “leaving” “and “switching”. You get high level reporting on how many messages mention each of your keywords, but you are struggling to extract insightful information to validate and understand the root cause behind your initiatives because due to the shortcomings of simple keyword search returning false positives and also only including the exact words or phrases you define.
By defining exact keywords, you limit your search to only those queries. Looking deeper into actual messages, you’ll find that the ways people actually mention an attrition risk can literally be hundreds if not thousands of different word/phrase combinations. Further, just because a message has the word “cancel” in the text, does not necessarily indicate an attrition risk. For example, someone could say “I had to cancel my credit card because I lost it, could you please call me so I can change my billing information.” That message would be included in your attrition risk keyword search, even though the customer does not actually want to cancel your service. This problem persists even further when you go to perform sentiment analysis on a topic, as there are just too many variations on how a customer can mention positive or negative things in a post (see http://eqi.org/fw_neg.htm for an overwhelming list). So, how can you minimize the number of false positives you receive, while also effectively catching the many variations, without defining 1000’s of keyword queries?
It’s time you looked into Natural Language Processing (NLP), or NLP. NLP centers on the ability to extract author intent from their message. This science enables machines to discover and match author intent to a virtually limitless set of words and phrases. Further, in the application of Statistical NLP these technologies assign weights to words and phrases, as opposed to simple exact match keyword logic. In the attrition risk example, the word “cancel” will most likely produce a strong weight, and be a good indicator of an attrition risk, however, the other words that appear with it (e.g. would, like, to, please, me, subscription, service, etc.) would also be assigned a weight. With NLP based processing, other words bubble up that the user would have never thought of to enter in as search words, for example the words “provider, assistance, help, hold, hours” are strongly weighted for attrition risk. The attrition risk category would then receive a machine generated threshold to determine whether or not a message has enough weighted words to meet the threshold for that category. The net result of these NLP approaches produce a much smaller % of false positives, and also increase the amount of recall (# of messages your category returns) due to the inclusion of other words you would have never have thought of to enter into a keyword search.
You’re probably wondering how a machine can automatically create these expansive categories. In a small sample (a few hundred), a human will categorize the messages with a higher degree of accuracy than any machine. However, when you give a human 100,000 to categorize, they will suffer from fatigue, thus greatly reducing the accuracy. Systems such as Overtone’s OpenMic have been built to leverage a small sample of human categorization, but then take that sample and use machine learning to categorize the rest. This hybrid approach using humans to train a machine produce categories that are much more accurate (minimizing false positives) and find more mentions (maximizing recall) than simple keyword searches.
Due to the highly accurate and highly expansive categorization results from the NLP based machine learning approach you can create categories that really center around a theme, as opposed to just a set of keywords. Categories like Positive Sentiment, Negative Sentiment, Customer Service Praise, Customer Service Issues, Loyal Customer, Sales Opportunities, Usability Issues, Usability Praise, etc. become accurate and expansive. The possible business insights from theme based categories are impressive, especially when combined with customer demographic and segmentation data. Tracking these categories over time, and spotting trends, and drilling down into the subthemes or clusters and comparing to demographics can greatly enhance insight discovery and root cause analysis.
Keywords do of course have their place. For example, tracking categories that don’t really contain a theme (e.g. competitor names, product names, etc.) are best handled by simple keywords. That is why OpenMic also supports Keyword analysis. But when it comes to accurately categorizing the theme of a message to inform trending and root cause analysis, NLP is the way to go.