When I was a student starting out in the field of information retrieval (IR) in the late 1980s, there was a general feeling that the IR community was lacking a definitively great IR book. Van Rijsbergen's 1979 Information Retrieval was a thoroughly researched document, which featured one of the first derivations of the probabilistic model of IR, but it was common to encounter readers who struggled to translate the book's ideas into actual IR systems. Salton's 1983, Introduction to Modern Information Retrieval had the practicalities excellently covered, but its author appeared to be less enthused about the coming theoretical models that are now an integral part of modern IR. For many years IR courses used both. Their dominance was eventually usurped in 1999 by Modern Information Retrieval edited by Baeza-Yates and Ribeiro-Neto. I reviewed it at the time and my feeling was that it was the best of the books on offer. Unfortunately, its outstanding chapters were balanced by a few middling ones and the odd important error; however, this book went onto be the standard that most undergraduate and postgraduate students turn to for information on IR.
The field has changed substantially in the last 10 years and Modern Information Retrieval is starting to show its age. In recognition of this, a series of new IR books by important figures in the field have just been or are about to be published. Baeza-Yates and Ribeiro-Neto are producing a major upgrade to their book later this year, Bruce Croft and colleagues have just published their contribution and there are rumours of a more implementation focussed IR book coming soon. But the first to arrive on the shelves is Introduction to Information Retrieval by Manning, Raghavan and Schütze. Based on my reading of it, I think this book sets a high standard against which the others will have a lot to live up to.
This book provides what Salton and Van Rijsbergen both failed to achieve, it covers the practicalities of implementing the wide range of systems involved in modern IR, while at the same time showing the importance and value of a theoretical underpinning of those systems. Even more important, unlike some other books in IR, the authors appear to care about making the theory as accessible as possible to the reader, on occasion including short primers to certain topics or choosing to explain difficult concepts using simplified approaches. Manning and Schütze have a strong track record, having written the very well thought of Foundations of Statistical Natural Language Processing. In adding Raghavan to the writing of this book, Manning and Schütze have brought in a well respected researcher who works for one of the major search engines.
The book is broken into 21 chapters covering basic concepts such as tokenization, indexing, term weighting, document scoring and evaluation. This is followed by chapters on relevance feedback and XML retrieval. Next probabilistic models and language models are described followed by classification and clustering, finishing off with a series of chapters on web search.
The opening eight chapters address the basics that one would expect to be covered, the ordering was to me somewhat surprising: the authors start with a well written description of Boolean retrieval, extending this in chapter 2 with an excellent description of tokenization and normalization of words across languages. Spell correction is explained next in chapter 3. Means to implement fast retrieval through index construction is detailed in chapter 4, which I found to be a little compact, but after a couple of re-reads, I followed all that the authors wished to get across. Compression of index structures is detailed next in a well written chapter 5. Sticking with the unconventional ordering of topics, chapter 6 starts with a section on use of machine learning techniques to estimate weights in a retrieval system, before finally detailing one of the classic components of IR; the vector space model. Chapter 7 explains how to pull together all the elements described into a complete IR system. I don't think that detailing the work in this order makes the book hard to read, but it certainly isn't the order I would have explained these basic concepts in and I suspect there was a better ordering to be found than the one used.
Evaluation of searching systems is explained next. This is done competently although there is a rather odd section towards the end about generating result snippets (the fragments of text showing where in a document query words have matched), which I felt to be in the wrong place. Although there isn't a better place for it as coverage of the user and their needs and/or interface design for searching systems is one topic that is missing from this book.
Relevance feedback and query expansion is relatively well explained, followed by a well written section on XML retrieval, a topic I don't know all that much about, but at the end of this chapter, I felt I had been given an authoritative, concise overview of the topic.
Next, the book moves onto the use of probability theory in IR starting with a nicely written one-page primer on basic probability theory. In this and the next chapter (12, on language models for IR), the authors really show their skill in getting potentially tricky concepts across to the reader without much difficulty. Some months ago, one of the authors of this book asked me if it might be accessible enough to be a primer for non-CS students, where students grasp of maths can be little more than a long forgotten high school level. Unfortunately, I think that these chapters aren't that accessible, but for anyone who remembers their maths courses from school or university, these chapters can be understood with little trouble.
The authors go on to explain first simple and then more complex approaches to classification in chapters 14 and 15. The key approaches to flat and hierarchical document clustering are detailed next, followed in chapter 18 by term clustering using matrix decompositions. In every chapter except this one, I felt that the topic being explained had important practical value. This one felt a little less necessary, but it's not terribly out of place.
The book finishes off with three chapters on the web, covering the basic concepts about the structure of the web and web search, approaches to crawling (which occasionally got a little too technically detailed for my tastes) and finally a description of the importance of anchor text and analysis of links. Given that one of the authors is close to the operation of one of the world's major web search engines, this final chapter felt a little lacking in detail. Clearly no company will reveal the ‘secret sauce’ that makes their system work, but some web-based version of chapter 7s ‘pulling it all together’ would have been a nice way for the book to end.
Information retrieval has grown so much that one can't expect every topic to be covered in a single reasonably sized book. For detail about users or the growing fields of enterprise search, multi-media search, social tagging and search across languages, the interested reader will have to look elsewhere. Nevertheless, I think that the topics here cover a solid core of subjects that will comprehensively cover many an IR course running for undergraduate or postgraduate teaching in computer science.
The authors are keen to foster the book as a course text by actively maintaining a web site providing online slides in PDF and PPT formats, translating the book's exercises into Moodle courses and, after registering with the book's publisher, providing answers to all the exercises. To my continued surprise, PDFs of all the book chapters are also to be found online for free. Such is the popularity of this resource that a search for the phrase ‘information retrieval’ on Google ranks this web site 2nd only to Wikipedia. A little more worrying, the web site lists a fairly long list of errata from the first print run of the book, fully corrected in the 3rd run. It might be worth checking if you are buying a copy that you have got this more recent version.
The layout of the book is by and large done well with the body text indented so that significant index terms are listed in the left margin for easy location. This attention to detail is welcome, though slightly let down by the layout of figures and pseudo-code that is not distinct enough from the body text: often when I turned a page, my eye started reading these parts thinking it was the main text of the book. The authors also use icons to mark out a certain section in the book; somewhat strangely, they thought a pair of scissors was the right icon to use to indicate a tough topic.
Overall, I really liked this book, it's not perfect, but I thought its coverage was excellent, the quality of writing high and I was surprised how much I learned from reading it. I think the online resources are impressive. I'm not quite sure how CUP thinks it's going to make money from a book where versions of all the chapters are online for free, but that's their problem, not mine. Introduction to Information Retrieval sets the standard for current IR books, I look forward to seeing the others coming out soon, but they will have to be pretty darn good to beat the complete package this book represents.