Natural language processing (NLP) is a subfield of artificial intelligence that involves transforming or extracting useful information from natural language data. Methods include machine-learning and rule-based approaches.
Natural language processing (NLP) is a subfield of artificial intelligence that involves transforming or extracting useful information from natural language data. Methods include machine-learning and rule-based approaches. It is often regarded as the engineering arm of Computational Linguistics.
NOTE: If you want to use this tag for a question not directly concerning implementation, then consider posting on Data Science, or Artificial Intelligence instead; otherwise you're probably off-topic. Please choose one site only and do not cross-post to more than one - see Is cross-posting a question on multiple Stack Exchange sites permitted if the question is on-topic for each site? (tl;dr: no).
NLP tasks
- Text pre-processing
- Coreference resolution
- Dependency parsing parse-tree
- Document summarization summarization
- Named entity recognition (NER) named-entity-recognition
- Information extraction (IE) information-retrieval information-extraction
- Language modeling
- Part-of-speech (POS) tagging part-of-speech
- Morphological analysis and wordform generation
- Phrase-structure (constituency) parsing parse-tree
- Machine translation (MT) machine-translation
- Question answering (QA) nlp-question-answering
- Sentiment analysis sentiment-analysis
- Semantic parsing semantic-analysis
- Text categorization text-classification document-classification
- Textual entailment detection
- Topic modeling topic-modeling
- Word Sense Disambiguation (WSD) word-sense-disambiguation
Beginner books on Natural Language Processing
Popular software packages
General purpose toolkits
- Natural Language Toolkit (NLTK) (Python) nltk
- OpenNLP (Java) opennlp
- Sharp NLP (.NET) sharpnlp
- ClearNLP (Java) clearnlp
- Mate (Java)
- Stanford CoreNLP (Java) stanford-nlp
- Treat (Ruby)
- Mallet (Java) mallet
- spaCy (Python) spacy
- Pattern (Python) python-pattern
Phrase structure parsers
- Stanford Parser (Java) stanford-nlp
- Berkeley Parser (Java)
- BLLIP (Charniak-Johnson) Parser (C++, Python) charniak-parser
Dependency parsers
- Stanford Dependencies (packaged with Stanford parser) (Java) stanford-nlp
- MaltParser (Java)
- MSTParser (Java)
- UDPipe
Proof reading software
- LanguageTool (Java) languagetool