Kevinpro-NLP-Demo
Algum implemento simples de algoritmo de PNL divertido em Pytorch. atualizando e mantendo
Se você tiver alguma dúvida, comente em questão
Se o projeto o ajudar, bem -vindo a estrela ~ (por favor, não apenas bifurque sem estrela (´ ・ ω ・ `))
Atenção: a parte do código neste repositório pode se originar de outros materiais de código aberto, apenas para meu próprio interesse e experimento. Pode conter bugs e referências ao código de outras pessoas.
中文版本 Readme
O conteúdo principal
Você pode entrar em cada pasta do projeto para obter mais detalhes no readme.md da pasta, dentro,
- Classificação de texto com base em muitos modelos (bilstm, transformador) vá aqui
- RESUMO GERAÇÃO (Rede de Gerador de Ponteiro) Vá aqui
- Tradução de diálogo (SEQ2SEQ) para construir seu próprio dialoguebot ~~ vá aqui
- Use GNN na classificação de texto, vá aqui
- Modelo de linguagem de máscara de transformador Pré -treinamento vá aqui
- GPT para geração de texto e GPT para problemas matemáticos Go Heresource Repo
- Treinamento adversário (FGM) vá aqui
- Uso/implantação muito simples e rápido do seq2seq-transformer. Incluindo vários eamporais (presain denoise, reprodução médica, vá aqui
- Uso prático de pytorch_lighting vá aqui
- Treinamento AMP e FP16 para Pytorch vá aqui
- Visualize de maneira útil o kit de ferramentas para o mapa de atenção (ou outra matriz ponderada, vá aqui
- Modelos de difusão implementam e aplicando a moda mnist vá aqui
- Simples Gaste of Stable Learning (Edifício) Vá aqui
- Simples, sabor do meta aprendizado (edifício) vá aqui
- Demonstração simples de grande inferência do modelo de Langauge, vá aqui
Meus outros projetos de NLP de código aberto
- Bert em relação Extração : Ricardokevins/Bert-in-Relation-Extração: 使用 Bert 完成实体之间关系抽取 (github.com)
- Comparação de texto: Ricardokevins/text_matching: nlp2020 中兴捧月句子相似度匹配(github.com)
- Impletor de transformador e útil NLP Toolkit : Ricardokevins/Easytransformer: Iniciar rápido com forte linha de base de Bert e Transformer sem pré -atrain (github.com)
O que há de novo ~~
2023.3.27
- Atualize a demonstração simples sobre o processo de inferência de um modelo de linguagem grande. Atualizará mais no futuro.
2022.8.31
- Atualização para modelo de difusão. Adotamos o código do tutorial e fizemos algumas alterações necessárias no código para fazê -lo funcionar localmente. O modelo de treinamento prático e os resultados de inferência podem ser encontrados na pasta Difusão/Result2.
2022.3.25
- Graças à questão do @Rattlesnakey (mais detalhes de discussão aqui). Eu adiciono o recurso no projeto pré -train. Defina o peso da atenção do Tooken de máscara como zero para evitar a auto-atendimento de máscara. Você pode ativar esse recurso no Transformer.py configurando "self.pretrain = true". PS: O novo recurso não foi verificado por enquanto, e o efeito no pré-treinamento não foi verificado. Vou preencher os testes mais tarde
2022.1.28
- Reconstrua a estrutura do código no transformador. Facilitar o código de uso e implantação
- Adicione exemplos: presain denoise no transformador (fácil de usar)
2022.1.16
- Atualização Use o transformador SEQ2SEQ para modelar a tarefa de controle de qualidade médica (tuing em 55w pares de dados de controle de qualidade chineses) mais detalhes a serem vistos no readme.md de transformador/medqademo/
- Atualize o novo treinador e ferramentas úteis
- Remova o implemento anterior do transformador (com alguns bugs não acessíveis)
Atualizar histórico
2021.1.23
- 初次 Commit 添加句子分类模块 , 包含 Transformador 和 bilstm 以及 bilstm+attn 模型
- 上传基本数据集 , 句子二分类作为 Demo 例子
- 加上和使用对抗学习思路
2021.5.1
- 重新整理和更新了很多东西 .... 略
2021.6.22
- 修复了 Classificação de texto 的一些整理问题
- 增加了 Classificação de texto 对应的使用说明
2021.7.2
- 增加了 Mlm 预训练技术实践
- 修复了句子分类模型里 , 过分大且不必要的 Word incorporado (因为太懒 , 所以只修改了 Transformador 的) fundo
- 在句子分类里增加了加载预训练的可选项
- 修复了一些 Bug
2021.7.11
- 增加了 Gnn 在 nlp 中的应用
- 实现了 Gnn 在文本分类上的使用
- 效果不好 , 暂时怀疑是数据处理的问题
2021.7.29
- 增加了 Chi+tfidf 传统机器学习算法在文本分类上的应用
- 实现和测试了算法性能
- 更新了 Readme
2021.8.2
- 重构了对话机器人模型于 SEQ2SEQ 文件夹
- 实现了 BeamSearch 解码方式
- 修复了 PGN 里的 Beamsearch Bug
2021.9.11
- 添加了 Gpt 在文本续写和数学题问题的解决 (偷了 Karpathy/Mingpt: uma reimplementação mínima de pytorch do treinamento do OpenAi GPT (Transformador pré-treinado generativo) (github.com) 代码实现的很好 , 对理解 Gpt 很有帮助 , 偷过来看看能不能用在好玩的东西 偷过来看看能不能用在好玩的东西
- 重构了 Rede geradora de ponteiro , 之前的表现一直不好 , 打算干脆重构 , 一行一行的重新捋一遍 , 感觉会安心很多。施工 ing。
2021.9.16
- 修复了 Prerain 里 Máscara Token 未对齐 , 位置不一致问题
2021.9.29
- 在 Transformador 里增加了一个随机数字串恢复的 Demo , 对新手理解 Transformador 超友好 , 不需要外部数据 , 利用随机构造的数字串训练
- 新增实验 Transfomervae , 暂时有 Bug , 施工中
2021.11.20
- Atualize o algoritmo BM25 e TF-IDF para correspondência rápida do texto.
2021.12.10
- Atualize o uso prático de pytorch_lighting, use text_classification como exemplo. Converta o Pytorch em Lightninglite. Mais detalhes em iluminagemMain.py。
- Remova o código redundante
2021.12.9
- Atualize o uso prático do AMP (precisão mista automática). Implementar no VaeGenerator, teste no MX150 local, melhorar significativamente o tempo de treinamento e o uso de memória, mais detalhes nos comentários no final do código
- Com base no comando do AMP, modificou a definição de 1E-9 para INF em Model.py
2021.12.17
- Atualizar matriz ponderada Visualize o kit de ferramentas (por exemplo, usado para visualizar mapa de atenção) implementar no Visualize. Mais útil kit de ferramentas no futuro
- Atualize os padrões de código de comentários do Python. Práticas mais formais de código serão seguidas no futuro.
参考
BM25
https://blog.csdn.net/chaojianmo/article/details/105143657
Precisão mista automática (AMP)
https://featurize.cn/notebooks/368cbc81-2b27-4036-98a1-d77589b1f0c4