A curated list of resources to learn how NLP is applied in software.
Developing natural language understanding and processing capabilities in computers has been a grand challenge for scientists and inventors for decades. Natural language or ordinary language that we use to communicate with each other has evolved over the years to somewhat of a loosely structured form. For example, we can have the same term to mean different things in different contexts and our grammar consists of many different variations. This is totally in contrast with programming languages, which we have developed to communicate with computers specifically, where there is well-defined syntax and semantics.
But in the recent past, with the rapid advancements of machine learning technologies in computer science, Natural Language Processing (NLP) has been developing at an immense pace, opening up so many applications in the real world. Even though these technologies still find it hard to perfectly model natural language to fit all general use cases, they can surely specialise in very narrowed down use cases.
This article curates several applications of current NLP capabilities and presents resources to learn more about them. 👉
1. Text Summarization
In order to summarise a body of text, its meaning has to be extracted and arranged in a shorter form, ideally without any loss of important information. Extracting meaning is not a simple task for computers and the state-of-the-art machine learning algorithms archives this by learning from a massive text corpus as a training task. Text summarization is a heavily researched area in NLP with leading companies such as Google, open sourcing their findings and models for anyone to use.
2. Insight Generation
Somewhat connected to summarization, generation of insights from a big body of text leads to very interesting applications in general purpose data analytics. Imagine if you want to analyse some market trends from hundreds of data sources. Without doing time-consuming manual processing of data, the NLP tools designed for this task can generate those insights very quickly and efficiently for you.
3. Personalised Search
In this age of hyperconnectivity and non-stop collection of data, we know how services such as Google can personalise the way we use their systems. This is done by processing the data they have about us, which is mostly text-based. NLP techniques are increasingly used in this situation, segmenting users according to their preferences that were previously collected. From e-commerce companies such as Etsy to social media, personalised search capabilities are heavily applied.
4. Hate speech detection
Cyberbullying and misinformation continue to be significant challenges that we need to face on our digital platforms. Facebook has detailed the use of state-of-the-art language modelling to address this issue. Also, Yahoo has published their findings on how to detect abusive language in user-generated online content. This application has definitely gained major significance in the ways digital platforms are operated.
5. Understanding audience sentiment from social media
Again, NLP techniques really come in handy in situations where a huge amount of text data has to be processed to generate insights. Understanding general audience sentiments can be key to many activities from customer relations to politics. This application is often seen when analysing trends via Twitter data.
6. Auto-tagging of customer queries
On most of the backend processes of service-related software products, managing big volumes of input from the users is a tedious task. Auto-tagging has become a crucial functionality where it can categorise text-based user queries into sets and handle them in an organised manner. Text classification techniques are heavily used in this task that are enabled by language models trained on large corpus of text.
7. Categorization of articles into defined topics
Once again using text classification, it has become far easier to categorise articles or any text-based resource into relevant topics. Topics can improve the discovery and organisation of resources which can be applied in many services across industries.
8. Smart replies/suggestions in chats
Smart replies and reply suggestions have sneaked into our daily digital lives through many of our communication channels from email to personal messaging. Google has extensively shared their findings on enabling smart reply suggestions on Gmail. YouTube has released its findings on smart replies that enabled creators to engage with their audience easily. Microsoft has suggested tackling smart replies as an information retrieval task using transformer encoder networks. Also, LinkedIn introduced smart recommendations using the power of sequence-to-sequence model and multinomial classification rather than text generation to help users in their chats. These leading companies researching heavily on this technology implies its applicability and importance to a digital service.
9. Call centres automation
NLP transcends itself not only to text-related tasks but also to speech understanding and speech synthesis applications. Google famously demonstrated the futuristic applications of language understanding and synthesis in using virtual agents in answering call in customer support. Also, the capabilities of speech-to-text conversions can immensely benefit call centres in managing their tasks and evaluating the quality of their services.
10. Medical speech recognition and transcriptions
The applicability of speech-to-text systems really shines in high pace high risk situations where time saving is key to delivering services. A hospital environment is a good example of this where clinicians should operate as efficiently as possible in order to provide the best care for patients. Real time medical speech transcription has already shown great potential and increasingly, health organisations are looking to adopt the technology. This avenue will surely open up great opportunities in the future.
That's it. Thanks for reading!