NLP-Models-Tensorflow , reúne modelos de aprendizado de máquina e aprendizado profundo de tensorflow para problemas de PNL, código simplificado dentro de Jupyter Notebooks 100% .
Índice
- Resumo Abstrativo
- Bot de bate-papo
- Analisador de Dependência
- Marcação de entidade
- Resumo Extrativo
- Gerador
- Detecção de idioma
- Tradução automática neural
- OCR
- Marcação de PDV
- Perguntas-Respostas
- Pares de frases
- Fala para texto
- Correção ortográfica
- Perguntas-respostas do SQUAD
- Decadência
- Aumento de texto
- Classificação de Texto
- Similaridade de texto
- Conversão de texto para fala
- Gerador de tópicos
- Modelagem de Tópico
- Resumo Extrativo Não Supervisionado
- Vetorizador
- Vocoder do velho para o jovem
- Visualização
- Atenção
Objetivo
As implementações originais são bastante complexas e não são muito amigáveis para iniciantes. Então tentei simplificar a maior parte. Além disso, há toneladas de implementação de documentos ainda não divulgados. Portanto, sinta-se à vontade para usá-lo em sua própria pesquisa!
Anexarei repositórios do github para modelos que não implementei do zero, basicamente copio, colo e corrijo esses códigos para problemas obsoletos.
Versão do Tensorflow
Somente Tensorflow versão 1.13 e superior, não incluída a versão 2.X. 1,13 < Fluxo Tensor <2,0
pip install -r requirements.txt
Conteúdo
Resumo Abstrativo
Treinado nas notícias da Índia.
Precisão baseada apenas em 10 épocas, calculada usando posições de palavras.
Lista completa (12 cadernos)
- LSTM Seq2Seq usando modelagem de tópicos, precisão de teste de 13,22%
- LSTM Seq2Seq + Luong Atenção usando modelagem de tópicos, precisão do teste 12,39%
- LSTM Seq2Seq + Beam Decoder usando modelagem de tópicos, precisão de teste de 10,67%
- LSTM Bidirecional + Luong Atenção + Decodificador de feixe usando modelagem de tópicos, precisão de teste 8,29%
- Pointer-Generator + Bahdanau, https://github.com/xueyouluo/my_seq2seq, precisão do teste 15,51%
- Copynet, precisão do teste 11,15%
- Pointer-Generator + Luong, https://github.com/xueyouluo/my_seq2seq, precisão do teste 16,51%
- Seq2Seq dilatado, precisão do teste 10,88%
- Seq2Seq dilatado + autoatenção, precisão do teste 11,54%
- BERT + CNN dilatado Seq2seq, precisão do teste 13,5%
- autoatenção + gerador de ponteiro, precisão do teste 4,34%
- Dilated-CNN Seq2seq + Pointer-Generator, precisão do teste 5,57%
Bot de bate-papo
Treinado no corpus Cornell Movie Dialog, tabela de precisão no chatbot.
Lista completa (54 cadernos)
- Célula básica Seq2Seq-manual
- LSTM Seq2Seq-manual
- Manual GRU Seq2Seq
- Célula básica Seq2Seq-API Greedy
- LSTM Seq2Seq-API ganancioso
- GRU Seq2Seq-API ganancioso
- Célula básica bidirecional Seq2Seq-manual
- LSTM Bidirecional Seq2Seq-manual
- GRU Bidirecional Seq2Seq-manual
- Célula básica Bidirecional Seq2Seq-API Greedy
- LSTM Bidirecional Seq2Seq-API ganancioso
- GRU Bidirecional Seq2Seq-API Ganancioso
- Célula básica Seq2Seq-manual + Luong Atenção
- LSTM Seq2Seq-manual + Luong Atenção
- GRU Seq2Seq-manual + Luong Atenção
- Célula básica Seq2Seq-manual + Atenção Bahdanau
- LSTM Seq2Seq-manual + Bahdanau Atenção
- GRU Seq2Seq-manual + Bahdanau Atenção
- LSTM Bidirecional Seq2Seq-manual + Luong Atenção
- GRU Bidirecional Seq2Seq-manual + Luong Atenção
- LSTM Bidirecional Seq2Seq-manual + Atenção Bahdanau
- GRU Bidirecional Seq2Seq-manual + Atenção Bahdanau
- LSTM Bidirecional Seq2Seq-manual + retrocesso Bahdanau + avanço Luong
- GRU Bidirecional Seq2Seq-manual + retrocesso Bahdanau + avanço Luong
- LSTM Seq2Seq-API Ganancioso + Luong Atenção
- GRU Seq2Seq-API Ganancioso + Luong Atenção
- LSTM Seq2Seq-API Ganancioso + Atenção Bahdanau
- GRU Seq2Seq-API Ganancioso + Atenção Bahdanau
- Decodificador de feixe LSTM Seq2Seq-API
- Decodificador de feixe GRU Seq2Seq-API
- LSTM Seq2Seq-API Bidirecional + Atenção Luong + Decodificador de Feixe
- GRU Bidirecional Seq2Seq-API + Luong Atenção + Decodificador de feixe
- LSTM Bidirecional Seq2Seq-API + Bahdanau para trás + Luong para frente + Stack Bahdanau Luong Atenção + Decodificador de feixe
- GRU Bidirecional Seq2Seq-API + Bahdanau para trás + Luong para frente + Stack Bahdanau Luong Atenção + Decodificador de feixe
- Bytenet
- LSTM Seq2Seq + tf.estimador
- Camadas de cápsula + LSTM Seq2Seq-API Greedy
- Camadas de cápsula + LSTM Seq2Seq-API + Luong Atenção + Decodificador de feixe
- LSTM Bidirecional Seq2Seq-API + Bahdanau para trás + Luong para frente + Stack Bahdanau Luong Atenção + Decodificador de feixe + Dropout + L2
- DNC Seq2Seq
- LSTM Seq2Seq-API Bidirecional + Atenção Monótica Luong + Decodificador de Feixe
- LSTM Bidirecional Seq2Seq-API + Atenção Monótica Bahdanau + Decodificador de Feixe
- Rede de memória ponta a ponta + célula básica
- Rede de memória ponta a ponta + célula LSTM
- Atenção é tudo que você precisa
- Transformador-XL
- Atenção é tudo que você precisa + Beam Search
- Transformador-XL + LSTM
- GPT-2 + LSTM
- CNN Seq2seq
- Codificador de conversão + LSTM
- Decodificador Tacotron + Ganancioso
- Decodificador Tacotron + Beam
- Google NMT
Analisador de Dependência
Treinado em CONLL English Dependency. Conjunto de treinamento para treinar, conjuntos de desenvolvimento e teste para testar.
Stackpointer e Biaffine-attention originalmente de https://github.com/XuezheMax/NeuroNLP2 escrito em Pytorch.
Precisão baseada em arco, tipos e precisões de raiz somente após 15 épocas.
Lista completa (8 cadernos)
- RNN + CRF + Biaffin bidirecional, precisão de arco 70,48%, precisão de tipos 65,18%, precisão raiz 66,4%
- RNN bidirecional + Bahdanau + CRF + Biaffine, precisão de arco 70,82%, precisão de tipos 65,33%, precisão de raiz 66,77%
- RNN bidirecional + Luong + CRF + Biaffine, precisão de arco 71,22%, precisão de tipo 65,73%, precisão de raiz 67,23%
- BERT Base + CRF + Biaffin, precisão de arco 64,30%, precisão de tipo 62,89%, precisão de raiz 74,19%
- RNN bidirecional + Atenção Biafina + Entropia Cruzada, precisão de arco 72,42%, precisão de tipos 63,53%, precisão raiz 68,51%
- Base BERT + Atenção Biafina + Entropia Cruzada, precisão de arco 72,85%, precisão de tipos 67,11%, precisão raiz 73,93%
- RNN + Stackpointer bidirecional, precisão de arco 61,88%, precisão de tipos 48,20%, precisão raiz 89,39%
- Base XLNET + Atenção Biaffina + Entropia Cruzada, precisão de arco 74,41%, precisão de tipos 71,37%, precisão raiz 73,17%
Marcação de entidade
Treinado em CONLL NER.
Lista completa (9 cadernos)
- RNN + CRF bidirecional, precisão do teste 96%
- RNN bidirecional + Luong Atenção + CRF, precisão do teste 93%
- RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 95%
- Char Ngrams + RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 96%
- Char Ngrams + RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 96%
- Char Ngrams + Rede Residual + Atenção Bahdanau + CRF, precisão do teste 69%
- Char Ngrams + Atenção é tudo que você precisa + CRF, precisão do teste 90%
- BERT, precisão do teste 99%
- XLNET-Base, precisão de teste de 99%
Resumo Extrativo
Treinado no conjunto de dados da CNN News.
Precisão baseada em ROUGE-2.
Lista completa (4 cadernos)
- LSTM RNN, precisão do teste 16,13%
- CNN dilatada, precisão do teste 15,54%
- Atenção Multihead, precisão do teste 26,33%
- BERT-Base
Gerador
Treinado no conjunto de dados de Shakespeare.
Lista completa (15 cadernos)
- RNN + LSTM em termos de caracteres
- Pesquisa RNN + Beam por caracteres
- RNN + LSTM + incorporação de caracteres
- RNN + LSTM em termos de palavras
- RNN + LSTM + incorporação em palavras
- Em termos de caracteres + Seq2Seq + GRU
- Em termos de palavras + Seq2Seq + GRU
- Atenção RNN + LSTM + Bahdanau em termos de personagem
- RNN + LSTM + Atenção Luong em termos de personagem
- Em termos de palavras + Seq2Seq + GRU + Beam
- Em termos de personagem + Seq2Seq + GRU + Bahdanau Atenção
- Em termos de palavras + Seq2Seq + GRU + Bahdanau Atenção
- Pesquisa Dilated CNN + Beam por caracteres
- Pesquisa de transformador + feixe
- Pesquisa Transformer XL + Beam
Detecção de idioma
Treinado no conjunto de dados Tatoeba.
Lista completa (1 caderno)
- Caracteres de texto rápido N-gramas
Tradução automática neural
Treinado em inglês-francês, tabela de precisão em tradução automática neural.
Lista completa (53 cadernos)
1.basic-seq2seq 2.lstm-seq2seq 3.gru-seq2seq 4.basic-seq2seq-contrib-ganancioso 5.lstm-seq2seq-contrib-ganancioso 6.gru-seq2seq-contrib-ganancioso 7.basic-birnn-seq2seq 8.lstm-birnn-seq2seq 9.gru-birnn-seq2seq 10.basic-birnn-seq2seq-contrib-ganancioso 11.lstm-birnn-seq2seq-contrib-ganancioso 12.gru-birnn-seq2seq-contrib-ganancioso 13.básico -seq2seq-luong 14.lstm-seq2seq-luong 15.gru-seq2seq-luong 16.basic-seq2seq-bahdanau 17.lstm-seq2seq-bahdanau 18.gru-seq2seq-bahdanau 19.basic-birnn-seq2seq-bahdanau 20.lstm-birnn-seq2seq-bahdanau 21.gru-birnn-seq2seq-bahdanau 22.basic-birnn-seq2seq-luong 23.lstm-birnn-seq2seq-luong 24.gru-birnn-seq2seq-luong 25.lstm-seq2seq-contrib-greedy-luong 26.gru-seq2seq-contrib-greedy-luong 27.lstm-seq2seq-contrib-greedy-bahdanau 28.gru-seq2seq-contrib-greedy-bahdanau 29.lstm-seq2seq- contrib-beam-luong 30.gru-seq2seq-contrib-beam-luong 31.lstm-seq2seq-contrib-beam-bahdanau 32.gru-seq2seq-contrib-beam-bahdanau 33.lstm-birnn-seq2seq-contrib-beam-bahdanau 34.lstm-birnn-seq2seq-contrib-beam-luong 35.gru-birnn-seq2seq-contrib-beam-bahdanau 36.gru-birnn-seq2seq-contrib-beam-luong 37.lstm-birnn-seq2seq-contrib-beam -luongmonotônico 38.gru-birnn-seq2seq-contrib-beam-luongmonotic 39.lstm-birnn-seq2seq-contrib-beam-bahdanaumonotonic 40.gru-birnn-seq2seq-contrib-beam-bahdanaumonotic 41.residual-lstm-seq2seq-greedy-luong 42.residual-gru-seq2seq-greedy-luong 43.residual-lstm-seq2seq-greedy-bahdanau 44.residual-gru-seq2seq-greedy-bahdanau 45.memory-network-lstm-decoder-greedy 46.google-nmt 47 .transformer-codificador-transformador-decodificador 48.transformador-codificador-lstm-decodificador-ganancioso 49.bertmultilíngue-codificador-bertmultilíngue-decodificador 50.bertmultilíngue-codificador-lstm-decodificador 51.bertmultilíngue-codificador-transformador-decodificador 52.bertenglish-encoder-transformador-decodificador 53.transformador -t2t-2gpu
OCR (reconhecimento óptico de caracteres)
Lista completa (2 cadernos)
- CNN + LSTM RNN, precisão do teste 100%
- Im2Latex, precisão do teste 100%
Marcação de PDV
Treinamento em CONLL POS.
Lista completa (8 cadernos)
- RNN + CRF bidirecional, precisão do teste 92%
- RNN bidirecional + Luong Atenção + CRF, precisão do teste 91%
- RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 91%
- Char Ngrams + RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 91%
- Char Ngrams + RNN bidirecional + Atenção Bahdanau + CRF, precisão do teste 91%
- Char Ngrams + Rede Residual + Atenção Bahdanau + CRF, precisão do teste 3%
- Char Ngrams + Atenção é tudo que você precisa + CRF, precisão do teste 89%
- BERT, precisão do teste 99%
Perguntas-Respostas
Treinado no conjunto de dados bAbI.
Lista completa (4 cadernos)
- Rede de memória ponta a ponta + célula básica
- Rede de memória ponta a ponta + célula GRU
- Rede de memória ponta a ponta + célula LSTM
- Memória Dinâmica
Par de frases
Treinado em Cornell Movie - Dialogs Corpus
Lista completa (1 caderno)
- BERTO
Fala para texto
Treinado no conjunto de dados de fala de Toronto.
Lista completa (11 cadernos)
- Tacotron, https://github.com/Kyubyong/tacotron_asr, precisão do teste 77,09%
- BiRNN LSTM, precisão do teste 84,66%
- BiRNN Seq2Seq + Luong Atenção + Entropia Cruzada, precisão do teste 87,86%
- BiRNN Seq2Seq + Atenção Bahdanau + Entropia Cruzada, precisão do teste 89,28%
- BiRNN Seq2Seq + Bahdanau Atenção + CTC, precisão do teste 86,35%
- BiRNN Seq2Seq + Luong Atenção + CTC, precisão do teste 80,30%
- CNN RNN + Bahdanau Atenção, precisão do teste 80,23%
- CNN RNN dilatado, precisão do teste 31,60%
- Wavenet, precisão do teste 75,11%
- Deep Speech 2, precisão do teste 81,40%
- Wav2Vec Transfer learning BiRNN LSTM, precisão do teste 83,24%
Correção ortográfica
Lista completa (4 cadernos)
- BERT-Base
- Base XLNET
- BERT-Base Rápido
- BERT-Base preciso
Perguntas-respostas do SQUAD
Treinado no conjunto de dados SQUAD.
Lista completa (1 caderno)
- Bert,
{ "exact_match" : 77.57805108798486 , "f1" : 86.18327335287402 }
Decadência
Treinado em Lematização Inglesa.
Lista completa (6 cadernos)
- LSTM + Seq2Seq + Feixe
- GRU + Seq2Seq + Feixe
- LSTM + BiRNN + Seq2Seq + Feixe
- GRU + BiRNN + Seq2Seq + Feixe
- DNC + Seq2Seq + Ganancioso
- BiRNN + Bahdanau + Copynet
Aumento de texto
Lista completa (8 cadernos)
- Luva pré-treinada
- Probabilidade TF GRU VAE-seq2seq-beam
- Probabilidade TF LSTM VAE-seq2seq-beam
- GRU VAE-seq2seq-beam + Bahdanau Atenção TF-probabilidade
- VAE + Atenção Determinística Bahdanau, https://github.com/HareeshBahuleyan/tf-var-attention
- Atenção VAE + VAE Bahdanau, https://github.com/HareeshBahuleyan/tf-var-attention
- BERT-Base + Amostragem de Núcleo
- XLNET-Base + Amostragem de Núcleo
Classificação de texto
Treinado em conjunto de dados de sentimento em inglês, tabela de precisão na classificação de texto.
Lista completa (79 cadernos)
- Célula básica RNN
- Célula básica RNN + Dobradiça
- Célula básica RNN + Huber
- RNN bidirecional de célula básica
- Célula Básica Bidirecional RNN + Dobradiça
- Célula Básica Bidirecional RNN + Huber
- Célula LSTM RNN
- Célula LSTM RNN + Dobradiça
- Célula LSTM RNN + Huber
- Célula LSTM RNN bidirecional
- Célula LSTM RNN bidirecional + Huber
- Célula LSTM RNN + Dropout + L2
- Célula GRU RNN
- Célula GRU RNN + Dobradiça
- Célula GRU RNN + Huber
- Célula GRU RNN bidirecional
- Célula GRU RNN Bidirecional + Dobradiça
- Célula GRU Bidirecional RNN + Huber
- LSTM RNN + Conv2D
- K-max Conv1d
- LSTM RNN + Conv1D + Rodovia
- LSTM RNN + Atenção Básica
- LSTM RNN dilatado
- Célula LSTM de norma de camada RNN
- Somente Rede Neural de Atenção
- Rede Neural de Atenção Multihead
- Máquina de Turing Neural
- LSTM Seq2Seq
- LSTM Seq2Seq + Atenção Luong
- LSTM Seq2Seq + Bahdanau Atenção
- LSTM Seq2Seq + decodificador de feixe
- LSTM Bidirecional Seq2Seq
- Rede de ponteiro
- Célula LSTM RNN + Bahdanau Atenção
- Célula LSTM RNN + Luong Atenção
- Célula LSTM RNN + Stack Bahdanau Luong Atenção
- Célula LSTM RNN bidirecional + Bahdanau para trás + Luong para frente
- Bytenet
- LSTM rápido-lento
- Rede Siamesa
- LSTM Seq2Seq + tf.estimador
- Camadas de cápsula + RNN LSTM
- Camadas de cápsula + LSTM Seq2Seq
- Camadas de cápsula + LSTM Seq2Seq bidirecional
- LSTM aninhado
- LSTM Seq2Seq + Rodovia
- Perda tripla + LSTM
- DNC (computador neural diferenciável)
- ConvLSTM
- Rede de Convênios Temporais
- Perda tripla em lote + LSTM
- Texto rápido
- Rede de Convolução Fechada
- Unidade Recorrente Simples
- Rede de Atenção Hierárquica LSTM
- Transformadores bidirecionais
- Rede de memória dinâmica
- Rede de entidades
- Rede de memória ponta a ponta
- Rede esparsa profunda BOW-Chars
- Rede residual usando Atrous CNN
- Rede residual usando Atrous CNN + Bahdanau Atenção
- Pirâmide profunda CNN
- Transformador-XL
- Transferência de aprendizagem GPT-2 345M
- Quase-RNN
- Tacotron
- Fatia GRU
- Fatia GRU + Bahdanau
- Ondanet
- Transferência de aprendizagem BERT Base
- Transferência de aprendizagem XL-net Large
- LSTM BiRNN global máximo e pooling médio
- Transferência de aprendizagem BERT Base drop 6 camadas
- Transferência de aprendizagem BERT Large drop 12 camadas
- Transferência de aprendizagem XL-net Base
- Transferir aprendizagem ALBERT
- Transferência de aprendizagem ELECTRA Base
- Transferência de aprendizagem ELECTRA Large
Similaridade de texto
Treinado em MNLI.
Lista completa (10 cadernos)
- BiRNN + Perda contrastiva, precisão do teste 73,032%
- BiRNN + Entropia cruzada, precisão do teste 74,265%
- BiRNN + Perda de círculo, precisão do teste 75,857%
- BiRNN + perda de proxy, precisão do teste 48,37%
- Base BERT + Entropia cruzada, precisão do teste 91,123%
- BERT Base + Perda de círculo, precisão do teste 89,903%
- ELECTRA Base + Entropia cruzada, precisão do teste 96,317%
- ELECTRA Base + Perda de círculo, precisão do teste 95,603%
- XLNET Base + Entropia cruzada, precisão do teste 93,998%
- XLNET Base + Perda de círculo, precisão do teste 94,033%
Texto para fala
Treinado no conjunto de dados de fala de Toronto.
Lista completa (8 cadernos)
- Tacotron, https://github.com/Kyubyong/tacotron
- CNN Seq2seq + vocoder CNN dilatado
- Seq2Seq + Atenção Bahdanau
- Seq2Seq + Luong Atenção
- CNN dilatada + atenção monotônica + vocoder CNN dilatado
- CNN dilatada + autoatenção + vocoder CNN dilatado
- Deep CNN + atenção monotônica + vocoder CNN dilatado
- Deep CNN + Autoatenção + Vocoder CNN dilatado
Gerador de tópicos
Treinado nas notícias da Malásia.
Lista completa (4 cadernos)
- TAT-LSTM
- TAV-LSTM
- MTA-LSTM
- CNN dilatada Seq2seq
Modelagem de Tópico
Extraído do conjunto de dados de sentimento em inglês.
Lista completa (3 cadernos)
- LDA2Vec
- Atenção
- XLNET Atenção
Resumo Extrativo Não Supervisionado
Treinado em livros aleatórios.
Lista completa (3 cadernos)
- Vetor de pensamento ignorado
- Rede residual usando Atrous CNN
- Rede residual usando Atrous CNN + Bahdanau Atenção
Vetorizador
Treinado em conjunto de dados de sentimento em inglês.
Lista completa (11 cadernos)
- Vetor de palavras usando amostra CBOW softmax
- Vetor de palavras usando estimativa contrastiva de ruído CBOW
- Vetor de palavras usando amostra skipgram softmax
- Vetor de palavras usando estimativa contrastiva de ruído skipgram
- Integrado supervisionado
- Perda tripla + LSTM
- Codificador automático LSTM
- LSTM com perda de trigêmeos em lote
- Texto rápido
- ELMO (biLM)
- Perda tripla + BERT
Visualização
Lista completa (4 cadernos)
- Mapa de calor de atenção em Bahdanau Atenção
- Mapa de calor de atenção em Luong Atenção
- Atenção BERT, https://github.com/hsm207/bert_attn_viz
- Atenção XLNET
Vocoder do velho para o jovem
Treinado no conjunto de dados de fala de Toronto.
Lista completa (1 caderno)
- CNN dilatada
Atenção
Lista completa (8 cadernos)
- Bahdanau
- Luong
- Hierárquico
- Aditivo
- Macio
- Atenção sobre atenção
- API Bahdanau
- API Luong
Aprendizado não profundo
- Bot de bate-papo Markov
- Resumo de decomposição (3 cadernos)