### Browser plugins

- languagetool: Open Source proofreading program for a bunch of languages.
- grammarly: English spell and grammar checker

### Papers

- Association for Computational Linguistics: International scientific and professional society for people working on computational problems involving human language.
- arXiv.org: Highly-automated electronic archive and distribution server for research articles
- Journal for Language Technology and Computational Linguistics: Eine Publikationsplattform für Wissenschaftler aus dem Feld der Computerlinguistik und Sprachtechnologie
- Recent Deep Learning papers in NLU and RL: interesting papers with a few words about the main idea to make references in memory
- Research papers and some codes for deep Learning and deep reinforcement learning
- Papers We Love: Papers from the computer science community to read and discuss.

### NLP courses

- Gensim Tutorial: Gensim is billed as a Natural Language Processing package that does ‘Topic Modeling for Humans’. But it is practically much more than that...
- Understanding Natural Language with Deep Neural Networks Using Torch: Giving machines the ability to learn and understand language enables products and possibilities that are not imaginable today.
- Oxford Deep NLP 2017 course: Deep Natural Language Processing course offered in Hilary Term 2017 at the University of Oxford.
- Deep Learning for NLP resources: State of the art resources for NLP sequence modeling tasks such as machine translation, image captioning, and dialog.
- Neural Machine Translation and Sequence-to-sequence Models: A Tutorial, good tips from the author on Building Neural Machine Translation Systems
- Taming Recurrent Neural Networks for Better Summarization: A blog post about our latest paper, Get To The Point: Summarization with Pointer-Generator Networks

### Machine translation backends

- Pervasive Attention: 2D Convolutional Networks for Sequence-to-Sequence Prediction . Simple and outperforming state-of-the-art
- OpenNMT: A industrial-strength, open-source (MIT) neural machine translation system utilizing the Torch/PyTorch mathematical toolkit.
- ModernMT: Machine Translation that adapts to context and learns from corrections.
- Moses: A statistical machine translation system that allows you to automatically train translation models for any language pair.
- Grammatical Framework: A programming language for multilingual grammar applications
- Joshua: An open-source hierarchical statistical machine translation toolkit in Java
- NEMATUS: Attention-based encoder-decoder model for neural machine translation.
- tensor2tensor: A library for generalized sequence to sequence models. Blog post for translation models
- MarianNMT: Fast Neural Machine Translation in C++
- tree2seq: Tree-to-Sequence Attentional Neural Machine Translation
- Travatar: Forest-to-String SM translation based on Tree Transducers
- MANY: Open Source Machine Translation System Combination with Confusion Network Decoding
- Sockeye: state-of-the-art encoder-decoder architectures, such as RNN, Transformer and CNN (features and benchmark)
- XNMT: eXtensible Neural Machine Translation
- nmtpytorch: A Python framework based on dl4mt-tutorial to experiment with Neural Machine Translation pipelines. Project paper A Flexible Toolkit for Advanced Neural Machine Translation Systems
- Translate - a PyTorch Language Library: Translate is a library for machine translation, it relies on fairseq

### Models and papers for machine translation

