Técnicas modernas de aprendizado profundo aplicadas ao processamento de linguagem natural
Este projeto contém uma visão geral das tendências recentes no Processamento de Linguagem Naturais (PNL) baseado em aprendizado profundo. Ele abrange as descrições teóricas e os detalhes da implementação por trás dos modelos de aprendizado profundo, como redes neurais recorrentes (RNNs), redes neurais convolucionais (CNNs) e aprendizado de reforço, usadas para resolver várias tarefas e aplicações de PNL. A visão geral também contém um resumo dos resultados da ponta da arte para tarefas de PNL, como tradução de máquinas , resposta a perguntas e sistemas de diálogo . Você pode encontrar o recurso de aprendizado no seguinte endereço: https://nlpoverview.com/. Um instantâneo do site é fornecido abaixo:

Sobre este projeto
As principais motivações para este projeto são as seguintes:
- Mantenha um recurso de aprendizado atualizado que integra informações importantes relacionadas à pesquisa da PNL, como:
- Resultados de última geração
- Conceitos e aplicações emergentes
- Novos conjuntos de dados de benchmark
- Liberações de código/conjunto de dados
- etc.
- Crie um recurso amigável e aberto para ajudar a orientar os pesquisadores e qualquer pessoa interessada em aprender sobre as técnicas modernas aplicadas à PNL
- Um projeto colaborativo em que pesquisadores especializados podem sugerir alterações (por exemplo, incorporar resultados SOTA) com base em suas descobertas recentes e resultados experimentais
Índice
- Introdução
- Representação distribuída
- Incorporação de palavras
- Word2vec
- Incorporação de personagens
- Incorporação de palavras contextualizadas
- Redes neurais convolucionais
- CNN básico
- Modelagem de frases
- Abordagem da janela
- Aplicações
- Redes neurais recorrentes
- Necessidade de redes recorrentes
- Modelos RNN
- RNN simples
- Memória de longo prazo de longo prazo
- Unidades recorrentes fechadas
- Aplicações
- RNN para classificação no nível da palavra
- RNN para classificação no nível da sentença
- RNN para gerar linguagem
- Mecanismo de atenção
- Atenção paralela: o transformador
- Redes neurais recursivas
- Modelos reforçados profundos e aprendizado profundo não supervisionado
- Aprendizagem de reforço para geração de sequência
- Aprendizagem de Representação de sentença não supervisionada
- Modelos generativos profundos
- Redes agentadas pela memória
- Desempenho de diferentes modelos em diferentes tarefas de PNL
- Marcação de POS
- Análise
- Reconhecimento de entidade nomeada
- Rotulagem semântica de papel
- Classificação de sentimentos
- Tradução da máquina
- Resposta de perguntas
- Sistemas de diálogo
- Incorporações contextualizadas
Como contribuir?
Existem várias maneiras de contribuir para este projeto.
- A maneira mais rápida de propor uma edição ou adição de texto é a seguinte:
fork the repo, navegue para o chapter correspondente e clique no botão edit para adicionar suas informações. A imagem abaixo mostra as duas últimas etapas depois que você bifurou o repositório. Você pode enviar uma solicitação de tração e aprovaremos de acordo. Se você deseja alterar uma grande parte do projeto ou até adicionar um capítulo, recomendamos a seção "Build site locally" abaixo.

- Você também pode propor adições de texto neste documento compartilhado público se não estiver familiarizado com
git . Ajudaremos a editar e revisar o conteúdo e, em seguida, ajudaremos você a incorporar as contribuições ao projeto. - Consulte a seção de problemas para saber mais sobre outras maneiras de ajudar.
- Ou você pode fazer sugestões enviando um novo problema. Instruções mais detalhadas em breve.
Crie um site localmente
Se você planeja alterar algum aspecto do site (por exemplo, adicionar seção ou estilo) e deseja visualizá -lo localmente em sua máquina, sugerimos que você construa e execute o site localmente usando jekyll . Aqui estão as instruções:
- Primeiro, verifique se
Ruby 2.1.0 ou superior está instalado no seu computador. Você pode verificar usando o comando ruby --version . Caso contrário, instale -o usando as instruções fornecidas aqui. - Depois de garantir que o Ruby seja instalado, instale o Bundler usando
gem install bundler . - Clone este repo localmente:
git clone https://github.com/omarsar/nlp_overview.git - Navegue até a pasta repo com
cd nlp_overview - Instale Jekyll:
bundle install - Execute o site Jekyll localmente:
bundle exec jekyll serve - Site de visualização no navegador em
http://localhost:4000
Manutenção
Este projeto é mantido por Elvis Saravia e Soujanya Poria. Você também pode me encontrar no Twitter se tiver algum comentário ou dúvida direta. Grande parte deste projeto foi emprestada diretamente do trabalho de Young et al. (2017). Somos gratos aos autores.