
Discover essential natural language processing tools in Python, including sentiment analysis, chatbots, and machine translation, and learn an end-to-end workflow from data fetching to feature engineering.
Explore what natural language processing is and how it enables machines to understand, interpret, and manipulate human language. Contrast human natural language with programming language and its AI goals.
Explore how natural language processing powers real-world applications like text-to-speech, speech-to-text, chatbots, and machine translation, including Google Translate and voice search, leveraging tokenization to interpret spoken language.
Explore the most popular natural language processing libraries and packages, from sentiment analysis APIs to topic modeling and transformers, and learn their best use cases across NLP workflows.
Explore a simple nlp project workflow from data acquisition and fetching data via api or scraping to deployment, including data cleaning, preprocessing, tokenization, analysis, embedding, and model building.
Explore the key challenges in natural language processing, including unstructured data, testing strategies, language understanding and generation, speech recognition and translation, and body language cues.
Explore lexical, semantic, syntactic, referential, and reflective ambiguities in text, and see how natural language processing analyzes multiple interpretations using examples like bank and hit with a stick.
Explore the anatomy of a text by examining a corpus, its metadata, sentences and tokens, and how morphemes, bag-of-words, one-hot encodings, and word vectors capture language structure.
Explore installation and workspace setup for Python natural language processing tools, including Jupyter notebooks, Anaconda, Poetry, Transformers, BeautifulSoup, and Pandas, with cloud or local environment options.
Tools Used In This Section
Requests
Requests-HTML
Bs4
Wikipedia API
Newspaper3k
PyPDF2
Docx2txt
Python-Docx
pdfplumber
textract
etc
Learn how to fetch textual data by reading Word and PDF documents with Python, install and use tools to extract, test, and analyze document content.
Master how to fetch data from websites with requests and parse html using Beautiful Soup to extract specific content and links for analysis in web scraping while respecting robots.txt.
Learn to fetch articles from websites using newspaper3k, extracting titles, publish dates, top images, and texts, then apply NLP to generate summaries.
Learn to fetch data from Wikipedia using the Python wikipedia package and the Wikipedia API, including searching, retrieving pages, summaries, content, references, and images.
Explore how to fetch textual data from multiple articles across websites, using a BBC example, fetch titles, categories, and download full articles, and organize them for NLP workflows.
Learn to fetch data from pdf documents and read text from pdfs for manipulation, including extracting tables and converting content into usable formats using Tesseract OCR.
Learn how to read and extract text from pdfs in Python using pyPDF2, including opening files, accessing pages, and closing the reader.
Compare three methods to extract text from PDFs using pdfplumber, and learn how to read specific pages to obtain clean text data for analysis.
Learn to fetch textual data by reading text from txt files, extracting text from documents, and sourcing data from websites via web scraping and APIs.
Explore a simple text cleaning workflow: remove noise, normalize text (lowercase, contractions, numbers), remove punctuation and stop words, then tokenize for nlp processing.
Clean raw text with neattext, removing user handles, hashtags, emojis, contractions, and special characters, using text cleaner and text extractor to prep NLP datasets.
Explore text cleaning with pure Python using built-in string methods, including lower and upper case conversion, splitting and joining tokens, replacing patterns, and stripping whitespace for basic NLP preprocessing.
Learn practical text cleaning and preprocessing with Python strings by stripping whitespace, replacing special characters, converting to lowercase, splitting and joining lists, and using f-strings for formatting.
Learn how to clean and preprocess text with Texthero, build custom pipelines, and apply cleaning, stemming, named entity recognition, tf-idf, and visualizations in pandas workflows.
Tokenize text by splitting it into linguistic units, enabling sentence, word, and character tokenization. Explain how token types separate tokens from types and address memory costs with subword tokenization.
Tokenization forms the foundation of natural language processing, enabling vocabulary creation and word vectors for neural networks. It underpins preprocessing and NLP tasks like classification and summarisation.
Explore tokenization approaches in python NLP, including space-based methods, dictionary-based, and regular expression segmentation, plus word piece tokenization.
Explore tokenization in Python with pure Python and NLTK, comparing whitespace-based, dictionary-based, and rule-based approaches, including regular expressions and model-based segmentation for diverse languages.
Compare tokenization with spaCy and NLTK, exploring how to load language models, build an NLP pipeline, and examine token outputs, part-of-speech tagging, and dependency parsing.
Tokenize tweets with a casual tokenizer and compare splitting methods to capture social media text. Strip handles, explore hashtag and mention handling, and discuss tools to organize tokenized tweets.
Explore sentence tokenization by splitting text into sentences using punctuation like full stops and exclamations, compare rule-based regex approaches with library methods such as SpaCy and Otaki.
Master tokenization in TensorFlow by normalizing text to lowercase, segmenting into tokens, encoding to numeric indices, handling out-of-vocabulary words, and applying padding for uniform sequences.
Explore stemming from scratch in python, transforming words to their root forms to improve information retrieval. Implement custom stemmers, test with rule-based logic and list comprehensions to handle endings.
Explore simple custom stemming logic in Python, building a rule-based stemmer that trims words by endings. Compare this approach with existing packages and learn how to implement your own stemmer.
Explore stemming with nltk and the porta stemmer and snowball stemmer, compare language-specific approaches, tokenize text, and implement practical examples to enhance NLP text processing.
Compare test analytics and natural language processing, then explore steps like syntactic analysis, semantic analysis, sentiment analysis, pragmatic analysis, and phonetic analysis to derive insights from speech, text, and images.
Apply text analysis and stylometry to prepare data for an author attribution project, building corpora from biblical books and authors like Shakespeare and Austen using pandas.
Prepare data for text analysis by compiling non-biblical author texts from the Gutenberg corpus, downloading and organizing Shakespeare and Austen works for tokenization.
Learn to analyze text with Python by counting words, computing word frequency, cleaning data, removing stop words, and extracting the most common terms for visualization.
Learn to plot word frequency in Python by counting words with a dictionary and visualizing the most common terms with matplotlib, exploring textual data insights.
Apply text analysis to plot word frequency across authors, comparing Shakespeare and Jane, and explore Stilo Metrick and telemetric analysis for individual texts.
Analyze lexical complexity by applying readability formulas like automated readability index and readability measures, and assess lexical richness with type-token ratio to gauge how easy or complex a text reads.
Explore lexical richness and readability in Python by applying automated readability index and multiple indices such as Flesch and Coleman to compare texts, quantify diversity, and visualize results.
Explore stylometry as the study of writing style and its practical uses, including author attribution, plagiarism detection, and forensic linguistics, implemented with Python for text analysis.
Apply stylometry by counting word lengths to build a Mendenhall distribution from tokenized texts. Use Python to plot distributions for authorship attribution across biblical texts.
Apply stylometry to identify authors by word-length distribution, using side-by-side subplots to compare works from authors such as Moses, Paul, Luke, and Shakespeare.
Explore stylometry in python to verify authorship by comparing texts across works, testing hypotheses, and visualizing similarities using tools like Midlake and Redclaw.
Learn to convert unstructured text into numeric features by vectorizing words, using feature engineering methods like bag of words and skip-gram for nlp models.
Learn how words are represented in natural language processing by converting text into vectors, using bag-of-words variants with binary or frequency encodings, and exploring n-grams and weighting issues in code.
Explore how bag of words converts text into binary or count vectors via tokenization. See how word order and permutation influence meaning and reveal limitations of this approach.
Build custom functions for one hot encoding matrix using numpy and pandas
Explore building text features with word count and count vectorizer, contrast binary presence versus frequency weighting in a bag-of-words, and note word order and tf-idf concepts.
Explore how to build text features from tokens into vectors using bag-of-words, binary presence, count vectors, tf-idf, and n-grams, with practical encoding methods in Python.
Working with Prediction Based Word Vectors
To Read: https://kavita-ganesan.com/comparison-between-cbow-skipgram-subword/#.X2zqenUzZuQ
Explore the TextBlob library and its simple API for tokenization, sentiment analysis, and classification to perform common NLP tasks.
Install TextBlob and explore its tokenization features for natural language processing. Split text into words and sentences using the tokenization tools and test blocks.
Explore building a custom tokenizer with TextBlob in Python, comparing bundled and self-made tokens, integrating tokenization inside a class, and applying it to sentence and word tokenization in practical blocks.
Learn how to perform parts of speech tagging with TextBlob in Python, from installing the package to tagging sample text and exploring customizable tag outputs.
Explore sentiment analysis using text data, learning polarity, subjectivity, and intensity with TextBlob and pure Python; compare rule-based lexicons and ML approaches, plus real-world applications and challenges.
Learn Flair, an open-source NLP library, and its data and model components for tagging, embeddings, and text classification. It covers biomedical named-entity recognition and training custom models.
Explore Flair for natural language processing in Python, learn to create sentence and corpus objects, apply tokenization with whitespace or custom tokenizers, and inspect tokens.
Learn how flair enables sequence labeling and text annotation by tagging tokens with labels and values. Build annotated data for NLP models using topics, languages, and entities.
Explore flair for part-of-speech tagging with pre-trained models and the sequence tagger, loading models, predicting tags, and printing tagged sentences with token details.
Learn how to perform named entity recognition with flair, including biomedical entities, multilingual models, loading a model, applying it to sentences, and exporting results as dictionaries.
Learn how to use Flair to run multiple taggers in a multitask pipeline, load specific POS tagging models, apply them to sentences, and inspect the resulting tags.
Learn how Flair enables semantic frame detection for sense disambiguation, using frame detectors to distinguish meanings in sentences like 'John reports to James' versus 'the report from yesterday'.
Learn sentiment analysis with Flair by loading a pretrained sentiment classifier, categorizing text into two classes positive and negative, and obtaining a sentiment score.
Learn text classification with Flair by preparing datasets, creating corpora, embedding text, training and evaluating a classifier to distinguish offensive from non-offensive content.
Explore topic modeling in natural language processing to uncover hidden topics. Understand how documents and corpora, dictionaries, vectors, and bag-of-words representations enable unsupervised analysis.
Explore how to use gensim for topic modeling, covering dictionaries, corpora, and models. Learn to evaluate topics with coherence, measure similarity, and apply summarization tools in a simple workflow.
Learn a practical topic modeling workflow: collect documents, tokenize, build a dictionary, create a bag-of-words, map to word vectors, and apply models like LDA across three basic workflows.
Explore topic modeling with gensim by building a simple workflow from raw text to tokens, dictionary, and bag-of-words, including stop-word removal and basic tokenization.
Explore topic modeling in NLP with Gensim by creating a dictionary from tokenized text, mapping tokens to IDs, and building a custom dictionary for corpus preparation.
Map documents to a bag of words with the dictionary. Show how frequencies yield human readable and machine readable formats for topic modeling with Gensim.
Explore applying gensim models to transform a bag-of-words into new word representations, notably using tf-idf, for topic modeling in NLP.
Explore topic modeling in NLP using the Gensim LDA model to identify hidden topics in text, transforming bag-of-words representations into topic distributions.
Explain text summarization as creating a concise subset from one or more documents that preserves the main idea, and distinguish extractive from obstructive summarization.
Learn to evaluate text summaries by comparing machine-generated results with human references using bleu for precision and rouge for recall, and discuss end-to-end evaluation metrics.
Explore libraries for text summarization, including transformer-based tools, word-frequency approaches, and graph-based ranking methods like page rank, to build concise summaries with dataflow and sequence-to-sequence options.
Explore extractive summarization in Python using Sumy, and compare frequency-based and latent semantic analysis methods across single or multi-document inputs.
Explore abstractive summarization with transformers using a prebuilt Hugging Face model, installing and running a summarization pipeline on sample text such as Wikipedia content, and comparing results with different approaches.
Explore evaluating abstractive and extractive text summarization with Rouge, Bleu, precision, and recall, using transformer-based pipelines and pre-trained models.
Explore text visualization techniques in Python, including word clouds, word-frequency distributions, dispersion plots, named-entity recognition, and stylometry, using tf-idf and pos tagging.
Explore how to visualize word vectors using RASA's Whatlies, creating and plotting word embeddings, comparing vectors with scatter plots and cosine similarity to reveal relationships among words.
Do you know that there are over 7000 human languages in the world? Is it even possible to empower machines and computers to be able to understand and process these human languages? In this course we will be exploring the concept and tools for processing human (natural) language in python.
Hence if you are interested in Natural Language Processing Projects and are curious on how sentiment analysis,text classification,summarization,and several NLP task works? Then this course is for you.
Natural Language Processing is an exciting field of Data Science but there are a lot of things to learn to keep up. New concepts and tools are emerging every day. So how do you keep up ?
In this course on Awesome Natural Language Processing Tools In Python we will take you on a journey on over 15+ tools you need to know and be aware of when doing an NLP project in a format of a workflow.
Tools and technologies are always changing but workflows and systems remain for a long time hence we will be focusing on the workflow and the tools required for each. The course approaches Natural Language Processing via the perspective of using a workflow or simple NLP Project Life Cycle.
By the end of this exciting course you will be able to
Fetch Textual Data From most document(docx,txt,pdf,csv),website etc
Clean and Preprocess unstructured text data using several tools such as NeatText,Ftfy,Regex,etc
Understand how tokenization works and why tokenization is important in NLP
Perform stylometry in python to identify and verify authors
NLP with Spacy,TextBlob,Flair and NLTK
Learn how to do text classification with Machine Learning,Transformers, TextBlob ,Flair,etc
Build some awesome NLP apps using Streamlit
Perform Sentiment Analysis From Scratch and with Several NLP Packages
Build features from textual data- Word2Vec,FastText,Tfidf
And many more
This comprehensive course focuses on not just the various tools that are useful in each step of an End to End NLP project but also how they work and how to build simple functions from scratch for your task.
Join us as we explore the world of Natural Language Processing.
See you in the Course,Stay blessed.
Tips for getting through the course
Please write or code along with us do not just watch,this will enhance your understanding.
You can regulate the speed and audio of the video as you wish,preferably at -0.75x if the speed is too fast for you.
Suggested Prerequisites is understanding of Python
This course is NOT a 'Theoretical Introduction to NLP' nor 'Advanced Concepts in NLP' although we try our best to cover some concepts for the beginner and the pro. Rather it is about the tools used for NLP Project workflow.