Disciplina
Língua Natural
Á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
Daniel Jurafsky & James H. Martin
Introduction to Natural Language Processing