We may earn an affiliate commission when you visit our partners.
Course image
Jones Granatyr and AI Expert Academy

The area of ​​Natural Language Processing (NLP) is a subarea of ​​Artificial Intelligence that aims to make computers capable of understanding human language, both written and spoken. Some examples of practical applications are: translators between languages, translation from text to speech or speech to text, chatbots, automatic question and answer systems (Q&A), automatic generation of descriptions for images, generation of subtitles in videos, classification of sentiments in sentences, among many others. Another important application is the automatic document summarization, which consists of generating text summaries. Suppose you need to read an article with 50 pages, however, you do not have enough time to read the full text. In that case, you can use a summary algorithm to generate a summary of this article. The size of this summary can be adjusted: you can transform 50 pages into only 20 pages that contain only the most important parts of the text.

Read more

The area of ​​Natural Language Processing (NLP) is a subarea of ​​Artificial Intelligence that aims to make computers capable of understanding human language, both written and spoken. Some examples of practical applications are: translators between languages, translation from text to speech or speech to text, chatbots, automatic question and answer systems (Q&A), automatic generation of descriptions for images, generation of subtitles in videos, classification of sentiments in sentences, among many others. Another important application is the automatic document summarization, which consists of generating text summaries. Suppose you need to read an article with 50 pages, however, you do not have enough time to read the full text. In that case, you can use a summary algorithm to generate a summary of this article. The size of this summary can be adjusted: you can transform 50 pages into only 20 pages that contain only the most important parts of the text.

Based on this, this course presents the theory and mainly the practical implementation of three text summarization algorithms: (i) frequency-based, (ii) distance-based (cosine similarity with Pagerank) and (iii) the famous and classic Luhn algorithm, which was one of the first efforts in this area. During the lectures, we will implement each of these algorithms step by step using modern technologies, such as the Python programming language, the NLTK (Natural Language Toolkit) and spaCy libraries and Google Colab, which will ensure that you will have no problems with installations or configurations of software on your local machine.

In addition to implementing the algorithms, you will also learn how to extract news from blogs and the feeds, as well as generate interesting views of the summaries using HTML. After implementing the algorithms from scratch, you have an additional module in which you can use specific libraries to summarize documents, such as: sumy, pysummarization and BERT summarizer. At the end of the course, you will know everything you need to create your own summary algorithms. If you have never heard about text summarization, this course is for you. On the other hand, if you are already experienced, you can use this course to review the concepts.

Enroll now

What's inside

Learning objectives

  • Understand the theory and mathematical calculations of text summarization algorithms
  • Implement the following summarization algorithms step by step in python: frequency-based, distance-based and the classic luhn algorithm
  • Use the following libraries for text summarization: sumy, pysummarization and bert summarizer
  • Summarize articles extracted from web pages and feeds
  • Use the nltk and spacy libraries and google colab for your natural language processing implementations
  • Create html visualizations for the presentation of the summaries

Syllabus

Introduction
Course content
Introduction to natural language processing
Source code and slides
Read more
Frequency-based algorithm
Plan of attack
Algorithm - intuition
Preprocessing the texts 1
Preprocessing the texts 2
Word frequency
Weighted word frequency
Sentence tokenization
Generating the summary
Visualizing the summary in HTML
Extracting texts from the Internet
Function to summarize the texts
Function to visualize the results
Summarizing multiple texts
Luhn algorithm
Preparing the environment
Implementation 1
Implementation 2
Implementation 3
Implementation 4
Implementation 5
Reading articles from RSS feeds
Word cloud
Extracting named entities
Summarizing articles from feed
Summary in HTML files
Cosine similarity
Similarity between sentences 1
Similarity between sentences 2
Similarity matrix
Summarizing texts
Libraries for text summarization
Sumy library
Pysummarization library
BERT summarizer library
Additional content: abstractive summarization
Final remarks
BONUS

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores text summarization, which is standard in industry
Introduces machine learning and deep learning models for text summarization
Teaches Python with the Python programming language
Provides hands-on experience with natural language processing, which is useful for learners
Taught by Jones Granatyr, who are recognized for their work in natural language processing
Provides a strong foundation for beginners in text summarization

Save this course

Save Natural Language Processing for Text Summarization to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Natural Language Processing for Text Summarization with these activities:
Review 'Natural Language Processing with Python' by Steven Bird, Ewan Klein, and Edward Loper
Supplement your course learning with insights from experts in the field, broadening your understanding of NLP concepts.
Show steps
  • Read selected chapters or sections of the book
  • Summarize key concepts and techniques
Create a curated list of NLP resources
Support your learning and future endeavors by compiling a valuable collection of NLP-related resources.
Browse courses on Resources
Show steps
  • Identify and gather high-quality resources such as articles, tutorials, libraries, and datasets
  • Organize the resources into a structured and easily accessible format
  • Share your compilation with the community through a blog post, GitHub repository, or other platform
Review fundamentals of natural language processing
Starting this course with foundational knowledge will enable a stronger understanding of course materials and provide a more solid base for learning more advanced concepts.
Show steps
  • Review concepts of syntax and semantics
  • Practice extracting named entities using Python libraries like spaCy and NLTK
  • Locate a natural language processing library like NLTK and explore its functionality
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement the Luhn algorithm in Python
After learning about the famous Luhn algorithm, implementing it will solidify your understanding and strengthen your Python programming skills.
Show steps
  • Locate a Python implementation of the Luhn algorithm
  • Replicate the implementation yourself, step by step
  • Test your implementation on various text samples
