Skip to content

viniciusrpb/cic0269_natural_language_processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CIC0269 - Processamento de Linguagem Natural (Natural Language Processing)

Códigos-fontes (Notebooks Python) e recursos de apoio para a disciplina CIC0269 - Processamento de Linguagem Natural (Natural Language Processing), do Departamento de Ciência da Computação da Universidade de Brasília.

Autores

Prof. Dr. Vinícius Ruela Pereira Borges

Matheus Stauffer Viana de Oliveira

Sumário

  1. Introdução ao Processamento de Linguagem Natural

  2. Princípios de Linguística

  3. Expressões Regulares

    3.1. Teste sua RegEx (ao vivo) aqui: RegExPal

  4. Pré-processamento de Textos

    4.1. Pré-processamento de Textos

    4.2. LIWC em Língua Portuguesa

    4.3. Aplicação: Part-of-Speech (PoS) Tagging utilizando Dicionários

  5. Extração de Características de Textos

    5.1. Bag-of-Words & TF-IDF

  6. Similaridade entre Textos

    6.1. Edit Distance

    6.2. Similaridade Cosseno

    6.3. Aplicação: Recuperação de Textos Baseada em Conteúdo (Text Retrieval)

  7. Modelos de Linguagem Probabilísticos

    7.1. Modelos de Linguagem Unigrama and Bigrama

  8. Classificação de Textos

    8.1. Regressão Logística

    8.2. Métricas de Avaliação de Desempenho de Classificação

    8.3. Estratégias de Amostragem

  9. Redes Neurais Artificiais

    9.1. Perceptron Simples

    9.2. Multilayer Perceptron com Backpropagation (XOR)

    9.3. Multilayer Perceptron via Keras (XOR)

    9.4. Aplicação: Classificação de Polaridade em Tweets com Multilayer Perceptron (Keras)

  10. Construção e Anotação de Corpos de Texto

    10.1. Planejando um Processo de Anotação na Ferramenta TagTog

    10.2. Avaliação de Qualidade: Métricas de Concordância

  11. Redes Neurais Convolucionais

    11.1. Princípios Básicos de Convolução

    11.2. Implementando uma AlexNet para Classificação de Imagens de Documentos

    11.3. Transferência de Aprendizado em uma ResNet para Classificação de Imagens de Documentos

    11.4. Redes Neurais Convolucionais em Textos

  12. Redes Neurais Recorrentes

    12.1. Princípios de Redes Neurais Recorrentes

    12.2. Modelos de Linguagem Baseados em RNNs

    12.3. Aplicação 1: Inferência de Linguagem Natural

    12.4. (Extra) Universal Language Modeling Fine-Tuning (ULMFiT)

  13. Word Embeddings

    13.1. Princípios de Word Embeddings utilizando word2vec

    13.2. Aprendizado por Transferência via word2vec

    13.3. Aprendizado por Transferência via GloVe

    13.4. Visualização de Word Embeddings

  14. Reconhecimento de Entidades Nomeadas (Named Entity Recognition - NER)

    14.1. BiLSTM

    14.2. Conditional Random Fields (CRF)

  15. Arquitetura Encoder-Decoder (Seq2Seq)

    15.1. Fundamentos de Encoder-Decoder

    15.2. Visualização de Vetores Multidimensionais

    15.3. Aplicação: Machine Translation

  16. Mecanismo de Atenção

    16.1. Fundamentos

    16.2. Classificação de Reviews de Filmes com Atenção

  17. Transformers

    17.1. Arquitetura Transformer

    17.2. Classificação de Reviews de Filmes utilizando BERT

    17.3. Classificação de Reviews de Filmes utilizando GPT3

    17.4. Reconhecimento de Entidades Nomeadas utilizando BERT

    17.5. Arquitetura: Vision Transformers

  18. Modelos Generativos

    18.1. Redes Adversárias Generativas (GAN)

    18.2. Sequential GAN (SeqGAN)

Referências

https://web.stanford.edu/~jurafsky/slp3/

https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf

About

Notebooks Python da parte prática da disciplina "CIC0269 - Processamento de Linguagem Natural" do Departamento de Ciência da Computação da Universidade de Brasília.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published