深度学习与NLP来源林亦霖校对王菁 编辑

Tensorflow实现的深度NLP模型集锦(附资源)

本文收集整理了一批基于Tensorflow实现的深度学习/机器学习的深度NLP模型。

基于Tensorflow的自然语言处理模型,为自然语言处理问题收集机器学习和Tensorflow深度学习模型,100%Jupeyter NoteBooks且内部代码极为简洁。

资源整理自网络,源地址:

https://github.com/huseinzol05

目录

  • Text classification

  • Chatbot

  • Neural Machine Translation

  • Embedded

  • Entity-Tagging

  • POS-Tagging

  • Dependency-Parser

  • Question-Answers

  • Supervised Summarization

  • Unsupervised Summarization

  • Stemming

  • Generator

  • Language detection

  • OCR (optical character recognition)

  • Speech to Text

  • Text to Speech

  • Text Similarity

  • Miscellaneous

  • Attention     

目标

原始的实现稍微有点复杂,对于初学者来说有点难。所以我尝试将其中大部分内容简化,同时,还有很多论文的内容亟待实现,一步一步来。

内容

文本分类

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/text-classification

1. Basic cell RNN

2. Bidirectional RNN

3. LSTM cell RNN

4. GRU cell RNN

5. LSTM RNN + Conv2D

6. K-max Conv1d

7. LSTM RNN + Conv1D + Highway

8. LSTM RNN with Attention

9. Neural Turing Machine

10. Seq2Seq

11. Bidirectional Transformers

12. Dynamic Memory Network

13. Residual Network using Atrous CNN + Bahdanau Attention

14. Transformer-XL

完整列表包含(66 notebooks)

聊天机器人

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/chatbot

1. Seq2Seq-manual

2. Seq2Seq-API Greedy

3. Bidirectional Seq2Seq-manual

4. Bidirectional Seq2Seq-API Greedy

5. Bidirectional Seq2Seq-manual + backward Bahdanau + forward Luong

6. Bidirectional Seq2Seq-API + backward Bahdanau + forward Luong + Stack Bahdanau Luong Attention + Beam Decoder

7. Bytenet

8. Capsule layers + LSTM Seq2Seq-API + Luong Attention + Beam Decoder

9. End-to-End Memory Network

10. Attention is All you need

11. Transformer-XL + LSTM

12. GPT-2 + LSTM

完整列表包含(51 notebooks)

机器翻译(英语到越南语):

链接:

https://github.com/huseinzol05/NLP-ModelsTensorflow/tree/master/neural-machine-translation

1. Seq2Seq-manual

2. Seq2Seq-API Greedy

3. Bidirectional Seq2Seq-manual

4. Bidirectional Seq2Seq-API Greedy

5. Bidirectional Seq2Seq-manual + backward Bahdanau + forward Luong

6. Bidirectional Seq2Seq-API + backward Bahdanau + forward Luong + Stack Bahdanau Luong Attention + Beam Decoder

7. Bytenet

8. Capsule layers + LSTM Seq2Seq-API + Luong Attention + Beam Decoder

9. End-to-End Memory Network

10. Attention is All you need

完整列表包含(49 notebooks)

词向量:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/embedded

1. Word Vector using CBOW sample softmax

2. Word Vector using CBOW noise contrastive estimation

3. Word Vector using skipgram sample softmax

4. Word Vector using skipgram noise contrastive estimation

5. Lda2Vec Tensorflow

6. Supervised Embedded

7. Triplet-loss + LSTM

8. LSTM Auto-Encoder

9. Batch-All Triplet-loss LSTM

10. Fast-text

11. ELMO (biLM)

词性标注

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/pos-tagging

1. Bidirectional RNN + Bahdanau Attention + CRF

2. Bidirectional RNN + Luong Attention + CRF

3. Bidirectional RNN + CRF

实体识别:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/entity-tagging

1. Bidirectional RNN + Bahdanau Attention + CRF

2. Bidirectional RNN + Luong Attention + CRF

3. Bidirectional RNN + CRF

4. Char Ngrams + Bidirectional RNN + Bahdanau Attention + CRF

