NLP is used to investigate methodologies to formalize and formulate the interactions between computers and human (natural) languages. NLP is a comprehensive subject, and involves using computer linguistics algorithms and human–computer interaction technologies and methodologies to process complex unstructured data. NLP can be used for a variety of cases, including the following:
- Topic identification: To discover topics in a text repository and classify the documents in the repository according to the discovered topics
- Sentiment analysis: To classify the text according to the positive or negative sentiments that it contains
- Machine translation: To translate the text from one spoken human language to another
- Text to speech: To convert spoken words into text
- Subjective interpretation: To intelligently interpret a question and answer it using the information available
- Entity recognition: To identify entities (such as a person, place, or thing) from text
- Fake news detection: To flag fake news based on the content
Let's start by looking at some of the terminology that is used when discussing NLP.