We give some common approaches to natural language processing below.
Supervised NLP
Supervised NLP methods train the software with a set of labeled or known input and output. The program first processes large volumes of known data and learns how to produce the correct output from any unknown input. For example, companies train NLP tools to categorize documents according to specific labels.
Unsupervised NLP
Unsupervised NLP uses a statistical language model to predict the pattern that occurs when it is fed by non-labeled input. For example, the autocomplete feature in text messaging suggests relevant words that make sense for the sentence by monitoring the user's response.
Natural language understanding
Natural language understanding (NLU) is a subset of NLP that focuses on analyzing the meaning behind sentences. NLU allows the software to find similar meanings in different sentences or to process words that have different meanings.
Natural language generation
Natural language generation (NLG) focuses on producing conversational text like humans do based on specific keywords or topics. For example, an intelligent chatbot with NLG capabilities can converse with customers in similar ways that customer support personnel do.