« предыдущая статья | Все статьи | следующая »
Единство похожих
Обзор поисковиков
По всем мыслимым «законам жанра» этот материал следовало начать сентенцией о трудностях поиска необходимых файлов и документов на локальных дисках компьютера с обязательной «шпилькой» в адрес системного поисковика. А ведь, как не крути, придется начинать именно с традиционного «приветствия»: не сочинять же душещипательную сагу о времени, бесцельно потраченном на поиск наброска статьи, тем более что оные наброски всегда хранятся в надежном месте (смайл). Действительно, объем информации на современном домашнем компьютере можно сопоставить с объемами текстов библиотеки красного уголка завода «Информцветбред». Впрочем, если ваш ПК используется исключительно для виртуальных боев или для перманентной загрузки МР3, беру свои слова назад…
О системном поисковом инструменте можно говорить лишь в контексте традиционной «функциональности», присущей подавляющему большинству инструментов от Microsoft . Да, конечно, можно отыскать файл по имени и расширению, или группу файлов по маске, но, увы, не всегда (типичный случай: для увеличения производительности Windows отключаем индексацию диска и ждем до второго пришествия, пока система будет тупо перебирать все файловое добро).
При большом желании можно найти информацию по ключевому слову, но попробуйте ввести в крохотное поле поискового запроса фразу из двух-трех предложений: дело даже не во времени, затраченном на поиск, а в том, что решительно невозможно задать определенный каталог, где может обретаться искомое. Ко всему прочему, моя англоязычная Windows XP напрочь игнорирует мало-мальски сложные словосочетания на великом и могучем. Об эффективности подобного решения можно не упоминать – бесполезно. Если не брать в расчет знакомую комбинацию « Start > Search », то и здесь достаточно проблем: физический объем проиндексированного контента, неструктурированность информации и различные типы файлов, в каковых эта самая информация содержится. Добавим сюда сложность формулировки поискового запроса и получим дополнительную головную боль.
Это вам не поиск в глобальной сети – какой уж там «тупой перебор», ежели Яндекс, благодаря проиндексированному каталогу размером более чем 11 терабайт, практически мгновенно выдает на-гора результат поискового запроса. Однако, товарищи, столь быстрая отдача подразумевает грамотно составленную «челобитную» поисковой машине. Результаты Яндекс или Google радуют пользователя исключительно при корректной формулировке запроса, благодаря фразовому поиску в проиндексированной базе документов с учетом морфологии и синонимов. Причем, даже в случае «реактивности» поискового движка мы будем обречены на созерцание великого множества ненужных документов, где «проскочили» наши слова или фраза запроса.
А что прикажете делать корпоративному сектору, работающему с гигантскими базами данных и впадающему в ступор при попытке найти очередной «шедевр» бухгалтерской мысли? Выход давно найден: использование готовых решений на базе поисковых технологий. Однако, подобные новации можно смело использовать и для «домашних» задач. Если не брать в расчет область применения таких технологий, то главная задача - работа с различными источниками информации вкупе с быстрым и точным поиском в больших массивах данных. Схема работы таких поисковых систем, в первом приближении, довольно проста: поиск по фразе с учетом всех синонимов и словоформ.
И все было бы «шоколадно», если бы не скорость обработки запроса и выдачи готового результата. Дело в том, что поиск по нескольким словам или крохотной фразе никогда не даст точной картины по найденным документам. А поиск по длиннющей фразе (например, в половину документа) в существующих приложениях занимает слишком много времени и весьма привередлив к ресурсам компьютера. Например, при вводе запроса в виде обычного документа, содержащего около 2000 уникальных слов, поиск с учетом морфологии (всех словоформ) и тезаурусов (синонимов), а также вывод релевантного списка найденных документов займет несколько десятков минут. Вы согласитесь столько ждать? В итоге получается своеобразная дилемма: при хорошей скорости «хромает» качество поиска; при точных и адекватных результатах понадобится уйма времени и системно-аппаратных ресурсов.
Даже при наличии специальных программ все далеко не так радужно, как хотелось бы. Бесплатный Google Desktop Search (desktop.google.com) напрочь отказался устанавливаться, жалуясь на монитор IMON антивируса NOD 32: так как же быть с фирменным гуглевским обещанием «везения»? Российский «Архивариус» снят с продажи без объяснения причин (www.wizetech.com/ru/document-search/index.shtml), а другая российская разработка – « Cros » ( www . cronos . ru ) - отпугивает своей ценой в сотни долларов. Но, как всегда, хочется всего и сразу: чтобы быстро, качественно и недорого. Как водится, свято место пусто не оказалось.
Российская линейка продуктов SearchInform (www.searchinform.com) окажется незаменимой в любом секторе, будь то корпоративная сеть предприятия или простой домашний компьютер. Десктопная версия (2,9 Мб) предлагается в двух модификациях: Standard (1500 руб) и Professional (3000 руб). Функциональные отличия обычной версии от профессиональной довольно ощутимы: нет возможности слияния и дефрагментации созданных индексов, ограничения поиска в источниках данных и отсутствие рубрикатора документов. Для особо скаредных граждан предлагается бесплатная версия, умеющая создавать только один индекс. Впрочем, все определяется исключительно вашими потребностями.
Как уже говорилось, главная задача поисковиков SearchInform – поиск текстовой информации. Фирменная технология позволяет работать с различными источниками информации, каковая может содержаться не только в файловых форматах (включая PDF , HTM и HTML ), но и в базах данных большинства распространенных информационных систем (Access, MS SQL, Oracle, а также любых СУБД, поддерживающих SQL). Для вящей конкретизации поиска наличествует функция использования списков синонимов и выделения т.н. «важных слов».
Казалось бы, что еще можно придумать в области поисковых технологий, в особенности, при наличии довольно функциональных готовых решений? Ан нет – главным козырем SearchInform является очень высокая скорость работы и принципиально новый подход к поиску информации. Если эффективность использования SearchInform может быть не столь заметна при относительно небольших объемах информации, то поиск в базе с размером более 1 Гб будет очень ощутимым. Например, индексация около ста тысяч (!) документов общим объемом 1,3 Гб занимает чуть менее 40 минут. И это на рядовом (по нынешним меркам) домашнем компьютере. Но обо всем по порядку.
По окончании установки и регистрации нам первым делом нам предложат загрузить и установить фильтр для индексации и поиска в PDF -документах вкупе с русскоязычной морфологической базой (16 Мб). Дело в том, что использование морфологии является одним из важнейших приемов интеллектуального поиска текста, поскольку использование этого режима позволяет ввести в поисковую строку одно слово, а поиск будет осуществляться по всем его словоформам (например, «ложка - ложкой - ложки – ложечка»). Таким образом, жертвы на входящий трафик заумной морфологической субстанции, более чем оправданы (использование морфологии включается в Менеджере Индексов).
А теперь, товарищи, придется создавать базы проиндексированного контента (в трактовке программы – «индексы»), без которых поиск становится бессмысленным: Менеджер индексов > Создание индекса. Я вас умоляю: выберите папку для файлов индекса в любом разделе, кроме системного – думаю, нет нужды лишний раз повторять об опрометчивости хранения чего-либо во владениях Windows . Не забудьте еще раз подумать о целесообразности использования морфологических баз – по умолчанию переключатель Использовать морфологию отключен, равно как и индексация во внешних базах данных (уже упоминавшиеся Access и MS SQL Server ). Думаю, что на большинстве домашних ПК последняя опция не актуальна.
Обратите внимание на кнопку Настройка диалога создания нового индекса – по умолчанию программа начнет индексацию всех дисковых разделов, что увеличит время создания базы и размер оной. Выберем только то, что нам нужно: например, все мои архивы, включая почтовые базы, хранятся в логическом разделе F :. Так какой смысл заставлять софтину делать бесполезную работу? Если вы не программист, то есть смысл выключить индексацию в разделе Programming files . А далее остается ждать окончания процесса индексации. Разумеется, нет нужды создавать единственную базу индексации, где будут свалены в кучу и офисные документы, и HTML -страницы. При необходимости точно так же создаются дополнительные индексы, подключаемые командой Смонтировать индекс.
Для эксперимента мной был выбран один из каталогов, приютившего статьи для Upgrade , а также массу сохраненных веб-страниц. Поскольку экономия дискового пространства мне не чужда, все статьи были заархивированы (один скриншот в формате TIFF подчас весит несколько мегабайт): посмотрим, как программа справится с поиском в сжатых файлах. Интересный момент: чем больше проиндексировано документов, тем быстрее скорость процесса. В моем случае начальная скорость составила 450 Кб/сек, а затем постепенно выросла до 900 Кб/сек. Процесс индексирования весьма нагляден, и демонстрирует не только скорость, но и количество обработанных документов, а также число уникальных слов, по которым будет осуществляться поиск. В конечном итоге, данный раздел, содержащий около 500 Мб всевозможных бюрократических творений, был проиндексирован всего за 9 минут; объем проиндексированного контента составил всего-навсего 40 Мб – порядка 8% от исходного объема.
Теперь заставим SearchInform отработать свою цену: в качестве объекта автор этих строк скромно использовал фразу из своей статьи в Upgrade об антиспамерских продуктах («Что и говорить - жизнь удалась. Причем, удалась на славу.»). Обычный вариант поиска (вкладка Поиск текста) выдал огромное количество документов, содержащих, в той или иной мере, искомые слова. Абсолютно точного совпадения удалось добиться, включив опцию Все слова должны присутствовать в результате. Если же усложнить себе жизнь, и ввести в поле запроса не 56 знаков, как в нашем примере, а несколько сотен, то результаты могут оказаться не столь оптимистичными. Не мудрствуя лукаво, перейдем на вкладку Поиск похожих, подивимся размеру поля для ввода запроса – довольно ощутимое окно, в отличие от скромной строчки предыдущей вкладки – и вновь попросим софтину заняться своим делом. Результат поиска был выдан в течение пары секунд, причем, искомые слова выделены во всем тексте .
Не испугал программу и более иезуитский подход – поиск в архивах. Честно говоря, я не стал использовать секундомер для определения разницы во времени поиска среди обычных файлов и архивированных: практически один и тот же очень быстрый результат. По совету разработчиков был изменен текст запроса, в который добавлялись произвольные фрагменты откровенной абракадабры, после чего фразы менялись местами. Видит бог, мне очень хотелось «убить» программу, но, увы – мой порыв остался неудовлетворенным: даже в этом случае SearchInform таки нашел нужный документ.
Однако, создание одного или нескольких индексов для действительно качественного поиска недостаточно. Для того, чтобы максимально использовать возможности SearchInform, потребуется более подробное знакомство с синонимами, стоп-словами и «важными словами» (программные термины).
Судя по гостевой Upgrade , ясно отражающей картину со знанием родного языка у части товарищей, не грех напомнить о том, что синонимы используются для определения слов похожих по смыслу, но отличных по морфологическому составу. Применительно к задаче поиска в SearchInform, мы должны обучить софтину таким образом, чтобы она воспринимала оные словеса как одинаковые. Например, нам необходимо осуществить поиск по фразе «новый автомобиль» (прошу прощения, крайне актуальная проблема). Разумеется, поиск выдаст все варианты документов, где встречается этот самый «новый автомобиль». Использование морфологии позволит найти еще пару-тройку вариантов: «нового автомобиля», «новых автомобилей» и т.д. На этом, собственно, все. А как прикажете быть с сочетаниями вида «новая машина» и «нулевая тачка»? Использование Менеджера синонимов и позволит нашей софтине учитывать все варианты, что многократно увеличит эффективность поиска.
Информационная нагрузка стоп-слов - нулевая, используются они, главным образом, для поиска похожих документов. В первую очередь, это союзы, междометия, глаголы (довольно редко) и прилагательные. Стоп-слова не учитываются при поиске, что позволяет более достоверно оценивать информацию и осуществлять действительно смысловой контекстный поиск. По умолчанию список в Менеджере стоп-слов содержит довольно большое количество бесполезных буквосочетаний, однако нам никто не запретит расширить «стоп-список», что может повысить качество и точность поиска. Не забываем, что лишнее усердие в этом плане окажется, в лучшем случае, бесполезным. Информация о важных словах в силу чрезвычайной важности отправлена во врезку.
Важные слова, применительно к программе, суть полная противоположность стоп-словам. Все словеса, находящиеся в списке Менеджера важных слов, являются более приоритетными, нежели остальные. Такую возможность можно очень эффективно использовать для поиска похожих документов, выделяя приоритетную тематику поиска. Высокий приоритет важных слов проявляется в том, что в случае нахождения документов приблизительно с одним процентом релевантности (похожести), документы с важными словами будут находиться в списке результатов ближе к первым строкам поискового результата. Принципиальное отличие Важных слов от Стоп-слов заключается еще и в том, что от использования последних нельзя временно отказаться, а Важные слова можно использовать именно тогда, когда это действительно необходимо.
О реальном применении SearchInform можно написать еще один материал; отмечу лишь, что одна из юридических фирм (никакой рекламы!) уже вовсю использует корпоративную версию продукта для обслуживания своих клиентов по телефону. Не исключено, что в ближайшее время родится еще одна поисковая машина, потеснив именитые бренды. Мы же будем только рады новой технологии: прощай, Архивариус.
« предыдущая статья | Все статьи | следующая »
Компания Лоция Софт и СофтИнформ объявляют о начале специальной акции – «Снижение на 20% цен на ПО SearchInform Lotsia Edition». Акция продлится до 15 мая 2006 года.
Подробнее...
»
Большой рыночный потенциал заложен в технологии поиска, которая не зависит от языка. По словам Льва Матвеева, генерального директора "СофтИнформ" – «технология абсолютно независима от морфологии и в течение максимум двух недель настраивается на любой язык поиска».
iOne.ru
Подробнее...
» Вся пресса
|