5. Char Ngrams + Residual Network + Bahdanau Attention + CRF

依存分析:

链接:

https://github.com/huseinzol05/NLP-ModelsTensorflow/tree/master/dependency-parser

1. Bidirectional RNN + Bahdanau Attention + CRF

2. Bidirectional RNN + Luong Attention + CRF

3. Residual Network + Bahdanau Attention + CRF

4. Residual Network + Bahdanau Attention + Char Embedded + CRF

问答:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/question-answer

1. End-to-End Memory Network + Basic cell

2. End-to-End Memory Network + GRU cell

3. End-to-End Memory Network + LSTM cell

词干抽取:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/stemming

1. LSTM + Seq2Seq + Beam

2. GRU + Seq2Seq + Beam

3. LSTM + BiRNN + Seq2Seq + Beam

4. GRU + BiRNN + Seq2Seq + Beam

5. DNC + Seq2Seq + Greedy

有监督摘要抽取:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/summarization

1. LSTM Seq2Seq using topic modelling

2. LSTM Seq2Seq + Luong Attention using topic modelling

3. LSTM Seq2Seq + Beam Decoder using topic modelling

4. LSTM Bidirectional + Luong Attention + Beam Decoder using topic modelling

5. LSTM Seq2Seq + Luong Attention + Pointer Generator

6. Bytenet

无监督摘要抽取:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/unsupervised-summarization

1. Skip-thought Vector (unsupervised)

2. Residual Network using Atrous CNN (unsupervised)

3. Residual Network using Atrous CNN + Bahdanau Attention (unsupervised)

OCR (字符识别):

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/ocr

1. CNN + LSTM RNN

语音识别:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/speech-to-text

1. Tacotron

2. Bidirectional RNN + Greedy CTC

3. Bidirectional RNN + Beam CTC

4. Seq2Seq + Bahdanau Attention + Beam CTC

5. Seq2Seq + Luong Attention + Beam CTC

6. Bidirectional RNN + Attention + Beam CTC

7. Wavenet

语音合成:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/text-to-speech

1. Tacotron

2. Wavenet

3. Seq2Seq + Luong Attention

4. Seq2Seq + Bahdanau Attention

生成器:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/generator

1. Character-wise RNN + LSTM

2. Character-wise RNN + Beam search

3. Character-wise RNN + LSTM + Embedding

4. Word-wise RNN + LSTM

5. Word-wise RNN + LSTM + Embedding

6. Character-wise + Seq2Seq + GRU

7. Word-wise + Seq2Seq + GRU

8. Character-wise RNN + LSTM + Bahdanau Attention

9. Character-wise RNN + LSTM + Luong Attention

语言检测:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/language-detection

1. Fast-text Char N-Grams

文本相似性:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/text-similarity

1. Character wise similarity + LSTM + Bidirectional

2. Word wise similarity + LSTM + Bidirectional

3. Character wise similarity Triplet loss + LSTM

4. Word wise similarity Triplet loss + LSTM

注意力机制:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/attention

1. Bahdanau

2. Luong

3. Hierarchical

4. Additive

5. Soft

6. Attention-over-Attention

7. Bahdanau API

8. Luong API

其他:

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/misc

1. Attention heatmap on Bahdanau Attention

2. Attention heatmap on Luong Attention

深度学习

链接:

https://github.com/huseinzol05/NLP-Models-Tensorflow/tree/master/not-deep-learning

1. Markov chatbot

2. Decomposition summarization (3 notebooks)

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门文本分类聊天机器人词性标注OCR语音识别语音合成注意力机制模型NLPTensorFlow
141
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

语音合成技术

语音合成,又称文语转换(Text to Speech)技术,是将人类语音用人工的方式所产生,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

Transformer-XL技术

Transformer-XL 预训练模型是对 Transformer 及语言建模的修正,这项前沿研究是2019年1月份公布。一般而言,Transformer-XL 学习到的长期依赖性比标准 Transformer 学到的长 450%,无论在长序列还是短序列中都得到了更好的结果,而且在评估时比标准 Transformer 快 1800 多倍。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

👍