All Projects → geniusai-research → email-summarization

geniusai-research / email-summarization

Licence: other
A module for E-mail Summarization which uses clustering of skip-thought sentence embeddings.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to email-summarization

Ganspapercollection
Stars: ✭ 130 (+60.49%)
Mutual labels:  theano
Pixelcnn
Theano reimplementation of pixelCNN architecture
Stars: ✭ 170 (+109.88%)
Mutual labels:  theano
Rnn ctc
Recurrent Neural Network and Long Short Term Memory (LSTM) with Connectionist Temporal Classification implemented in Theano. Includes a Toy training example.
Stars: ✭ 220 (+171.6%)
Mutual labels:  theano
Real Time Ml Project
A curated list of applied machine learning and data science notebooks and libraries across different industries.
Stars: ✭ 143 (+76.54%)
Mutual labels:  theano
Deep Svdd
Repository for the Deep One-Class Classification ICML 2018 paper
Stars: ✭ 159 (+96.3%)
Mutual labels:  theano
Sca Cnn.cvpr17
Image Captions Generation with Spatial and Channel-wise Attention
Stars: ✭ 198 (+144.44%)
Mutual labels:  theano
Handwritten Digit Recognition Using Deep Learning
Handwritten Digit Recognition using Machine Learning and Deep Learning
Stars: ✭ 127 (+56.79%)
Mutual labels:  theano
TextSumma
reimplementing Neural Summarization by Extracting Sentences and Words
Stars: ✭ 16 (-80.25%)
Mutual labels:  text-summarization
Neuralnets
Deep Learning libraries tested on images and time series
Stars: ✭ 163 (+101.23%)
Mutual labels:  theano
Keras Gp
Keras + Gaussian Processes: Learning scalable deep and recurrent kernels.
Stars: ✭ 218 (+169.14%)
Mutual labels:  theano
Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (+76.54%)
Mutual labels:  theano
Mariana
The Cutest Deep Learning Framework which is also a wonderful Declarative Language
Stars: ✭ 151 (+86.42%)
Mutual labels:  theano
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+3072.84%)
Mutual labels:  theano
Ilqr
Iterative Linear Quadratic Regulator with auto-differentiatiable dynamics models
Stars: ✭ 141 (+74.07%)
Mutual labels:  theano
Deepjazz
Deep learning driven jazz generation using Keras & Theano!
Stars: ✭ 2,766 (+3314.81%)
Mutual labels:  theano
Nmtpy
nmtpy is a Python framework based on dl4mt-tutorial to experiment with Neural Machine Translation pipelines.
Stars: ✭ 127 (+56.79%)
Mutual labels:  theano
Opt Mmd
Learning kernels to maximize the power of MMD tests
Stars: ✭ 181 (+123.46%)
Mutual labels:  theano
Theano-MPI
MPI Parallel framework for training deep learning models built in Theano
Stars: ✭ 55 (-32.1%)
Mutual labels:  theano
SemiDenseNet
Repository containing the code of one of the networks that we employed in the iSEG Grand MICCAI Challenge 2017, infant brain segmentation.
Stars: ✭ 55 (-32.1%)
Mutual labels:  theano
Cnn Text Classification Keras
Text Classification by Convolutional Neural Network in Keras
Stars: ✭ 213 (+162.96%)
Mutual labels:  theano

email-summarization

A module for E-mail Summarization which uses clustering of skip-thought sentence embeddings.
This code in this repository compliments this Medium article.

Instructions

  • The code is written in Python 2.
  • The module uses code of the Skip-Thoughts paper which can be found here. Do:
    git clone https://github.com/ryankiros/skip-thoughts
    
  • The code for the skip-thoughts paper uses Theano. Make sure you have Theano installed and GPU acceleration is functional for faster execution.
  • Clone this repository and copy the file email_summarization.py to the root of the cloned skip-thoughts repository. Do:
    git clone https://github.com/jatana-research/email-summarization
    cp email-summarization/email_summarization.py skip-thoughts/
    
  • Install dependencies. Do:
    pip install -r email-summarization/requirements.txt
    python -c 'import nltk; nltk.download("punkt")'
    
  • Download the pre-trained models. The total download size will be of around 5 GB. Do:
    mkdir skip-thoughts/models
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/dictionary.txt
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/utable.npy
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/btable.npy
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/uni_skip.npz
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/uni_skip.npz.pkl
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/bi_skip.npz
    wget -P ./skip-thoughts/models http://www.cs.toronto.edu/~rkiros/models/bi_skip.npz.pkl
    
  • Verify the MD5 hashes of the downloaded files to ensure that the files haven't been corrupted during the download. Do:
    md5sum skip-thoughts/models/*
    
    The output should be:
    9a15429d694a0e035f9ee1efcb1406f3 bi_skip.npz
    c9b86840e1dedb05837735d8bf94cee2 bi_skip.npz.pkl
    022b5b15f53a84c785e3153a2c383df6 btable.npy
    26d8a3e6458500013723b380a4b4b55e dictionary.txt
    8eb7c6948001740c3111d71a2fa446c1 uni_skip.npz
    e1a0ead377877ff3ea5388bb11cfe8d7 uni_skip.npz.pkl
    5871cc62fc01b79788c79c219b175617 utable.npy
    
  • Change Lines:23-24 in the file skip-thoughts/skipthoughts.py to provide the correct paths to the downloaded models.
    path_to_models = 'models/'
    path_to_tables = 'models/'
    

Running the module

  • Find any English emails dataset online or create a small one on your own.
  • The module expects a list of emails as input and returns a list of summaries.
  • Open the Python interpreter in the skip-thoughts/ folder and do:
    >>> from email_summarization import summarize
    >>> summaries = summarize(emails) # emails is a Python list containing English emails.
    
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].