IPT Logotipo do IPT

Ano Letivo: 2020/21

Informática e Tecnologias Multimédia

Técnicas Avançadas de Programação

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho n.º 9184/2020 - 25/09/2020

6 ECTS; 2º Ano, 2º Semestre, 42,0 PL + 28,0 TP + 5,0 OT , Cód. 814315.

Docente(s)
- Ricardo Nuno Taborda Campos (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Preferencialmente o aluno deverá ter tido aproveitamento à UC de Linguagens de Programação

Objetivos
Esta unidade curricular tem por objectivo introduzir os alunos à recuperação de informação e motores de busca. Ao concluir esta unidade o estudante deverá:

1) ser capaz de desenhar a arquitetura de um motor de busca (RI);
2) ter conhecimento dos problemas relacionados com a ética e a privacidade dos dados;
3) saber explorar ferramentas de crawling e scraping;
4) compreender e implementar as diferentes fases de processamento da linguagem natural;
5) saber interpretar as características e estatísticas de um texto
6) saber representar um texto de acordo com as suas aracterísticas mais relevantes;
7) ser capaz de implementar um índice invertido;
8) ser capaz de implementar modelos de recuperação de informação;
9) compreender a metodologia de avaliação Cranfield

Programa
1 - Introdução à Recuperação de Informação e Motores de Busca
1.1. Definição e objetivos
1.2. Motores de busca
1.3. Aplicações
1.4. Dificuldades e desafios
1.5. Arquitetura de um sistema de pesquisa de informação

2 - Ética e Privacidade dos dados na Recuperação de Informação
2.1. Ética na recuperação de informação
2.2. Privacidade dos dados
2.3. Bias (enviesamento)
2.4. Filter Bubbles
2.5. Fake News

3. Aquisição de Dados
3.1 Definição e objetivos
3.2 APIs
3.3 Web Scraping
3.4 Web Crawling
3.5 Web Dynamics
3.6 Arquivos da Web

4 - Pre-processamento de Texto
4.1 Parsing
4.2 Divisão de frases
4.3 Tokenização
4.4 Stopwords
4.5 Normalização
4.6 Stemming
4.7 Reconhecimento de Entidades
4.8 Part of Speech

5 - Estatísticas do Texto
5.1 Lei de Zipf
5.2 Impato na Recuperação de Informação
5.3 Co-ocorrência de palavras

6 - Representação do Texto
6.1 Características importantes do Texto
6.2 Vocabulário controlado vs Vocabulário livre
6.3 Bag of Words
6.4 Modelo de Espaço Vetorial
6.5 Importância dos termos
6.6 Matriz Documento - Termo
6.7 Matriz Termo - Documento
6.8 Introdução ao Topic Modeling e às Word Embeddings

7 - Índices Invertidos
7.1 Definição e objetivos
7.2 Estrutura de dados
7.3 Desafios
7.4 Big Data (Map Reduce)
7.5 Ferramentas de Indexação

8 - Modelos de Recuperação de Informação
8.1 Algoritmo de RI
8.2 Modelo Booleano
8.3 Modelo de Espaço Vetorial
8.4 Modelo Probabilístico
8.5 Word Embeddings
8.6 Processamento de Queries

9 - Avaliação de Sistema de Recuperação de Informação
9.1 Noção de Relevância
9.1 Métodos de Avaliação
9.2 Coleções de Teste
9.3 Métricas de Avaliação
9.4 Testes de Significância

Metodologia de avaliação
Avaliação por frequência: [Projeto I (20%) + Projeto II (10%) + Projeto III (10%)] + Projeto Final (30%) + Frequência (30%) [prova com consulta]. Participação obrigatória em todos os elementos
de avaliação (nota mínima de 6 valores em cada um).

Avaliação por exame: Projeto (50%) + Exame (50%) [prova com consulta parcial dos conteúdos]. Participação obrigatória em todos os elementos de avaliação (nota mínima de 6 valores em cada um).

Requisitos de admissibilidade à frequência e ao exame:
- Mínimo de 70% de assiduidade às aulas (exceto trabalhadores estudantes);
- As presenças em aula não são classificadas com nota nem contam para avaliação, constituem, no entanto, condição necessária para aprovação à UC por frequência e exame. O incumprimento deste item impede o aluno de se submeter à frequência e ao exame.

Bibliografia
- Ribeiro-Neto, B. e Baeza-Yates, R. (2010). Modern Information Retrieval. (pp. 1-944). USA: Addison Wesley Longman Publishing Co. Inc.
- Strohman, T. e Metzler, D. e Croft, B. (0). Search Engines: Information Retrieval in Practice. Acedido em 12 de fevereiro de 2019 em http://ciir.cs.umass.edu/irbook/

Método de Ensino
Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais.
Aulas práticas de resolução de casos práticos e aplicação dos conceitos a cenários de utilização real.

Software utilizado nas aulas
Python - Anaconda
Jupyter Notebooks
PyCharm Community
Moodle: plataforma de eLearning do IPT, Centro de eLearning

 

 

 


<< voltar ao Plano Curricular
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado