Computação em Linguagem Natural

Código:
17978
Ano:
1
Semestre:
S2
Créditos ECTS:
6
Carga Horária:
PL(30H)/T(30H)
Área Científica:
Informática
Objectivos de Aprendizagem:
Esta unidade curricular (UC) explora os elementos de estado da arte no Processamento de Linguagem Natural (PLN). O objetivo principal é capacitar os estudantes para a aplicação destas tecnologias na resolução de problemas complexos de ciência e engenharia. Os alunos deverão adquirir competências para criar sistemas que incorporam e alavancam modelos de linguagem de larga escala (LLMs). A aprendizagem progride desde os fundamentos clássicos de PLN até ao estudo de arquiteturas modernas e de modelos de larga escala. No final, os estudantes deverão ser capazes de projetar sistemas de recuperação aumentada (RAG), orquestrar recursos por meio de frameworks de referência e desenvolver agentes autónomos baseados em linguagem natural para contextos e problemas específicos.
Conteúdos programáticos:
1. Introdução e Fundamentais
1.1. O Processamento da Linguagem Natural (PLN).
1.2. Modelos e abordagens clássicas do PLN.
1.3. Recursos clássicos de manipulação da Linguagem Natural (LN).
2. Semântica Vetorial da LN
2.1. Vetores esparsos (TF-IDF e BoW) e densos (Word2Vec) na LN.
2.2. Vetores densos e contextualizados (e.g., BERT).
2.3. Semântica documental e lexical.
3. Manipulação de Informação e Processamento com LN
3.1. Modelo de Linguagem de Larga Escala (LLM)
3.2. Treino, pós-treino e ajuste fino de LLMs.
3.3. Processamento suportado por linguagem e conhecimento.
3.4. LLMs na nuvem, na máquina, ou um melhor treino?
4. Ambientes de Orquestração de Recursos de LN
4.1. Engenharia e encadeamento de prompts.
4.2. Sistemas de agentes autónomos baseados em LN.
4.3. Frameworks para o desenho e orquestração de agentes.
4.4. Padrões de desenho de agentes.
5. Sistemas de Interação Conversacional
5.1. Reconhecimento e síntese fonética.
5.2. Modos, efetividade e emoções na conversação.
Metodologias de Ensino e Critérios de Avaliação:
A avaliação por frequência consiste em um trabalho distribuído ao longo do semestre, com a realização de duas provas escritas (F1 e F2) e de um trabalho final (TF).

CF = 0.3*F1 + 0.3*F2 + 0.4*TF

A obtenção de CF = 9.50 implica aprovação por frequência, e CF < 6.00 implica reprovação na categoria “Não Admitido”.
A classificação em qualquer exame CE será calculada com base na prova escrita do exame PX e no trabalho final, nas seguintes proporções:

CE = 0.6*PX + 0.4*TF
Bibliografia principal:
1. Jurafsky, D. & Martin, J. (2026). Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition with Language Models, 3rd edition. Online manuscript.
2. Bouchard, L. F., & Peters, L. (2024). Building LLMs for production: enhancing LLM abilities and reliability with prompting, fine-tuning, and RAG. Towards AI
3. Gullí, A. (2025). Agentic design patterns: a hands-on guide to building intelligent systems. Springer Nature.
4. Oshin, M., & Campos, N. (2025). Learning LangChain. " O'Reilly Media, Inc."
5. Iusztin, M. L. P. (2024). LLM Engineer's Handbook. Packt Publishing.
6. Tunstall, L., Von Werra, L., & Wolf, T. (2022). Natural language processing with transformers. O'Reilly Media.
Língua:
Português
Esta informação promove os seguintes Objetivos de Desenvolvimento Sustentável da ONU:
Garantir o acesso à educação inclusiva, de qualidade e equitativa, e promover oportunidades de aprendizagem ao longo da vida para todos