- Zero-Shot Dual Machine Translation: an approach that combines zero-shot and dual reinforcement learning.
- Accelerating Neural Transformer via an Average Attention Network: An averag attention network as an alternative to the self-attention network in the decoder of the neural Transformer.
- Self-Attention with Relative Position Representations: extending the self-attention mechanism to efficiently consider representations of the relative positions, or distances between sequence elements.
- unsupervised-NMT: Unsupervised neural machine translation; weight sharing GAN. Project Paper: Unsupervised Neural Machine Translation with Weight Sharing
- NMT_GAN: Generative adversarial nets for neural machine translation. Project Paper: Improving Neural Machine Translation with Conditional Sequence Generative Adversarial Nets
- seq2seq-wgan: Penalize the norm of gradient of the critic with respect to its input for neural machine translation . Project Paper: Improved Training of Wasserstein GANs
- The Best of Both Worlds: Combining Recent Advances in Neural Machine Translation
- Training Tips for the Transformer Model: A set of recommendations for fellow researchers
- Bilingual word vectors: Linear transformation (a matrix), which aligns monolingual vectors from two languages in a single vector space. Project on Github: Multilingual word vectors in 78 languages
- Towards String-to-Tree Neural Machine Translation: method to incorporate syntactic information about the target language in a neural machine translation system. Project on Github: string-to-tree-nmt
- Graph Convolutional Encoders for Syntax-aware Neural Machine Translation: approach to incorporating syntactic structure into neural attention-based encoder-decoder models for machine translation.
- Structured Sequence Modeling with Graph Convolutional Recurrent Networks: a deep learning model able to predict structured sequences of data.
- Factored Translation Models: Statistical translation models that tightly integrates additional information
- Factored Neural Machine Translation: NMT model using the morphological and grammatical decomposition of the words (factors) in the output side of the neural network.
- Combining Techniques from different NN-based Language Models for Machine Translation: Models based on Restricted Boltzmann Machine
- End-To-End Memory Networks: Recurrent attention model over a possibly large external memory. Project Code on Github
- ByteNet: Neural Machine Translation in Linear Time. Project Code on Github
- A convolutional encoder model for neural machine translation: Architecture based on a succession of convolutional layers. Facebook implementation fairseq
- Multi-sense Word Embeddings using Multilingual Context: a multi-view Bayesian non-parametric algorithm which improves multi-sense word embeddings. Corresponding Project: Multilingual Central Repository
- Learning to Parse and Translate Improves Neural Machine Translation: A hybrid model, called NMT+RNNG, that learns to parse and translate by combining the recurrent neural network grammar into the attention-based neural machine translation.
- Online Learning for Neural Machine Translation Post-editing: Learn from post-edited samples and aiming to avoid the committed mistakes.
- Attention Is All You Need: The Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. A TensorFlow Implementation of the Transformer
- Interactive Neural Translation Assistance for Human Translators: user study on neural interactive translation prediction.NMT-Keras brach for InteractiveNMT
- Improved Translation by Neural Suffix Prediction: By predicting the stem and suffix separately during decoding.
- ABD-NMT: Asynchronous Bidirectional Decoding for Neural Machine Translation. Project code on Github
- VRNMT: Variational Recurrent Neural Machine Translation. Old project code on Github
- CAEncoder-NMT: A Context-Aware Recurrent Encoder for Neural Machine Translation. Project code on Github
- Pre-Translation for Neural Machine Translation: phrase-based machine translation to pre-translate the input into the target language
- Incorporating Syntactic Uncertainty in Neural Machine Translation with Forest-to-Sequence Model: a method to compensate their requirement for a large amount of parallel training text
- Sequence-to-Dependency Neural Machine Translation: the target word sequence and its corresponding dependency structure are jointly constructed and modeled, and this structure is used as context to facilitate word generations.
- Information-Propogation-Enhanced Neural Machine Translation by Relation Model: incorporate a relation network into the standard encoder-decoder framework to enhance information-propogation in neural network, ensuring that the information of the source sentence can flow into the decoder adequately
- Memory-augmented Neural Machine Translation: stores knowledge about how words (usually infrequently encountered ones) should be translated in a memory and then utilizes them to assist the neural model.

### NLP tools

