Strumenti Utente

Strumenti Sito


Information Retrieval - Academic Year 2014/2015

General Information

  • Teacher : Paolo Ferragina
  • Course ID: 289AA
  • CFU: 6 (first semester)
  • Language: English
  • Lectures Schedule: tuesday 14-16 (N1), thursday 14-16 (C)
  • Question time: by appointment.
  • Official Lecture's Log: Here it is the registro.
  • News about this course will be distributed via a Tweeter-channel


Study, design and analysis of IR systems which are efficient and effective to process, mine, search, cluster and classify documents, coming from textual, html or XML data collections. In particular, we will:

  • describe the main components of a modern search engine: Crawler, Parser, Compressor, Indexer, Query resolver, Results Ranker, Results Classifier/Clusterer;
  • present and use in the Lab some interesting Open-Source Tools for IR applications, such as Lucene and Web graph;
  • introduce some basic algorithmic techniques which are now ubiquitous in any IR application for data classification, compression, clustering, projection, and sketching.


The exam will consist of a written test, plus an oral discussion on the exercises.

Date Room Text
16-01-2015 C1 text
09-02-2015 A1 text
05-06-2015 L1 text
29-06-2015 L1 text
20-07-2015 L1 text
10-09-2015 L1 text


  • [MRS] C.D. Manning, P. Raghavan, H. Schutze. Introduction to Information Retrieval. Cambridge University Press, 2008. [ link ]
  • [MG] Chapter 2 “Text compression” of Managing Gigabytes, I.H. Witten and A. Moffat and T.C. Bell, Morgan Kauffman, 1999.

Content of the Lectures

Date Argument Refs
23-09-2014 Introduction to the course: modern IR, not just search engines! Boolean retrieval model. Matrix document-term. Inverted list: dictionary + postings. How to implement an AND, OR and NOT queries, and their time complexities. Slides and Chapt 1 of [MRS]
25-09-2014 The issue of hierarchical memories: I/O-model. Parsing: tokenization, normalization, lemmatization, stemming, thesauri. Statistical properties of texts: Zipf law: classical and generalized, Heaps law, Luhn's consideration. Sect. 2.1, 2.2 and 5.1 of [MRS]. Slides of this week.
30-09-2014 Index construction: multi-way mergesort, BSBI and SPIMI. Distributed and dynamic indexing. Chapter 4 of [MRS]. Slides.
02-10-2014 Query processing: skip pointers (with solution based on dynamic programming), caching, phrase queries. Slides
07-10-2014 Wild-card queries (permuterm, k-gram). Edit distance: kgram index, dynamic programming. Case of 1-error. Zone indexes. Chapter 4 and Sect. 3.2 and 3.3 of [MRS]. Slides
14-10-2014 Exact search: hashing with chaining, univeral hashing, cuckoo hashing. Prefix search: compacted trie, front coding, 2-level indexing. Exact searching with errors: Bloom filter. Paper on cuckoo, just description (no proof). Paper on bloom filter (just things looked in class). Slides.
16-10-2014 Auto-completion search: definition, trie, top-k, cartesian tree, RMQ. Slides. You should read Sect 8.4.1 and Sect 2 and 3 of this paper.
21-10-2014 Notion of Entropy and prefix-free codes. Huffman and Arithmetic coding, with comparisons with Entropy and comment on their performance. Sect. 6.1 of [MRS]. Read pag. 21-36, 52-56 of [MG]. Slides.
28-10-2014 Arithmetic coding: bound on the code length, relation with entropy. LZ77, LZSS, gzip and snappy. Posting list compression, codes: gamma, delta, variable bytes. Sez 5.3 of [MRS] and pag. 74-79 of [MG].
30-10-2014 PForDelta. Rank and Select primitives: definition and their use. Elias-Fano code and its use for postings compression. Slides.
11-11-2014 More on Rank and Select on binary arrays. Rank and Select on general arrays: the Wavelet Tree. Binary tree encoding and navigation. Slides
13-11-2014 Suffix arrays: data structure and search operations. Text mining over suffix arrays. Move-to-Front and Run-length-encoding and Burrows-Wheeler Transform: bzip, how to construct, how to decompress entirely or just a substring. Slides
18-11-2014 Text-based ranking: dice, jaccard, tf-idf. Vector space model. Storage of tf-idf and use for computing document-query similarity. Fast top-k retrieval: high idf, champion lists, many query-terms, fancy hits, clustering. Relevance feedback, Rocchio, pseudo-relevance feedback, query expansion. Sect 6.2, 6.3 from [MRS]. Chap 7 and 9 from [MRS]. Slides
25-11-2014 Link-based ranking: pagerank and HITS and weighted variants. Chap 21 from [MRS]. Slides.
27-11-2014 Web search engines: difficulties for their design, the web-graph and its properties, how to compute the SCC I/O-efficiently, the size of the web and the estimation of the relative sizes of SE. Chap. 8, 19.1 and 19.2, 19.5 from [MRS]. Slides
28-11-2014 The storage of the web graph. Latent Semantic Indexing. Chap 18 and 20.4 from [MRS]. Slides.
02-12-2014 Random projections. Crawling and consistent hashing. Chap 20.1, 20.2 and 20.3. Slides.
03-12-2014 Recommendation systems and Web advertising. Slides.
04-12-2014 Semantic-annotation tools: basics and TAGME.
09-12-2014 Semantic-annotation tools: advanced and some applications. Slides
10-12-2014 Extra lecture: 9-11, M1: Clustering: flat, hierarchical, soft, hard. K-means, optimal bisect, hierarchical - max, min, avg, centroid. Chap 16 and 17 of [MRS], slides.
11-12-2014 Exercises
12-12-2014 Q&A time on theory and exercises
16-12-2014 Exercises
18-12-2014 Q&A time on theory and exercises (meeting requested by students)
magistraleinformatica/ir/ir14/start.txt · Ultima modifica: 15/09/2015 alle 10:59 (9 anni fa) da Paolo Ferragina