Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Inteligência Artificial
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2023/2024
Pré-requisitos / Pre-Requisites
Não são necessários conhecimentos prévios de processamento de língua natural. É esperado que os estudantes tenham alguns conhecimentos básicos em probabilidades e estatística, vetores e espaços vetoriais e análise matemática, embora estes conceitos sejam revistos na sua primeira utilização. O estudante deve ter conhecimentos de programação (conhecer as estruturas de dados mais comuns) e saber escrever programas em Java ou em Python. O aluno deve também ter alguns conhecimentos básicos de shell script.
Objetivos Gerais / Objectives
Os estudantes devem ficar a conhecer as tecnologias necessárias ao processamento da língua natural escrita e falada. Pretende-se que os alunos conheçam as tecnologias envolvidas, as suas aplicações imediatas e as suas limitações. Assim, as principais competências e atitudes que identificam os processos cognitivos internos do estudante, uma vez finalizado o processo educativo, são as seguintes: reconhecer as diferentes vertentes científicas envolvidas na análise e compreensão da língua natural; perceber quais são os métodos, algoritmos e resultados de cada uma das tarefas envolvidas no processamento da língua escrita; conhecer os métodos e técnicas atualmente utilizadas no processamento da língua falada; conhecer as aplicações realizáveis com as tecnologias atuais e discutir a evolução futura (previsível) no processamento computacional da língua, concretamente em áreas tais como a tradução automática, sistemas de extração e recuperação de informação, identificação de tópicos, etc.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
OA1:Identificar os principais estágios, métodos e aplicações no contexto do processamento automático da língua escrita e falada OA2:Utilizar expressões regulares e autómatos OA3:Construir e realizar operações sobre transdutores OA4:Calcular distâncias entre duas sequências OA5:Explicar o conceito de morfologia e de etiquetação morfossintática OA6:Construir um modelo de língua baseado em contagens de n-gramas, usando técnicas de alisamento simples OA7:Explicar principais conceitos relativos a modelos de Markov OA8:Usar as várias medidas de avaliação de desempenho OA9:Explicar os conceitos básicos do processamento automático da língua falada OA10:Identificar as etapas e as abordagens utilizadas em síntese e reconhecimento de fala OA11:Descrever os algoritmos mais relevantes de análise sintática e conceitos associados OA12:Explicar os conceitos básicos associados à obtenção de informação semântica OA13:Identificar algumas das aplicações mais relevantes de língua natural
Conteúdos Programáticos / Syllabus
Processamento das palavras: morfologia, algoritmos e técnicas de processamento CP1: Expressões regulares e autómatos CP2: Morfologia e Transdutores CP3: Modelos de N-gramas CP4: Análise morfossintática CP5: Modelos de Markov e modelos de Máxima Entropia Processamento de fala CP6: Fonética CP7: Síntese de fala CP8: Reconhecimento automático de fala CP9: Fonologia computacional CP10: Aplicações de processamento de fala Processamento sintático CP11: Gramáticas livres de contexto CP12: Análise sintáctica CP13: Análise sintáctica probabilística Processamento Semântico CP14: Representação de significado CP15: Semântica computacional CP16: Semântica lexical Abordagens Recentes CP17: Transformadores CP18: Large Language Models CP19: Modelos generativos
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
CP1: OA2 CP2: OA1, OA3, OA4 CP3: OA6 CP4: OA1, OA5, OA8 CP5: OA5, OA7, OA8 CP6: OA9 CP7: OA1, OA9, OA10 CP8: OA1, OA8, OA9, OA10 CP9: OA9 CP10: OA1, OA13 CP11: OA11 CP12: OA1, OA8, OA11 CP13: OA11 CP14: OA12 CP15: OA1, OA12 CP16: OA1, OA12 CP17: OA1, OA13 CP18: OA1, OA13 CP19: OA1, OA13
Avaliação / Assessment
Esta UC é feita apenas por avaliação periódica, não contemplando a modalidade de avaliação por exame. A avaliação consiste em 2 componentes: TRABALHOS (3 trabalhos, 20% cada) e MINI-TESTES (2 mini-testes, cada um 20%), todos realizados durante o período letivo. A nota de TRABALHOS está limitada à nota de MINI-TESTES + 6 valores. Em caso de reprovação, a nota da componente MINI-TESTES pode ser substituída por uma prova escrita realizada no período correspondente à 1ª ou 2ª época. A assiduidade não é requisito de aprovação.
Metodologias de Ensino / Teaching methodologies
Aulas: 36h teórico/práticas semestrais; ao longo do semestre são convidados 3 investigadores da área, que participam na exposição das matérias da sua especialidade; esperam-se aproximadamente 6h/semana de trabalho autónomo. Recursos: As aulas deverão ser leccionadas em salas equipadas com projeção digital e em que os alunos devem ter acesso a computadores com acesso à Internet e a um ambiente de desenvolvimento de software (Java e Python).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
As aulas teórico/práticas permitem uma maior interação entre o docente e o aluno, o que não só ajudam o desenvolvimento dos raciocínios de análise crítica desejáveis como também permitem um enriquecimento da turma com os contributos específicos de cada estudante. O contacto com os investigadores convidados permitirá uma melhor integração entre o domínio teórico e a sua aplicação prática, dando a conhecer ao aluno os mais recentes desenvolvimentos na área. O trabalho autónomo permitirá que o aluno desenvolva uma maior independência na abordagem deste tipo de problemas, permitindo um maior domínio dos principais conceitos.
Observações / Observations
Exemplos de cálculo da nota final: TRABALHOS = 20, MINI-TESTES = 14 --> Nota Final = 18 TRABALHOS = 20, MINI-TESTES = 10 --> Nota Final = 14 (a nota da componente TRABALHOS foi limitada a 16 valores = 10 + 6) Ainda relativamente à avaliação, os estudantes poderão melhorar a nota da componente MINI-TESTES através de uma prova escrita, a realizar durante o período de avaliação correspondente à 1ª época. Os estudantes que o pretendam fazer, devem informar os docentes assim que forem divulgadas as notas da avaliação periódica. Devido à atual situação provocada pela COVID-19, o processo de avaliação poderá sofrer algumas adaptações, que serão comunicadas oportunamente, caso tal venha a ser necessário
Bibliografia Principal / Main Bibliography
Dan Jurafsky and James H. Martin, Speech and Language Processing (3rd ed. draft), 2023, null, https://web.stanford.edu/~jurafsky/slp3/
Bibliografia Secundária / Secondary Bibliography
Jacob Eisenstein, Introduction to Natural Language Processing, 2019, null, https://mitpress.mit.edu/9780262042840/introduction-to-natural-language-processing/
Data da última atualização / Last Update Date
2024-02-16