Перспективы
продвижения корпоративных поисковых систем на российском рынке
(приложение)
Функциональные составляющие системы поиска корпоративной информации
Программа
сканирования файловой структуры исходного массива документов. Исходный массив
документов может размещаться в Интернете, локальной сети предприятия, на дисках
персонального компьютера. Задача программы, достучаться до каждой директории и
каждого файла и передать файл соответствующей программе обработчику.
Комплекс программ извлечения текстовых данных из файлов различных форматов.
Такие программы называются парсерами от английского раrсеr - программа
выполнения грамматического разбора. Например парсер для файлов формата .doc,
созданных редактором MS Word. Парсер для HTML, pdf и других типов файлов. На
вход парсера поступает документ в формате исходного редактора, на выходе чистый
текст для индексирования.
Программа создания индекса. Индекс полнотекстовой базы это файл, в котором
записана информация о каждом слове исходного массива документов: к какому
документу оно принадлежит, в какой части документа находится, относится оно к
заголовку, основному тексту и т.д. Структура индекса зависит от используемого
метода доступа к текстовым данным. Например, при использовании инвертированных
списков создается словарь, где к каждому слову приписывается список номеров всех
документов или текстовых фрагментов, в которых оно содержится.
Программа лемматизации, работающая с морфологическим словарем. Морфологический
словарь содержит так называемые парадигмы (конструкции) слов русского языка, в
виде базового слова и соответствующих ему форм. Для существительных это
именительная форма единственного числа плюс все падежные формы, формы
единственного и множественного числа. Обычно пользователю при поиске нужен текст
с любой формой слов запроса. Чтобы не заставлять его перечислять все возможные
формы этого слова, слово при индексации и поиске заменяется на базовое. Эта
процедура называется лемматизацией. На входе слово в любой форме, например "иду"
или "шел", на выходе исходная форма "идти".
Программа обрезки окончаний слов. Часто используется вместо программы
лемматизации из-за своей простоты. Дает худшие результаты поиска, так как не
учитывает родственные связи слов имеющих близкий смысл, но разное написание.
Например: идти-шел, лет-годов, лев-львов и т.д.
Организация поиска в
текстовом массиве:
а) Контекстный
поиск, при котором весь текст последовательно просматривается
программой поиска, слова сравниваются с запросом, выполняются логические
операции и
дополнительные условия поиска. Контекстный поиск позволяет просто реализовать
самые
сложные виды поиска, но имеет существенный недостаток - он очень медленный.
Скорость просмотра порядка нескольких мегабайт в секунду, поэтому время поиска в
базе
объемом 10Гб займет более часа, что совершенно неприемлемо.
б) Подокументно контекстный поиск. Этот поиск использует предварительно
созданный
индекс, в котором есть списки слов каждого документа. В результате поиска по
индексу
определяется документы, содержащие слова запроса. Например, на запрос "Александр
Васильевич" будет выдан список всех документов, содержащих слово "Александр" и
слово "Васильевич". Как эти слова расположены в тексте документа не учитывается.
Например, в начале документа есть Александр Петрович, а в конце Семен
Васильевич.
Этот документ будет выдан индексом. Поэтому для уточнения результатов, программа
производит контекстный поиск в найденных документах. При этом учитывается
расстояние между ключевыми словами, их взаимное расположение. Будут
отфильтрованы
документы, содержащие только нужное сочетание "Александр Васильевич" Такая
подокументно-контекстная схема пригодна для поиска небольших документов, типа
писем, приказов и пр. Во-первых, в маленьких текстах меньше вероятность
случайного
совпадения всех слов запроса. Во-вторых, контекстный просмотр, таких документов
занимает меньше времени. При поиске в больших базах данных, содержащих тексты
книг,
справочников и т.п. поиск сильно замедляется.
в) Индексный поиск по всему содержанию документов. Это самый сложный и быстрый
вид поиска. Индекс содержит полную информацию о всех словах текстов базы данных,
включая взаимное расположение слов. Содержание запроса сравнивается одновременно
со всем полем информации, содержащейся в базе данных. При этом поиске ищутся не
документы, а нужная информация. Затем по найденным фрагментам текста выдаются
тексты самих документов. Скорость такого поиска на ПК до десятков гигабайт в
секунду.
|