Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
É esperado que os alunos tenham 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 aluno deve ter conhecimentos de programação (conhecer as estruturas de dados mais comuns) e saber escrever programas em Python.
Objetivos Gerais / Objectives
O principal objetivo desta UC é dar a conhecer ao aluno o potencial das grandes quantidades de texto atualmente disponíveis e os métodos computacionais que podem ser utilizados para extrair conhecimento a partir desses dados. Os alunos devem ficar a conhecer as tecnologias necessárias ao desenvolvimento de processos de Text Mining mais simples. Pretende-se que os alunos conheçam as tecnologias envolvidas, suas aplicações imediatas e limitações. Assim, as principais competências e atitudes que identificam os processos cognitivos internos do aluno serão: reconhecer as diferentes vertentes científicas envolvidas nos processos de Text Mining; perceber os métodos, algoritmos e resultados de cada tarefa envolvida; conhecer as aplicações realizáveis com as tecnologias atuais e discutir a evolução futura previsível dos tópicos nucleares e sua aplicação específica a tarefas de classificação de texto.
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: Definir os conceitos, etapas e métodos principais envolvidos no desenvolvimento de processos de Text Mining. OA2: Atomizar documentos, criar dicionários e realizar outras tarefas de pré-processamento para preparar texto para tarefas de classificação. OA3: Selecionar e justificar as técnicas apropriadas para tarefas específicas de processamento de texto. OA4: Construir representações vetoriais a partir de textos. OA5: Explicar o funcionamento de algoritmos para classificação de texto, como o Naïve Bayes ou KNN. OA6: Aplicar um classificador no tratamento de casos reais. OA7: Agrupar documentos usando o algoritmo K-means. OA8: Desenvolver engenharia de prompt em LLMs.
Conteúdos Programáticos / Syllabus
CP1: Utilidade de grandes quantidades de texto, desafios e métodos atuais. CP2: Informação não estruturada vs. (semi-)estruturada. CP3: Obtenção e filtragem de informação, extração de informação e Data Mining. CP4: Preparação e limpeza de documentos, extração de propriedades e estratégias de pesagem de termos. CP5: Modelos de espaços vetoriais e medidas de similaridade. CP6: Introdução à aprendizagem automática estatística e medidas de avaliação. CP7: Aprendizagem supervisionada: Naïve Bayes, KNN e K-means. CP8: Análise de sentimento. CP9: Recursos para Text Mining. CP10: Introdução a Deep Learning. CP11: LLMs e modelos Retrieval Augmented Generation (RAG).
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 aborda os fundamentos e os desafios de Text Mining, alinhando-se com o OA1 ao definir os conceitos principais. CP2 e CP3 cobrem a distinção entre informação não estruturada e estruturada, bem como tarefas de obtenção e filtragem de informação, correspondendo ao OA2. CP4 trata da preparação e limpeza de documentos, essencial para selecionar e justificar técnicas apropriadas (OA3). CP5 lida com modelos de espaços vetoriais e medidas de similaridade, satisfazendo o OA4. CP6 introduz a aprendizagem automática estatística, explicando algoritmos de classificação (OA5). CP7 detalha algoritmos de aprendizagem supervisionada como Naïve Bayes, KNN e K-means, abordando OA5, OA6 e OA7. CP8 cobre a análise de sentimento, complementando a aplicação de classificadores em casos reais (OA6). CP9 apresenta recursos para Text Mining. CP10 introduz Deep Learning, e CP11 aborda LLMs e modelos RAG, correspondendo ao OA8.
Avaliação / Assessment
Esta UC segue o modelo de avaliação ao longo do semestre (ALS). A ALS é constituída pelos seguintes elementos: - 1 trabalho prático [40%] - 3 mini-testes [20% cada * 3 = 60% no total] O trabalho prático poderá ser realizado individualmente ou em grupo, consistindo na elaboração de um projeto que será posteriormente alvo de discussão oral individual. Em caso de reprovação na ALS (<10 valores), ou caso o estudante opte por Avaliação por Exame, o exame corresponde a 100% da nota.
Metodologias de Ensino / Teaching methodologies
Esta UC está estruturada em aulas teóricas e práticas, com exercícios práticos semanais; esperam-se aproximadamente 6h/semana de trabalho autónomo. Todas as aulas deverão ser lecionadas em salas equipadas com projeção digital, computadores com acesso à Internet e um ambiente de desenvolvimento Python. Tendo em conta uma vertente mais aplicacional, serão usadas ferramentas como Jupyter Notebook, que permitem criar fluxos de trabalho visuais de mais alto nível.
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 metodologias de ensino são projetadas para alinhar-se com os objetivos de aprendizagem da UC "Text Mining". As aulas teóricas fornecem a base conceitual necessária para descrever os principais conceitos e métodos (OA1). As aulas práticas, acompanhadas de exercícios semanais, permitem aos alunos aplicar as técnicas de pré-processamento de texto, criar representações vetoriais, e implementar algoritmos de classificação e agrupamento (OA2, OA3, OA4, OA5, OA6, OA7). O trabalho autónomo reforça a aprendizagem contínua e a aplicação prática dos conhecimentos adquiridos, promovendo o desenvolvimento de habilidades de autoaprendizagem e pensamento crítico (OA8). As ferramentas como Jupyter Notebook facilitam a criação de fluxos de trabalho visuais, essencial para a aplicação prática em Text Mining.
Observações / Observations
Para informações adicionais, aconselha-se a leitura do Código de Conduta Académica (CCA) do Iscte - Instituto Universitário de Lisboa.
Bibliografia Principal / Main Bibliography
1. Ozdemir, S. (2023). Quick Start Guide to Large Language Models: Strategies and Best Practices for Using ChatGPT and Other LLMs. Addison-Wesley Professional. 2. Tunstall, L., von Werra, L., & Wolf, T. (2022). Natural language processing with transformers, revised edition. O’Reilly Media. 3. Dan Jurafsky and James H. Martin (Sep 2021). Speech and Language Processing (3rd ed. draft). https://web.stanford.edu/~jurafsky/slp3/ 4. Vajjala, S., Majumder, B., Surana, H., & Gupta, A. (2020). Practical natural language processing: A pragmatic approach to processing and analyzing language data. O’Reilly Media. 5. Lane, H., Howard, C., & Hapke, H. (2019). Natural Language Processing in Action (First Edition). Pearson Professional.
Bibliografia Secundária / Secondary Bibliography
Charu C. Aggarwal (2018). Machine Learning for Text. https://doi.org/10.1007/978-3-319-73531- 3. Gabe Ignatow, Rada F. Mihalcea (2017). An Introduction to Text Mining: Research Design, Data Collection, and Analysis 1st Edition (2017). SAGE Publications
Data da última atualização / Last Update Date
2024-09-26