Близится к завершению чтение моей старой мечты - книжки "Introduction to Information Retrieval" авторы которой Кристофер Д. Маннинг, Прабхакар Рагхаван, Хайнрих Шютце (ISBN 978-5-8459-1623-5, 978-0-5218-6571-5). Переведенная Яндексом на русский язык и вышедшая в издательстве "Вильямс" тиражом всего-лишь в 1000 экземпляров (!) и быстренько разошлась по коллекционерам и сотрудникам Яндекса (которых вообще больше 2500). Я даже нашел одного, у кого есть, но он сказал, что электронной версии нет, а заставлять фотать было бы неуважительно. По старой доброй Русской традиции PDF или любую другую электронную версию никто делать не собирался даже при таком "огромном" тираже. Соответственно найти ее было почти не реально, в отличии от оригинальной версии, которая всю жизнь была доступна на соответствующем сайте: http://nlp.stanford.edu/IR-book/. Стенфорд как-то никогда не парится по поводу своих материалов (чего только стоит их канал в iTunes U), в отличии от наших, которым либо хотелось побольше заработать, либо мало заплатили. В итоге поиски книжки затянулись аж на пол года, я даже писал запросы на хабр в Q&A, где мне сначала никто ничего не подсказал, только кто-то нашел на сайте bookmate.ru.
С bookmate вообще отдельная история, вроде бы заботящийся о своем имидже и набирающий популярность среди гик-сообщества ресурс, допустил фейл, тупо не проверив книжку перед публикацией (за денюжки, естественно). В итоге мне в качестве демо дали прочитать первые 10 страниц и, наивно поверив в свое счастье, я оплатил подписку на месяц. Каково же было мое удивление, когда после уплаты всех денюжек мне дали... еще 10 страниц. А остальные 600? Может я что-то сделал не так? Может дал мало? Написав запрос в саппорт, а через сутки и в твиттер, я наконец-то получил ответ, мол мы извиняемся, но ничего сделать не можем. Книжку быстренько удалили, а мне посоветовали "провести оплаченное время с пользой" и почитать какую-нибудь "Анну Каренину". Хотя в моей ситуации "12 стульев" или "Золотой теленок" подошли бы куда лучше. В итоге денюжки я заплатил, а ресурс больше не посещал. Типовой пример бизнеса в этой стране, в Сколково их возьмут точно.
Шучу, говорят хороший сервис, это мне долбоебу как обычно не везет :(
Через месяц я получил ответ от кого-то близкого к издательству, мол сейчас допечатаем и можете купить на озоне, но с тех пор прошло еще 2 месяца, а воз и ныне там. На мое удивление однажды один из хабраюзеров написал мне в личку, что у него книжка эта имеется и он может сфотать мне страницы. Ну чтож, на безрыбье и рак рыба, будем читать по фоткам. Прозвучало предложение даже сделать из этого электронную версию, однако увидев качество и количество фоток я как-то замялся. Почти каждую страницу нужно было кропать, переворачивать, изменять перспективу (листы кривые), удалять пальцы фотографа, оптимизировать, а некоторые даже разрезать на две, и то это бы не решило проблем с читаемостью некоторых фрагментов из-за дефокуса. Просто залил их на iPad и читал с экрана, благо быстрый зум и скорость работы iBooks это позволяли.
В общем о самой книжке. Книжка, действительно, не для всех. Далеко не для всех. Ближе к середине книги концентрация матана на страницу текста начинает догонять учебник по квантовой физике, а небольшой размер самой книги (меньше 600 страниц) еще более усугубляет положение. "Просто так" читать не советую, только самым упоротым идеей информационного поиска.
А сама книжка шикарна. Такие действительно очень редки. Книжек по поисковикам вообще мало и их очень сложно найти, среди гор SEO-литературы, а те, что можно найти, в итоге от банальщин типа "формулируйте запросы правильно" и "прописывайте метатеги" скатываются в то же сраное SEO и читать становится противно. Это первая действительно инсайдерская книжка про поиск, которую я читал. В "Коллективном разуме", о котором я писал пол года назад, тоже есть небольшая глава, посвещенная поиску, я даже специально перечитал ее, но об этом позже. "Введение в информационный поиск" действительно глубоко описывает работу поисковиков как математических систем. Она описывает именно важные основы типа векторных пространств, стемминга, языковых моделей и всего остального. Естественно, каждая большая тема преисполнена матаном и читается не так уж и легко, если вдумываться.
Но есть и минусы. Например из-за небольшого объема книги и большого объема информации в ней, она показалась мне действительно всего-лишь "введением". Каждая глава лишь поверхностно описывает свою тему, приводит несколько теорем и моделей, а затем обрывается на "библиографии и рекомендациях по дальнейшему чтению". Тут я по своей наивности ожидал большего. При этом в некоторых главах таки даются псевдокоды (кстати в стиле Кормена и Седжвика), но простейших алгоритмов типа пересечения множеств. Не так сильно, но все же остается осадок "статей на хабре", когда автор подробно описывает то, в чем он осилил разобраться, а на сложный материал просто забивает, приводя пару определений и ссылаясь на более "умные" работы. Например так выглядит любая статья про сортировки. Но это уже сугубо субъективное мнение, оно и понятно, что за 600 страниц никто не сделает из вас эксперта по информационному поиску, а только даст направление куда дальше развиваться. И именно ссылки на библиографии являются самым ценным там.
Однако в темы вгрызаются действительно глубоко, некоторые я даже не осиливал с первого раза и приходилось перечитывать всю главу (например про использование векторных пространств я до сих пор планирую перечитать еще раз). "Коллективный разум" кажется просто методичкой по сравнению с этой кладезью теоретических сведений. Действительно, в "Коллективном разуме" дается достаточно мало теории и очень много кода, иногда даже без объяснений что конкретно делается. Мол, вот это паук, а вот эта функция выполняет поиск по индексу, а вот это рисунок нейронной сети. Как, где, куда? Сабж же наоборот, углубляется в теорию и вывод формул из наивного Байесовского классификатора без привязки к коду и как его конкретно применить к задаче (особенно эти грешат главы ближе к концу). Первая книжка явно написана для кодеров, а вторая для математиков. Золотой середины снова не найдено. Чтож, будем искать что-то еще по теме информационного поиска, ибо сам очень заинтересован.
Но сама книжка очень неплоха для тех, кому это действительно интересно. Очень рад, что нашел ее и прочитал. Довольно много интересных вещей вынес даже после первого прочтения и как программист, и как математик. Однако зная сколько много внезапно появляется людей старшего школьного возраста у меня в твиттере, читающих книжки за мной, я еще раз оговорюсь, что не советую ее читать всем и каждому. Про SEO тут нет, про PHP/Python тут нет, про программирование тут нет.