- pattern: tools for data mining (Google, Twitter and Wikipedia API, a web crawler, a HTML DOM parser), natural language processing (part-of-speech taggers, n-gram search, sentiment analysis, WordNet), machine learning (vector space model, clustering, SVM)...
- Thinc: Practical Machine Learning for NLP in Python
- TextBlob: Simplified Text Processing
- nlpnet: Natural Language Processing with neural networks
- deepnlp: Deep Learning NLP Pipeline implemented on Tensorflow
- textacy: higher-level NLP built on spaCy
- practNLPTools: A pythonic library over SENNA and Stanford Dependency Extractor
- Enju: Fast and accurate English HPSG parser
- Jigg: Pipeline framework for easy natural language processing
- Neural Monkey: Neural Sequence Learning Using TensorFlow
- NLTK: A leading platform for building Python programs to work with human language data
- spaCy: Industrial-strength NLP
- FreeLing: Open source language analysis tool suite
- CSLM: Continuous Space Language Model toolkit
- SyntaxNet: Neural Models of Syntax
- NNBlocks: A framework to build and train linguistics neural models
- Gensim: Topic Modelling for Humans
- fastText: Library for fast text representation and classification.
- flashText: Extract Keywords from sentence or Replace keywords in sentences.
- faiss: A library for efficient similarity search and clustering of dense vectors.
- OpenGrm Thrax Grammar Development Tools: Compile grammars expressed as regular expressions and context-dependent rewrite rules into weighted finite-state transducers.
- Thrax: Offline extractor of synchronous context-free grammars for machine translation.
- Pynini:Grammar development in Python. Compiles grammars expressed as strings, regular expressions, and context-dependent rewrite rules into weighted finite-state transducers.
- conceptnet5: Code for building ConceptNet from raw data.
- UDepLambda: A framework to convert Universal Dependencies to Logical Forms
- UDAPI: API and multi-language framework for processing Universal Dependencies
- Arborator: Collaboratively annotating dependency corpora
- OpenKE: An Open-Source Package for Knowledge Embedding (KE)
- TensorFlow-NRE: Neural Relation Extraction implemented with LSTM in TensorFlow
- N3LP: C++ implementation for Neural Network-based NLP, such aExploring word2vec embeddings as a graph of nearest neighborss LSTM machine translation! Based on Eigen
- pke: Python Keyphrase Extraction module
- THUTag: A Java Package of Keyphrase Extraction and Social Tag Suggestion
- snips-nlu: Snips Python library to extract meaning from text
- word2vec-graph: Exploring word2vec embeddings as a graph of nearest neighbors
- MUSE: A library for Multilingual Unsupervised or Supervised word Embeddings
- polyglot: Multilingual text (NLP) processing toolkit
- textvae: A Hybrid Convolutional Variational Autoencoder for Text Generation.
- uni-dep-tb: A set of treebanks for multiple languages annotated in basic Stanford-style dependencies.
- A Deep Neural Network Approach To Parallel Sentence Extraction: We propose an end-to-end deep neural network approach to detect translational equivalence between sentences in two different languages.
- DeepRecommender: Deep learning for recommender systems
- allennlp: An open-source NLP research library, built on PyTorch.
- mlconvgec2018: A Multilayer Convolutional Encoder-Decoder Neural Network for Grammatical Error Correction. Project paper
- TCN: Sequence Modeling Benchmarks and Temporal Convolutional Networks. Project paper: An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
- SGNMT: Decoding platform for machine translation research. Project paper: Why not be Versatile? Applications of the SGNMT Decoder for Machine Translation
- eSCAPE: A Large-scale Synthetic Corpus for Automatic Post-Editing. Project paper
- Variational-Recurrent-Autoencoder-Tensorflow: Generating Sentences from a Continuous Space

### Language models in general

