ЭлементыЭлементы большой науки
Жизнь в науке. Дневники
Главная / Дневники / Денис Биштейнов / Запись

ТЕМАТИЧЕСКИЙ ИНФОРМАЦИОННЫЙ ПОИСК ПО ЭЛЕКТРОННОМУ БИБЛИОГРАФИЧЕСКОМУ КАТАЛОГУ

10.07.2008
18:56
настроение:
заинтересованный
заинтересованный

Интернет поиск по ключевым словам одно из популярных направлений поиска [2]. Электронная сетевая библиотека предполагает не только наличие большого количества ресурсов, но и использование стандартизованной системы каталогов, основанной, например, на ББК или UDC (УДК) [1].

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

Ставится задача получить релевантную выдачу путем вычисления тематики искомых ресурсов по ключевым словам запроса.

Электронный библиографический каталог (ЭБК), используемый в реализованной нами электронной библиотеке, построен на основе УДК. С математической точки зрения УДК без учета использования специальных символов представляет собой ориентированное дерево с мнимым корневым каталогом. Причем полустепень исхода каждого узла орграфа может быть не более 10. Все узлы, имеющие общего «родителя» получают уникальное имя вида (<цифра>,<имя>), где <цифра> – это уникальный номер узла (от 0 до 9), а <имя> – имя узла на понятном пользователю языке.

Каждому узлу в соответствие ставятся элементы массива Array(id-ресурса,<свойства ресурса>), где <свойства ресурса> – это учитываемые конкретной системой свойства библиотечных ресурсов, такие как «название», «издательство», «дата добавления» и т.д.

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


Алгоритм поиска.

ЭБК-поиск реализуется с помощью php-функции двух переменных: text, которой присваивается значение текстового поля панели запроса, и sql, которая содержит информацию об ограничениях, накладываемых администратором или пользователем. Введем следующие понятия:

Тематическое ядро – это множество тем ЭБК, общих для всех слов запроса, имеющих связи с таблицей «ЭБК».

Тематическое облако – это объединение множеств тем ЭБК всех слов запроса.

Алгоритм ЭБК-поиска представляет собой последовательность следующих шагов:

1. Создание массива слов из переменной text:

a. все специальные символы и знаки пунктуации заменяются пробелами;

b. строка text преобразуется в массив путем разбиения ее по пробелам;

c.  элементы массива, являющиеся пустыми строками, удаляются;

2. выполнение SQL-запроса-выборки соответствий из:

a. поля «фамилия» таблицы «авторы»;

b. поля «имя» таблицы «авторы»;

c.  id-коды слов запроса из таблицы «словарь»;

d. id-коды ресурсов, в индексах которых присутствуют слова запроса;

3. Вычисление тематического облака и тематического ядра запроса;

4. Вычисление релевантности каждого найденного документа:

a. вычисляются множители вида / kv,kt / t,kT / T, где kv,kt,kT– это коэффициенты, подбираемые опытным путем,V – количество просмотров (визитов) данного ресурса,t – время присутствия документа в базе, T – время, прошедшее с момента издания ресурса;

b. если одно из слов запроса – фамилия, то книги этого/этих авторов имеют больший вес;

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

d. ресурс считается более релевантным, если его тематика входит в тематическое облако;

e.  ресурс считается значительно более релевантным, если его тематика входит в тематическое ядро;

5. Данные о релевантности документов сортируются по убыванию;

6. Формируется страница результатов ЭБК-поиска и отсылается пользователю.

Испытания. Мы осуществили поиск ресурсов по запросам, содержащим сходные по написанию слова, но требующим тематически разную информацию. Например, «творчество Пугачевой» и «восстание Пугачева». В испытуемой системе вместо уже успешно реализованного морфологического анализа запроса [3] мы решили применять функцию Левенштейна [4]. Система работает со всем набором слов из словаря, которые отличаются от заданных не более чем на строго определенное число символов.

Каждому слову ищется соответствующий набор тем из таблицы «ЭБК».

творчество  84 (Худ. литература) & 85 (Искусство)

пугачев633 (История)

пугачева85 (Искусство)

восстание  63 (Исторические науки)

параметры

значение параметров по запросам

«творчество Пугачевой»

«восстание Пугачева»

тематическое облако

633 & 84 & 85

63 & 85  (*)

тематическое ядро

85

63

(*) 63 & 633 & 85 → 63 & 85.

Отметим также, что в общем случае тематическое ядро и тематическое облако могут оказаться пустыми множествами. Если оба множества пусты тематическому облаку присваивается значение 0, что приводит к реализации тематически независимого поиска.

Результаты работы этого алгоритма приведены в следующей таблице:

N

название

тема

релевантность по запросу

«творчество Пугачевой»

«восстание Пугачева»

1

Восстание Пугачёва

история

1.0003

10.2993

2

Пугачев Емельян Иванович

история

1.0003

10.2993

3

История Пугачева

история

1.0003

10.2993

4

Восстание крестьян под руководством Е.И. Пугачева 1773–1775

история

1.00022

10.2245

5

Алла Пугачева

худ. литература

10.2245

1.00022

6

Биография Аллы Пугачевой

искусство

10.1497

1.00015

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


Библиография

1. S. Agrawal, S. Chaudhuri, G. Das.DBXplorer: ASystemforKeyword-BasedSearchoverRelational Databases. // http://www.microsoft.com/

2. Информационный поиск: Материалы пятой международной конференции «Библиотеки и ассоциации в меняющемся мире: новые технологии и новые формы сотрудничества». Судак. Крым. 9 апреля 1999 года // http://ntbu.ru/sp/

3. И. Сегалович, М. Маслов. Русский морфологический анализ и синтез с генерацией моделей словоизменения для не описанных в словаре слов, 2006 // http://company.yandex.ru/

4. Michael Gilleland. Levenshtein Distance, in Three Flavors. Merriam Park Software // http://www.meriampark.com/

Иллюстрации :
Ответить предыдущая | следующая
Вести дневник и оставлять комментарии могут только зарегистрированные пользователи
Логин:
Пароль:
Зарегистрироваться
Последние сообщения
Помощь
Всего дневников: 654

Пользователей
в системе: 2782

Всего записей
и комментариев: 50248

Записей и комментариев
за последние 24 часа: 16

АКТИВНЫЕ ДНЕВНИКИ


 
Энциклопедия | Новости | Блоги | Календарь | Право | Библиотека | Детские вопросы | ЖОБ При поддержке фонда Дмитрия Зимина - Династия