• Stars
    star
    433
  • Rank 100,464 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📡 Organized Resources for Deep Learning in Natural Language Processing

_img/mainpage/logo.gif

alternate text

Deep Learning for Natural Language Processing

https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat https://badges.frapsoft.com/os/v2/open-source.png?v=103 https://img.shields.io/twitter/follow/amirsinatorfi.svg?label=Follow&style=social

For a detailed description of the architecture please read our paper. Using the code of this repository is allowed with proper attribution: Please cite the paper if you find it useful.

@article{torfi2020natural,
title={Natural Language Processing Advancements By Deep Learning: A Survey},
author={Torfi, Amirsina and Shirvani, Rouzbeh A and Keneshloo, Yaser and Tavvaf, Nader and Fox, Edward A},
journal={arXiv preprint arXiv:2003.01200},
year={2020}
 }

Table of Contents

Introduction

The purpose of this project is to introduce a shortcut to developers and researcher for finding useful resources about Deep Learning for Natural Language Processing.

Motivation

There are different motivations for this open source project.

What's the point of this open source project?

There other similar repositories similar to this repository and are very comprehensive and useful and to be honest they made me ponder if there is a necessity for this repository!

The point of this repository is that the resources are being targeted. The organization of the resources is such that the user can easily find the things he/she is looking for. We divided the resources to a large number of categories that in the beginning one may have a headache!!! However, if someone knows what is being located, it is very easy to find the most related resources. Even if someone doesn't know what to look for, in the beginning, the general resources have been provided.

Papers

_img/mainpage/article.jpeg

This chapter is associated with the papers published in NLP using deep learning.

Data Representation

One-hot representation
  • Effective Use of Word Order for Text Categorization with Convolutional Neural Networks : Exploiting the 1D structure (namely, word order) of text data for prediction. [Paper link , Code implementation]

    _img/mainpage/progress-overall-60.png
  • Neural Responding Machine for Short-Text Conversation : Neural Responding Machine has been proposed to generate content-wise appropriate responses to input text. [Paper link , Paper summary]

    _img/mainpage/progress-overall-60.png
Continuous Bag of Words (CBOW)
  • Distributed Representations of Words and Phrases and their Compositionality : Not necessarily about CBOWs but the techniques represented in this paper can be used for training the continuous bag-of-words model. [Paper link , Code implementation 1, Code implementation 2]

    _img/mainpage/progress-overall-100.png
Word-Level Embedding
  • Efficient Estimation of Word Representations in Vector Space : Two novel model architectures for computing continuous vector representations of words. [Paper link , Official code implementation]

    _img/mainpage/progress-overall-100.png
  • GloVe: Global Vectors for Word Representation : Combines the advantages of the two major models of global matrix factorization and local context window methods and efficiently leverages the statistical information of the content. [Paper link , Official code implementation]

    _img/mainpage/progress-overall-100.png
Character-Level Embedding
  • Learning Character-level Representations for Part-of-Speech Tagging : CNNs have successfully been utilized for learning character-level embedding. [Paper link ]

    _img/mainpage/progress-overall-60.png
  • Deep Convolutional Neural Networks forSentiment Analysis of Short Texts : A new deep convolutional neural network has been proposed for exploiting the character- to sentence-level information for sentiment analysis application on short texts. [Paper link ]

    _img/mainpage/progress-overall-80.png
  • Finding Function in Form: Compositional Character Models for Open Vocabulary Word Representation : The usage of two LSTMs operate over the char- acters for generating the word embedding [Paper link ]

    _img/mainpage/progress-overall-60.png
  • Improved Transition-Based Parsing by Modeling Characters instead of Words with LSTMs : The effectiveness of modeling characters for dependency parsing. [Paper link ]

    _img/mainpage/progress-overall-40.png

Applications

Part-Of-Speech Tagging
  • Learning Character-level Representations for Part-of-Speech Tagging : A deep neural network (DNN) architecture that joins word-level and character-level representations to perform POS taggin [Paper]

    _img/mainpage/progress-overall-100.png
  • Bidirectional LSTM-CRF Models for Sequence Tagging : A variety of neural network based models haves been proposed for sequence tagging task. [Paper, Code Implementation 1, Code Implementation 2]

    _img/mainpage/progress-overall-80.png
  • Globally Normalized Transition-Based Neural Networks : Transition-based neural network model for part-of-speech tagging. [Paper]

    _img/mainpage/progress-overall-80.png
