All Projects → llSourcell → How_to_make_a_text_summarizer

llSourcell / How_to_make_a_text_summarizer

Licence: mit
This is the code for "How to Make a Text Summarizer - Intro to Deep Learning #10" by Siraj Raval on Youtube

Projects that are alternatives of or similar to How to make a text summarizer

Urban Sound Classification
Urban sound classification using Deep Learning
Stars: ✭ 456 (-2.36%)
Mutual labels:  jupyter-notebook
Generative Adversarial Network Tutorial
Tutorial on creating your own GAN in Tensorflow
Stars: ✭ 461 (-1.28%)
Mutual labels:  jupyter-notebook
Rl Book
Source codes for the book "Reinforcement Learning: Theory and Python Implementation"
Stars: ✭ 464 (-0.64%)
Mutual labels:  jupyter-notebook
Automated Feature Engineering
Automated feature engineering in Python with Featuretools
Stars: ✭ 458 (-1.93%)
Mutual labels:  jupyter-notebook
Artificial Intelligence For Trading
Content for Udacity's AI in Trading NanoDegree.
Stars: ✭ 459 (-1.71%)
Mutual labels:  jupyter-notebook
Timeseries seq2seq
This repo aims to be a useful collection of notebooks/code for understanding and implementing seq2seq neural networks for time series forecasting. Networks are constructed with keras/tensorflow.
Stars: ✭ 462 (-1.07%)
Mutual labels:  jupyter-notebook
N2
TOROS N2 - lightweight approximate Nearest Neighbor library which runs fast even with large datasets
Stars: ✭ 457 (-2.14%)
Mutual labels:  jupyter-notebook
Python3 In One Pic
Learn python3 in one picture.
Stars: ✭ 4,514 (+866.6%)
Mutual labels:  jupyter-notebook
Gantts
PyTorch implementation of GAN-based text-to-speech synthesis and voice conversion (VC)
Stars: ✭ 460 (-1.5%)
Mutual labels:  jupyter-notebook
Udacity Deep Learning
Udacity Deep Learning MOOC assignments
Stars: ✭ 463 (-0.86%)
Mutual labels:  jupyter-notebook
Fastquant
fastquant — Backtest and optimize your trading strategies with only 3 lines of code!
Stars: ✭ 457 (-2.14%)
Mutual labels:  jupyter-notebook
Pba
Efficient Learning of Augmentation Policy Schedules
Stars: ✭ 461 (-1.28%)
Mutual labels:  jupyter-notebook
Neural Turing Machines
Attempt at implementing system described in "Neural Turing Machines." by Graves, Alex, Greg Wayne, and Ivo Danihelka. (http://arxiv.org/abs/1410.5401)
Stars: ✭ 462 (-1.07%)
Mutual labels:  jupyter-notebook
Hyperparameter Optimization
Implementation of Bayesian Hyperparameter Optimization of Machine Learning Algorithms
Stars: ✭ 457 (-2.14%)
Mutual labels:  jupyter-notebook
Graph Neural Networks
Stars: ✭ 464 (-0.64%)
Mutual labels:  jupyter-notebook
Deep Learning Traffic Lights
Code and files of the deep learning model used to win the Nexar Traffic Light Recognition challenge
Stars: ✭ 457 (-2.14%)
Mutual labels:  jupyter-notebook
Instcolorization
Stars: ✭ 461 (-1.28%)
Mutual labels:  jupyter-notebook
Interview Questions
机器学习/深度学习/Python/Go语言面试题笔试题(Machine learning Deep Learning Python and Golang Interview Questions)
Stars: ✭ 462 (-1.07%)
Mutual labels:  jupyter-notebook
Additive Margin Softmax
This is the implementation of paper <Additive Margin Softmax for Face Verification>
Stars: ✭ 464 (-0.64%)
Mutual labels:  jupyter-notebook
Scene Graph Benchmark.pytorch
A new codebase for popular Scene Graph Generation methods (2020). Visualization & Scene Graph Extraction on custom images/datasets are provided. It's also a PyTorch implementation of paper “Unbiased Scene Graph Generation from Biased Training CVPR 2020”
Stars: ✭ 462 (-1.07%)
Mutual labels:  jupyter-notebook

How_to_make_a_text_summarizer

This is the code for "How to Make a Text Summarizer - Intro to Deep Learning #10" by Siraj Raval on Youtube.

Coding Challenge - Due Date - Thursday, March 23rd at 12 PM PST

The challenge for this video is to make a text summarizer for a set of articles with Keras. You can use any textual dataset to do this. By doing this you'll learn more about encoder-decoder architecture and the role of attention in deep learning. Good luck!

Overview

This is the code for this video on Youtube by Siraj Raval as part of the Deep Learning Nanodegree with Udacity. We're using an encoder-decoder architecture to generate a headline from a news article.

Dependencies

  • Tensorflow or Theano
  • Keras
  • python-Levenshtein (pip install python-levenshtein)

Use pip to install any missing dependencies.

Basic Usage

Data

The video example is made from the text at the start of the article, which I call description (or desc), and the text of the original headline (or head). The texts should be already tokenized and the tokens separated by spaces. This is a good example dataset. You can use the 'content' as the 'desc' and the 'title' as the 'head'.

Once you have the data ready save it in a python pickle file as a tuple: (heads, descs, keywords) were heads is a list of all the head strings, descs is a list of all the article strings in the same order and length as heads. I ignore the keywrods information so you can place None.

Here is a link on how to get similar datasets

Build a vocabulary of words

The vocabulary-embedding notebook describes how a dictionary is built for the tokens and how an initial embedding matrix is built from GloVe.

Train a model

The train notebook describes how a model is trained on the data using Keras.

Use model to generate new headlines

The predict notebook generate headlines by the trained model and showes the attention weights used to pick words from the description. The text generation includes a feature which was not described in the original paper, it allows for words that are outside the training vocabulary to be copied from the description to the generated headline.

Examples of headlines generated

Good (cherry-picked) examples of headlines generated: cherry picking of generated headlines cherry picking of generated headlines

Examples of attention weights

attention weights

Credits

The credit for this code goes to udibr i've merely created a wrapper to make it easier to get started.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].