Disciplina

Área

Área Científica de Inteligência Artificial > Sistemas Inteligentes

Activa nos planos curriculares

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Tecnologias da Informação e Linguagem > Língua Natural

MEIC-T 2018 > MEIC-T 2018 > 2º Ciclo > Agrupamentos > Sistemas Inteligentes > Língua Natural

Min-IA 2021 > Min-IA 2021 > Língua Natural

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Inteligência Artificial > Língua Natural

MECD2019 > MECD2019 > 2º Ciclo > Opções > Língua Natural

Min-EG 2022 > Min-EG 2022 > Inteligência Artificial e Robótica > Língua Natural

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Tecnologia para Processamento de Informação e Linguagem > Língua Natural

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Tecnologia para Processamento de Informação e Linguagem > Língua Natural

MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Sistemas Inteligentes > Língua Natural

MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Sistemas Inteligentes > Língua Natural

Nível

Avaliação de conhecimentos: • série de exercícios semanais (20%), • dois mini-projectos (30%: 15% cada um), • um exame (50%). Em época especial a avaliação tem 2 componentes: um exame (70%) e dois mini-projectos (30%). Os miniprojectos podem ser realizados na época normal, desde que tenham sido entregues como trabalho individual e não como trabalho de grupo.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

2.0 h/semana

1.5 h/semana

119.0 h/semestre

Objectivos

Conhecer os conceitos básicos, principais formalismos, técnicas e algoritmos, bases de conhecimento e corpora envolvidos na área do Processamento da Língua Natural. Perceber quais são as grandes tarefas envolvidas no processamento de uma frase, parágrafo ou texto e entender as dificuldades de cada uma destas tarefas. Conhecer as principais aplicações da área e ser capaz de identificar a tecnologia envolvida. Compreender as tarefas que são realizáveis com as tecnologias atuais.

Programa

1. Processamento da Linguagem Natural (PLN): visão histórica 2. Configuração Experimental: Corpora: anotação, concordância de anotações, enviesamento, etc.; Treino: conjuntos de treino/teste/validação, validação cruzada, etc.; Avaliação: métricas de avaliação mais usadas e avaliações conjuntas em PLN 3. Representação da Linguagem: da lógica aos vectores (esparsos e densos — redução de dimensionalidade e “embeddings” neuronais) 4. Principais Abordagens: Baseadas em Regras; Similaridades/distâncias lexicais; Aprendizagem Automática baseada em “features”; Aprendizagem Profunda (Arquiteturas: das RNNs aos “Transformers”; auto-encoders, GANs; Conceitos: mecanismos de atenção, “fine-tuning”, aprendizagem multi-tarefas); Engenharia de Prompts (RAG, persona, etc.) 5. Modelos de Linguagem: dos N-Grams aos Grandes Modelos de Linguagem 6. Conceitos/Tarefas (Linguística): Segmentação, Morfologia, Análise Morfológica e Etiquetação Morfo-sintáctica; Sintaxe e Análise Sintática; Semântica e Análise Semântica 7. Cenários de Aplicação: Pergunta/Resposta, Sistemas de Diálogo/Chatbots, Tradução Automática (incluindo para Línguas Gestuais), Análise de Sentimentos, etc.

Metodologia de avaliação

Avaliação de conhecimentos: • série de exercícios semanais (20%), • dois mini-projectos (30%: 15% cada um), • um exame (50%). Em época especial a avaliação tem 2 componentes: um exame (70%) e dois mini-projectos (30%). Os miniprojectos podem ser realizados na época normal, desde que tenham sido entregues como trabalho individual e não como trabalho de grupo.

Pré-requisitos

Programação básica em Python; conceitos básicos de shell.

Componente Laboratorial

Algumas aulas práticas terão uma componente laboratorial. Nomeadamente, em algumas aulas é dado um problema, acompanhado de código que os alunos terão de desenvolver.

Princípios Éticos

Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.

Componente de Programação e Computação

No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122. Estas componentes são avaliadas nos mini-projectos (30%).

Componente de Competências Transversais

Os mini-projectos são realizados em grupo, permitindo aos alunos trabalhar em equipa. Num dos projectos é pedido um relatório que deverá seguir as linhas de um artigo científico. Algumas aulas são dedicadas exclusivamente à metologia de trabalho (como preparar os dados, avaliar, etc.), o que é uma competência transversal. É também dado especial ênfase à análise crítica de resultados, que é avaliada nos mini-projectos. São também abordados aspectos (éticos) relacionados com aplicações mais sensíveis da área, bem como com a utilização de algoritmos de aprendizagem.

Bibliografia

Principal

Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, Second Edition

Daniel Jurafsky & James H. Martin

2009

Prentice-Hall


Introduction to Natural Language Processing

Jacob Eisenstein

2019

MIT PRESS