Processamento de Linguagem Natural


Recuperação de Informação (Sem. 2)

Objectivos de aprendizagem

• Saber como construir um índice para uma coleção de documentos;
• Perceber as dificuldades relacionadas com a recuperação de informação baseada em termos de linguagem
natural;
• Definir e implementar modelos de pontuação.

Conteúdos programáticos

• Construção e Compressão de Índices
• Recolha Booleana;
• Pontuação:
TF-IDF; Termos Pesados; Modelo de Espaço Vetorial;
• Avaliação em Recuperação de Informação
• Feedback de Relevância e Expansão de Expressões de Pesquisa;
• Recuperação de XML;
• Recolha Probabilística;
• Agrupamento plano e hierárquico;
• Indexação semântica latente.

Metodologias de ensino e avaliação

Será seguida uma metodologia de ensino teórico-prática orientada ao projeto.
No início de cada aula é feita uma introdução teórica, que os alunos deverão depois aprofundar em casa, à qual
se segue a resolução de um conjunto de pequenos projetos.
A avaliação envolve: um trabalho de desenvolvimento experimental e escrito, a realizar em grupo,
consubstanciando uma componente de carácter individual.
Tanto a componente individual como a componente de grupo têm limite de execução temporal bem definido,
nunca excedendo o período lectivo. A classificação final é dada na forma:
• 40% da classificação provém da componente prática de grupo;
• 60% da classificação provém da componente individual.

Bibliografia

Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, Introduction to Information Retrieval,
Cambridge University Press, 2008
Ricardo Baeza-Yates, Berthier Ribeiro-Neto, Modern Information Retrieval: The Concepts and Technology
Behind Search, Addison Wesley, 2010
Ian H. Witten, Alistair Moffat, and Timothy C. Bell, Managing Gigabytes: Compressing and Indexing Documents
and Images, Morgan Kaufmann Publishing, 1999

Aprendizagem Máquina para Linguagem Natural (Sem. 1)

Objectivos de aprendizagem

• Escrever ferramentas para treinar modelos de língua a partir de texto;
• Compreender as diferenças entre os principais métodos de treino, e as suas aplicações;
• Compreender a relevância da avaliação e os processos de avaliação.

Conteúdos programáticos

• Modelos de Língua:
o Probabilidades de palavras e Probabilidades de sequências: n-gramas;
o Entropia e Perplexidade;
• Suavização de modelos de língua;
• Classificação de texto, e Análise de sentimento;
• Naïve-Bayes;
• Modelos de Entropia Máxima;
• Modelos de Markov;
• Avaliação
o Conceitos: conjunto de desenvolvimento, de treino e de avaliação;
o Precisão, Abrangência e Medida-F.

Metodologias de ensino e avaliação

Será seguida uma metodologia de ensino teórico-prática orientada ao projeto.
No início de cada aula é feita uma introdução teórica, que os alunos deverão depois aprofundar em casa, à qual
se segue a resolução de uma bateria de pequenos projetos que visam trabalhar a temática da aula.
A avaliação será feita por projetos. Nas primeiras semanas serão disponibilizados aos alunos enunciados de
projetos que deverão realizar como trabalho de casa e entregar para avaliação. Haverá um conjunto de 3 a 5
pequenos projetos cuja resolução não excederá as 2 horas. Este conjunto de pequenos projetos corresponderá
a 40% da nota. Os restantes 60% serão obtidos através de um projeto de média dimensão que iniciará a meio
do semestre e será acompanhado nas aulas até ao fim do semestre.

Bibliografia

Chris Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press.
Cambridge, MA: May 1999.
Nitin Indurkhya, Fred J. Damerau (Editors), Handbook of Natural Language Processing, Chapman&Hall/CRC.
2010.
Anne Kao, Steve R. Poteet (Editors) Natural Language Processing and Text Mining, Springer, 2010.
Daniel Jurafsky and James H. Martin. Speech and Language Processing: An introduction to natural language
processing, computational linguistics, and speech recognition. Pearson Prentice Hall, 2008.
Alexander Clark, Chris Fox, Shalom Lappin (Editors), The Handbook of Computational Linguistics and Natural
Language Processing, Wiley-Blackwell, 2010.

Processamento de Linguagem Natural-Ferramentas e Aplicações (Sem. 1)

Objectivos de aprendizagem

