logo search
Прототип системы интеллектуального поиска документов на основе онтологии предметной области

Уровень представления. Пользовательский графический интерфейс

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

- скриптового языка JavaScript и языка разметки HTML на стороне пользователя системы (клиента) web-браузере;

- языка генерации web-страниц Java Server Pages и языка программирования Java на стороне сервера системы;

В состав графического интерфейса пользователя входят:

- Текстовое поле, предназначенное для ввода текста пользовательского поискового запроса;

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

- Текстовое поле, предназначенное для ввода ссылок на онтологии предметных областей, которые необходимо использовать для расширения пользовательского поискового запроса, загрузив их внешних источников (web-ресурсов) в сети Интернет;

- Кнопка "Отправить", предназначенная для отправки введенных пользователем данных на сервер с целью запуска процесса обработки пользовательского поискового запроса и выдачи результатов;

- Кнопка "Очистить", предназначенная для очистки введенных пользователем данных во всех формах web-страницы.

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

Набор API-интерфейсов

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

Контроллер системы

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

Уровень бизнес-логики

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

Поисковое ядро

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

- Создание объекта поиска (структуры данных, используемой для хранения результатов всех этапов обработки запроса);

- Инициирование выделения памяти и загрузку необходимых для обработки запроса модулей;

- Передачу загруженным модулям объекта поиска и управления;

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

- Выдача результатов поиска.

Модуль морфологии

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

- "Очистка" текста запроса - удаление из текста запроса не участвующих в онтологической обработке запроса символов;

- Разделение текста запроса на элементы - выделения из текста запроса слов;

- Нормализация элементов запроса - приведение выделенных из текста запроса слов к нормальной форме: именительный падеж, единственное число;

- Повышение регистра первой буквы и понижение остальных букв каждого нормализованного элемента запроса;

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

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

Модуль онтологии

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

- синонимов элементов запроса;

- подклассов элементов запроса;

- надклассов элементов запроса.

Данный процесс поиска соответствующих элементов в онтологии в системе определен как "Поиск верхнего уровня".

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

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

Модуль формирования запросов

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

Модуль поиска

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

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

По завершению поиска документов по представленным запросам модуль формирует списки идентификаторов документов-результатов поиска для каждого из запросов.

Модуль документов

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

В загружаемую метаинформацию документов входят:

- имя поля - название соответствующего параметра документа;

- значение поля - значение соответствующего параметра документа;

- маска "карточки" документа - описание формата "карточки документа, используемой при отображении документа в списке результатов поиска;

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

Уровень данных

Данный уровень предоставляет более высокоуровневым компонентам системы интерфейсы для доступа к данным, таким как:

- сервис морфологии;

- база онтологий;

- внешние Интернет-ресурсы (хранилища) онтологий;

- подсистема полнотекстового поиска;

- база данных документов

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

Описание взаимосвязи АС с другими системами

Перечень систем, с которыми связана данная АС

Для реализации бизнес-логики процесса обработки поискового запроса разработанная система связана со следующими системами:

- Сервис морфологии - для реализации морфологической обработки поискового запроса;

- База онтологий - для реализации онтологической обработки запроса;

- Внешние Интернет-ресурсы онтологий - для реализации онтологической обработки запроса;

- Подсистема полнотекстового поиска (поисковой движок) - для реализации поиска документов по запросам;

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

Описание связей между системами

Связь системы с сервисом морфологии

Текущая реализации системы поддерживает два вида сервисов морфологии:

- локальный, связь с которым осуществляется путем создания программного объекта соответствующего класса, осуществляющего работу со словарем и возвращающего по запросу необходимые формы слов;

- внешний, связь с которым осуществляется по протоколу HTTP [29] путем GET-запросов с необходимыми параметрами, возвращающих необходимые формы слов. Формат данного запроса не регламентируется в Настоящем Документе т.к. данный вид сервиса морфологии не используется в текущей версии системы - поддержка данного вида сервиса морфологии является экспериментальной;

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

Связь системы с базой онтологий

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

- локально (на одном сервере с компонентами бизнес-логики системы);

- отдельно (на отдельном сервере, связь с которым осуществляется по сети);

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

Описание регламента связи

В текущей версии системы связь системы с базой онтологий, расположенной на отдельном сервере реализуется при помощи протокола HTTP [29] путем GET-запросов с необходимыми параметрами:

- Протокол загрузки онтологии: HTTP;

- Адрес сервера базы онтологий (пример: 192.168.0.1);

- Порт доступа к базе онтологий (пример: 80);

- Каталог онтологии (пример /ontology/law/);

- Имя (Идентификатор) файла онтологии в нижнем регистре (пример: ontology123. owl).

Пример строки запроса для загрузки онтологии:

http://192.168.0.1/ontology/law/ontology123. owl

Данная строка является URL-адресом [20] файла онтологии предметной области. Используя такую строку, система произведет запрос к базе онтологий, и последующую загрузку онтологии в локальную память для использования в процессе онтологической обработки запроса.

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

- вышеописанным методом по протоколу HTTP GET-запросом;

- по адресу файла в локальной операционной системе (не регламентируется).

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

Технические стороны реализации данной связи регламентируются документацией OWL [19].

Связь системы с внешними Интернет-ресурсами (хранилищами) онтологий

Данная связь применяется в случае указания пользователем какой-либо внешней онтологии, используемой в процессе онтологической обработки пользовательского запроса.

Описание регламента связи

Данная связь системы с внешними Интернет-ресурсами (хранилищами) онтологий регламентируется аналогично п.4.2.2 "Связь системы с базой онтологий". При этом в качестве метода доступа к файлу используется HTTP GET-запрос по URL-адресу файла онтологии поддерживаемого системой формата. В результате взаимодействия системы с внешним Интернет-ресурсом второй возвращает файл запрашиваемой онтологии предметной области или код ошибки в случае его отсутствия.

Связь системы с системой полнотекстового поиска

Для осуществления поиска документов по поисковому запросу используется связь системы с системой полнотекстового поиска, которая может располагаться:

- локально;

- на отдельном сервере;

Описание регламента связи

Независимо от метода размещения системы полнотекстового поиска данная связь осуществляется с использованием одной технологии по протоколу системы Sphinx, интерфейсы которой реализованы на уровне данных системы. Данная связь регламентирована в документации к системе полнотекстового поиска [35]. В результате взаимодействия системы с системой полнотекстового поиска вторая возвращает список идентификаторов результатов поиска и релевантность каждого из них.

Связь системы с базой данных документов

Для загрузки метаинформации документов-результатов поиска используется связь системы с СУБД, используемой для хранения метаинформации документов. База данных документов может располагаться:

- локально;

- на отдельном сервере;

Описание регламента связи

В текущей версии системы реализована связь с СУБД MySQL версии 5.3 Независимо от метода размещения СУБД (локально или на отдельном сервере) связь с этой системой осуществляется по протоколу, регламентированному в документации к СУБД [18]. Связь системы с СУБД осуществляется при помощи реализованных на уровне данных системы интерфейсов доступа к базам данных. В результате взаимодействия системы с СУБД вторая возвращает метаинформацию запрашиваемых документов.

Связь системы полнотекстового поиска с СУБД

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

Описание регламента связи

Данная связь систем между собой осуществляется по протоколу, регламентированному в документации к СУБД [18] и документации к системе полнотекстового поиска [35].

Описание взаимосвязей АС с подразделениями объекта автоматизации

В текущей версии Настоящего документа данные взаимосвязи не регламентируются.

Описание подсистем

Структура подсистем

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