Parsing
  • A fast and accurate dependency parser using neural networks : A novel way of learning a neural network classifier for use in a greedy, transition-based dependency parser. [Paper, Code Implementation 1]

    _img/mainpage/progress-overall-100.png
  • Simple and Accurate Dependency Parsing Using Bidirectional LSTM Feature Representations : A simple and effective scheme for dependency parsing which is based on bidirectional-LSTMs. [Paper]

    _img/mainpage/progress-overall-60.png
  • Transition-Based Dependency Parsing with Stack Long Short-Term Memory : A technique for learning representations of parser states in transition-based dependency parsers. [Paper]

    _img/mainpage/progress-overall-80.png
  • Deep Biaffine Attention for Neural Dependency Parsing : Using neural attention in a simple graph-based dependency parser. [Paper]

    _img/mainpage/progress-overall-20.png
  • Joint RNN-Based Greedy Parsing and Word Composition : A greedy parser based on neural networks, which leverages a new compositional sub-tree representation. [Paper]

    _img/mainpage/progress-overall-20.png
Named Entity Recognition
  • Neural Architectures for Named Entity Recognition : Bidirectional LSTMs and conditional random fields for NER. [Paper]

    _img/mainpage/progress-overall-100.png
  • Boosting named entity recognition with neural character embeddings : A language-independent NER system that uses automatically learned features. [Paper]

    _img/mainpage/progress-overall-60.png
  • Named Entity Recognition with Bidirectional LSTM-CNNs : A novel neural network architecture that automatically detects word- and character-level features. [Paper]

    _img/mainpage/progress-overall-80.png
Semantic Role Labeling
  • End-to-end learning of semantic role labeling using recurrent neural networks : The use of deep bi-directional recurrent network as an end-to-end system for SRL. [Paper]

    _img/mainpage/progress-overall-60.png
