Word clouds have easily become the new pie charts.
For definition purposes, a world cloud a simply a way to visualize the word frequencies from a piece of text. The most common terms are often shown in the different colors or larger sizes. You can make a world cloud slightly more complexed by using the significance or the ranking of the words in a given document instead of the frequency.
These data visualizations are incredibly popular and are often targeted as “NLP solutions” or “NLP analyses.” Moreover, every single ML or AI platform will sell said data visualizations and analyses capabilities as “cutting-edge” and/or accurate analyses results. This can very misleading. Text analysis is incredibly complex and to try to reduce to a world cloud is preposterous.
Now, I completely see the appeal of world clouds (similar to the appeal of pie charts) – they’re simple. However, just because they are simple does not make them good or accurate. I understand ML/AI platforms being sold companies are mostly targeted to people who may not necessarily know about natural language processing and to make it accessible, but this comes with a lot of risks.
Let’s take for example, the following word cloud showing us the word frequencies for the Harry Potter books.
Anyone who’s ever read a book, watched TV, listened to a song, etc., knows how easy it is to take things out of context. Imagine trying to condense all the Harry Potter books into one single world cloud. If I were to show someone that hasn’t read or seen the Harry Potter books or movies, this word cloud does absolutely nothing to explain what the books are about. There is very little context to word clouds. “Who is Harry?”, “Looking at what?”, “Though what?”, “Snape is a weird name.” There is no way for me to figure out what the context of the books is just by looking at a word cloud.
Moreover, just by the nature of the beast, world clouds contain an incredible amount of noise. Unless, I am making a comprehensive text analysis, just using the frequency of terms will absolutely bring up irrelevant words- in the case of the Harry Potter world cloud, words such as “though”, “going”, “just”, “around” and hiding more important terms to the story such as “wizards” or “students”. Even if I were to use some sort of weighted ranking instead of plain frequency, a world cloud is just a bad and misleading visualization. Low weight-terms will still be harder to read. Colors and shapes will still be distracting.
Perhaps the worst thing about world clouds is the message we choose to deliver. In the case of Harry Potter, I could perhaps choose to focus on the Voldermort narrative and make it seem as if Harry Potter was the bad guy by displaying certain words with different colors or sizes. Imagine, if this wasn’t Harry Potter and this was a company survey where you’re analyzing open text from employees. You can see, I hope, how easy it would be to take the objectivity away from the data and let stakeholders come to their own, likely, misguided conclusions.
Instead, what would be more useful would be to take said text and use clustering techniques to find out possible themes. Or, test multiple ranking algorithms to rank text keywords. Or even text summarization techniques. Any of these approaches would be far superior and would actually give you more accurate insights. For starters, you can actually drill down into your data and find specific routes and answers to your data questions. Take a look at the example below. This is from a pet project I worked on last year where I was trying to rank the adjectives and nouns often used by the redditors of the r/SkincareAddiction subreddit when talking about dry skin. As you can see, this can tells us a lot more than just a world cloud. We know that for these users with dry skin, they also have sensitive skin and cystic acne. We also know that that they are eczema prone and have issues with fragranced products. Here’s the link to that project.
In a nutshell, don’t use world clouds. They are not a good analysis or visualization tool.