Научная статья на тему 'Система интеллектуального поиска на основе семантических сетей'

Система интеллектуального поиска на основе семантических сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
407
73
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Система интеллектуального поиска на основе семантических сетей»

рис. 2.

\

31 + 2/г 0.004 0.002 0

% \ % \

% \ % \ % % % %

ч ч ч * * /

О 0.2 0.4 0.6 0.8 1 ^

рис. 3.

ЛИТЕРАТУРА:

1. Буренин A.A., Ковтанюк Л.В. Остаточне напряжения у цилиндрической полости в идеальной упругопластической среде // Проблемы неупругих деформаций: Сборник статей. К 70-летию Д.Д. Ивлева. М.: Физматлит, 2001. С.74-94.

2. Буренин A.A., Ковтанюк Л.В., Полоник М.В. Возможность повторного пластического течения при общей разгрузке упругопластической среды // ДАН. 2000. Т. 375, №6. С. 767-769

Бурый A.A., Зацерковный A.B., Поздняк П.Л.

СИСТЕМА ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА НА ОСНОВЕ СЕМАНТИЧЕСКИХ СЕТЕЙ

В настоящее время компьютеры принимают довольно ограниченное участие в формировании и обработке информации в Интернете и в локальной сети в частности. Функции компьютеров в основном сводятся к хранению, отображению и поиску информации. В то же время создание информации, её оценка, классификация и актуализация всё это по-прежнему выполняет человек. Как включить компьютер в эти процессы. Если компьютер пока нельзя научить понимать человеческий язык, то нужно использовать язык, который был бы понятен компьютеру. То есть, в идеальном варианте, вся информация в сети должна размещаться на двух языках: на человеческом языке для человека (для текстовых ресурсов) или файлов и на компьютерном языке для понимания компьютера. Это приводит нас к организации данных в формате семантической сети. Семантическая сеть это концепция сети, в которой каждый ресурс был бы снабжён описанием, понятным компьютеру. Такой подход делает

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

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

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

Ниже приводится краткий обзор архитектуры системы.

Сервер закачки

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

Локатор файлов

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

Сервер анализа данных

Сервер анализа данных вместе с сервером семантической сети, являются ядром системы. Этот модуль служит для получения метаинформации из предоставляемых на обработку файлов. В большинстве случаев получение такой метаинформации затруднено тем, что в сети не реализованы стандарты Semantic Web и в большом объёме метаинформации, собираемой системой.я Что при недостаточно стандартизованной сетевой политике, делает невозможным просто использование включенных автором (владельцем) ресурса тегов с метаинформацией. Поэтому возникает необходимость в автоматическом получении метаинформации. Для этого в данном модуле реализован набор "фильтров", выбирающих из файла информацию в соответствии с требованиями Dublin Core и другими добавочными онтологиями, используемыми системой работы с семантической сетью. В силу большого разнообразия видов файлов, в системе используется многомодульная архитектура, с возможностью подгружать внешние модули. Выбор внешних модулей происходит в зависимости от типа файла. Внешние модули реализованы как классы языка Java, и подгружаются из базы данных. Данный подход делает систему легко наращиваемой, и обновляемой. Контроль над внешними модулями, подгружаемыми для каждого типа файлов, происходит через конфигурационные XML файлы. Результатом работы данного сервиса является объект языка Java, содержащий текстовую информацию из файла, получению метаинформацию и методы доступа к этой информации. Данный объект помещается в базу данных и ставится в очередь на обработку сервером семантической сети.

Сервер семантической сети

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

свойств, предусмотрена модульная система, представляющая собой набор "фильтров", каждый из которых отвечает за отдельный вид метаинформации. При добавлении каждого ресурса в семантическую сеть, происходит её реорганизация путём добавления новых связей с добавляемым объектом. Структура этих связей выбирается в зависимости от онтологий, используемых системой (DC, addition Vocabulary,...). Хранение семантической сети происходит в реляционной базе данных, что обеспечивает параллельный доступ к семантической сети для разных сервисов внутри системы. Также это делает возможным доступ других внешних агентов, заинтересованных в получении информации из семантической сети.

Сервер вспомогательных индексов

Эта часть системы предназначена для индексирования ресурсов по типу [ресурс <-> слово]. Данный вид индексирования отделен от семантической сети в силу предполагаемой перегруженности последней в случае добавления в сеть полнотекстовой информации по каждому ресурсу. Для организации полнотекстового индексирования, и поиска по индексу нами были использованы оптимизированные для этого OpenSource библиотеки из проекта АОТ. Полученный в результате сервис работает параллельно с сервисом семантической сети и служит для расширения запроса.

Сервер поиска в семантической сети

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

Система управления

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

ЛИТЕРАТУРА

1. Dasu T.J. Explotary Data Mining and Data Cleaning Tamraparni/T.J. Dasu, AT&T Labs, Research Division.-Wiley, 2003.-560c.

2. Nemati N.R. Organizational Data Mining: Leveraging Enterprise Data Resources for Optimal Performance/N.R. Nemati, C.D. Barko.-Idea Group Publishing, 2004.-300c.

3. Powers S. Practical RDF/S. Powers.-O'Reilly, 2003.-350c.

i Надоели баннеры? Вы всегда можете отключить рекламу.