Natural language processing extracts relevant pieces of data from natural text or speech using a wide range of techniques. One of these is text classification, in which parts of speech are tagged and labeled according to factors like topic, intent, and sentiment. Another technique is text extraction, also known as keyword extraction, which involves flagging specific pieces of data present in existing content, such as named entities. More advanced NLP methods include machine translation, topic modeling, and natural language generation.