Организация хранения, обработки и доступа к полнотекстовым документам в современных АБИС

Организация хранения, обработки и доступа к полнотекстовым документам в современных АБИС Григорьев А.С.

МГТУ им. Баумана, г.Москва, 2-я Бауманская, дом 5, библиотека МГТУ

Введение

В настоящее время проблема создания электронного каталога как альтернативы бумажному (карточному) большей частью решена. Многое делается для облегчения и ускорения работы сотрудников библиотек.

Так как библиотека существует для удовлетворения запросов третьего заинтересованного в результате лица - читателя, решению задачи предоставления именно этому пользователю системы новых возможностей, которые помогут ему удобнее и быстрее получить интересующую его информацию, уделяется внимание при проектировании современных библиотечных систем. Следующий этап в развитии библиотеки - исследование и организация новых форм хранения документов, а также способов предоставления их пользователям.

Создание фондов электронных документов и предоставление читателям доступа к этим ресурсам позволяет, в частности расширить круг читателей, получающих доступ к редким документам.

Хранение документов в электронном виде позволяет проектировать в библиотечной системе предоставление возможности полнотекстового поиска по содержимому электронных документов, независимо от двоичного формата документа.

Фонды электронных документов

Основной объект хранения и предоставления услуг классической библиотеки - документ, как правило, бумажный носитель. Современная библиотека имеет дело не с документом, как таковым, а с информацией, которую он содержит. Документом, который хранит и обрабатывает библиотека, становится любое материальное представление информации.

Следовательно, для библиотеки становится актуальной возможность поддержки различных форм хранения документов. К привычной бумажной добавляется электронная форма хранения. Среди возможных форм наибольший интерес представляет именно она в связи с удобством компактного хранения двоичной информации и передачи её на большие расстояния.

Электронная форма хранения документа допускает различные форматы кодирования информации. Это могут быть текст, изображения, аудио или видео ролики.

Существует большое число определений электронного документа. Но все они пресекаются в одном: электронный документ - это закодированная в двоичном виде информация, предназначенная для обработки специально созданной программой для каждого конкретного формата хранения. Могут быть использованы произвольные пользовательские форматы, если они допускают возможность воспроизведения закодированной информации и предоставления её пользователю.

При решении поставленной задачи требуется охватить все многообразие документов, которые могут стать объектом обработки библиотечной системы.

Например, электронный документ может быть:

а) зарегистрированным (электронная версия книги, которой был присвоен ISBN);

б) незарегистрированным (автореферат диссертации, конспект лекций, аудиозапись конференции).

С точки зрения библиотековеда (как и с юридической) это принципиально различающиеся документы. Первый будет обработан по классическим библиотечным технологиям, а второй может даже и не оказаться в списке документов, предоставляемых библиотекой читателю, пока этот документ не будет зарегистрирован. Для определения статуса незарегистрированных документов было введено понятие (юридический термин) «выхода в свет».

Под выходом в свет (опубликованием) электронного объекта законом подразумевается [1] «предоставление экземпляров документа с согласия автора

неопределённому кругу лиц» (в том числе, записью на электронный носитель или выпуском печатного текста). То есть, документ считается вышедшим в свет, если к нему имеют доступ пользователи, которым он интересен.

Таким образом, будем считать документы, не зарегистрированные в книжной палате и не получившие индивидуальный книжный номер, вполне пригодными к размещению в фондах библиотеки и предоставлению пользователю (с разрешения автора). Это точно такие же документы, и обращаться с ними надо точно так же, как и с зарегистрированными. Значит, документы и того и другого типа будут включаться в создаваемые электронные библиотечные фонды. Видео ролик лекции наряду с бумажным конспектом займет место в фондах библиотеки с той лишь разницей, что типом документа будет "видеофильм" вместо "бумажный документ".

Велика вероятность, что со временем всё растущая доля электронных документов в потоке ресурсов, пополняющих фонды библиотеки, превысит поступления традиционных бумажных документов.

