МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН...
УДК 004.9:025.4
И. В. ЗАХАРОВА
ОБ ОДНОМ ПОДХОДЕ К РЕАЛИЗАЦИИ СЕМАНТИЧЕСКОГО ПОИСКА ДОКУМЕНТОВ В ЭЛЕКТРОННЫХ БИБЛИОТЕКАХ
В статье описаны методы и алгоритмы семантического полнотекстового поиска документов в электронных коллекциях. Семантический поиск ; онтологии ; модели информационного поиска ; протокол 235.50
Основной задачей, возникающей при работе с распределенными полнотекстовыми коллекциями документов, является задача поиска документов по их содержанию. Однако ставшие традиционными средства контекстного поиска по вхождению слов в документ, представленные, в частности, поисковыми машинами в Интернет, зачастую не обеспечивают адекватного выбора информации по запросу пользователя.
Первые информационно-поисковые системы (ИПС) появились более тридцати лет назад, и с тех произошли существенные изменения в поисковых алгоритмах. Современные поисковые системы (ПС) «научились» автоматически собирать информацию в Интернете, учитывать морфологические особенности и производить оценку значимости [1] найденных документов. В настоящее время в поисковых системах используется релевантная модель оценки соответствия исследуемого документа поисковому запросу. Данная модель практически не справляется с решением задач распознавания омонимов и многозначных слов.
Одним из возможных вариантов решения этой проблемы является семантический поиск. Семантический поиск позволяет находить ресурсы не только по заданным словам из запроса, но и по эквивалентным по смыслу.
Например, по запросу «маршрутизация в глобальных сетях» для полноты поиска его можно расширить следующими терминами: компьютерные сети, узел сети, модель сети, ЮТЕККЕТ, распределённые сетевые ресурсы,
Контактная информация: [email protected]
сервер DNS, маршрутизатор, протокол, межсетевое взаимодействие, CISCO, коммутатор.
Для эффективного семантического поиска необходима информация о предметной области, свойственных ей понятиях и отношениях между ними, а также ограничениях, свойственным этим отношениям. Такую информацию принято называть онтологией [2], и онтологическая модель может быть использована как для полнотекстового поиска, так и для классификации документов.
Онтология определяет термины, используемые для описания и представления знаний той или иной предметной области. Она необходима для людей, для приложений систем баз данных и различных других информационных систем, которые совместно используют специфическую информацию в какой-либо предметной области. Онтологии включают доступные для компьютерной обработки определения основных понятий предметной области и связи между ними
[3].
МОДЕЛЬ ОНТОЛОГИИ, СПЕЦИАЛИЗИРОВАННАЯ ДЛЯ ЗАДАЧ СЕМАНТИЧЕСКОГО ПОИСКА И КЛАССИФИКАЦИИ
Формально определим онтологию как множество
O = (L, C, F, Fc, Rh),
где L = {(wi, хг)}г=1п - словарь терминов предметной области, w г - термин, возможно более одного слова; x г - его рейтинг относительно других терминов в концепции.
C, C = {с,},=1 гп - набор понятий (концепций), Fl (Ь ) ® С - функция интерпретации терминов сопоставляет набору терминов из словаря подмножество концепций; Fc (С,) ® Ь -
функция интерпретации концепций; сопоставляет концепции набор терминов из словаря; - отношения иерархии между концепциями
[5].
В качестве функции интерпретации терминов возьмем Р(с, | и) - вероятность выбора
концепции при условии запроса и.
Применив формулы полной вероятности и формулы Байеса[4], получим
с, 1 р(с, 1 и) = ( (
= тах
С;бС
Т
л\
соип1;(м, Ь)
Т соип1;(м', Ь)
у]
Определим обратную функцию интерпретации как множество терминов, относящихся к данной концепции с весом большим, чем средний вес всех терминов для данной концепции.
Функцию интерпретации концепций определим как
Fc (С,)
Т1
М?е Ь,
где
Ь, = и
Ж ■ - множество всех терминов,
соответствующие концепции.
Формализуем модель поисковой системы с использованием полученной онтологии
Два варианта обработки поискового запроса:
1) и = С , - поисковый запрос совпадает с
названием какой-либо концепции в онтологии.
Расширяем поисковый запрос, применяя функцию интерпретации концепций, т. е. дополняя запрос терминами из найденной концепции
и = и и ^ (С,);
2) сЬ, е и - поисковый запрос или его
часть совпадает с подмножеством словаря онтологии, применяем функцию интерпретации терминов к запросу и, получая множество наиболее релевантных концепций. К полученным концепциям применяем обратную функцию интерпретации, дополняя запрос терминами.
Расширяем запрос, применяя функцию интерпретации
и = и и ('и(^^(и))иС,)
МЕТОД ПОСТРОЕНИЯ ОНТОЛОГИИ
Для реализации эффективного семантического поиска необходима онтология, которая по сути описывает не одну какую-либо предметную область, а классифицирует все виды сущностей и связи между ними. Создание подобной системы возможно как минимум двумя путями.
Специалисты в некоторой предметной области создают для собственных целей онтологию. Объединяя эти предметно-
ориентированные онтологии и добавляя, возможно, при этом дополнительные связи, получаем «обобщенную онтологию». Метод, очевидно, долгий и требующий работы множества экспертов по многим предметным областям.
Второй способ - построить онтологию автоматически, используя для этого имеющиеся коллекции информационных ресурсов и библиографических баз данных, представленных в Интернет.
В 1962 г. в стране в качестве единой обязательной классификации принята Универсальная десятичная классификация (УДК), и введено обязательное индексирование всех публикаций, т. е. все информационные материалы в области естественных и технических наук издаются с индексами Универсальной десятичной классификации.
Пример дерева УДК для «ветки» 004.8 приведен на рис. 1.
ж
жеи
^Искусственный интеллект ^-Прикладные системы искусственного интеллекта. Интеллектуальные системы, обладающие знаниями
г Искусственный интеллект в промышленных системах Интеллектуальные САПР и АСУ. Интеллектуальные роботы 0- Экспертные системы
Диагностические экспертные системы
-Обучение
^Представление знаний
Рис. 1
В результате, мы имеем экспертную базу на многих языках, где для каждого классификационного кода определено подмножество различных публикаций, содержащих знания по данной теме. Наша задача - выделить эти знания и представить их в виде набора терминов, наиболее характерных для данной рубрики [6].
Но помимо электронных публикаций, в Интернете (и в каждой электронной библиотеке) присутствуют также так называемые библиографические базы данных, создаваемые в различных библиотеках мира.
Рассмотрим библиографическую запись об одной книге:
Ирбенек В. С. Алгоритмы проектирования топологии электрических соединений в САПР электронной аппаратуры// Зарубежная радиоэлектроника. Успехи современной радиоэлектроники.-2002.^ 7. -С. 71-79
Ключевые слова
автоматизация; автоматизированное проектирование; алгоритмы; деревья Краскала-Прима; деревья Штейнера; ортогональная метрика; проектирование автоматизированное; САПР; электроника; электронная аппаратура.
Код УДК
004.896
Все множество библиографических баз данных можно рассматривать как кортеж
О =< С, Ж, Яс, В, Яь > ,
где С = {с, },=1 т - набор понятий (концепций УДК)
Ж = {ж, },=1 п - множество ключевых терминов
В = {Ьт }т=1М , Кс : С ® С - множество
библиографических записей,
Яь - отношения иерархии между концепциями
Яь : В ® С X Ж - отношения множества
библиографических записей на множество концепций и терминов
Сопоставляет каждой библиографической записи присвоенную ей концепцию и набор терминов, определяемых экспертом.
N
КЬ (Ь(г,т)) = (С , и п=1
N - количество ключевых терминов, заданных экспертом для этой книги.
Для преобразования кортежа О в кортеж О (онтологию), нам необходимо построить отображение Яс : С ® Ь, где Ь = {(ж,, х,)},=1п
Определим отношение ЯЬс, выбрав множество библиографических записей, соответствующих конкретной концепции:
N
КЬс (Ь(,,т) , с, ) = и МП,м) .
п=1
Данное отношение означает, что для каждой библиографической записи и отнесенной к ней концепции существует свой набор терминов. Свернув множество отношений ЯЬс по всем
библиографическим записям, получим
М к
К (с, ) = и Кьс (Ь(,,т), с, ) = и Ч .
т=1 к=1
Поскольку термины в разных записях могут повторятся, то вводим коэффициент повторения
х1 = С°иП^(Ь(г,т) 1 Чт) е Ь(,,т)) .
т=1,М
Чем больше экспертов определили данный термин для соответствующего кода УДК, тем выше его вес х1 .
Рис. 2
Программа сканирования распределенных каталогов
ФОРМИРОВАНИЕг-ЗАПРОСА ПО КОДУ УДК
г-запрос
Рис. 3
Итак, мы получили отображение
Кс (с, ) = {К , К )}=1К, т. е. К : С ® Ь, что соответствует функции интерпретации концепций в нашей модели онтологии.
Сам метод можно представить в виде схемы (рис. 2).
В настоящее время в России в библиотечном сообществе широко распространена идея создания сводных каталогов, объединяющих отдельные библиотечные каталоги участников либо в единый физический каталог (путем копирования данных на один сервер), либо в распределенный каталог (поиск и работа с которым осуществляется распределенно). Управление доступом к распределенным информационным
ресурсам и взаимодействие электронных библиотек осуществляется по принципу распределенных систем на базе открытых стандартов обмена данными. Для реализации электронных библиотек используются в основном два протокола: 239.50 и НТТР. В качестве подсистемы построения онтологии был выбран протокол 239.50, изначально ориентированный на информационно-поисковые задачи именно в библиографических базах данных [8, 9].
Общая архитектура приведена на рис. 3.
С помощью программы были просканированы сводные и распределенные каталоги Ассоциации Региональных Библиотечных Консорциумов (АРБИКОН) и выделено 133 151 концепции, содержащие от 5 до 100 терминов для каждой концепции.
АЛГОРИТМ СЕМАНТИЧЕСКОГО ПОИСКА С ИСПОЛЬЗОВАНИЕМ ОНТОЛОГИИ
PROCEDURE
Семантический_поисфапрос_исходный)
Запрос = STEM(запрос_исходный)
// обрезание окончаний и суффиксов Номер_концепции =
Поиск_по_концепции(Запрос)
IF Номер_концепции <> 0 Then // нашлась концепция по названию Обход_по_дереву(Номер_концепции)
ELSE
// запрос не совпал не с одной концепцией
Список_концепций =
Фун кция_интерпретации(Зап рос) Номер_концепции = концепция(Список_концепций)
While Номер_концепции <> 0 LOOP
Обход_по_дереву(Номер_концепции) Номер_концепции = Следующая_концепция(Список_концепций)
End LOOP
END IF
END PROCEDURE
Поскольку в основе онтологии лежит древовидная структура концепций, то определив наиболее релевантную концепцию получаем также список подчиненных.
Пользователю предоставляется возможность уточнить свой запрос, указав наиболее релевантную с его точки зрения концепцию из предложенных.
Пример. Запрос «вирусы и бактерии» был расширен следующими терминами: микробиология, микроорганизмы, бактериальные клетки, микроб, возбудители болезней, инфекция, иммунология, вирусология и др.
ОЦЕНКА ЭФФЕКТИВНОСТИ ПОИСКА
Введем следующие обозначения N - общее число документов в коллекции, релевантных запросу
Я - количество релевантных документов из найденных по запросу
Я ’ - количество нерелевантных документов из найденных по запросу
Для оценки эффективности работы ИПС мы использовали следующие параметры: г(и) - точность выдачи
г л Я
г (и) =---- - отношение числа выданных
Я + К
релевантных документов к сумме числа выданных релевантных и числа выданных нерелевантных документов.
Р(и) - полнота выдачи
Р(и) = — - отношение числа выданных ре-
N
левантных документов к сумме числа выданных релевантных и числа не выданных релевантных документов.
Чтобы избежать сравнения пар полнота, точность используются однозначные оценки. Одной из таких оценок является Е-мера, позволяющая избежать сравнения пар полнота, точность за счет введения отношения их значимости.
E(u) =
1 + b2
b2
1
r (u) P(u )
где b - отношение значимости полноты и точности. Возьмем b = 1 - среднее гармоническое (компромисс между точностью и полнотой)
Оценка эффективности производилась в сравнении с ИПС Indexing Services, использующим обычную булевскую модель поиска:
• среднее значение Е(и) для SemanticSearch =
0.41
• среднее значение Е(и) для Windows IS =
0.34 [7]
Рис. 4
.. ____ semanticSearch
. --- Windows IS
О 10 30 50 70 90 г (%)
Рис. 5
Как видно из приведенных результатов, средний показатель эффективности работы ИПС с учетом предпочтения пользователя (коэффициент b) для ИПС с семантическим поиском выше, несмотря на то, что некоторые запросы были с большим «шумом», т. е. большим количеством нерелевантных документов. При увеличении коэффициента b (т.е. предпочтение отдается полноте) мы соответственно получим и большее значение Е-меры для семантического поиска, поскольку сам алгоритм разработан для поиска максимального количества релевантных документов.
СПИСОК ЛИТЕРАТУРЫ
1. Baeza-Yates, R. Modern Information Retrieval / R. Baeza-Yates, B. Ribeiro-Neto. ACM Press, 1999.
2. Gruber, T. R. A translation approach to portable ontology specifications / T. R. Gruber // Knowledge Acquisition. 1993. № 5(2).
3. Овдей, О. М. Обзор инструментов инженерии онтологий / О. М. Овдей, Г. Ю. Проскудина // Электронные библиотеки. 2004. Т.7, Вып. 4.
4. Гнеденко, Б. В. Курс теории вероятностей / Б. В. Гнеденко. М. : Наука, 1988.
Ш%)
90
70
50
30
10
0
5. Zakharova, I. V. An approach to automated ontology building in text analysis problems / I. V. Zakharova, A. V. Melnikov, J. A. Vokhmitsev // Workshop on Computer Science and Information Technologies, 2006. P. 177-178.
6. Melnikov, A. V. Method of automatic ontology creation based on bibliographic databases / A. V. Melnikov, I. V. Zakharova //Workshop on Computer Science and Information Technologies, 2005. P. 270-272.
7. Zakharova, I. V. Evaluating effectiveness of semantic search / I. V. Zakharova, A. V. Melnikov, M. S. Timchenko // Workshop on Computer Science and Information Technologies, 2008.
8. Глухов, В. А. Электронные библиотеки. Организация, технология и средства доступа / В. А. Глухов, О. Л. Голицына, Н. В. Максимов // НТИ. Сер. 1, 2000. № 10.
9. Жижимов, О. Л. Введение в Z39.50 / О. Л. Жижимов. Новосибирск : НГОНБ, 2000.
ОБ АВТОРЕ
Захарова Ирина Викторовна, ст.
преп. каф. выч. механики и инф. техн. ЧелГУ. Дипл. математик (ЧелГУ, 1992). Иссл. в обл. разработки современных средств доступа к ресурсам электронных библиотек.