- Representing Sentences as Low-Rank Subspaces: a simple geometry of sentences -- the word representations of a given sentence roughly lie in a low-rank subspace
- Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models
- Sense2vec: A Fast and Accurate Method for Word Sense Disambiguation In Neural Word Embeddings. Tutorial: Sense2vec with spaCy and Gensim
- Statistical language model: A probability distribution over sequences of words
- Continuous-Space Language Models: Language model probability estimation in a continuous space
- Improving Neural Language Models with a Continuous Cache: An extension to neural network language models to adapt their prediction to the recent history.
- Dependency-Based Construction of Semantic Space Models: Semantic spaces that takes syntactic relations into accoun
- Katz's back-off model: A generative n-gram language model that estimates the conditional probability of a word given its history in the n-gram
- Elegant N-gram Generation in Python: A quick few snippets of code today – solving how to compactly and elegantly generate n-grams from your favorite iterable.
- Controllable Text Generation: A neural generative model which combines variational auto-encoders and holistic attribute discriminators for effective imposition of semantic structures.
- Graphical Models for Statistical Language Modelling: Probabilistic language models that define the distribution of the next word in a sequence given several preceding words by using distributed representations of those words. Project Code on Github
- Gated Word-Character Recurrent Language Model: Optimal mixture of the character-level and word-level inputs. Project Code on Github
- Maximum entropy language models: Encode the relationship between a word and the n-gram history using feature functions.
- Cache language model: A type of statistical language model that contains a cache component and assigns relatively high probabilities to words or word sequences that occur elsewhere in a given text.
- Tree-Based Models: Pointing to syntax reordering and long distance agreement
- word2vec: Vector representations of words. Tutorials: Parallelizing word2vec in Python, Deep learning with word2vec and gensim/a>
- DCNN: A Convolutional Neural Network for Modelling Sentences
- Language Modeling with Gated Convolutional Networks: A gating mechanism that eases gradient propagation
- word2vec: Vector representations of words
- Character-Aware Neural Language Models: Neural language model that relies only on character-level inputs. Project Code on Github
- Statistical Alignment Models: A Systematic Comparison of Various Models
- Thought Vectors: A vectorized thought and the vector represents one thought’s relations to others. Thoughts are linked by a chain of reasoning, a logical path of sorts
- Skip-Thought Vectors: An approach for unsupervised learning of a generic, distributed sentence encoder. Project Code on Github. Sent2Vec encoder and training code
- Learning to Skim Text: A standard policy gradient method to train the model to make discrete jumping decisions.
- Eigenword: Real-valued vector "embedding"
- Deep Semantic Similarity Model: Latent semantic model that incorporates a convolutional-pooling structure over word sequences to learn low-dimensional, semantic vector representations for search queries and Web documents. Project Code on Github
- GloVe: Global Vectors for Word Representation. Tutorial: Getting Started with Word2Vec and GloVe
- Dynamic Memory Networks: A neural network architecture which processes input sequences and questions, forms episodic memories, and generates relevant answers. Project Code on Github. Specific apprach: Dynamic Memory Networks for Visual and Textual Question Answering
- Dynamic-nmf: Dynamic Topic Modeling approaches track how language changes and topics evolve over time. Tutorials: Dynamic NMF and Dynamic Topics, Understanding and Coding Dynamic Topic Models. Paper: Dynamic Topic Models
- Recursive Matrix-Vector Spaces: Compositional vector representations for phrases and sentences of arbitrary syntactic type and length.
- A Structured Self-attentive Sentence Embedding: Model for extracting an interpretable sentence embedding by introducing self-attention.
- Sentence embedding: A simple but tough-to-beat baseline for sentence embeddings
- Sentence embedding: Model for extracting an interpretable sentence embedding by introducing self-attention.
- Dynamic Bernoulli Embeddings for Language Evolution: exponential family embeddings to capture how the meanings of words change over time.
- Character-Word LSTM Language Models: A Character-Word Long Short-Term Memory Language Model which both reduces the perplexity with respect to a baseline word-level language model and reduces the number of parameters of the model.
- Formal Models of Graph Transformation in Natural Language Processing : An interdisciplinary exchange about existing work, open problems, and interesting applications
- All-but-the-Top - Simple and Effective Postprocessing for Word Representations : Eliminates the common mean vector and a few top dominating directions from the word vectors
- A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks
- Dependency Parsing with Dilated Iterated Graph CNNs: Dilated Iterated Graph Convolutional Neural Networks (DIG-CNNs) for graph-based dependency parsing
- Generative Neural Machine for Tree Structures: A neural machine for top-down generation of tree structures
- Adversarial Generation of Natural Language: Generating sentences from context-free and probabilistic context-free grammars, and qualitative language modeling results
- Multimodal Word Distributions: formed from Gaussian mixtures, for multiple word meanings, entailment, and rich uncertainty information.
- Learning Joint Multilingual Sentence Representations with Neural Machine Translation: a representation which is independent of the language, is likely to capture the underlying semantics
- Bayesian Recurrent Neural Networks: a straightforward variational Bayes scheme for Recurrent Neural Networks. Project Code on Github.
- MMCR4NLP: Multilingual Multiway Corpora Repository for Natural Language Processing
- Structured-Self-Attentive-Sentence-Embedding: extracting an interpretable sentence embedding by introducing self-attention.

### Quantum Theory

- Open System Categorical Quantum Semantics in Natural Language Processing: In this paper we show that further developments in categorical quantum mechanics are relevant to natural language processing
- Linguistic Matrix Theory: A Matrix Theory approach based on permutation symmetry alongwith Gaussian weights and their perturbations.
- Quantum Algorithms for Compositional Natural Language Processing: incorporate grammatical structure into algorithms that compute meaning
- Proceedings of the 2016 Workshop on Semantic Spaces at the Intersection of NLP, Physics and Cognitive Science: Exploiting the common ground provided by the concept of a vector space, the workshop brought together researchers working at the intersection of Natural Language Processing (NLP), cognitive science, and physics, offering them an appropriate forum for presenting their uniquely motivated work and ideas.
- From quantum foundations via natural language meaning to a theory of everything: Since meaning in natural language, depending on the subject domain, encompasses discussions within any scientific discipline, we obtain a template for theories such as social interaction, animal behaviour, and many others.

### Claim

No claim for completeness. There are also lots references in the thesis.

Suggestions are welcome!