# Natural language processing

**Natural language processing(NLP)** is an area of research in computer science and artificial intelligence (AI) concerned with processing natural languages such as English or Hindi. This processing generally involves translating natural language into data (numbers) that a computer can use to learn about the world.

There are different task to be done in NLP and some of them are following :

* Question Answering | Paraphrase | Summarization | Dialog
* Information Extraction (IE) | Sentiment Analysis | Parsing
* Machine Translation(MT) -- Fully Automatic, Helping Human Translator
* Spam detection | Pos Tagging | Named Entity recognition(NER)

**There are two approaches for NLP :-**

1. Rule based system (Uni-gram, bigram, N-gram models)
2. Neural Based system (RNN, LSTM, Transformer)

These days mostly we work on the 2nd one and we'll focus on that only.

**Language Modeling**

In NLP Language Modeling is the task of predicting what word comes next. Or say, given a sequence of words x(1), x(2) … x(t) it computes the probability of occurrence of the next word x(t+1). Where x(t+1) can be any word in the vocabulary. Ex. the student opened their \_\_\_

Examples in daily life—

* Next word popup in typing keyboard on mobile devices
* Suggesting/completing query on google search engine


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://59r.gitbook.io/ml-university/natural-language-processing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
