NLP is a field of linguistics, computer science, and artificial intelligence. It helps computers understand, interpret and manipulate human language.
NLP is commonly used in speech recognition, natural language understanding, and natural language generation. It helps computers to understand natural language in order to perform some tasks.
Currently, Artificial Intelligence based deep learning is overtaken by others and is mostly used in NLP.
High-level NLP use cases
Some high-level Use cases that NLP addresses are as follows:
- Keyword Search
- Document Recommendations
- Speech recognition
- Classify text in predefined categories
- Clustering text in auto-generated categories
- Synonym finding
- Headline generation
- Summarization
- Translation
- Coreference (what ‘she’ or ‘he’ referring to in a document)
- Question Answering (Question answering based on the given text)
- Semantic Analysis (understanding the meaning of some statement)
- Named Entity Recognition (NER)
- Story Generation from key points
- Subtitle generation of video/ audio
- Generating Questions and Answers for a given text
- Chatbot
- Paraphrasing
- Generating story from data
- …and much more
Challenge
In the field of NLP, generally, AI/ ML Algorithms don’t work on Text data. We have to find some way to represent text data into numerical data.
Any data consists of words. So in case, we find some way to convert (Encode) words into numerical data, then our whole data could be converted into numerical data, which can be consumed by AI/ ML algorithms.
We have the following ways of converting (Encoding) the words into numerical data.
[To get the details of various encodings, please follow the corresponding links]
These encodings evolved over time and currently, Word Embeddings are the most preferred way to encode the words.
After encoding the data, we can apply the various algorithms to solve the NLP use cases mentioned at the top of the document.