Perceber
Como atualmente existem muitos projetos neste armazém, é difícil mantê-lo. Portanto, várias tarefas serão separadas no futuro, armazéns serão estabelecidos separadamente e muitos experimentos comparativos serão realizados para facilitar a seleção de modelos pelos usuários. Se necessário, você pode ir para o armazém especificado, o link é o seguinte:
- Armazém de classificação de texto
- Armazém de correspondência semântica
- Armazém de geração de texto
- Outros repositórios estão acelerando as atualizações...
Índice
- Bot de bate-papo
- 1. Bert_chatbot: semelhante ao UniLM
- 2. seq2seq_luong: O codificador é uma rede gru de duas camadas e o decodificador é uma rede gru de uma camada. A atenção é adicionada entre o codificador e o decodificador.
- 3. transformer_chatbot: modelo de transformador padrão
- Destilação
- 1. DynaBert: O trabalho da Huawei utiliza principalmente poda para cortar certas estruturas de bert.
- 2. rnn_distill_bert: Use uma camada de rede lstm para destilar o modelo bert e adicione apenas perda de rótulo suave.
- 3. three_layer_self-attention_to_distill_bert: Você provavelmente sabe o que significa olhando o nome. Ele apenas escreve o codificador do transformador de três camadas e depois destila o modelo bert.
- 4. tiny_bert: O trabalho da Huawei, o método de destilação de tiny_bert é adicionar a perda de erro quadrático médio da camada intermediária, além da perda de rótulo suave.
- Incorporação
- 1. skipgram-word2vec: Use skipgram para obter vetores de palavras
- 2. bert: treine bert diretamente, treine do zero ou use este código para reciclagem
- 3. Albert: treine Albert diretamente e treine do zero. Você também pode usar este código para reciclagem.
- 4. NPLM: abordagem tradicional
- NER
- 1. Bert_CRF_Ner: modelo Bert mais campo aleatório condicional para tarefas de rotulagem de sequência
- 2. Bert_Softmax_Ner: use diretamente o modelo bert para anotação de sequência
- 3. BiLSTM_CRF_Ner: Use rede lstm bidirecional e crf para tarefas de rotulagem de sequência
- NMT
- 1. GRU_attention: O codificador e o decodificador são redes gru, com um mecanismo de atenção comum (soma ponderada direta) adicionado no meio.
- 2. Transformers_NMT: Estrutura de transformador padrão para tradução automática
- Modelo_pré-treinamento
- 1. bert-pretrain: Para treinar novamente o modelo bert, primeiro execute o pré-processamento de dados por meio de get_train_data.py, incluindo 15% das palavras para máscara e outras operações, e depois treine.
- 2. wobert-pretrain: O modelo de pré-treinamento de wobert é fornecido por Su Shen. Para retreinamento aqui, você pode adicionar a lista de palavras que você mesmo construiu e, em seguida, modificar o método de segmentação de palavras de bert.
- Compreensão_leitura
- 1. BERT_MRC: Use bert para realizar tarefas de compreensão de leitura de máquina. Espera-se que o método de estágio direto seja adotado aqui.
- 2. BiDAF: modelo de compreensão de leitura de máquina com mecanismo de fluxo de atenção bidirecional
- 3. DocQA: modelo tradicional
- 4. Match_LSTM: modelo tradicional, estrutura RNN simples.
- 5. QANet: É também um modelo relativamente tradicional, mas este modelo é o primeiro modelo mrc a abandonar a estrutura rnn. Este modelo é também o primeiro a introduzir o mecanismo de autoatenção na tarefa mrc.
- 6. RNet: modelo tradicional
- 7. Recurrence-hotpot-baseline: Pela primeira vez, o problema de usar a estrutura rnn para lidar com o raciocínio multi-hop é gerado no conjunto de dados hotpotqa, além das previsões contendo respostas, também há previsões de fatos de apoio. e previsões de parágrafos relacionados.
- 8. albert_mrc: Use o modelo pré-treinado de Albert para realizar tarefas MRC
- 9. electra_bert: Use o modelo pré-treinado electra para realizar tarefas mrc
- 10. mrc_baseline: Se você estiver executando tarefas mrc, é recomendável ler este código primeiro. Ele contém vários detalhes aos quais o mrc presta atenção, como processamento de texto longo (janela deslizante), classificação de respostas, treinamento adversário, etc.
- 11. roberta_mrc: Use o modelo pré-treinado de roberta para realizar tarefas mrc
- 12. transformer+rnn+attention: Este projeto é para compreensão de leitura generativa, usando diretamente o método seq2seq. O codificador usa o codificador do transformador, e o decodificador usa a estrutura gru, e uma camada de atenção comum é adicionada no meio. mecanismo.
- 13. transformer_reading: Este projeto também trata de compreensão de leitura generativa, usando a estrutura padrão do transformer.
- Slot_Filling
- 1. JointBert: Envolve classificação de intenção e classificação de slot. Use bert diretamente para codificar a entrada e use vetores "CLS" para classificação de intenções. O vetor de codificação final de cada token é usado para classificação de slots.
- Classificação_Texto
- 1. DPCNN: A rede convolucional profunda + conexão residual torna este modelo melhor do que as estruturas CNN anteriores e sua complexidade não é alta.
- 2. FastBert: usa um método de autodestilação para acelerar o raciocínio do modelo. Usado principalmente em tarefas de classificação.
- 3. FastText: Proposto pelo Facebook, é um modelo eficiente de classificação de textos.
- 4. XLNet: 1) Aprenda informações contextuais bidirecionais maximizando a probabilidade logarítmica de todas as ordens de fatoração possíveis; 2) Use as características da própria autorregressão para superar as deficiências do BERT; Além disso, XLNet também incorpora as ideias do atual modelo autoregressivo ótimo Transformer-XL.
- 5. all_layer_out_concat: Como você pode ver pelo nome, este projeto codifica o texto por meio do modelo estilo bert, em seguida, retira o vetor cls de cada camada, realiza um cálculo de atenção e, em seguida, realiza a classificação.
- 6. bert+bceloss+average_checkpoint: Este projeto altera a função de perda da tarefa de classificação para BCELoss. Além disso, a média de peso adicionada (média de vários pontos de verificação).
- 7. capsule_text_classification: GRU+Cápsula para classificação de texto
- 8. longformer_classification: Use o modelo pré-treinado longformer para classificação de texto. Para classificação de textos longos, você pode experimentar este modelo.
- 9. multi_label_classify_bert: Use o modelo bert para classificação multi-rótulo. Ele contém três modelos: bert (model.py), as duas últimas camadas de pooling de bert (model2.py) e bert+TextCNN (model3.py).
- 10. roberta_classification: Use o modelo pré-treinado de roberta para classificação de texto.
- 11. transformer_xl: Use transformer_xl diretamente para classificação de texto. Para classificação de texto longo, você pode tentar este modelo.
- 12. wobert+focal_loss: O modelo de pré-treinamento wobert é fornecido por Su Shen, e a perda focal é adicionada à tarefa de classificação para resolver o problema de desequilíbrio de categoria.
- 13. TextCNN: Convolve o texto em diferentes escalas e depois concatena-o para classificação do texto.
- 14. BILSTM+Atenção: Rede LSTM bidirecional mais atenção comum para classificação de texto.
- Text_Clustering
- 1. Clustering LDA
- 2.DBSCAN
- 3. Significa
- Corretor_Texto
- 1. bert_for_correction: É apenas uma tentativa simples, retreinar no corpus correspondente, inserir uma frase com erros de digitação e depois classificar o vetor de codificação de cada token.
- Geração_Texto
- 1. GPT2_SummaryGen: Use GPT2 para gerar resumo
- 2. GPT2_TitleGen: Geração de títulos de artigos
- 3. Simple-GPT2: modelo GPT2 autoimplementado
- Text_Ranking
- 1. BM25: Calcule o valor BM25 da consulta e de todos os textos a serem classificados e, em seguida, classifique com base neste valor.
- 2. DC_Bert_Ranking: Torres Gêmeas + Interação. Primeiro, a consulta e o contexto são codificados separadamente e os pesos aqui não são compartilhados. Em seguida, a codificação da consulta e do contexto é misturada e, em seguida, passada por várias camadas do codificador-transformador interativo.
- 3. DPR_Ranking: modelo de classificação de texto do Facebook
- 4. MT_Ranking: use o modelo estilo bert para codificação, depois use cls para classificação e classifique pela pontuação da amostra positiva
- 5. ReRank: incluindo destilação de modelo
- Texto_Similaridade
- 1. ABCNN: Primeiro realize a incorporação de palavras nas duas sentenças, depois realize o agrupamento para obter os vetores das duas sentenças, depois calcule a diferença entre os dois vetores e, finalmente, execute a convolução no vetor de diferença em escalas diferentes e, em seguida, classifique.
- 2. BiMPM: Este modelo é dividido em quatro partes: incorporação de palavras, codificação de contexto (bilstm), quatro tipos de correspondência e camada de agregação.
- 3. DecomposableAttention: O núcleo deste artigo é o alinhamento, ou seja, a correspondência entre as palavras. O alinhamento no artigo é usado em dois lugares. Um é a parte de atendimento, que é usada para calcular a relação de atenção entre duas frases. a outra é Na parte de comparação, as palavras entre as duas sentenças são comparadas. Cada processamento é baseado em palavras e, finalmente, uma rede neural feed-forward é usada para fazer previsões. É óbvio que o modelo mencionado neste artigo não utiliza a relação temporal das palavras da frase, mas enfatiza a correspondência entre as palavras das duas frases (alinhamento).
- 4. ESIM: ferramenta de correspondência de texto curto. A grande vantagem do ESIM é sua atenção entre frases, que é o soft_align_attention no código. Nesta etapa, as duas frases a serem comparadas são interagidas. Em estruturas anteriores semelhantes às redes siamesas, muitas vezes não havia interação no meio, e apenas uma distância de cosseno ou outra distância era encontrada na última camada.
- 5. RE2: O nome RE2 vem da combinação de três partes importantes da rede: Vetores residuais;
- 6. SiaGRU: Estrutura de torre gêmea, use GRU para codificar duas sentenças respectivamente, depois calcule a diferença entre os dois vetores de codificação de sentença e, finalmente, use esse vetor de diferença para classificação.
- 7. SimCSE: Aprendizagem contrastiva, habilidades: amostras diferentes, abandono diferente
- 8. BM25: Calcule diretamente o valor BM25 de dois textos, representando seu grau de similaridade.
- 9. TF_IDF: Calcula diretamente o valor TF_IDF de dois textos, representando seu grau de similaridade.
- 10. NEZHA_Coattention: Adota uma estrutura de torre gêmea. Duas sentenças são inseridas no modelo NEZHA, respectivamente, e então a entrada é diferenciada, unida à representação original e, em seguida, enviada para uma rede totalmente conectada para classificação. Existe outro modelo, ou seja, após obter a representação das duas sentenças, implementamos nós mesmos uma camada de transformador-codificador para fundir as informações da representação e, finalmente, classificá-las.
- 11. Bert_Whitening: O método proposto por Su Jianlin não requer treinamento e unifica diretamente a saída bert de cada frase com a base ortonormal padrão.
- aumento_dados
- 1. eda: Use o kit de ferramentas nlpcda para aumento de dados. Tais como: substituição de entidade equivalente, substituição aleatória de sinônimos, exclusão aleatória de caracteres, troca de posição, substituição de homófonos.
- 2. Retrotradução-Baidu: Use o Baidu Translate para retrotradução de texto.
- 3. Back-translation-google: Use o Google Translate para retrotradução de texto.
- extração_relação
- 1. lstm_cnn_information_extract: lstm+cnn
- 2. relação_classificação: classificação de relação, bilstm + atenção comum
NLP_pytorch_project
Bot de bate-papo
1. Bert_chatbot: semelhante ao UniLM
- python train.py # código de treinamento
- python infernece.py # Inferência de modelo
2. seq2seq_luong: O codificador é uma rede gru de duas camadas e o decodificador é uma rede gru de uma camada. A atenção é adicionada entre o codificador e o decodificador.
- python train.py # código de treinamento
- python inference.py # Inferência de modelo
3. transformer_chatbot: modelo de transformador padrão
- python train.py # código de treinamento
- python chat.py # Os dados de treinamento que podem ser usados para bate-papo são materiais de diálogo Qingyun.
Destilação
1. DynaBert: O trabalho da Huawei utiliza principalmente poda para cortar certas estruturas de bert.
- python train_teacher_model.py # Treina o modelo do professor
- python train_tailor_model.py # Remove o modelo do professor
2. rnn_distill_bert: Use uma camada de rede lstm para destilar o modelo bert e adicione apenas perda de rótulo suave.
- python train_bert.py # Treine o modelo do professor bert
- python train_distill.py # Distillation usa lstm para aprender a saída de bert
3. three_layer_self-attention_to_distill_bert: Você provavelmente sabe o que significa olhando o nome. Ele apenas escreve o codificador do transformador de três camadas e depois destila o modelo bert.
- python train_bert.py # Treine o modelo do professor bert
- python train_distill.py # Destilação
4. tiny_bert: O trabalho da Huawei, o método de destilação de tiny_bert é adicionar a perda de erro quadrático médio da camada intermediária, além da perda de rótulo suave.
- python train.py # Treina modelo de professor bert
- python train_distill_v2.py # Destilação
Incorporação
1. skipgram-word2vec: Use skipgram para obter vetores de palavras
- python 001-skipgram-word2vec.py
2. bert: treine bert diretamente, treine do zero ou use este código para reciclagem
3. Albert: treine Albert diretamente e treine do zero. Você também pode usar este código para reciclagem.
4. NPLM: abordagem tradicional
NER
1. Bert_CRF_Ner: modelo Bert mais campo aleatório condicional para tarefas de rotulagem de sequência
- python run_ner_crf.py # Treinamento de modelo
- python inference.py # Inferência de modelo
2. Bert_Softmax_Ner: use diretamente o modelo bert para anotação de sequência
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
3. BiLSTM_CRF_Ner: Use rede lstm bidirecional e crf para tarefas de rotulagem de sequência
- python train.py # Treinamento do modelo
NMT
1. GRU_attention: O codificador e o decodificador são redes gru, com um mecanismo de atenção comum (soma ponderada direta) adicionado no meio.
- python train.py # Treinamento do modelo
2. Transformers_NMT: Estrutura de transformador padrão para tradução automática
- python train.py # Treinamento do modelo
Modelo_pré-treinamento
1. bert-pretrain: Para treinar novamente o modelo bert, primeiro execute o pré-processamento de dados por meio de get_train_data.py, incluindo 15% das palavras para máscara e outras operações, e depois treine.
- python get_train_data.py #Pré-processamento de dados
- python run_pretrain.py # Retreinamento
2. wobert-pretrain: O modelo de pré-treinamento de wobert é fornecido por Su Shen. Para retreinamento aqui, você pode adicionar a lista de palavras que você mesmo construiu e, em seguida, modificar o método de segmentação de palavras de bert.
- python process_pretrain_data.py #Pré-processamento de dados
- python run_pretrain.py # Retreinamento
Compreensão_leitura
1. BERT_MRC: Use bert para realizar tarefas de compreensão de leitura de máquina. Espera-se que o método de estágio direto seja adotado aqui.
- python train.py # Treinamento do modelo
2. BiDAF: modelo de compreensão de leitura de máquina com mecanismo de fluxo de atenção bidirecional
- python data_process.py # Primeiro pré-processe os dados
- python train_bidaf.py # Treinamento do modelo
3. DocQA: modelo tradicional
- python data_process.py # Primeiro pré-processe os dados
- python train_DocQA.py # Treinamento do modelo
4. Match_LSTM: modelo tradicional, estrutura RNN simples.
- python data_process.py # Primeiro pré-processe os dados
- python train_Match_Lstm.py # Treinamento do modelo
5. QANet: É também um modelo relativamente tradicional, mas este modelo é o primeiro modelo mrc a abandonar a estrutura rnn. Este modelo é também o primeiro a introduzir o mecanismo de autoatenção na tarefa mrc.
- python data_process.py #Pré-processamento de dados
- python train.py # Treinamento do modelo
6. RNet: modelo tradicional
- python data_process.py #Pré-processamento de dados
- python train_RNet.py # Treinamento do modelo
7. Recurrence-hotpot-baseline: Pela primeira vez, o problema de usar a estrutura rnn para lidar com o raciocínio multi-hop é gerado no conjunto de dados hotpotqa, além das previsões contendo respostas, também há previsões de fatos de apoio. e previsões de parágrafos relacionados.
- python data_process.py #Pré-processamento de dados
- python train.py # Treinamento do modelo
8. albert_mrc: Use o modelo pré-treinado de Albert para realizar tarefas MRC
- python train_update.py # Modelo de treinamento
- python inference.py #Inferência em um único dado
- python inference_all.py #Inferência para todos os dados
9. electra_bert: Use o modelo pré-treinado electra para realizar tarefas mrc
- python run_cail.py #Modelo de treinamento
- python avaliar.py # Avaliação do modelo
10. mrc_baseline: Se você estiver executando tarefas mrc, é recomendável ler este código primeiro. Ele contém vários detalhes aos quais o mrc presta atenção, como processamento de texto longo (janela deslizante), classificação de respostas, treinamento adversário, etc.
- python train.py #train modelo
11. roberta_mrc: Use o modelo pré-treinado de roberta para realizar tarefas mrc
- python train.py #train modelo
12. transformer+rnn+attention: Este projeto é para compreensão de leitura generativa, usando diretamente o método seq2seq. O codificador usa o codificador do transformador, e o decodificador usa a estrutura gru, e uma camada de atenção comum é adicionada no meio. mecanismo.
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
13. transformer_reading: Este projeto também trata de compreensão de leitura generativa, usando a estrutura padrão do transformer.
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
Slot_Filling
1. JointBert: Envolve classificação de intenção e classificação de slot. Use bert diretamente para codificar a entrada e use vetores "CLS" para classificação de intenções. O vetor de codificação final de cada token é usado para classificação de slots.
- python train.py # Treinamento do modelo
Classificação_Texto
1. DPCNN: A rede convolucional profunda + conexão residual torna este modelo melhor do que as estruturas CNN anteriores e sua complexidade não é alta.
- python get_data_to_examples.py # Pré-processar dados
- python exemplos_to_features.py # Converta os exemplos correspondentes em recursos
- python train.py # Treinamento do modelo
2. FastBert: usa um método de autodestilação para acelerar o raciocínio do modelo. Usado principalmente em tarefas de classificação.
- sh train_stage0.sh # Treine o modelo do professor bert
- sh train_stage1.sh # autodestilação
- sh infer_sigle.sh # Amostra única de inferência adaptativa
3. FastText: Proposto pelo Facebook, é um modelo eficiente de classificação de textos.
- python step1_get_data_to_examples.py # Obtenha dados
- python step2_examples_to_features.py # Converte dados de texto em sequência de id
- python train.py # Treinamento do modelo
4. XLNet: 1) Aprenda informações contextuais bidirecionais maximizando a probabilidade logarítmica de todas as ordens de fatoração possíveis; 2) Use as características da própria autorregressão para superar as deficiências do BERT; Além disso, XLNet também incorpora as ideias do atual modelo autoregressivo ótimo Transformer-XL.
- python train.py # Treinamento do modelo
5. all_layer_out_concat: Como você pode ver pelo nome, este projeto codifica o texto por meio do modelo estilo bert, em seguida, retira o vetor cls de cada camada, realiza um cálculo de atenção e, em seguida, realiza a classificação.
- python train.py # Treinamento do modelo
- Python inference.py # Inferência de modelo
6. bert+bceloss+average_checkpoint: Este projeto altera a função de perda da tarefa de classificação para BCELoss. Além disso, a média de peso adicionada (média de vários pontos de verificação).
- python run_classify.py # Treinamento do modelo
- python run_average_checkpoints.py # Média de peso
7. capsule_text_classification: GRU+Cápsula para classificação de texto
- python train.py # Treinamento do modelo
8. longformer_classification: Use o modelo pré-treinado longformer para classificação de texto. Para classificação de textos longos, você pode experimentar este modelo.
- python train.py # Treinamento do modelo
9. multi_label_classify_bert: Use o modelo bert para classificação multi-rótulo. Ele contém três modelos: bert (model.py), as duas últimas camadas de pooling de bert (model2.py) e bert+TextCNN (model3.py).
- python train.py # Treinamento do modelo
- python inference.py # Previsão do modelo
10. roberta_classification: Use o modelo pré-treinado de roberta para classificação de texto.
- python train.py # Treinamento do modelo
11. transformer_xl: Use transformer_xl diretamente para classificação de texto. Para classificação de texto longo, você pode tentar este modelo.
- python train.py # Treinamento do modelo
12. wobert+focal_loss: O modelo de pré-treinamento wobert é fornecido por Su Shen, e a perda focal é adicionada à tarefa de classificação para resolver o problema de desequilíbrio de categoria.
- python run_classify.py # Treinamento do modelo
13. TextCNN: Convolve o texto em diferentes escalas e depois concatena-o para classificação do texto.
- python 001-TextCNN.py # Treinamento de modelo
14. BILSTM+Atenção: Rede LSTM bidirecional mais atenção comum para classificação de texto.
- python 002-BILSTM+Attention.py # Treinamento de modelo
Text_Clustering
1. Clustering LDA
- python train_LDA_cluster.py # Clustering
2.DBSCAN
- python train_dbscan_cluster.py # Clustering
3. Significa
- python train_kmeans_cluster.py # Clustering
Corretor_Texto
1. bert_for_correction: É apenas uma tentativa simples, retreinar no corpus correspondente, inserir uma frase com erros de digitação e depois classificar o vetor de codificação de cada token.
- python run_pretrain_bert.py #Retreinamento
- bert_corrector.py # Correção de erro
Geração_Texto
1. GPT2_SummaryGen: Use GPT2 para gerar resumo
- python train.py # Treinamento do modelo
- python inferface.py # Inferência de modelo
2. GPT2_TitleGen: Geração de títulos de artigos
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
3. Simple-GPT2: modelo GPT2 autoimplementado
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
Text_Ranking
1. BM25: Calcule o valor BM25 da consulta e de todos os textos a serem classificados e, em seguida, classifique com base neste valor.
- python main.py # Classificar
2. DC_Bert_Ranking: Torres Gêmeas + Interação. Primeiro, a consulta e o contexto são codificados separadamente e os pesos aqui não são compartilhados. Em seguida, a codificação da consulta e do contexto é misturada e, em seguida, passada por várias camadas do codificador-transformador interativo.
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
3. DPR_Ranking: modelo de classificação de texto do Facebook
- python train.py # Treinamento do modelo
4. MT_Ranking: use o modelo estilo bert para codificação, depois use cls para classificação e classifique pela pontuação da amostra positiva
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
5. ReRank: incluindo destilação de modelo
- python train.py # Treinamento do modelo
- python train_distill.py # Destilação de modelo
Texto_Similaridade
1. ABCNN: Primeiro realize a incorporação de palavras nas duas sentenças, depois realize o agrupamento para obter os vetores das duas sentenças, depois calcule a diferença entre os dois vetores e, finalmente, execute a convolução no vetor de diferença em escalas diferentes e, em seguida, classifique.
- python train.py # Treinamento do modelo
2. BiMPM: Este modelo é dividido em quatro partes: incorporação de palavras, codificação de contexto (bilstm), quatro tipos de correspondência e camada de agregação.
- python train.py # Treinamento do modelo
3. DecomposableAttention: O núcleo deste artigo é o alinhamento, ou seja, a correspondência entre as palavras. O alinhamento no artigo é usado em dois lugares. Um é a parte de atendimento, que é usada para calcular a relação de atenção entre duas frases. a outra é Na parte de comparação, as palavras entre as duas sentenças são comparadas. Cada processamento é baseado em palavras e, finalmente, uma rede neural feed-forward é usada para fazer previsões. É óbvio que o modelo mencionado neste artigo não utiliza a relação temporal das palavras da frase, mas enfatiza a correspondência entre as palavras das duas frases (alinhamento).
- python train.py # Treinamento do modelo
4. ESIM: ferramenta de correspondência de texto curto. A grande vantagem do ESIM é sua atenção entre frases, que é o soft_align_attention no código. Nesta etapa, as duas frases a serem comparadas são interagidas. Em estruturas anteriores semelhantes às redes siamesas, muitas vezes não havia interação no meio, e apenas uma distância de cosseno ou outra distância era encontrada na última camada.
- python train.py # Treinamento do modelo
5. RE2: O nome RE2 vem da combinação de três partes importantes da rede: Vetores residuais;
- python train.py # Treinamento do modelo
6. SiaGRU: Estrutura de torre gêmea, use GRU para codificar duas sentenças respectivamente, depois calcule a diferença entre os dois vetores de codificação de sentença e, finalmente, use esse vetor de diferença para classificação.
- python train.py # Treinamento do modelo
7. SimCSE: Aprendizagem contrastiva, habilidades: amostras diferentes, abandono diferente
- python train.py # Treinamento do modelo
8. BM25: Calcule diretamente o valor BM25 de dois textos, representando seu grau de similaridade.
9. TF_IDF: Calcula diretamente o valor TF_IDF de dois textos, representando seu grau de similaridade.
10. NEZHA_Coattention: Adota uma estrutura de torre gêmea. Duas sentenças são inseridas no modelo NEZHA, respectivamente, e então a entrada é diferenciada, unida à representação original e, em seguida, enviada para uma rede totalmente conectada para classificação. Existe outro modelo, ou seja, após obter a representação das duas sentenças, implementamos nós mesmos uma camada de transformador-codificador para fundir as informações da representação e, finalmente, classificá-las.
11. Bert_Whitening: O método proposto por Su Jianlin não requer treinamento e unifica diretamente a saída bert de cada frase com a base ortonormal padrão.
- python run_bert_whitening.py # Verifica diretamente o conjunto de dados e calcula o coeficiente de Spearman
aumento_dados
1. eda: Use o kit de ferramentas nlpcda para aumento de dados. Tais como: substituição de entidade equivalente, substituição aleatória de sinônimos, exclusão aleatória de caracteres, troca de posição, substituição de homófonos.
2. Retrotradução-Baidu: Use o Baidu Translate para retrotradução de texto.
- python002-run_contrslate_data_aug.py
3. Back-translation-google: Use o Google Translate para retrotradução de texto.
- python003-google_trans_data_aug.py
extração_relação
1. lstm_cnn_information_extract: lstm+cnn
- python train.py # Treinamento do modelo
- python inference.py # Inferência de modelo
2. relação_classificação: classificação de relação, bilstm + atenção comum
- python data_helper.py #Pré-processamento de dados
- python train.py # Treinamento do modelo
História das Estrelas