Please enable JavaScript.
Coggle requires JavaScript to display documents.
Natural Language Processing "NLP" - Coggle Diagram
Natural Language Processing "NLP"
Definition
Combination of Computer Science and Linguistics for computers to understand human language for building useful applications
Topics
Speech Processing
Speech Recognition
Text to Speech
Natural Language Understanding (NLU) (includes Information Extraction "IE")
Extract, process and understand language
Natural Language Generation (NLG) "Speech Synthesis"
Generate Language
What you Expect to Learn in Details
Language Processing and Python (includes Automatic Natural Language Understanding)
Accessing Text Corpora and Lexical Resources
Processing Raw Text
Writing Structured Programs
Categorizing and Tagging Words
Learning to Classify Text
Extracting Information from Text
Analyzing Sentence Structure
Building Feature-Based Grammars
Analyzing the Meaning of Sentences (includes Natural Language Understanding)
Managing Linguistic Data
NLP Brief History
1950s (Turing Test)
1952 (Hodgkin-Huxley model and AI inspiration)
1957 (Professor Noam Chomsky revolutionized previous linguistics concepts)
1958 - 1966 (AI and NLP research was considered to be dead by many people)
1980s (NLP Revolution - increased computational power - Machine Learning "ML" Algorithms)
2000s (Research increased its focus on semi-supervised, and unsupervised machine learning algorithms)
2010s - present (Deep Learning achieved state-of-the-art performance)
NLP Applications
Machine Translation
Chatbots
Text Summarization
Email Filtering
Psycholinguistics Modeling
Automated Reasoning
Question Answering
Social Media Monitoring
Voice Assistants
Survey Analysis
Targeted Advertising
Hiring and Recruitment
Grammar Checkers
Topic Modeling (Identifying Text Topic)
Named Entity Recognition (NER)
Natural Language Processing "NLP" Vs Computational Linguistics "CL"
More on Theory Vs More on Practical Software Applications
Skills needed to work as an NLP Engineer
Understand text representation techniques
Understand semantic extraction techniques
Text classification, and clustering
Deep Learning (FFNN, RNN, CNN, ...)
Syntactic, and Semantic parsing
Linguistic Knowledge (Preferable)
Understand compilers
Machine Learning Libraries (Ex: scikit-learn)
Machine Learning Frameworks (Ex: TensorFlow, Keras, PyTorch, ...)
Familiarity with Big Data Frameworks (Ex: Hadoop, Spark, etc ...)
CI/CD (Continuous Integration/Continuous Delivery) Pipelines
Possible Useful Knowledge
Ontologies
Knowledge Graphs
Machine Learning Skills