• Compreender a relevância para os diferentes níveis numa aplicação de PLN comum;
• Perceber como funciona um analisador morfológico;
• Saber definir padrões para extração de relações;
• Perceber como usar técnicas de aprendizagem para desambiguação e tradução automática;

Conteúdos programáticos

• Segmentação e Atomização;
• Correção Ortográfica;
• Análise Morfológica;
• Reconhecimento de Entidades Mencionadas;
• Extração de Relações;
• Etiquetação de Parte de Discurso;
• Desambiguação;
• Parsing de Dependências;
• Tradução Automática;

Metodologias de ensino e avaliação

Esta unidade curricular é essencialmente prática. Os alunos serão
convidados a resolver problemas específicos em colaboração com o docente. Serão propostas tarefas para os
alunos realizarem entre aulas para aprofundar os seus conhecimentos.
A avaliação é feita com base num teste (ou exame) e pequenos trabalhos
práticos a serem resolvidos fora das aulas.

Bibliografia

Chris Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press.
Cambridge, MA: May 1999.
Nitin Indurkhya, Fred J. Damerau (Editors), Handbook of Natural Language Processing, Chapman&Hall/CRC.
2010.
Anne Kao, Steve R. Poteet (Editors). Natural Language Processing and Text Mining, Springer, 2010.
Daniel Jurafsky and James H. Martin. Speech and Language Processing: An introduction to natural language
processing, computational linguistics, and speech recognition. Pearson Prentice Hall, 2008.
Alexander Clark, Chris Fox, Shalom Lappin (Editors), The Handbook of Computational Linguistics and Natural
Language Processing, Wiley-Blackwell, 2010.
Jean Véronis (Editor), Parallel Text Processing: Alignment and Use of Translation Corpora, Springer, 2010.
Jörg Tiedemann, Bitext Alignment, Morgan&Claypool, 2011.

Teoria das Linguagens Formais (Sem. 1)

Objectivos de aprendizagem

• Saber escrever expressões regulares;
• Saber escrever gramáticas, e detetar e gerir a ambiguidade;
• Reconhecer os problemas no uso de gramáticas não ambíguas para o processamento de linguagens naturais,
e como as gramáticas probabilísticas independentes de contexto ajudam a resolver este problema.

Conteúdos programáticos

• Linguagens Regulares
o Expressões Regulares
o Autómatos de Estados Finitos
• Linguagens Formais
o Gramáticas
o Gramáticas Ambíguas
o Gramáticas Independentes de Contexto
• Gramáticas Probabilísticas Independentes de Contexto
o Contornando a Ambiguidade
• Algoritmos de Parsing
o Bottom-Up Parsing
o Top-Down Parsing

Metodologias de ensino e avaliação

Todas as aulas têm um cariz teórico-prático. No início de cada aula é feito um balanço da aula anterior e
discutidos os trabalhos ou questões propostos; a seguir dedica-se algum tempo a levantar questões teóricas e
a apresentar as diferentes aproximações e metodologias que suportam a sua resolução; esta parte, embora de
carácter teórico, desenvolve-se sempre em forma de diálogo com os alunos.
Continua-se a aula numa parte mais prática em que os alunos são convidados a pesquisar e a fazer uma
síntese do que há já escrito sobre o assunto; ou então a desenvolver experimentação de ferramentas ou
implementação de algoritmos.
A avaliação é feita com base em 2 testes escritos (ou 1 exame de recurso final) e através de vários trabalhos
(quinzenais) entregues pelos alunos, resolvidos foras das aulas mas defendidos perante a turma. Os trabalhos
para avaliação são de dois tipos: monografias, com sínteses dos temas pesquisados; trabalhos de
implementação.

Bibliografia

Jeffrey E. F. Friedl, Mastering Regular Expressions, O'Reilly Media, 2006.
Hopcroft, John E. and Jeffrey D. Ullman. Introduction to automata theory, languages and computation. AddisonWesley Series in Computer Science. Addison-Wesley Publishing Company, Reading, Mass. 1979.
Karttunen, Lauri, Jean-Pierre Chanod, Gregory Grefenstette, and Anne Schiller. Regular expressions for
language engineering}. Natural Language Engineering, 2(4):305–328.1996.
Chris Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press.
Cambridge, MA: May 1999.
Aho, Sethi and Ullman. Compilers Principles, Techniques and Tools}, Addison-Wesley, 1986.