Доступ читателей к редким документам

Библиотека хранит большой объём традиционных документов. Случается, что количество некоторых из них не соответствует запросам читателей. Требуется большее число копий. Эту задачу легко решить, имея электронную копию бумажного документа. Современная библиотека может пополнять фонд электронных документов, квалифицированно создавая эти копии. Такой подход решит проблему, так как количество этих копий не ограничено. Переведенная в электронный вид информация, содержавшаяся в традиционных документах, становится электронным документом. Работу с новым представлением информации должна продолжать обеспечивать современная библиотека.

Очевидно, что при создании электронного образа бумажного документа присутствует элемент творчества библиотекаря. При этом может возникнуть проблема расхождения форматов и, что намного серьёзнее, структуры создаваемых документов (разбиение на отдельные файлы, оформление служебной информации, как то обложка, содержание или приложения). Во

избежание подобной неоднозначности необходимо создать некий документ, описывающий внутрибиблиотечный стандарт, в соответствии с которым будут оформляться создаваемые документы.

Полнотекстовый поиск по содержимому электронного документа

Основная потребность читателя - это получение документов, носителей информации, функцию хранения которых выполняет библиотека. Предоставить читателю доступ к интересующим его документам - задача библиотеки. Для этого необходимо решить задачу поиска нужного документа.

Как правило, читатель не знает точно, какой именно документ ему требуется. Он может лишь описать интересующую его тему, перечислить набор специфичных для неё терминов.

После этого обычно производится поиск только по библиографическому описанию документа. При этом список предложенной литературы может оказаться не полным, или, наоборот, избыточным.

Максимальная релевантность поиска может быть достигнута только при поиске по содержимому документа. Теперь, когда появилась такая возможность, реализация данного механизма необходима в рамках современной библиотечной системы.

Организация хранения электронных документов

Библиотечная система должна поддерживать полный жизненный цикл электронного документа. Она должна позволять получать, регистрировать, хранить, перерабатывать документ и предоставлять его пользователю. При этом необходимо минимизировать возможные исключительные ситуации (как то, недоступность запрашиваемого документа или ошибки при обращении к нему). Если же таковые происходят - предусмотреть корректную их обработку.

В общем случае внутренняя структура документа (расположение и значение полей) не известна. Библиотечная система должна позволять работать как с линейным, так и с ассоциативным или сетевым представлением информации в пределах документа, который может состоять из нескольких взаимосвязанных файлов. Это потребует допустить или реализовать

возможность организации ссылок между частями документа. Так же не следует исключать из рассмотрения обращение из одного обрабатываемого файла к другому, также находящемуся в хранилище системы.

Формальным эквивалентом электронного документа можно считать файл в случае линейного хранения информации, либо набор связанных файлов в общем случае. Таким образом, решение поставленной задачи можно свести к созданию системы, позволяющей производить требующиеся в библиотечном документообороте операции по манипулированию документами к операциям над файлами.

Сперва, необходимо определить способ хранения документов, так как остальные функции разрабатываемой системы будут ориентированы на использование функции хранения.

Эта функция допускает следующие способы реализации хранения документов:

а) в файловой системе (в обычном дереве каталогов, где за хранение и адресацию документа отвечает файловая система);

б) в таблице базы данных (как двоичные поля, содержащие все тело файла целиком).

Вне зависимости от того, какой подход будет использоваться, документ должен пройти дополнительную обработку перед размещением в хранилище. Поэтому потребуется создание отдельного модуля загрузки документа, будь это размещением в обычной файловой системе, или в базе данных. Ни в том, ни в другом случае документ не может быть просто «выложен» в хранилище - он должен быть, как минимум, зарегистрирован и привязан к записи своего описания.

Модуль выгрузки при использовании первого подхода к хранению документа должен реализовывать только «наблюдательную» функцию (как то, например, сбор статистики или контроль за санкционированностью доступа), так как загрузка будет осуществляться напрямую из доступной папки.

При использовании второго подхода модуль выгрузки кроме осуществления тех же функций, что и в первом случае, также должен «на лету» по запросу извлекать требуемый файл из базы и выводить его пользователю так, чтобы не было никакой разницы с загрузкой напрямую из файловой системы. Соответственно, на модуль выгрузки ложится ответственность и за обработку исключительных ситуаций при этих обращениях.

Обращение к требующемуся документу напрямую, с указанием в точности его характеристик может составлять лишь малую долю всех запросов пользователей. Чаще всего при обращении в библиотеку читатель не знает, какие именно документы ему необходимы. Есть лишь интересующая пользователя тема и, иногда, набор специфичных терминов, которые могут быть введены в шаблоне для поиска. Именно этот набор может помочь пользователю получить искомый документ (или набор документов, релевантных запросу), если система предоставит ему возможность поиска по тексту документов. Для осуществления этого сервиса должен быть создан модуль поиска по текстовым образам документов, если таковые возможно создать.

Первый подход к хранению документа привлекателен тем, что в СУБД Microsoft SQL Server 2000, которая используется при создании системы автоматизации библиотеки МГТУ имени Н.Э.Баумана, поддерживает функцию полнотекстового поиска.

В составе SQL Server 2000 имеется служба Full-Text Search, предоставляющая эффективные механизмы поиска. В данной системе возможно выполнять поиск не только в обычном тексте, но и в отформатированных материалах, сохраненных в полях для больших двоичнных объектов (BLOB - Binary Large Object Block). В распоряжении разработчика имеются интерфейсы доступа к информации, обеспечивающие поиск нужных данных.

Индексирование отформатированных документов выполняется с помощью специальных фильтров спецификации [2] IFilter, которые в

соответствии с форматом документа производят выборку слов, отсеивая служебную и несущественную информацию. SQL Server 2000 имеет фильтры для HTML-файлов, текстовых файлов и документов Microsoft Office. Возможно создавать и использовать собственные фильтры.

В случае использования подхода к хранению документов в виде обычных файлов в дереве каталогов, задача обеспечения поиска по тексту документов намного сложнее.

Но можно существенно упростить поставленную задачу поиска, использовав средство, предоставляемое операционной системой Microsoft Windows 2000 Server (на основе которой создан сервер библиотечной системы). Это служба Microsoft Search, которая предоставляет эффективные механизмы поиска как по текстовым файлам, так и по документам Microsoft  Office. В таком случае результат будет схож с полученным предыдущем методом, так как механизмы полнотекстового индексирования используются одни и те же.

Если при разработке системы полнотекстового поиска предполагается создание собственной поисковой машины (с собственным механизмом построения поискового индекса), оба представленных подхода допустимы.

Рассмотрим подход к решению задачи хранения, предлагающий располагать документы в файловой системе. Он достаточно прост в реализации и напрашивается сам собой - файлы должны храниться в дереве каталогов. Но при этом ограничивается гибкость, управляемость и переносимость полученного множества данных. Например, исключается возможность обработки исключительных ситуаций при обращении к отсутствующему файлу.

Также, сложно будет дополнить систему своими обработчиками обращений к документам. Это доступно только через административные средства операционной системы, на которой расположится хранилище.

Очередная серьезная проблема возникает при создании резервных копий фонда электронных документов. Если база данных гарантирует единовременность создания «снимка» базы, сохранение каталога электронных

документов не дает таких гарантий. Таким образом, обеспечение целостности связей данных фонда должно обеспечиваться самой системой.

Применение второго подхода к хранению данных, предлагающего располагать документы в таблице базы данных, потребует создания механизма, эмулирующего все возможности и удобства работы со связанными документами. Чтобы второй вариант мог успешно конкурировать с первым, необходимо допустить полноценное функционирование перекрестных ссылок, используемых, например, в документах гипертекстовой разметки.

