Git Product home page Git Product logo

awesome-sentence-embedding's Introduction

awesome-sentence-embedding Awesome

Build Status GitHub - LICENSE HitCount

A curated list of pretrained sentence and word embedding models

Table of Contents

About This Repo

  • well there are some awesome-lists for word embeddings and sentence embeddings, but all of them are outdated and more importantly incomplete
  • this repo will also be incomplete, but I'll try my best to find and include all the papers with pretrained models
  • this is not a typical awesome list because it has tables but I guess it's ok and much better than just a huge list
  • if you find any mistakes or find another paper or anything please send a pull request and help me to keep this list up to date
  • enjoy!

General Framework

  • Almost all the sentence embeddings work like this:
  • Given some sort of word embeddings and an optional encoder (for example an LSTM) they obtain the contextualized word embeddings.
  • Then they define some sort of pooling (it can be as simple as last pooling).
  • Based on that they either use it directly for the supervised classification task (like infersent) or generate the target sequence (like skip-thought).
  • So, in general, we have many sentence embeddings that you have never heard of, you can simply do mean-pooling over any word embedding and it's a sentence embedding!

Word Embeddings

  • Note: don't worry about the language of the code, you can almost always (except for the subword models) just use the pretrained embedding table in the framework of your choice and ignore the training code
date paper citation count training code pretrained models
- WebVectors: A Toolkit for Building Web Interfaces for Vector Semantic Models N/A - RusVectōrēs(broken)
2013/01 Efficient Estimation of Word Representations in Vector Space 999+ C Word2Vec
2014/12 Word Representations via Gaussian Embedding 116 Cython -
2014/?? Dependency-Based Word Embeddings 484 C++ word2vecf
2014/?? A Probabilistic Model for Learning Multi-Prototype Word Embeddings 78 DMTK -
2014/?? GloVe: Global Vectors for Word Representation 999+ C GloVe
2015/06 From Paraphrase Database to Compositional Paraphrase Model and Back 0 Theano PARAGRAM
2015/06 Non-distributional Word Vector Representations 36 Python WordFeat
2015/06 Sparse Overcomplete Word Vector Representations 67 C++ -
2015/?? Topical Word Embeddings 121 Cython
2015/?? SensEmbed: Learning Sense Embeddings for Word and Relational Similarity 125 - SensEmbed
2015/?? Joint Learning of Character and Word Embeddings 86 C -
2016/02 Swivel: Improving Embeddings by Noticing What's Missing 33 TF -
2016/03 Counter-fitting Word Vectors to Linguistic Constraints 98 Python counter-fitting(broken)
2016/05 Mixing Dirichlet Topic Models and Word Embeddings to Make lda2vec 21 Chainer -
2016/06 Matrix Factorization using Window Sampling and Negative Sampling for Improved Word Representations 29 Go lexvec
2016/06 Siamese CBOW: Optimizing Word Embeddings for Sentence Representations 84 Theano Siamese CBOW
2016/07 Enriching Word Vectors with Subword Information 964 C++ fastText
2016/08 Morphological Priors for Probabilistic Neural Word Embeddings 17 Theano -
2016/11 A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks 124 C++ charNgram2vec
2016/12 ConceptNet 5.5: An Open Multilingual Graph of General Knowledge 103 Python Numberbatch
2016/?? Learning Word Meta-Embeddings 16 - Meta-Emb(broken)
2017/02 Offline bilingual word vectors, orthogonal transformations and the inverted softmax 107 Python -
2017/04 Multimodal Word Distributions 22 TF word2gm
2017/05 Poincaré Embeddings for Learning Hierarchical Representations 91 Pytorch -
2017/06 Semantic Specialisation of Distributional Word Vector Spaces using Monolingual and Cross-Lingual Constraints 0 TF Attract-Repel
2017/06 Context encoders as a simple but powerful extension of word2vec 0 Python -
2017/08 Making Sense of Word Embeddings 14 Python sensegram
2017/08 Learning Chinese Word Representations From Glyphs Of Characters 9 C -
2017/09 Hash Embeddings for Efficient Word Representations 4 Keras -
2017/10 BPEmb: Tokenization-free Pre-trained Subword Embeddings in 275 Languages 8 Gensim BPEmb
2017/11 SPINE: SParse Interpretable Neural Embeddings 8 Pytorch SPINE
2017/?? Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components 14 C -
2017/?? Dict2vec : Learning Word Embeddings using Lexical Dictionaries 15 C++ Dict2vec
2017/?? AraVec: A set of Arabic Word Embedding Models for use in Arabic NLP 18 Gensim AraVec
2017/?? Ngram2vec: Learning Improved Word Representations from Ngram Co-occurrence Statistics 6 C -
2018/04 Representation Tradeoffs for Hyperbolic Embeddings 17 Pytorch h-MDS
2018/04 Dynamic Meta-Embeddings for Improved Sentence Representations 5 Pytorch DME/CDME
2018/05 Analogical Reasoning on Chinese Morphological and Semantic Relations 6 - ChineseWordVectors
2018/06 Probabilistic FastText for Multi-Sense Word Embeddings 7 C++ Probabilistic FastText
2018/09 FRAGE: Frequency-Agnostic Word Representation 1 Pytorch -
2018/12 Wikipedia2Vec: An Optimized Tool for LearningEmbeddings of Words and Entities from Wikipedia 0 Cython Wikipedia2Vec
2018/?? Directional Skip-Gram: Explicitly Distinguishing Left and Right Context for Word Embeddings 3 - ChineseEmbedding
2018/?? cw2vec: Learning Chinese Word Embeddings with Stroke n-gram Information 7 C++ -

OOV Handling

Contextualized Word Embeddings

  • Note: all the unofficial models can load the official pretrained models
