• 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.
• 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.
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.
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
• 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.
• 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.
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.
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.
• 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;
• 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;
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.
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.
• 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.
• 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
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.
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.