Leverage Natural Language Processing (NLP) in Python and learn how to set up your own robust environment for performing text analytics. This second edition has gone through a major revamp and introduces several significant changes and new topics based on the recent trends in NLP.
You'll see how to use the latest state-of-the-art frameworks in NLP, coupled with machine learning and deep learning models for supervised sentiment analysis powered by Python to solve actual case studies. Start by reviewing Python for NLP fundamentals on strings and text data and move on to engineering representation methods for text data, including both traditional statistical models and newer deep learning-based embedding models. Improved techniques and new methods around parsing and processing text are discussed as well.
Text summarization and topic models have been overhauled so the book showcases how to build, tune, and interpret topic models in the context of an interest dataset on NIPS conference papers. Additionally, the book covers text similarity techniques with a real-world example of movie recommenders, along with sentiment analysis using supervised and unsupervised techniques.
There is also a chapter dedicated to semantic analysis where you'll see how to build your own named entity recognition (NER) system from scratch. While the overall structure of the book remains the same, the entire code base, modules, and chapters has been updated to the latest Python 3.x release.
What You'll Learn
Understand NLP and text syntax, semantics and structure Discover text cleaning and feature engineering Review text classification and text clustering Assess text summarization and topic models Study deep learning for NLP
Who This Book Is For
IT professionals, data analysts, developers, linguistic experts, data scientists and engineers and basically anyone with a keen interest in linguistics, analytics and generating insights from textual data.
Dipanjan (DJ) Sarkar is a Data Scientist at Red Hat, a published author and a consultant and trainer. He has consulted and worked with several startups as well as Fortune 500 companies like Intel. He primarily works on leveraging data science, advanced analytics, machine learning and deep learning to build large- scale intelligent systems. He holds a master of technology degree with specializations in Data Science and Software Engineering. He is also an avid supporter of self-learning and massive open online courses. He has recently ventured into the world of open-source products to improve the productivity of developers across the world.Dipanjan has been an analytics practitioner for several years now, specializing in machine learning, natural language processing, statistical methods and deep learning. Having a passion for data science and education, he also acts as an AI Consultant and Mentor at various organizations like Springboard, where he helps people build their skills on areas like Data Science and Machine Learning. He also acts as a key contributor and Editor for Towards Data Science, a leading online journal focusing on Artificial Intelligence and Data Science. Dipanjan has also authored several books on R, Python, Machine Learning, Social Media Analytics, Natural Language Processing and Deep Learning.Dipanjan's interests include learning about new technology, financial markets, disruptive start-ups, data science, artificial intelligence and deep learning. In his spare time he loves reading, gaming, watching popular sitcoms and football and writing interesting articles on https://email@example.com and https://www.linkedin.com/in/dipanzan. He is also a strong supporter of open-source and publishes his code and analyses from his books and articles on GitHub at https://github.com/dipanjanS.
Chapter 1: Natural Language BasicsChapter Goal: Introduces the readers to the basics of NLP and Text processingNo of pages: 40 - 50 Sub -Topics1. Language Syntax and Structure2. Text formats and grammars3. Lexical and Text Corpora resources4. Deep dive into the Wordnet corpus5. Parts of speech, Stemming and lemmatization
Chapter 2: Python for Natural Language ProcessingChapter Goal: A useful chapter for people focusing on how to setup your own python environment for NLP and also some basics on handling text data with python and coverage of popular open source frameworks for NLPNo of pages: 20 - 30Sub - Topics 1. Setup Python for NLP2. Handling strings with Python3. Regular Expressions with Python4. Quick glance into nltk, gensim, spacy, scikit-learn, keras
Chapter 3: Processing and Understanding TextChapter Goal: This chapter covers all the techniques and capabilities needed for processing and parsing text into easy to understand formats. We also look at how to segment and normalize text. No of pages : 35 - 40Sub - Topics: 1. Sentence and word tokenization2. Text tagging and chunking3. Text Parse Trees3. Text normalization4. Text spell checks and removal of redundant characters5. Synonyms and Synsets
Chapter 4: Feature Engineering for Text DataChapter Goal: This chapter covers important strategies to extract meaningful features from unstructured text data. This includes traditional techniques as well as newer deep learning based methods. No of pages : 40 - 50Sub - Topics: 1. Feature engineering strategies for text data2. Bag of words model3. TF-IDF model3. Bag of N-grams model4. Topic Models5. Word Embedding based models (word2vec, glove)
Chapter 5: Text Classification
Chapter Goal: Introduces readers to the concept of classification as a supervised machine learning problem and looks at a real world example for classifying text documentsNo of pages: 30 - 40Sub - Topics: 1. Classification basics2. Types of classifiers3. Feature generation of text documents4. Binary and multi-class classification models5. Building a text classifier on real world data with machine learning6. Some coverage of deep learning based classifiers7. Evaluating Classifiers
Chapter 6: Text summarization and topic modelingChapter Goal: Introduces the concepts of text summarization, n-gram tagging analysis and topic models to the readers and looks at some real world datasets and hands-on implementations on the sameNo of pages: 40 - 45Sub - Topics: 1. Text summarization concepts2. Dimensionality reduction3. N-gram tagging models4. Topic modeling using LDA and LSA5. Generate topics from real world data6. N-gram analysis to generate patterns from app reviews (only if it performs well)7. Basics on deep learning for summarization
Chapter 7: Text Clustering and Similarity analysisChapter Goal: We look at unsupervised machine learning concepts here like text clustering and similarity measuresNo of pages: 35 - 40Sub - Topics: 1. Clustering concepts2. Analyzing text similarity3. Implementing text similarity with cosine, jaccard measures4. Text clustering algorithms5. Coverage of partition based clustering like k-means clustering as well as hierarchical clustering methods in detail 6. Hands on text clustering example on real world data
Chapter 8: Sentiment Analysis Chapter Goal: We look at solving a popular problem of analyzing sentiment from text using a combination of methods learnt earlier including classification and also lexical analysisNo of pages: 35 - 40Sub - Topics: 1. What is sentiment analysis2. Looking at lexical corpora for sentiment 3. Unsupervised sentiment analysis using lexical methods (hands-on)4. Supervised sentiment analysis (hands-on)
Chapter 9: Deep learning in NLPChapter Goal: Deep Learning is one of the most trending topics in the machine learning and data science space these days. Here we will cover a brief introduction into the promise deep learning holds for text analytics and NLP.No of pages: 30 - 35Sub - Topics: 1. What is Deep Learning2. Deep learning for text classification (concepts only)3. Deep learning for natural language generation (concepts only)4. Deep learning for text summarization (concepts only)