date paper citation count code pretrained models
- Language Models are Unsupervised Multitask Learners N/A TF
Pytorch
Keras
GPT-2
2017/08 Learned in Translation: Contextualized Word Vectors 141 Pytorch
Keras
CoVe
2018/01 Universal Language Model Fine-tuning for Text Classification 124 Pytorch ULMFit(English, Zoo)
2018/02 Deep contextualized word representations 498 Pytorch
TF
ELMO(AllenNLP, TF-Hub)
2018/04 Efficient Contextualized Representation:Language Model Pruning for Sequence Labeling 3 Pytorch LD-Net
2018/07 Towards Better UD Parsing: Deep Contextualized Word Embeddings, Ensemble, and Treebank Concatenation 7 Pytorch ELMo
2018/08 Direct Output Connection for a High-Rank Language Model 3 Pytorch DOC
2018/10 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 269 TF
Keras
Pytorch
MXNet
PaddlePaddle
TF
Keras
BERT(BERT, ERNIE)
2018/?? Improving Language Understanding by Generative Pre-Training 119 TF
Keras
Pytorch
GPT
2018/?? Contextual String Embeddings for Sequence Labeling 8 Pytorch Flair
2019/01 BioBERT: pre-trained biomedical language representation model for biomedical text mining 3 TF BioBERT
2019/01 Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context 5 TF
Pytorch
Pytorch
Transformer-XL
2019/01 Cross-lingual Language Model Pretraining 6 Pytorch XLM
2019/01 Multi-Task Deep Neural Networks for Natural Language Understanding 9 Pytorch MT-DNN
2019/03 SciBERT: Pretrained Contextualized Embeddings for Scientific Text 1 Pytorch, TF SciBERT
2019/04 ClinicalBERT: Modeling Clinical Notes and Predicting Hospital Readmission 0 Pytorch ClinicalBERT

Pooling Methods

Encoders

date paper citation count code model_name
2014/05 Distributed Representations of Sentences and Documents 999+ Pytorch
Python
Doc2Vec
2014/11 Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models 417 Theano
Pytorch
VSE
2015/06 Aligning Books and Movies: Towards Story-like Visual Explanations by Watching Movies and Reading Books 206 Theano
TF
Pytorch, Torch
SkipThought
2015/11 Order-Embeddings of Images and Language 159 Theano order-embedding
2015/11 Towards Universal Paraphrastic Sentence Embeddings 200 Theano ParagramPhrase
2015/?? From Word Embeddings to Document Distances 377 C, Python Word Mover's Distance
2016/02 Learning Distributed Representations of Sentences from Unlabelled Data 193 Python FastSent
2016/07 Charagram: Embedding Words and Sentences via Character n-grams 68 Theano Charagram
2016/11 Learning Generic Sentence Representations Using Convolutional Neural Networks 28 Theano ConvSent
2017/03 Unsupervised Learning of Sentence Embeddings using Compositional n-Gram Features 85 C++ Sent2Vec
2017/04 Learning to Generate Reviews and Discovering Sentiment 118 TF
Pytorch
Pytorch
Sentiment Neuron
2017/05 Revisiting Recurrent Networks for Paraphrastic Sentence Embeddings 29 Theano GRAN
2017/05 Supervised Learning of Universal Sentence Representations from Natural Language Inference Data 303 Pytorch InferSent
2017/07 VSE++: Improving Visual-Semantic Embeddings with Hard Negatives 65 Pytorch VSE++
2017/08 Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm N/A Keras
Pytorch
DeepMoji
2017/09 StarSpace: Embed All The Things! 35 C++ StarSpace
2017/10 DisSent: Learning Sentence Representations from Explicit Discourse Relations 25 Pytorch DisSent
2017/11 Dual-Path Convolutional Image-Text Embedding with Instance Loss 1 Matlab Image-Text-Embedding
2017/11 Pushing the Limits of Paraphrastic Sentence Embeddings with Millions of Machine Translations 25 Theano para-nmt
2018/03 An efficient framework for learning sentence representations 33 TF Quick-Thought
2018/03 Universal Sentence Encoder 59 TF-Hub USE
2018/04 End-Task Oriented Textual Entailment via Deep Explorations of Inter-Sentence Interactions 2 Theano DEISTE
2018/04 Learning general purpose distributed sentence representations via large scale multi-task learning 52 Pytorch GenSen
2018/06 Embedding Text in Hyperbolic Spaces 12 TF HyperText
2018/07 Representation Learning with Contrastive Predictive Coding 39 Keras CPC
2018/08 Context Mover’s Distance & Barycenters: Optimal transport of contexts for building representations 1 Python CMD
2018/09 Learning Universal Sentence Representations with Mean-Max Attention Autoencoder 1 TF Mean-MaxAAE
2018/10 Learning Cross-Lingual Sentence Representations via a Multi-task Dual-Encoder Model 0 TF-Hub USE-xling
2018/10 BioSentVec: creating sentence embeddings for biomedical texts 2 Python BioSentVec
2018/11 Word Mover's Embedding: From Word2Vec to Document Embedding 4 C, Python WordMoversEmbeddings
2018/11 A Hierarchical Multi-task Approach for Learning Embeddings from Semantic Tasks 6 Pytorch HMTL
2018/12 Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond 5 Pytorch LASER
2018/?? Convolutional Neural Network for Universal Sentence Embeddings 0 Theano CSE
2019/01 No Training Required: Exploring Random Encoders for Sentence Classification 4 Pytorch randsent
2019/02 CBOW Is Not All You Need: Combining CBOW with the Compositional Matrix Space Model 0 Pytorch CMOW

Evaluation

Misc

Vector Mapping

Articles

awesome-sentence-embedding's People

Contributors

basicv8vc avatar separius avatar zhanqiuzhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.