Build a text summarization tool using Python
Develop your skills across the board by using the concepts learned in this course to create a practical and tangible tool.
Browse courses on Text Summarization
Show steps
  • Design the architecture of your tool, considering the different summarization algorithms covered in the course
  • Implement the tool using Python, integrating the chosen algorithms
  • Test and refine your tool on a variety of text samples to ensure its accuracy and efficiency
Contribute to open-source NLP projects
Engage with the broader NLP community by contributing to open-source projects, expanding your knowledge and making a tangible impact.
Browse courses on Open Source
Show steps
  • Identify open-source NLP projects that align with your interests
  • Explore the project's codebase and documentation
  • Identify areas where you can contribute, such as bug fixes, feature enhancements, or documentation improvements
Participate in an NLP hackathon or competition
Challenge yourself in a practical and competitive setting, applying your NLP skills to solve real-world problems.
Show steps
  • Find an NLP hackathon or competition that aligns with your interests
  • Form a team or work individually on developing a solution
  • Submit your solution and compete for recognition and prizes

Career center

Learners who complete Natural Language Processing for Text Summarization will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
As a Machine Learning Engineer specializing in natural language processing, you will work on developing and improving machine learning algorithms that can understand and generate human language. This course will give you the foundation you need to understand the theory and mathematical calculations behind text summarization algorithms. You will also learn how to implement these algorithms in Python using the NLTK and spaCy libraries, which are essential tools for machine learning engineers.
Computational Linguist
As a Computational Linguist, you will work on developing and improving computational models of human language. This course will give you the foundation you need to understand the theory and mathematical calculations behind text summarization algorithms. You will also learn how to implement these algorithms in Python using the NLTK and spaCy libraries.
Natural Language Processing Engineer
As a Natural Language Processing Engineer, you will work on developing and improving machine learning algorithms that can understand and generate human language. This course will give you the foundation you need to understand the theory and mathematical calculations behind text summarization algorithms. You will also learn how to implement these algorithms in Python using the NLTK and spaCy libraries. Overall this course will help you build a strong foundation in natural language processing, which is becoming increasingly important in a variety of industries.
Data Scientist
As a Data Scientist, you will use your skills in natural language processing to extract insights from large datasets. This course will help you build a strong foundation in natural language processing, which is becoming increasingly important in a variety of industries. You will learn how to implement text summarization algorithms in Python using the NLTK and spaCy libraries, which will help you to extract valuable insights from large datasets.
Information Architect
As an Information Architect, you will work on designing and organizing information systems. This course will help you build a strong foundation in natural language processing, which is becoming increasingly important for organizing and presenting information. You will learn how to implement text summarization algorithms in Python using the NLTK and spaCy libraries, which will help you to create more effective and user-friendly information systems.
User Experience Designer
As a User Experience Designer, you will work on designing and evaluating user interfaces. This course will help you build a strong foundation in natural language processing, which is becoming increasingly important for creating user interfaces that are easy to use and understand. You will learn how to implement text summarization algorithms in Python using the NLTK and spaCy libraries, which will help you to create more effective and user-friendly user interfaces.
Software Engineer
As a Software Engineer specializing in natural language processing, you will work on developing and improving software that can understand and generate human language. This course will give you the foundation you need to understand the theory and mathematical calculations behind text summarization algorithms. You will also learn how to implement these algorithms in Python using the NLTK and spaCy libraries.
Technical Writer
As a Technical Writer, you may use natural language processing to simplify and improve your writing.
Product Manager
As a Product Manager, you may use natural language processing to analyze user feedback and make decisions about product development.
Business Analyst
As a Business Analyst, you may use natural language processing to analyze data and make recommendations to improve business processes.
Project Manager
As a Project Manager, you may use natural language processing to analyze project data and make decisions.
Digital Marketer
As a Digital Marketer, you may utilize natural language processing to extract insights from social media data.
Sales Manager
As a Sales Manager, you may use natural language processing to analyze sales data and make decisions about sales strategies.
Content Strategist
As a Content Strategist, you may use natural language processing to analyze data and make changes to your content strategy.
Customer Success Manager
As a Customer Success Manager, you may use natural language processing to analyze customer feedback.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Natural Language Processing for Text Summarization.
Provides a comprehensive overview of natural language processing, including text summarization. It valuable resource for anyone interested in learning more about the theory and practice of text summarization.
Provides a comprehensive overview of natural language processing, with a focus on machine learning. It covers a variety of natural language processing tasks, including text summarization.
Provides a comprehensive overview of deep learning for natural language processing. It covers a variety of deep learning architectures and algorithms, including those used for text summarization.
Comprehensive handbook of natural language processing. It covers a wide range of natural language processing topics, including text summarization.
Provides a comprehensive overview of the statistical foundations of natural language processing. It covers a variety of statistical models and algorithms, including those used for text summarization.
Comprehensive textbook on speech and language processing. It covers a wide range of speech and language processing topics, including text summarization.
Provides a comprehensive overview of machine learning. It covers a variety of machine learning topics, including natural language processing and text summarization.
Provides a comprehensive overview of deep learning. It covers a variety of deep learning topics, including natural language processing and text summarization.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Natural Language Processing for Text Summarization.
GenAI Summarization with Langchain: Summarize Text...
Getting Started with Natural Language Processing with...
Summarize Text using SQL and LLMs in BigQuery ML
Using Python to Interact with the Operating System
Named Entity Recognition using LSTMs with Keras
LLMs with Google Cloud and Python
Garbage Collection Algorithms
Exploring Generative AI Models and Architecture
Small Language Models
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser