Доклад
Филиппова А.Н.
КРЫМ-98

English version

Разработка и применение АБИС "КОЛИБРИ" в Научной музыкальной библиотеке Санкт-Петербургской консерватории.

Филиппов А.Н., Самсонов М.C.
Санкт-Петербургская Консерватория
Научная Музыкальная Библиотека,
Санкт-Петербург, Россия

В статье рассматривается опыт разработки и применения АБИС "КОЛИБРИ". Система опирается на оригинальный пакет процедур, на основе которого создана разветвленная система тезаурусов, включающая в себя базы ключевых слов, мест изданий и привязанных к ним мест издательств, географических понятий, персоналий, рубрикаторов с учетом рубрик ББК. При этом любое поле может быть связано с базой синонимов. В системе решена проблема идентификации записей на основе уникального для кажого издания ключа, который формируется сверткой названия любой длины до 6 символов. Система включает в себя средства импорта, экспорта и преобразования диалектов формата MARC. АБИС "КОЛИБРИ" установлена и используется в ряде публичных библиотек Санкт-Петербурга.

АБИС "Колибри" разработана Отделом автоматизации НМБ СПбГК с использованием стандарта USMARC и внедрена не только в библиотеке консерватории, но и в ряде публичных библиотек Петербурга.
В настоящее время накоплен опыт внедрения системы в библиотеках различных типов: научной, массовой и детской.
1. Методы организации системы.
При описании библиографических записей разработан пакет процедур, выполняющих ту или иную функцию. В момент настройки системы в конфигурационном файле определяется какое поле какой функцией обрабатывается. На основе этих функций построена разветвленная система тезаурусов, которая включает в себя базы ключевых слов, мест изданий и привязанных к ним мест издательств, географических понятий, персоналий, рубрикаторов с учетом рубрик ББК. При этом любое поле может быть связано с базой синонимов. Функции никак не привязаны к конкретному реквизиту. Любой реквизит, имеющий аналогичные правила заполнения, обслуживается одной и той же функцией. Типы применяемых функций определяются потребностями каждой конкретной подсистемы.
Система имеет набор АРМов, который позволяет настроить работу, учитывая особенности ("школу") конкретной библиотеки. Так в одном случае, функции аналитического описания могут быть включены в АРМ комплектования и обработки, а в другом - в АРМ бибилиографии. Результаты работы одного АРМа могут быть использованы другим АРМом без какой-либо дополнительной обработки.

В системе реализованы различные возможности, обеспечивающие дружественный интерфейс, в частности:

- Сервис при описании - определение повторяемых полей, перенос значения из одного поля в другое, определение видимых и невидимых полей;
- Формирование выходных документов;
- Формирование поисковых предписаний (ПП) - база ПП может расширяться силами пользователя в диалоговом режиме;
- Автоматическое формирование авторских знаков - русский и латинский алфавиты;
- Экспорт и импорт информации;
- Поддержка иностранных алфавитов - билиографической описание проводится с использованием как русского, латинского, так и любого европейского алфавита;
- Эквивалентность - в системе могут быть определены поля, которые трактуются равноправно: например, автор и соавторы.

В окончательном варианте разработанная система обладает следующим набором возможностей выбора:

- позволяет осуществлять альтернативный выбор из предложенных вариантов (с использованием меню);
- позволяет осуществлять альтернативный выбор с расширением меню;
- ограничивает возможность выбора в безальтернативных ответах (снижая ошибки в работе оператора по заполнению БД);
- обеспечивает представление свободной текстовой информации в форме меню, с возможностью его дальнейшего редактирования;
- позволяет фиксировать свободные объемы текстовой информации - "резиновые поля";
- осуществляет контекстный поиск по внутренним кодам и ключевым словам;
- производит конверсию внутренних кодов в их смысловое значение, и наоборот. Порядок работы оператора определяется следующими основными процедурами.
- Заполнение полей БД в соответствии с характером вносимой информации и возможностями системы.
- Организация БД по принципу электронного каталога; контрольная проверка полноты и соответствия заполнения и, по необходимости, редактирование каталога.
- При необходимости можно выбрать аналог описываемого издания из электронного каталога по названию и другим характеристикам.
- Для проверки на дублетность при вводе в электронный каталог реализован оригинальный алгоритм, скорость исполнения которого практически не зависит от размеров ЭК. Состав полей, значение которых учитывается в этом случае, определяется в момент настройки системы.

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

В системе принципиально решена одна из фундаментальных проблем, а именно, так называемая "проблема синонимии". Суть ее решения состоит в следующем:
1) ряд терминов (имен, названий, обозначений и т. п.), описывающих одно и то же явление (лицо, объект), группируется с выделением одного из них
в качестве основного (ключевого) для данной группы синонима;
2) организуется таблица (словарь) синонимов, в которой после ключевого понятия в произвольном порядке, через запятую (или другой заданный разделитель) перечисляются все встречающиеся или возможные его синонимы;
3) поиск всех объектов, включенных в данную группу синонимов, осуществляется посредством адресации к ключевому синониму, который в процессе работы может быть заменен или отредактирован;
4) использование таблицы синонимов не исключает возможности получения статистики для каждого из объектов группы.

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

В зависимости от структуры запросов, можно выделить следующие типы
создаваемых на их основе ПП:
1) простые - формируемые в пределах одного поля, и
2) составные (сложные) - основывающиеся на материале двух и более полей, с использованием широкого спектра поисковых возможностей.

Примерами запросов, переводимых в ПП первого типа, могут быть следующие: "найти все труды автора X", "выбрать публикации определенных издательств" и т. п. Возможность применения составных ПП расширяет круг запросов, среди которых могут быть характерными запросы типа: "динамика выпуска литературы определенной тематики", "география", "типо-видовая специализация регионов" и т. п.
Не останавливаясь подробно на описании использованного механизма организации поисковой работы, следует отметить одну из существенных его характеристик - возможность применения разных видов поиска, в зависимости от интенсивности использования ПП и степени детализированности требуемой информации. Первый - быстрый поиск - задается операциями, предусматривающими отбор данных на основе "жесткого" сравнения индексируемых полей; его целесообразно применять при создании ПП, обращение к которым, как оказалось, является наиболее интенсивным. Второй вид поиска - контекстный - основывается на "внутреннем" сравнении содержания полей; его замедленный, по сравнению с быстрым поиском, темп компенсируется в случаях необходимости получением более детализированной информации. На практике нередко возникает потребность в осуществлении поиска, основанного на сочетании достоинств быстрого и контекстного. В таких случаях оправдано применение так называемого "смешанного" поиска, представляющего собой последовательное исполнение обоих вышеописанных методов.

2. Некоторые проблемы работы с форматом USMARC.

2.1. Уровень логического доступа.

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

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

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

Указанные условия требуют использования кода языка строки в качестве параметра при вычислении ключа.
Алгоритм вычисления ключа:
Функция предварительной трансляции Fp(Z,C) (таблично определенная)
Вход: байт Z
код языка C
Выход: 0, если Z не соответсвует букве алфавита языка С;
число в диапазоне 1-63, если Z не соответствует
букве алфавита языка С. При этом буквы верхнего и
нижнего регистров транслируются в одинаковые значения.
Функция отсечения гласных Fv(Z,C) (таблично определенная)
Вход: байт Z, полученный в результате предварительной трансляции (Fg)
код языка C
Выход: true, если входной символ соответсвует гласной
false в противном случае
Функция свертки Q(Z,L,F,C)
Вход: строка для свертки Z
длина строки L
максимальная длина строки, при которой учитываются гласные М
код языка строки C
Выход: ключ Q (три байта)
[C1] Q <-- 0
[C2] i <-- 0
[C3] Y <-- Fp(Z[i],C)
[C4] Если Y=0, то перейти на C8
[C5] Если L>M and Fv(Y,C)=true, то перейти на С8
[C6] Q <-- (Q rol 1) xor Y
[C7] i <-- i+1
[C8] Если i<L , то перейти на С3
[C9] Q <-- Q*0.6125423371 (Выполняется в целых числах)
Для индексации записей в базе данных используется составной ключ следующей структуры: K=<I,C,Q>, где
I - 21 бит - используется для разрешения коллизий
C - 3 бита - код языка
Q - 24 бита - ключ
Для разрешения коллизий был применен метод открытой адресации со схемой <Q,C,0>, <Q,C,1>,...<Q,C,2**21-1>.
Таким образом, уникальный ключ формируется в момент записи в электронный каталог с учетом его текущего состояния. В реальной базе данных встречаются названия изданий как, например, "Стихотворения", "Повести", "Рассказы" и т.п. В этом случае проверка на дублетность выполняется с некоторой задержкой, потому что требуется проверять все записи с соответствующим названием. На реальной базе данных в 50000 записей была собрана следующая статистика:
"Стихотворения" - 143 записи
"Рассказы" - 90 записей
"Повести" - 43 записи
В этих случаях время проверки на дублетность составляет 2-4 секунды.

При статистическом исследовании функции свертки оказалось целесообразным выполнять замену цифр в индексируемых строках на последовательности букв: 0->"НОЛЬ", 1->"ОДИН",2->"ДВА" и т.д. при использовании русского алфавита, 0->"ZERO", 1->"EINX",2->"ZWEIY", ... при использовании латинского алфавита.
Для организации индексных файлов использовалась СУБД Btrieve фирмы Pervasive Technology (как и для хранения основных записей).

2.2. Конвертор форматов MARC.

К форматам типа MARC относятся разработки на базе форматов первоначально созданных в Библиотеке Конгресса США. В настоящее время существуют различные диалекты MARC, отличающиеся по назначению, стране адаптации, типу данных, для представления которых они разработаны. Для поддержки межбиблиотечного обмена АБИС " КОЛИБРИ" включает в себя конвертор форматов MARC.
В функции конвертора входят:
- переименование меток полей;
- "раскидывание" значение повторяемого поля по заданному списку MARC-кодов;
- слияние различных полей в одно поле с заданным разделителем;
- удаление полей;
- изменение значений по заданным таблицам соответствий
Наличие такого конвертора позволяет передавать информацию в требуемом формате и перерабатывать принимаемую информацию с учетом особенностей данной библиотеки.

Список литературы.
1. Elzy C., Nourie A., Lancaster F., Joseph K. Evaluating Reference
Service in a Large Academic Library. - College and Research Libraries,
52, 454-465
2. Bayer R., McCreight E. Organization and Maintenance of Large Ordered
Indexes. - Acta Informatica, 1, No. 3, 1972, 173-189
3. Maurer W. D. An Improved Hash Code for Scatter Storage - Comm. ACM, 11,
1968, No. 1, 35-38
4. Кнут Д. Исскуство программирования для ЭВМ., т.3, Сортировка и поиск.
М., Мир, 1978


Главная страница Назад