Мысли о поиске
АрхивМножество сайтов жульнически выдает за искусство поиска умение составлять булевы выражения и заключать фразы в кавычки. На самом деле это простая техника, которой можно научить любого. Но далеко не каждый может искать в Интернете, многие предпочитают готовые ссылки, набитые в книги вроде "Желтых страниц". Причина этого, как мне кажется, в элементарной боязни, ведь поиск требует активных действий и принятия решений на каждом шаге. Чтобы избежать долгого обучения таких людей поиску в Интернете, его обычно называют искусством. Но подлинное искусство поиска состоит, скорее всего, в сочетании наглости с умением думать.
Поиск в Интернете - это приключение. Ничем не рискуя, мы путешествуем от ссылки к ссылке, от неудачи к удаче, от того, что ищем, к тому, что тоже интересно. Этот процесс кажется поначалу совершенно случайным, но постепенно нарастает чувство, что все это уже видел, а вслед за чувством приходят слова.
В этой статье мне хотелось бы (отдавая дань случайности) рассказать о сознательной составляющей поиска, о тех закономерностях, которые проступают из внешне хаотичной картины. И начать рассказ будет, видимо, уместно с того случая, когда наши знания малы и неконкретны.
Приступая к поиску чего-то нового, мы зачастую знаем одно только слово. И если это слово не слишком редкое, мощный автоматический индекс вроде Altavista (altavista.digital.com) найдет его в десятках и сотнях тысяч документов - под таким количеством ссылок ищущий окажется погребенным. Причина неудачи очевидно в том, что специфичность запроса не соответствует мощности базы данных, а один из выходов - обратиться к специализированной базе данных меньшего размера. Если, скажем, нас интересует сжатие данных, то можно поискать слово "compression" в собрании научных отчетов elib.stanford.edu. По ключевому слову будет найдено всего около сотни документов, но зато почти все они посвящены сжатию данных.
Беда только в том, что адрес специализированной базы данных тоже нужно найти, а для этого требуются дополнительные знания, которых у нас нет. К счастью, есть специальные сайты, где собраны адреса основных специализированных баз данных. Одна из лучших систем такого рода - BigHub (www.thebighub.com). Хорошая отправная точка для поиска - сборники часто задаваемых вопросов (FAQ) конференций Usenet. В некоторых хранилищах таких сборников, например www.faqs.org, можно искать определенные слова или сочетания слов. В качестве относительно маломощных баз данных, с которых лучше всего начать поиск, подойдут и русские поисковые системы Rambler (www.rambler.ru), Yandex (www.yandex.ru) и "Апорт" (www.aport.ru).
Вместо того чтобы искать специализированные базы данных небольшого объема, можно уменьшить размеры существующих. Все современные автоматические индексы изнемогают под собственной тяжестью, и для них задача самоуменьшения стала одной из важнейших. В индексе Lycos (www.lycos.com) есть режим поиска среди пяти процентов "наилучших" сайтов, поиск только в заголовках документов или только в их адресах. Altavista предлагает c той же целью префиксы "url:", "title:". Снабдив слово "compression" префиксом "url:", "url:compression", мы коренным образом меняем область поиска: теперь ищутся только те документы, в адресах которых есть слово "compression", например "compression_pointers.html". Тем самым область поиска сужается в сотни тысяч раз, и шансы найти что-то осмысленное многократно увеличиваются (одновременно увеличиваются шансы не найти ничего). Тот же эффект может дать поиск в заголовках документов с помощью префикса "title:".
Другой очевидный способ - уменьшить не всю базу данных, а размеры уже найденного. Для этого во многих поисковых индексах существует структурирование информации, то есть классификация ее по каким-то признакам. В индексе Altavista это режим "Refine" и поиск устойчивых словосочетаний. Задав поиск слова "compression", получим в ответ не только 835496 ссылок, но и чаще всего встречающиеся фразы - "data compression", "image compression", "voice compression" (рис. 1). Выбрав словосочетание, увидим лишь те документы, где оно встречается.
На структурировании информации основан поиск в сиcтеме Northern Light (www.northernlight.com). Примитивный язык запросов компенсируется в Northern Light способностью раскладывать по разным папкам найденные адреса, причем содержимое папки можно дробить до тех пор, пока не будет найдено что-то полезное или же станет ясно, что пошли не тем путем. На рис. 2 видно, что, задав поиск слова "compression", мы получили не только наиболее подходящие с точки зрения Northern Light документы, но и представление всех остальных в виде дерева: левая колонка содержит самые крупные ветви - "Data compression", "Personal pages", "Programming algorithms'"и т. д.
По сути дела, это тематический указатель, который Northern Light создает на лету, и, быть может, правильнее в начале поиска обратиться к тематическому указателю ручной работы, подготовленному кропотливым трудом многих людей. В таком указателе поиск заменяется выбором, проходящим в несколько этапов. На каждом этапе нам дают несколько рубрик, из которых выбирается подходящая. Через три-четыре ступени нужные сведения либо находятся, либо выясняется, что произошла ошибка и нужно подняться вверх по каталогу, чтобы повторить поиск. В хороших тематических каталогах, например www.yahoo.com, можно искать и среди названий рубрик. В этом случае каталог превращается в небольшую по размерам базу данных, способную отвечать на низкоспецифичные запросы. На рис. 3 показано, как найти материалы по сжатию данных в тематическом каталоге Altavista.
До сих пор нас занимал самый неблагоприятный случай, когда о предмете поиска не известно почти ничего. Но, к счастью, бывает и так, что известно что-то конкретное или мы в состоянии сами догадаться, как этот конкретный предмет должен выглядеть, и тогда у нас в руках оказывается мощное орудие поиска. Чтобы найти собрание картинок на разные темы, совсем не обязательно искать слово "pictures" или нечто подобное в автоматическом индексе или тематическом каталоге. Можно размышлять иначе. Если предположить, что в каталоге картин есть изображения животных, а среди них - изображение лисицы, то как такой файл предположительно будет называться? Скорее всего - "fox.jpg". Чтобы проверить эту гипотезу, поищем файл "fox.jpg" c помощью специальной, предназначенной для поиска файлов системы Ftp-Search (ftpsearch.ntnu.no). Результаты поиска показаны на рис. 4.
Обратите внимание на строчку 9. Путь к файлу /multimedia/images/jpeg/f/fox.jpg показывает, что перед нами картинка в формате JPEG, но что означает буковка "f"? Если есть поддиректория /f, то, видимо, есть директории /g, /h и т. д. Иными словами, искали картинку, а нашли целое их собрание!
Прочтя про поиск лисицы, придирчивый читатель наверняка обвинит меня в подтасовке. Легко, - скажет он, - демонстрировать результаты случайной удачи, а в жизни так никогда не получится. Конечно, поиск без удачи не бывает, но то, что по чему-то конкретному можно найти гораздо больше, например, по изображению лисицы - архив картинок, вовсе не случайность, а следствие фундаментального свойства, отличающего Интернет от груды мусора, - локальной однородности и связанности. Поиск конкретной материнской платы выводит нас на обзор материнских плат, который, в свою очередь, может быть только частью обзора компьютерного железа. Поиск статьи Бердяева "Духи русской революции" выводит не только на сайты, посвященные Бердяеву, где лежат другие его статьи, но и на современные публикации по истории России, религии, литературе и т. п. Поиск чего-то конкретного уместно назвать поиском снизу. И как мы только что поняли, поиск снизу - это движение вверх.
подтасовке. Легко, - скажет он, - демонстрировать результаты случайной удачи, а в жизни так никогда не получится. Конечно, поиск без удачи не бывает, но то, что по чему-то конкретному можно найти гораздо больше, например, по изображению лисицы - архив картинок, вовсе не случайность, а следствие фундаментального свойства, отличающего Интернет от груды мусора, - локальной однородности и связанности. Поиск конкретной материнской платы выводит нас на обзор материнских плат, который, в свою очередь, может быть только частью обзора компьютерного железа. Поиск статьи Бердяева "Духи русской революции" выводит не только на сайты, посвященные Бердяеву, где лежат другие его статьи, но и на современные публикации по истории России, религии, литературе и т. п. Поиск чего-то конкретного уместно назвать поиском снизу. И как мы только что поняли, поиск снизу - это движение вверх.
Теперь перед нами вырисовывается двухступенчатая схема поиска. Сначала нужно обратиться к маломощным базам данных, чтобы найти хоть что-то. Если "что-то" найдено, сделаем высокоспецифичный запрос к мощной базе данных. Это поможет не только найти близкие по теме документы, но и понять место предмета, который ищем, в общей иерархии.
Любопытно, что идеология двухступенчатого поиска была осмыслена еще в системе распределенных баз данных WAIS, где существовал так называемый directory of servers - перечень всех имеющихся баз данных. Поискав в directory of servers ключевое слово (очень общее, "food", если речь шла о приготовлении пищи, "history", если речь шла об истории), можно было набрать обойму подходящих баз данных и затем использовать более конкретные запросы.
Двухступенчатый поиск можно назвать поиском уже найденного. Обнаружив что-то полезное, многие успокаиваются. А зря. Нужно попробовать поискать только что найденное по всему Интернету. И тогда вероятно открытие новых интересных мест. Если, к примеру, найден клиент электронной почты Becky (он встречается довольно редко), то независимо от того, хорош он или плох, стоит поискать файл bk12416.zip с помощью Ftp-Search. При этом велики шансы, что в директориях, содержащих Becky, есть десятки других почтовых программ. Причем, заметьте, из-за того, что Becky - редкая программа, будут найдены самые обширные собрания почтовых клиентов. Чем реже встречается "уже найденное" в Интернете, тем специфичнее будет запрос, тем успешнее может быть результат.
Мне хотелось бы еще раз подчеркнуть важность поиска уже найденного, потому что очень часто это открывает нам новые горизонты. Если, скажем, найдена интересная статья, то очень разумно поискать фамилии ее авторов в мощном автоматическом индексе. Велики шансы, что при этом обнаружатся обзоры по интересующей теме со ссылками на эту статью или подборка подобных статей, да еще и лежащих прямо в Интернете. Однажды я поискал фамилию автора статьи с помощью Ftp-Search и нашел поддиректорию на французском ftp-сервере, где лежал текст программы, и это сэкономило мне месяц работы.
О связанности всего и вся в Интернете нужно помнить постоянно и постоянно этим пользоваться. Если, скажем, ищутся документы, посвященные быстрому преобразованию Фурье, то лучше искать гораздо более редкое, но тесно связанное с преобразованием Фурье преобразование Хартли (Hartley). Выгода от этого огромна. Ведь будут найдены самые обстоятельные документы - только в них упоминается преобразование Хартли. Поиск более редкого слова уменьшает количество шума, устраняет множество мелких документов, где быстрое преобразование Фурье только упоминается.
Другой пример почти анекдотичен, но хорошо отражает суть дела. Однажды мне нужно было найти фразу "юридическая фикция" в романе Диккенса "Посмертные записки Пиквикского клуба". Отыскать ее в двух книгах, почти на тысяче страниц не удалось. Не удалось найти и электронную версию романа на русском языке. Выход был найден в том, чтобы воспользоваться тесной связью между русским переводом и английским оригиналом, то есть найти слово "fiction" (фикция) в английском тексте, посмотреть, в каких оно встречается главах (к счастью, только в двух), и вернуться к русскому тексту.
В заключение хочется сказать пару слов о том, чего искать не надо, о тех местах в Интернете, избежать которых невозможно, они видны отовсюду. "А я все-таки пошел в центр, чтобы на Кремль хоть раз посмотреть: все равно, думаю, никакого Кремля я не увижу, а попаду прямо на Курский вокзал". Кто бы, например, мог подумать, что поиск произведений Станислава Лема способен вывести на поисковую систему FTP-Search (рис. 5)?
Но чуда здесь нет. Просто FtpSearch слишком популярен, слишком виден, так что один из переходов "к тому, что тоже интересно" неминуемо кончится знакомством с ним. И здесь мы возвращаемся к началу статьи.
Выводы
- Поиск и познание идут параллельно. "Чтобы строить, надо знать, чтобы знать, надо учиться".
- Легко ищется редкое и трудно - широко распространенное.
- Каждая база данных требует к себе особого подхода. Чем больше, мощнее база данных, тем специфичнее, точнее должен быть запрос. Хорошего не всегда должно быть много.
- Все в Интернете взаимосвязанно. Потянув за ниточку, можно вытащить целый ковер, а по иголке - найти стог сена.
- Не успокаивайтесь на достигнутом. Ищите уже найденное и обрящете.
Александр Крупник - кандидат физ.-мат. наук, занимался научной деятельностью, потом работал программистом, преподавателем, консультантом по математической статистике. С 1997 года - технический писатель и переводчик.