Использование такой системы хранения позволит здесь же осуществлять вызов функций, реализующих служебные операции (например, подсчет числа и частоты обращений).

Реализация механизма перекрёстных ссылок в файлах одного документа

Библиотечная система должна поддерживать хранение документов даже с такой сложной организацией связей, как перекрёстные ссылки. Такие ссылки могут быть организованы внутри дерева хранимого документа.

Решая задачу создания хранилища фонда электронных документов с использованием возможностей файловой системы, для обеспечения работоспособности ссылок не потребуется ничего делать, так как изначально этот механизм разрабатывался под структуру каталогов дисков.

Если выбран подход, использующий собственную систему организации хранения документов (использующий базу данных), функция идентификации файлов, на которые указывают внутренние ссылки документа возлагается на модуль извлечения документа библиотечной системы.

Примером может служить то, как эта задача решается в файлах гипертекстовой разметки.

Пользователь обращается к конкретной части какого-то документа, указывая полный адрес. Этот адрес имеет вид:

address := document address "/" file name

document_address := <описание местонахождения документа, по которому хранящая его система может его идентифицировать>

file_name := <название отдельного файла - составной части документа> Открытый пользователем документ содержит ссылки. Находящаяся в теле документа ссылка на объект, содержит относительный адрес местонахождения этого объекта. Таким образом, когда пользователь даёт команду перейти по этой ссылке, к строке полного адреса текущего документа (address) вместо названия самого документа (file_name) добавляется относительный путь, указанный в ссылке.

Если спроецировать данную схему на разрабатываемую систему, то виртуальная адресация внутренних ссылок хранимых документов будет выглядеть следующим образом. Когда пользователь осуществляет переход на главную страницу документа, он должен указать полный адрес документа в хранилище. Далее, по описанному выше сценарию будет составляться строка, адресующая документ, на который указывает ссылка (относительная). Вид обращения при этом практически не изменится:

virtual_address := virtual_document_address "/" file_name virtual_document_address := <описание местонахождения документа, по которому хранящая его система может его идентифицировать; постоянно для одного документа>

file_name := <название отдельного файла - составной части документа; меняется в зависимости от выбранного фрагмента> Выводы

Очевидно, что необходимо развивать библиотеку в направлении расширения предоставляемых читателю сервисов. Требуется создать систему обработки электронных документов, которая должна поддерживать полный жизненный цикл такого документа. Библиотечная система должна уметь загружать, регистрировать, хранить, обрабатывать документ и предоставлять его пользователю.

Создание фондов электронных документов позволяет решить проблему недостаточного количества копий некоторых редких документов.

Электронная форма хранения предоставляет возможность доступа к содержимому документа, а не только к его описанию. Это расширяет возможности поиска материалов по запросу читателя.

В зависимости от потребностей разработчиков и сложности организации полнотекстового поиска выбирается способ хранения электронных документов фонда.

Простейший способ построения эффективной подсистемы полнотекстового поиска использует существующие СУБД и их средства построения полнотекстовых индексов. Он подразумевает помещение файлов документа в поля таблицы используемой СУБД.

Если же создается своя поисковая система - возможно использование обоих подходов к хранению файлов электронных документов. Полнотекстовый индекс должен быть построен поисковой системой по текстовым образам файлов, хранящихся либо в таблице базы данных, либо расположенных в каталогах на диске.

Литература

1. Авторское право: Нормативные акты. Национальное законодательство и международные конвенции / Сост., авт. вступ. ст. И. Силонов; оформл. Г. Сыроватского.- М.: Элит-Клуб; Юридическая книга, 1998.- 429 с.

2. № 16, 2000. NetWeek. Web-функции и новые возможности SQL Server 2000 / Евгений Мамаев.- М.:СК Пресс, 2000.