Strumenti Utente

Strumenti Sito


Information Retrieval - Academic Year 2013/2014

General Information

  • Teacher : Paolo Ferragina
  • Course ID: 289AA
  • CFU: 6 (first semester)
  • Language: English
  • Lectures Schedule: Tuesday and Thursday 14-16, both in room C
  • Question time: by appointment.
  • Official Lecture's Log: The schedule and content of the lectures is available with the official 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. We have also proposed a project on TAGME whose details are given below.

The project is optional, its details are described in this page.

Date Room Text
08-01-14, 9:00 C written exam.
29-01-14, 9:00 C written exam
10-02-14, 9:30 Seminari Ovest, Dip. Informatica Pitch of the projects, whose deadline is 09-02 at 12:00
09-06-14, 9:00 L1 written exam
30-06-14, 9:00 F written exam
29-07-14, 9:00 L1 written exam


  • [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 (to be updated)

Date Argument Refs
24/09/2013 Boolean retrieval model. Matrix document-term. Inverted list: dictionary + postings. How to implement an AND, OR and NOT queries, and their time complexities. The issue of hierarchical memories: I/O-model. Chapter 1 of [MRS]
26/09/2013 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.
01/10/2013 Index construction: multi-way mergesort, BSBI and SPIMI. Distributed and dynamic indexing. Chapter 4 of [MRS]. Slides.
03/10/2013 Query processing: skip pointers (with solution based on dynamic programming), caching, phrase queries, wild-card queries (permuterm, k-gram). Chapter 4 and Sect. 3.2 of [MRS]. Slides
08/10/2013 wild-card queries (dynamic programming), zone indexes. Notion of Entropy and prefix-free codes. Sect. 3.3 and 6.1 of [MRS].
10/10/2013 Posting list compression, codes: gamma, delta, variable bytes, PForDelta. Rank and Select primitives: definition and their use. Elias-Fano code and its use for postings compression. Read this paper for the codes seen in class and Sez 5.3 of [MRS]. Slides
15/10/2013 Huffman and Arithmetic coding, with comparisons with Entropy and comment on their performance. Read pag. 21-36, 52-56 of [MG]
17/10/2013 LZ77 and gzip. Hashing with chaining, universal hashing, cuckoo hashing, Bloom Filter. Read pag. 74-79 of [MG]. Paper on cuckoo, just description (no proof). Paper on bloom filter (just things looked in class).
22/10/2013 Prefix-search: trie, front-coding and two-level indexing. Text-based ranking: dice, jaccard, tf-idf. Vector space model. Storage of tf-idf and use for computing document-query similarity. Sect 6.2, 6.3 from [MRS]. Slides
24/10/2010 Fast top-k retrieval: high idf, champion lists, many query-terms, fancy hits, clustering. Relevance feedback, Rocchio, pseudo-relevance feedback, query expansion. Chap 7 and 9 from [MRS]. Slides
29/10/2013 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. The storage of the web-graph. Chap 19.1 and 19.2, 19.5, 20.4 from [MRS]. Slides
31/10/2013 Crawling and consistent hashing. Chap 20.1, 20.2. Slides
12/11/2013 Link-based ranking: pagerank and HITS and weighted variants. Latent Semantic Indexing. Chap 21 and 18 from [MRS]. Slides ranking, slide LSI
14/11/2013 Random projections. Recommendation systems and Web advertising. Slides
19/11/2013 Semantic-annotation tools: basics and TAGME. Slides about the optional project.
21/11/2013 Semantic-annotation tools: advanced and some applications. Slides
26/11/2013 Clustering: flat, hierarchical, soft, hard. K-means, optimal bisect, hierarchical - max, min, avg, centroid. Chap 16 and 17 of [MRS], Slides
28/11/2013 Learning to Rank: definition, BM25 and some of its variants, NDCG@K, RankNet, Genetic Algorithm, SVM. Joint lecture with Claudio Lucchese. Slides.
03/12/2013 Advanced Algorithms for learning-to-rank: Gradient Boosted Regression Trees, Lambda-Mart. Using the implicit user feedback to evaluate a WSE and create a training set. Joint lecture with Claudio Lucchese. Slides. Read this paper and the parts in Chap 1-4 of this survey dealt with in class.
05/12/2013 Auto-completion search: definition, trie, top-k, cartesian tree, RMQ. Joint lecture with Rossano Venturini. You can deepen the study at Sect 8.4.1 and Sect 2 and 3 of this paper.
10/12/2013 Rank/select over binary arrays, succinct tree encodings (LOUDS, BP, DFUDS) and navigational operations over them, succinct Patricia trie. Joint lecture with Rossano Venturini. Slides are enough.
12/12/2013 Q&A and exercises
17/12/2013 Q&A and exercises
magistraleinformatica/ir/ir13/start.txt · Ultima modifica: 06/05/2015 alle 13:26 (4 anni fa) da Paolo Ferragina