Text classification
  • A Convolutional Neural Network for Modelling Sentences : Dynamic Convolutional Neural Network (DCNN) architecture, which technically is the CNN with a dynamic k-max pooling method, has been proposed for capturing the semantic modeling of the sentences. [Paper link , Code implementation]

    _img/mainpage/progress-overall-80.png
  • Very Deep Convolutional Networks for Text Classification : The Very Deep Convolutional Neural Networks (VDCNNs) has been presented and employed at character-level with the demonstration of the effectiveness of the network depth on classification tasks [Paper link ]

    _img/mainpage/progress-overall-20.png
  • Multichannel Variable-Size Convolution for Sentence Classification : Multichannel Variable Size Convolutional Neural Network (MV-CNN) architecture Combines different version of word-embeddings in addition to employing variable-size convolutional filters and is proposed in this paper for sentence classification. [Paper link]

    _img/mainpage/progress-overall-20.png
  • A Sensitivity Analysis of (and Practitioners' Guide to) Convolutional Neural Networks for Sentence Classification : A practical sensitivity analysis of CNNs for exploring the effect of architecture on the performance, has been investigated in this paper. [Paper link]

    _img/mainpage/progress-overall-60.png
  • Generative and Discriminative Text Classification with Recurrent Neural Networks : RNN-based discriminative and generative models have been investigated for text classification and their robustness to the data distribution shifts has been claimed as well. [Paper link]

    _img/mainpage/progress-overall-20.png
  • Deep sentence embedding using long short-term memory networks: Analysis and application to information retrieval : An LSTM-RNN architecture has been utilized for sentence embedding with special superiority in a defined web search task. [Paper link]

    _img/mainpage/progress-overall-60.png
  • Recurrent Convolutional Neural Networks for Text Classification : The combination of both RNNs and CNNs is used for text classification which technically is a recurrent architecture in addition to max-pooling with an effective word representation method and demonstrates superiority compared to simple windows-based neural network approaches. [Paper link , Code implementation 1 , Code implementation 2 , Summary]

    _img/mainpage/progress-overall-60.png
  • A C-LSTM Neural Network for Text Classification : A unified architecture proposed for sentence and document modeling for classification. [Paper link ]

    _img/mainpage/progress-overall-20.png
Sentiment Analysis
  • Domain adaptation for large-scale sentiment classification: A deep learning approach : A deep learning approach which learns to extract a meaningful representation for each online review. [Paper link]

    _img/mainpage/progress-overall-80.png
  • Sentiment analysis: Capturing favorability using natural language processing : A sentiment analysis approach to extract sentiments associated with polarities of positive or negative for specific subjects from a document. [Paper link]

    _img/mainpage/progress-overall-80.png
  • Document-level sentiment classification: An empirical comparison between SVM and ANN : A comparison study. [Paper link]

    _img/mainpage/progress-overall-60.png
  • Learning semantic representations of users and products for document level sentiment classification : Incorporating of user- and product- level information into a neural network approach for document level sentiment classification. [Paper]

    _img/mainpage/progress-overall-40.png
  • Document modeling with gated recurrent neural network for sentiment classification : A a neural network model has been proposed to learn vector-based document representation. [Paper, Implementation]

    _img/mainpage/progress-overall-60.png
  • Semi-supervised recursive autoencoders for predicting sentiment distributions : A novel machine learning framework based on recursive autoencoders for sentence-level prediction. [Paper]

    _img/mainpage/progress-overall-80.png
  • A convolutional neural network for modelling sentences : A convolutional architecture adopted for the semantic modelling of sentences. [Paper]

    _img/mainpage/progress-overall-80.png
  • Recursive deep models for semantic compositionality over a sentiment treebank : Recursive Neural Tensor Network for sentiment analysis. [Paper]

    _img/mainpage/progress-overall-60.png
  • Adaptive recursive neural network for target-dependent twitter sentiment classification : AdaRNN adaptively propagates the sentiments of words to target depending on the context and syntactic relationships. [Paper]

    _img/mainpage/progress-overall-20.png
  • Aspect extraction for opinion mining with a deep convolutional neural network : A deep learning approach to aspect extraction in opinion mining. [Paper]

    _img/mainpage/progress-overall-20.png
Machine Translation
  • Learning phrase representations using RNN encoder-decoder for statistical machine translation : The proposed RNN Encoder–Decoder with a novel hidden unit has been empirically evaluated on the task of machine translation. [Paper, Code, Blog post]

    _img/mainpage/progress-overall-100.png
  • Sequence to Sequence Learning with Neural Networks : A showcase of NMT system is comparable to the traditional pipeline by Google. [Paper, Code]

    _img/mainpage/progress-overall-100.png
  • Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation : This work presents the design and implementation of GNMT, a production NMT system at Google. [Paper, Code]

    _img/mainpage/progress-overall-100.png
  • Neural Machine Translation by Jointly Learning to Align and Translate : An extension to the encoder–decoder model which learns to align and translate jointly by attention mechanism. [Paper]

    _img/mainpage/progress-overall-100.png
  • Effective Approaches to Attention-based Neural Machine Translation : Improvement of attention mechanism for NMT. [Paper, Code]

    _img/mainpage/progress-overall-60.png
  • On the Properties of Neural Machine Translation: Encoder-Decoder Approaches : Analyzing the properties of the neural machine translation using two models; RNN Encoder--Decoder and a newly proposed gated recursive convolutional neural network. [Paper]

    _img/mainpage/progress-overall-60.png
  • On Using Very Large Target Vocabulary for Neural Machine Translation : A method that allows to use a very large target vocabulary without increasing training complexity. [Paper]

    _img/mainpage/progress-overall-40.png
  • Convolutional sequence to sequence learning : An architecture based entirely on convolutional neural networks. [Paper, Code[Torch], Code[Pytorch], Post]

    _img/mainpage/progress-overall-60.png
  • Attention Is All You Need : The Transformer: a novel neural network architecture based on a self-attention mechanism. [Paper, Code, Accelerating Deep Learning Research with the Tensor2Tensor Library, Transformer: A Novel Neural Network Architecture for Language Understanding]

    _img/mainpage/progress-overall-100.png
Summarization
  • A Neural Attention Model for Abstractive Sentence Summarization : A fully data-driven approach to abstractive sentence summarization based on a local attention model. [Paper, Code, A Read on "A Neural Attention Model for Abstractive Sentence Summarization", Blog Post, Paper notes,]

    _img/mainpage/progress-overall-100.png
  • Get To The Point: Summarization with Pointer-Generator Networks : A novel architecture that augments the standard sequence-to-sequence attentional model by using a hybrid pointer-generator network that may copy words from the source text via pointing and using coverage to keep track of what has been summarized. [Paper, Code, Video, Blog Post]

    _img/mainpage/progress-overall-100.png
  • Abstractive Sentence Summarization with Attentive Recurrent Neural Networks : A conditional recurrent neural network (RNN) based on convolutional attention-based encoder which generates a summary of an input sentence. [Paper]

    _img/mainpage/progress-overall-60.png
  • Abstractive Text Summarization Using Sequence-to-Sequence RNNs and Beyond : Abstractive text summarization using Attentional Encoder-Decoder Recurrent Neural Networks [Paper]

    _img/mainpage/progress-overall-60.png
  • A Deep Reinforced Model for Abstractive Summarization : A neural network model with a novel intra-attention that attends over the input and continuously generated output separately, and a new training method that combines standard supervised word prediction and reinforcement learning (RL). [Paper]

    _img/mainpage/progress-overall-60.png
Question Answering
  • Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks : An argue for the usefulness of a set of proxy tasks that evaluate reading comprehension via question answering. [Paper]

    _img/mainpage/progress-overall-60.png
  • Teaching Machines to Read and Comprehend : addressing the lack of real natural language training data by introducing a novel approach to building a supervised reading comprehension data set. [Paper]

    _img/mainpage/progress-overall-80.png
  • Ask Me Anything Dynamic Memory Networks for Natural Language Processing : Introducing the dynamic memory network (DMN), a neural network architecture which processes input sequences and questions, forms episodic memories, and generates relevant answers [Paper]

    _img/mainpage/progress-overall-80.png

Courses

_img/mainpage/online.png

  • Natural Language Processing with Deep Learning by Stanford : [Link]
  • Deep Natural Language Processing by the University of Oxford: [Link]
  • Natural Language Processing with Deep Learning in Python by Udemy: [Link]
  • Natural Language Processing with Deep Learning by Coursera: [Link]

Books

_img/mainpage/books.jpg

  • Speech and Language Processing by Dan Jurafsky and James H. Martin at stanford: [Link]
  • Neural Network Methods for Natural Language Processing by Yoav Goldberg: [Link]
  • Deep Learning with Text: Natural Language Processing (Almost) from Scratch with Python and spaCy by Patrick Harrison, Matthew Honnibal: [Link]
  • Natural Language Processing with Python by Steven Bird, Ewan Klein, and Edward Loper: [Link]

Blogs

_img/mainpage/Blogger_icon.png

  • Understanding Convolutional Neural Networks for NLP by Denny Britz: [Link]
  • Deep Learning, NLP, and Representations by Matthew Honnibal: [Link]
  • Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models by Sebastian Ruder: [Link]
  • Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models by Sebastian Ruder: [Link]
  • Natural Language Processing by Sebastian Ruder: [Link]
  • Probably Approximately a Scientific Blog by Vered Schwartz: [Link]
  • NLP news by Sebastian Ruder: [Link]
  • Deep Learning for Natural Language Processing (NLP): Advancements & Trends: [Link]
  • Neural Language Modeling From Scratch: [Link]

Tutorials

_img/mainpage/tutorial.png

  • Understanding Natural Language with Deep Neural Networks Using Torch by NVIDIA: [Link]
  • Deep Learning for NLP with Pytorch by Pytorch: [Link]
  • Deep Learning for Natural Language Processing: Tutorials with Jupyter Notebooks by Jon Krohn: [Link]

Datasets

General

  • 1 Billion Word Language Model Benchmark: The purpose of the project is to make available a standard training and test setup for language modeling experiments: [Link]
  • Common Crawl: The Common Crawl corpus contains petabytes of data collected over the last 7 years. It contains raw web page data, extracted metadata and text extractions: [Link]
  • Yelp Open Dataset: A subset of Yelp's businesses, reviews, and user data for use in personal, educational, and academic purposes: [Link]

Text classification

  • 20 newsgroups The 20 Newsgroups data set is a collection of approximately 20,000 newsgroup documents, partitioned (nearly) evenly across 20 different newsgroups: [Link]
  • Broadcast News The 1996 Broadcast News Speech Corpus contains a total of 104 hours of broadcasts from ABC, CNN and CSPAN television networks and NPR and PRI radio networks with corresponding transcripts: [Link]
  • The wikitext long term dependency language modeling dataset: A collection of over 100 million tokens extracted from the set of verified Good and Featured articles on Wikipedia. : [Link]

Question Answering

  • Question Answering Corpus by Deep Mind and Oxford which is two new corpora of roughly a million news stories with associated queries from the CNN and Daily Mail websites. [Link]
  • Stanford Question Answering Dataset (SQuAD) consisting of questions posed by crowdworkers on a set of Wikipedia articles: [Link]
  • Amazon question/answer data contains Question and Answer data from Amazon, totaling around 1.4 million answered questions: [Link]

Sentiment Analysis

  • Multi-Domain Sentiment Dataset TThe Multi-Domain Sentiment Dataset contains product reviews taken from Amazon.com from many product types (domains): [Link]
  • Stanford Sentiment Treebank Dataset The Stanford Sentiment Treebank is the first corpus with fully labeled parse trees that allows for a complete analysis of the compositional effects of sentiment in language: [Link]
  • Large Movie Review Dataset: This is a dataset for binary sentiment classification: [Link]

Machine Translation

  • Aligned Hansards of the 36th Parliament of Canada dataset contains 1.3 million pairs of aligned text chunks: [Link]
  • Europarl: A Parallel Corpus for Statistical Machine Translation dataset extracted from the proceedings of the European Parliament: [Link]

Summarization

  • Legal Case Reports Data Set as a textual corpus of 4000 legal cases for automatic summarization and citation analysis.: [Link]

Contributing

For typos, unless significant changes, please do not create a pull request. Instead, declare them in issues or email the repository owner. Please note we have a code of conduct, please follow it in all your interactions with the project.

Pull Request Process

Please consider the following criterions in order to help us in a better way:

  1. The pull request is mainly expected to be a link suggestion.
  2. Please make sure your suggested resources are not obsolete or broken.
  3. Ensure any install or build dependencies are removed before the end of the layer when doing a build and creating a pull request.
  4. Add comments with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  5. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the owner to merge it for you if you believe all checks are passed.

Final Note

We are looking forward to your kind feedback. Please help us to improve this open source project and make our work better. For contribution, please create a pull request and we will investigate it promptly. Once again, we appreciate your kind feedback and support.

More Repositories

1

TensorFlow-World

🌎 Simple and ready-to-use tutorials for TensorFlow
Python
4,532
star
2

Deep-Learning-Roadmap

📡 Organized Resources for Deep Learning Researchers and Developers
Python
3,164
star
3

lip-reading-deeplearning

🔓 Lip Reading - Cross Audio-Visual Recognition using 3D Architectures
Python
1,763
star
4

speechpy

💬 SpeechPy - A Library for Speech Processing and Recognition: http://speechpy.readthedocs.io/en/latest/
Python
879
star
5

3D-convolutional-speaker-recognition

🔈 Deep Learning & 3D Convolutional Neural Networks for Speaker Verification
Python
764
star
6

CNTK-World

🌎 Simple and ready-to-use deep learning examples for the Microsoft Cognitive Toolkit (CNTK)
Python
329
star
7

pythonic-automatic-email

📧 Automated Customized Emails Using Python
Python
123
star
8

3D-convolutional-speaker-recognition-pytorch

🔈 Deep Learning & 3D Convolutional Neural Networks for Speaker Verification
Python
123
star
9

sequence-to-sequence-from-scratch

💬 Sequence to Sequence from Scratch Using Pytorch
Python
120
star
10

QR_Code

QR Code Pattern Recognition and Message Extraction
TeX
52
star
11

cor-gan

🔓 COR-GAN: Correlation-Capturing Convolutional Neural Networks for Generating Synthetic Healthcare Records
Python
51
star
12

attention-guided-sparsity

Attention-Based Guided Structured Sparsity of Deep Neural Networks
Python
29
star
13

TensorFlow-World-Resources

📡 Organized & Useful Resources about Deep Learning with TensorFlow
Python
21
star
14

Large-Scale-AI-Blueprint

A comprehensive guide designed to empower readers with advanced strategies and practical insights for developing, optimizing, and deploying scalable AI models in real-world applications.
20
star
15

Caffe_Deep_Learning

Python
14
star
16

differentially-private-cgan

Python
11
star
17

Create-LMDB-from-Numpy

Python
7
star
18

auto-punctuation-pytorch

Jupyter Notebook
6
star
19

gan-evaluation

Python
4
star
20

Data-Structures-and-Algorithms

C++
4
star
21

Local-Histogram-Equalization

Python
4
star
22

OpenCV-Installation

Shell
3
star
23

Leethcode

Python
3
star
24

ML-workflow

Python
2
star
25

deep-clustering-kmeans

Python
1
star
26

LeetCode

Python
1
star
27

audio-diffusion-tutorial

Exploring audio generation through diffusion models
Jupyter Notebook
1
star
28

blog-tutorials

Jupyter Notebook
1
star