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

  • Вид работы:
    Диплом
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
  • Формат файла:
    MS Word
  • Размер файла:
    681,77 Кб
Прототип системы интеллектуального поиска документов на основе онтологии предметной области
Прототип системы интеллектуального поиска документов на основе онтологии предметной области
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!












ДИПЛОМНЫЙ ПРОЕКТ

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

Содержание

Введение

1. Формирование требований к АС

2. Разработка концепции АС

3. Техническое задание

4.1 Общие положения

4.2 Назначение и цели создания системы

4.3 Характеристика объектов автоматизации

4.4 Требования к системе

4.5 Состав и содержание работ по созданию (развитию) системы

4.6 Порядок контроля приемки системы

Виды, состав, объем и методы испытаний системы

4.7 Требования к документированию

5. Технический проект

5.1 Общее описание системы

Описание системы

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

5.2 Схема структурная комплекса технических средств

5.3 Описание информационного обеспечения системы

5.4 Описание программного обеспечения

5.5 Описание алгоритма (проектной процедуры)

6. Рабочая документация

6.1 Руководство пользователя

Заключение

Список используемой литературы

Приложения

Введение

Университетская информационная система РОССИЯ (УИС РОССИЯ) создана и целенаправленно развивается как тематическая электронная библиотека и база для исследований и учебных курсов в области экономики, управления, социологии, лингвистики, философии, филологии, международных отношений и других гуманитарных наук. УИС РОССИЯ поддерживается на базе Научно-исследовательского вычислительного центра МГУ имени М.В. Ломоносова и с 2000 года открыта для коллективного доступа. Доступ к УИС РОССИЯ бесплатный, но по обращению Руководителя и предварительной регистрации, предоставляется всем образовательным и научным учреждениям, государственным и негосударственным некоммерческим организациям и публичным библиотекам по IP-адресам, а также специалистам по индивидуальной регистрации. С системой работают свыше 250 коллективных пользователей <#"center">1. Формирование требований к АС

Разрабатываемая АС должна производить интеллектуальный поиск документов указанной предметной области, соответствующей выбранной пользователем онтологии. При этом систем должна обеспечивать:

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

-независимость результатов поиска от формы (падежа и т.д.) элементов (слова) пользовательского поискового запроса;

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

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

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

-предоставлять доступ к документам-результатам поиска как к web-страницам.

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

университетская информационная система пользователь

2. Разработка концепции АС

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

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

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

Система предоставляет поисковые API-интерфейсы для смежных систем, возвращаемые данные (список онтологий, список искомых элементов, список результатов поиска) представляются в формате JSON.

Система открыта для добавления новых коллекций документов и их метаинформации, новых онтологий предметных областей и новых языков поисковых запросов. Таким образом, поисковой механизм системы независим от предметных областей коллекций документов, по которым производится информационный поиск.

3. Техническое задание

4.1 Общие положения

Полное наименование системы и ее условное обозначение

Полное название системы: "Прототип информационной системы интеллектуального поиска на основе онтологии предметной области"

Условное обозначение: "OntoSearcher"

Номер договора (контракта)

Данный договор отсутствует.

Наименования организации-заказчика и организаций-участников работ

Научно-Исследовательский Вычислительный Центр Московского Государственного Университета имени М.В. Ломоносова.

Адрес фактический: 119991, г. Москва, Ленинские горы, д.1, стр.4, НИВЦ МГУ

Телефон: (095) 939-54-24

Факс: (095) 938-21-36mail: nivc@srcc. msu.ru

Автономная Некоммерческая Организация Центр Информационных Исследований.

Адрес фактический: Москва, Воробьевы Горы, НИВЦ МГУ, комната 339

Телефон: (495) 939-35-26mail: webmaster@mail. cir.ru

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

Данные документы отсутствуют.

Плановые сроки начала и окончания работы по созданию системы

Плановый срок начала работы - 01.09.2011.

Плановый срок окончания работы - 15.06.2012.

Источники и порядок финансирования работ

Данный документ отсутствует.

Порядок оформления и предъявления заказчику результатов работ по созданию системы

По завершению работ по разработке и созданию системы Исполнитель обязан:

-предоставить разработанную в соответствии с Настоящим Техническим Заданием систему на оптическом диске типа DVD-R в трех экземплярах;

-предоставить разработанную в соответствии с Настоящим Техническим Заданием нормативно-техническую и программную документацию в двух видах: электронном на оптическом диске с системой и в бумажном виде на формате А4;

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

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

-произвести внедрение системы в организации Заказчика на предоставленном в соответствии с указанными в Настоящем Техническом Задании требованиями к техническому обеспечению системы Заказчиком техническом обеспечении;

-обеспечивать техническую поддержку системы в течение всего процесса ее эксплуатации в организации Заказчика;

По завершению работ по разработке и созданию системы Заказчик обязан:

-предоставить Разработчику для проведения работ по внедрению системы удовлетворяющее указанным в Настоящем Техническом Задании требования к техническому обеспечению необходимое техническое обеспечение;

Определения, обозначения и сокращения

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

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

ИС - информационная система;

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

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

Пертинентность - соответствие полученной информации информационной потребности пользователя.

4.2 Назначение и цели создания системы

Назначение системы

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

Цели создания системы

Повышение пертинентности результатов поиска документов по текстовому запросу.

4.3 Характеристика объектов автоматизации

Таблица 1 - Характеристика объектов автоматизации

Название объекта / процедуры / процессовДоля автоматизацииКомментарийЗагрузка онтологийПолная автоматизацияПроцесс полностью автоматизируется с помощью специального программного обеспечения, производящего загрузку онтологии из указанного источника. Проверка онтологийЧастичная автоматизацияПроцесс частично автоматизируется при помощи специального программного обеспечения, производящего синтаксическую проверку онтологии. Расширение запросаПолная автоматизацияПроцесс полностью автоматизируется путем разработки специального алгоритма, производящего расширение пользовательского поискового запроса и построение новых при помощи указанных пользователем онтологий. Поиск документовПолная автоматизацияПроцесс полностью автоматизируется путем использования специального программного обеспечения, производящего полнотекстовый поиск. Отображение результатов поискаПолная автоматизацияПроцесс полностью автоматизируется путем разработки специального программного обеспечения, предназначенного для загрузки метаинформации документов из базы данных и формирования HTML-страниц, содержащих результаты поиска.

4.4 Требования к системе

Требования к системе в целом.

Требования к структуре и функционированию системы

Разрабатываемая система должна обладать модульной структурой, состав которой описан в перечне подсистем. Требуемые режимы функционирования системы:

-Стандартный режим - активны все функции системы. Используется при нормальном функционировании системы;

-Ограниченный (демонстрационный) - доступна только одна онтология, не более 5 элементов в пользовательском запросе, не более 3-х типов искомых в онтологии элементов, не более 20 (двадцати) элементов в результате поиска;

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

Перечень подсистем, их назначение и основные характеристики

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

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

-подсистема онтологии - предназначается для преобразования (расширения) поискового запроса при помощи онтологии предметной области;

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

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

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

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

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

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

Требования к способам и средствам связи для информационного обмена между компонентами Системы должны быть сформированы на этапе технического проектирования Системы.

Требования к численности и квалификации персонала системы

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

Таблица 2 - Функции и обязанности ответственных лиц

Ответственное лицоФункции и обязанностиКоличество человекРуководительОбеспечивает общее руководство группой поддержки и обслуживания информационной системы1Администратор системыОбеспечивает техническую и программную поддержку функционирования системы, техническую поддержку обслуживающего персонала системы1Обслуживающий персонал системыОбеспечивает информационное наполнение системы, регистрацию и техническую поддержку пользователей системы3

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

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

Показатели назначения

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

-релевантности;

-пертинентности

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

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

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

Требования к надежности

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

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

В случае аварий система должна обеспечивать сохранность информационного обеспечения.

Требования к сохранности информационного обеспечения системы приведены в п.4.4.1.9.

Требования к безопасности

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

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

Система должна обеспечивать ограниченный доступ к поисковому интерфейсу всем пользователям системы, не прошедшим процедуру авторизации в системе. Ограниченный доступ ограничивает поисковые возможности пользователя: не более 2-х онтологий, не более 5-ти элементов в пользовательском поисковом запросе, не более 20-ти документов в списке результатов поиска.

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

Требования к эргономике и технической эстетике

Требования не предъявляются

Требования к транспортабельности для подвижных АС

Требования не предъявляются.

Требования к защите информации от несанкционированного доступа

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

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

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

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

Требования по сохранности информации при авариях

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

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

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

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

-исходных кодов функциональных компонентов системы;

Резервные копии вышеописанных элементов системы должны создаваться на отдельном сервере периодически с интервалом в 1 (один) месяц. Каждая резервная копия должна храниться не менее 6 (шести) месяцев в архиве формата tar. gz. Наименование файла экземпляра резервной копии должно содержать дату создания и порядковый (уникальный) номер резервной копии в формате: "ДД-ММ-ГГГГ-ЧЧ-ММ-№№". В Системе должны быть предоставлены средства для восстановления данных из резервной копив течении суток.

Требования к защите от влияния внешних воздействий

Требования не предъявляются.

Требования к патентной частоте

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

Требования по стандартизации и унификации

При создании информационной системы должно использоваться общесистемное программное обеспечение (операционные системы, СУБД, серверы приложений и т.д.) с открытым исходным кодом.

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

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

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

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

-Маштабируемость;

-Надежность;

-Конфигурируемость

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

Дополнительные требования

Графический интерфейс стартовой страницы системы должен содержать:

-Цветной логотип системы, предоставляемый Заказчиком в формате PNG размером 150x300 пикселей;

-Текстовое поле для ввода текста пользовательского поискового запроса, вместимостью 256 символов и шрифтом "Verdana" размером 14.

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

тестовый режим - не более 2-х онтологий;

ограниченный режим - не более 2-х онтологий;

стандартный режим - не более 4 онтологий;

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

тестовый режим - не более 3-х типов связей;

ограниченный режим - не более 3-х типов связей;

стандартный режим - нет ограничений;

-Кнопку "Поиск" для выполнения поискового запроса;

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

-Копирайт и данные организации Заказчика.

Графический интерфейс страницы просмотра результатов поиска должен содержать:

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

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

-Кнопку "Поиск" для выполнения поискового запроса;

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

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

Цветовая гамма оформления графического интерфейса системы должна состоять из серебристо-серых тонов.

В качестве шрифта должен использоваться "Verdana" размером 14 с нулевым отступом.

Так же дополнительные требования могут быть сформулированы на этапах проектирования и разработки Системы.

Требования к функциям (задачам), выполняемым системой

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

Морфологическая обработка запроса:

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

-нормализация морфологических форм выделенных элементов запроса;

Онтологическая обработка запроса:

-загрузка схем используемых онтологий из указанных источников;

-поиск в онтологиях элементов указанного типа, соответствующих элементам запроса (поиск первого уровня);

-формирование списков найденных элементов;

Формирование запросов:

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

Поиск документов:

-поиск документов по исходному пользовательскому поисковому запросу;

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

Обработка результатов поиска:

-формирование списков результатов поиска документов;

Требования к видам обеспечения

Требования к математическому обеспечению системы

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

Требования информационному обеспечению системы

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

В состав данных Системы должны входить следующие виды информации:

содержимое документов, по которым осуществляется поиск;

-онтологии предметных областей;

графические файлы и файлы мультимедиа;

метаинформация документов по которым осуществляется поиск;

иные виды информации, определяемой прикладным программным обеспечением, используемым в Системе;

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

файлы с технической и организационной документацией;

другие данные о внутреннем информационном обеспечении функционирования Системы.

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

Для хранения информации Системы должны использоваться СУБД с поддержкой языка SQL в соответствии со стандартом ISO/IEC 9075: 1992, "Язык баз данных SQL" (Database Language SQL). Записи базы данных должны сопровождаться дополнительной информацией об источнике данных, внесение изменений в базу данных рекомендуется реализовать по принципу неприменения операций удаления и коррекции записей (разрешено только дополнение), должен быть предусмотрен регламент регулярного автоматического копирования информации из баз данных на внешние носители для архивного хранения.

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

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

Контроль доступа к метаинформации документов должен обеспечиваться средствами СУБД.

Требования к лингвистическому обеспечению системы

Разрабатываемая система должна создаваться с использованием следующих языков программирования высшего уровня:

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

-Java Server Pages - для реализации компонентов графического интерфейса системы;

-HTML - для реализации графического интерфейса системы;

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

-SQL - для реализации управления данными в базе данных системы:

Требования к программному обеспечению системы

Используемое при реализации системы программное обеспечение должно удовлетворять следующим требованиям:

-Обеспечивать возможность взаимодействий со смежными системами и программным обеспечением;

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

-Иметь соответствующую техническую поддержку в течении всего периода эксплуатации в системе;

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

Требования к техническому обеспечению

Техническое (аппаратное) обеспечение системы (сервера) должно удовлетворять следующим требования:

-Обеспечивать полноценное функционирование описанного в требованиях к программному обеспечению ПО;

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

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

Требования к метрологическому обеспечению

Требования не предъявляются.

Требования к организационному обеспечению

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

Требования к методическому обеспечению

Нормативно-техническая документация системы должна содержать:

-Техническое задание на разработку информационной системы;

-Технический проект системы;

-Рабочий документ системы;

-Руководство администратора системы;

-Руководство разработчика системы;

-Руководство пользователя системы;

Техническое задание, технический проект и рабочий проект системы должны соответствовать ГОСТ 34.

.5 Состав и содержание работ по созданию (развитию) системы

Таблица 3 - Наименование и сроки выполнения работ

N п/пНаименование раздела (вида) работыСроки выполнения1. Согласование темы и календарного плана выполнения работы. Постановка задачи. Получение задания на квалификационную работу. 10.09.20112. Анализ литературы по теории поиска в информационных системах30.09.20113. Разработка программной архитектуры поисковой системы, определение средств реализации. Подготовка доклада на международную научно-практическую конференцию "Объектные системы" - 2011 (английская сессия) 15.10.20114. Разработка системной базы данных и базы документов. 31.10.20115. Разработка программного обеспечения, предназначенного для создания и редактирования базы данных документов, редактирования коллекций документов, редактирования классификаторов документов15.11.20116. Разработка тестовой версии онтологии, используемой для преобразования поискового запроса. 30.11.20117. Разработка алгоритма преобразования поискового запроса и действующего прототипа. 31.12.20118. Разработка всех заявленных функциональных компонентов системы в соответствии с представленной ранее программной архитектурой. Подготовка доклада на международную научно-практическую конференцию "Объектные системы" 29.02.20129. Тестирование и доработка всех компонентов системы31.04.201210. Оформление записки, подготовка выступления, демонстрационных материалов, рецензирование работы15.06.201211. Защита работы в ГАКПо приказу

4.6 Порядок контроля приемки системы

Виды, состав, объем и методы испытаний системы

Основные требования к видам, составу, объему и методам испытаний системы уточняются в процессе проектирования Системы и согласовываются на стадии "Разработка алгоритма преобразования поискового запроса и действующего прототипа." седьмого этапа (см. таблицу 3 п.4.5 настоящего ТЗ).

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

4.7 Требования к документированию

Документация системы должна содержать:

-Документация разработчика:

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

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

-примеры использования программных классов системы;

-Документация пользователя:

-описание выполняемых системой функций;

-описание вариантов использования системы;

-примеры использования системы;

-Документация администратора системы:

-описание методов и протоколов доступа к консолям администрирования компонентов системы: операционная система, база данных, web-сервер и т.д.;

-описание требований системы к техническому обеспечению;

-описание требования системы к программному обеспечению;

-данные разработчика;

-Документация персонала системы:

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

-описание формата входных данных системы;

5. Технический проект

5.1 Общее описание системы

Назначение системы

Вид деятельности, для автоматизации которой предназначена система

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

Пользователю системы предлагается один, основной вариант использования "Произвести поиск" (рис. 1). Администратор системы может выполнять ее конфигурирование.

Рисунок 1 - Варианты использования системы

Процесс реализации пользовательского варианта использования "Произвести поиск" приведен на рис.2:

Рисунок 2 - Диаграмма деятельности процесса реализации пользовательского варианта использования "Произвести поиск"

Перечень объектов автоматизации, на которых используется система

Перечень функций, реализуемых системой

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

-Морфологическая обработка поискового запроса;

-Онтологическая обработка поискового запроса;

-Формирование расширенных поисковых запросов;

-Осуществление поиска документов по поисковым запросам;

-Формирование списков результатов поиска по метаинформации.

Описание системы

Структура системы

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

Рисунок 3 - Диаграмма компонентов системы по функциональным слоям

Функциональные модули системы логически распределены по программным уровням абстракции системы, что делает архитектуру системы слоистой, каждый слой которой содержит соответствующие функциональные модули, необходимые доя осуществления его функционирования. Таким образом, архитектура системы разработана в соответствии со стандартной Трехуровневой архитектурой программного обеспечения, состоящей из следующих логических программных уровней: "Уровень представления", "Уровень бизнес-логики", "Уровень данных". Такой подход к организации программной архитектуры делает разработанную систему:

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

-Конфигурируемой - изолированность уровней друг от друга позволяет (при правильном развертывании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из логических уровней;

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

В соответствии с разработанной архитектурой система состоит из следующих уровней:

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

-Пользовательский графический интерфейс;

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

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

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

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

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

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

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

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

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

-Уровень данных. Предназначен для обеспечения доступа к:

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

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

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

-базе данных метаинформации документов.

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

Интерфейс доступа к сервисам морфологии;

-Интерфейс доступа к базам онтологий;

-Интерфейс доступа к подсистеме полнотекстного поиска (поисковому движку);

-Интерфейс доступа к базе данных документов

Сведения об АС, необходимые для обеспечения эксплуатации системы

Данные сведения приведены в п.3.4 "Описание программного обеспечения" Настоящего Документа.

Описание функционирования системы и частей системы

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

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

-скриптового языка 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

-локально;

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

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

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

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

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

-локально;

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

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

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

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

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

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

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

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

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

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

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

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

Сведения о подсистемах, необходимые для обеспечения их функционирования

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

Описание функционирования подсистем и их частей

Функционирование основной подсистемы реализации процесса обработки пользовательского поискового запроса описывается в п.3.1.2.3 "Описание функционирования системы и частей системы".

5.2 Схема структурная комплекса технических средств

Разработанная система поддерживает разные схемы распределения компонентов системы и используемых систем. Текущая версия системы реализована в соответствии со структурой, приведенной на рис. 4.

Рисунок 4 - Диаграмма варианта размещения компонентов системы и используемых систем на трех серверах

Применяемые для обеспечения функционирования системы сервера:

-Web-сервер. Данный сервер предназначается для размещения:

-компонентов графического web-интерфейса пользователей системы;

-API-интерфейсов, предназначенных для взаимодействия системы со смежными системами.

-Сервер приложений. Данный сервер предназначается для размещения:

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

-компонентов уровня данных системы;

-системы полнотекстового поиска.

-Сервер баз данных. Данный сервер предназначается для размещения:

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

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

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

-базы индексов документов;

-базы индексируемых образов документов.

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

Пользователи системы имеют доступ к web-интерфейсу посредством web-браузера.

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

5.3 Описание информационного обеспечения системы

Состав информационного обеспечения

В состав информационного обеспечения системы входит:

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

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

-База индексов документов системы полнотекстового поиска. Предназначается для хранения составленных системой полнотекстового поиска для ускорения процесса обработки запроса результатов индексирования документов, по которым осуществляется поиск. Принципы организации, структура и содержание данной базы не регламентируются в Настоящем Документе. Данные аспекты регламентируются в документации к системе полнотекстового поиска [35];

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

-Словари сервиса морфологии. Предназначается для обеспечения функционирования сервиса морфологии. Принципы организации, структура и содержание данной базы не регламентируются Настоящем документе. Формат данных словарей регламентируется в документации к системе морфологии [17];

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

-Файл конфигурации системы полнотекстового поиска. Принципы организации, структура и содержание данного файла частично регламентируются в Настоящем Документе. Наиболее подробно аспекты регламентируются в документации к системе полнотекстового поиска [35];

-Файл конфигурации системы логирования процесса обработки поискового запроса. Принципы организации, структура и содержание данного файла частично регламентируются в Настоящем Документе;

-Файлы конфигурации СУБД. Принципы организации, структура и содержание данного файла не регламентируются в Настоящем документе. Данные аспекты регламентируются в документации к СУБД [18];

-Файл конфигурации подсистемы поиска. Принципы организации, структура и содержание данного файла регламентируются в Настоящем Документе.

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

Организация информационного обеспечения

Принципы организации информационного обеспечения

Принципы организации соответствующих составляющих информационного обеспечения системы регламентируются в п.3.3.4 "Организация внутримашинной информационной базы" и п.3.3.5 "Организация внемашинной информационной базы" Настоящего Документа.

Обоснование выбора носителей данных

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

Принципы и методы контроля в маршрутах обработки данных

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

Описание решений, обеспечивающих информационную совместимость АС с другими системами

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

Обеспечение информационной совместимости базы данных документов АС с другими системами в задаче организации данной базы достигается за счет:

-использования СУБД MySQL, распространяемая под GNU General Public License;

-использования стандарта ANSI SQL-92, регламентированного в [12];

База онтологий

Обеспечение информационной совместимости базы онтологий АС с другими системами в задаче организации данной базы достигается за счет:

-использования протокола HTTP для получения доступа к базе онтологий, регламентированного в [29];

-использования языка описания онтологий OWL (Ontology Web Language), для описания онтологий предметных областей, хранящихся с базе онтологий. Данный язык описания онтологий регламентирован в [19];

База индексов документов системы полнотекстового поиска

Обеспечение информационной совместимости базы индексов документов системы полнотекстового поиска АС с другими системами в задаче организации данной базы достигается за счет:

-использования протокола SSH (SCP) для получения доступа к базе индексов документом системы полнотекстового поиска. Данный протокол регламентирован в [15].

База индексируемых образов документов

Обеспечение информационной совместимости базы индексируемых образов документов АС с другими системами в задаче организации данной базы достигается за счет:

-использования протокола HTTP для получения доступа к базе индексируемых образов документов, регламентированного в [29];

-использования формата HTML для хранения индексируемых образов документов, регламентированного в [14];

Словари сервиса морфологии

Обеспечение информационной совместимости используемых в АС словарей сервисам морфологии с другими системами в задаче организации данной базы достигается за счет:

-в случае использования внешнего сервиса морфологии - за счет использования протокола HTTP для получения доступа к сервису морфологии, регламентированного в [17];

Файлы конфигурации системы

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

Лог-файлы работы системы

Обеспечение информационной совместимости лог-файлов работы АС с другими системами в задаче организации данных файлов достигается за счет:

-использования протокола SSH (SCP) для доступа к данным файлам, регламентированного в [15];

-использования текстового формата (Plain Text) для хранения содержимого данных файлов в кодировке UTF-8;

Организация сбора и передачи информации

Источники и носители информации

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

Источником информации для базы данных документов системы является разработанный загрузчик метаинформации документов (OntoLoader), предназначенный для:

-загрузки в базу данных новых коллекций документов (их метаинформации);

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

-редактирования рубрик и ключевых слов документов;

Принципы работы данного программного обеспечения не регламентируются в Настоящем Документе.

Общие требования к организации сбора, передачи, контроля и корректировки информации

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

Организация внутримашинной информационной базы

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

Принципы построения внутримашинной информационной базы

База данных документов системы предназначена для:

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

-хранения метаинформации документов, используемых в процессе поиска;

-хранения схем классификаторов документов;

-хранения истории поисковых запросов и сформированных расширенных поисковых запросов;

-хранения информации о предметных областях, рубриках, ключевых словах и соответствующих им онтологиях

Данная база данных реализована с использованием СУБД MySQL. Доступ к базе данных осуществляется по протоколу СУБД, регламентированному в соответствующей документации. В качестве языка управления данными используется язык SQL стандарта ANSI SQL-92.

Данная база одержит следующие таблицы:

-Документ (doc). Таблица предназначена для хранения информации о документе системы, используемом в процессах индексации и поиска. Содержит следующие поля:

Таблица 5 - Поля таблицы "doc"

Имя поля в таблицеЗначениеОписаниеdocument_idКод документаУникальный идентификатор документа в системе. Суррогатный ключ. document_syslinkСистемная ссылкаУказатель на поисковой образ документа, используемый для индексации документа системой полнотекстового поиска. Представляет собой ссылку на локальный файл. document_weblinkWeb-ссылкаУказатель на документ, используемый для отображения в списке результатов поиска. Представляет собой ссылку на web-страницу с документом.

-Класс документа (class). Таблица предназначена для описания классов документов. Содержит следующие поля:

Таблица 6 - Поля таблицы "class"

Имя поля в таблицеЗначениеОписаниеclass_idКод классаУникальный идентификатор класса документа в системе. Суррогатный ключ. class_nameИмя классаУникальное имя класса в системе. Записывается латинскими символами. Альтернативный ключ. class_descriptionОписание классаТекстовое описание класса. class_versionВерсия классаНомер версии конфигурации классаclass_real_filename_fieldИмя поля реального названия файлаИмя поля в метаинформации документа, содержащего реальное имя файлаclass_use_private_tablesИспользование собственных таблицРешение использования собственных таблиц для записи полей документов данного класса либо использовать общие таблицы полей, встречающихся в разных классахclass_url_prefixURL-префикс классаURL-адрес, указывающий на расположение документов класса

-Поле документа (field). Таблица предназначена для хранения значений полей документов. Содержит следующие поля:

Таблица 7 - Поля таблицы "field"

Имя поля в таблицеЗначениеОписаниеfield_idКод поляУникальный идентификатор поля в системе. Суррогатный ключ. field_hdr_nameИмя поля в HDRИмя данного поля в HDR-файлах документовfield_rus_nameИмя поля на русскомИмя данного поля на русском языке для отображения в карточке документа. field_table_nameИмя таблицы поляИмя таблицы в базе данных, хранящей значения данного поля для документовfield_datatypeТип данных поляТип данных метаинформации документа, содержащейся в данном поле (таблице поля) field_table_existСуществование таблицыУказание на существование созданной таблицы данного поля в базе данных

-Рубрика документа (heading). Таблица предназначена для хранения списка рубрик документов. Содержит следующие поля:

Таблица 8 - Поля таблицы "heading"

Имя поля в таблицеЗначениеОписаниеheading_idКод рубрикиУникальный идентификатор рубрики в системе. Суррогатный ключ. heading_textТекст рубрикиТекстовое название рубрикиheading_list_codeКод рубрики в спискеНомер рубрики указываемый в списке (дереве) рубрикатораheading_descriptionОписание рубрикиТекстовое описание рубрикиheading_docs_quantityКоличество документов рубрикиКоличество документов в системе, соответствующих данной рубрикеheading_parent_idКод родительской рубрикиУказатель на родительскую рубрику в дереве рубрикатораdomain_idКод предметной областиУказатель на предметную область, к которой принадлежит данная рубрика

-Ключевое слово (keyword). Таблица предназначена для хранения ключевых слов каждой из рубрик. Содержит следующие поля:

Таблица 9 - Поля таблицы "keyword"

Имя поля в таблицеЗначениеОписаниеkeyword_idКод ключевого словаУникальный идентификатор ключевого слова в системе. Суррогатный ключ. keyword_textТекст ключевого словаТекстовое значение ключевого слова в нормальной форме (им. п., ед. ч.) keyword_descriptionОписание ключевого словаТекстовое описание ключевого словаkeyword_docs_quantityКоличество документов ключевого словаКоличество документов в системе, соответствующих данному ключевому слову

-Морфология ключевого слова (morphology). Таблица предназначена для хранения морфологических форм ключевых слов с целью ускорения получения доступа к необходимым формам нужного ключевого слова. Содержит следующие поля:

Таблица 10 - Поля таблицы "morphology"

Имя поля в таблицеЗначениеОписаниеmorphology_idКод морфологической формы (словоформы) Уникальный идентификатор морфологической формы в системе. Суррогатный ключmorphology_wordform_typeТип словоформыОписание вида словоформы (падеж, число) morphology_word_textТекст словоформыТекстовое представление словоформы

-Онтология (ontology). Таблица предназначена для хранения метаинформации имеющихся в базе системы онтологий. Содержит следующие поля:

Таблица 11 - Поля таблицы "ontology"

Имя поля в таблицеЗначениеОписаниеontology_idКод онтологииУникальный идентификатор онтологии в системе. Суррогатный ключontology_typeТип онтологииОписание типа онтологии (в текущей версии системы - "Онтология предметной области") ontology_nameНазвание онтологииТекстовое название онтологииontology_urlURL онтологииАдрес OWL-файла онтологии в базе онтологий системыontology_versionВерсия онтлогииНомер версии онтологииontology_descriptionОписание онтологииТекстовое описание онтологииdomain_idКод предметной областиУказатель на предметную область онтологии

-Предметная область (domain). Таблица предназначена для хранения списка предметных областей. Содержит следующие поля:

Таблица 12 - Поля таблицы "domain"

Имя поля в таблицеЗначениеОписаниеdomain_idКод предметной областиУникальный идентификатор предметной области в системе. Суррогатный ключdomain_docs_quantityКоличество документов предметной областиКоличество документов в системе, соответствующих данной предметной областиdomain_nameИмя предметной областиПолное текстовое название предметной области

-Поиск (search). Таблица предназначена для хранения списка пользовательских поисковых запросов. Содержит следующие поля:

Таблица 13 - Поля таблицы "search"

Имя поля в таблицеЗначениеОписаниеsearch_idКод поискаУникальный идентификатор экземпляра поиска в системе. Суррогатный ключsearch_source_queryИсходный запросТекст исходного поискового запросаsearch_creation_dateДата созданияДата создания поискового запросаsearch_begin_timeВремя началаВремя начала выполнения обработки запросаsearch_end_timeВремя завершенияВремя завершения выполнения обработки запросаsearch_current_stateТекущее состояниеТекущие состояние процесса выполнения обработки запроса

-Файл (file). Таблица предназначена для хранения списка прикрепленных к документам в системе файлов: изображения, таблицы и т.д. Содержит следующие поля:

Таблица 14 - Поля таблицы "file"

Имя поля в таблицеЗначениеОписаниеfile_idКод файлаУникальный идентификатор файла в системе. Суррогатный ключfile_nameИмя файлаТекстовое имя файлаfile_weblinkweb-ссылкаСетевая ссылка на файлfile_syslinkСистемная ссылкаСистемная ссылка на файлfile_descriptionОписание файлаТекстовое описание файлаfile_typeТип файлаТекстовое описание типа файлаfile_attributesАтрибуты файлаТекстовое описание атрибутов файла

-Поисковой запрос (query). Таблица предназначена для хранения сформированных в процессе обработки пользовательского поискового запроса новых поисковых запросов. Содержит следующие поля:

Таблица 15 - Поля таблицы "query"

Имя поля в таблицеЗначениеОписаниеquery_idКод запросаУникальный идентификатор запроса в системе. Суррогатный ключquery_textТекст запросаТекст поискового запросаquery_priorityПриоритет запросаПриоритет поискового запроса. search_idКод поискаУказатель на экземпляр объекта поиска, вызвавший формирование данного запроса

Структура внутримашинной информационной базы

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

Рисунок 5 - Логическая модель данных базы данных документов системы

Реляционная схема базы данных документов системы приведена на рис. 6.

Рисунок 6 - Реляционная схема базы данных документов системы

База онтологий

Принципы построения внутримашинной информационной базы

База данных онтологий предметных областей системы предназначается для:

-хранения и учета данных всех онтологий системы;

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

Структура внутримашинной информационной базы

Данная база представляет собой иерархическую структура каталогов, каждый из которых относится к определенной предметной области и хранит соответствующие OWL-файлы онтологий, доступ к которым осуществляется по протоколу HTTP [29].

База индексов документов системы

Принципы построения внутримашинной информационной базы

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

Структура внутримашинной информационной базы

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

База индексируемых образов документов системы

Принципы построения внутримашинной информационной базы

База индексируемых образов документов системы представляет собой массив текстовых (или иных, содержащих текст форматов) файлов в кодировке UTF-8, содержимое которых индексируется системой полнотекстового поиска для построения базы индексов документов системы.

Структура внутримашинной информационной базы

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

База словарей сервиса морфологии

База словарей сервиса морфологии не регламентируется в Настоящем Документе в силу отсутствия необходимости прямого взаимодействия подсистемы поиска с базой данных словарей сервиса морфологии. Формат данной базы регламентируется в документации к программному обеспечению, реализующему функции сервиса морфологии [17].

База файлов конфигурации системы

Принципы построения внутримашинной информационной базы

База файлов конфигурации системы представляет собой совокупность текстовых конфигурационных файлов в кодировке UTF-8, используемых подсистемой поиска и вспомогательными системами для обеспечения корректного функционирования системы. Конфигурации, входящие в состав базы файлов конфигурации системы:

-Конфигурация системы полнотекстового поиска. Используется системой полнотекстового поиска для определения параметров индексирования и поиска документов. Конфигурация системы полнотекстового поиска описывается в POSIX-совместимом формате и регламентируется в [16]. Пример конфигурационного файла приведен в приложении к Настоящему Документу.

-Конфигурация подсистемы поиска. Используется подсистемой поиска для определения используемой системы полнотекстового поиска, базы данных документов, сервиса морфологии и параметров подключения к ним. Конфигурация подсистемы поиска описывается в POSIX-совместимом формате и регламентируется Настоящем Документе. Данная конфигурация включает в себя:

Таблица 16 - Состав конфигурации подсистемы поиска

Имя поляОписаниеКонфигурация модуля морфологической обработки поискового запросаmorpho_typeТип используемой системы морфологииmorpho_serverАдрес сервера сервиса морфологииmorpho_portПорт сервиса морфологии на сервереmorpho_minМинимальное число обрабатываемых элементов пользовательского поискового запроса, необходимое для инициализации процесса морфологической обработки запроса. morpho_maxМаксимальное число обрабатываемых элементов пользовательского поискового запросаКонфигурации модуля онтологической обработки поискового запросаonto_typeТип используемой базы онтологий системыonto_serverАдрес сервера базы онтологий системыonto_portПорт базы онтологий системы на сервереonto_maxМаксимальное число используемых в процессе онтологической обработки поискового запроса онтологийКонфигурация модуля поиска документовsearch_typeТип используемой системы полнотекстового поискаsearch_serverАдрес сервера системы полнотекстового поиска системыsearch_portПорт системы полнотекстового поиска системыsearch_indexБаза индексов документов, используемая для поиска документовsearch_sortМетод сортировки результатов поискаsearch_maxМаксимальное число загружаемых результатов поискаsearch_paramДополнительные параметры использования системы полнотекстового поискаКонфигурация модуля формирования дополнительных (расширенных) поисковых запросовquery_minМинимальное число элементов запросаquery_maxМаксимальное число элементов запросаКонфигурация модуля документов системыdb_typeТип используемой базы данных документов системыdb_serverАдрес сервера базы данных документов системыdb_nameИмя схемы базы данных документов системыdb_userИмя пользователя при подключении к базе данных документов системыdb_passПароль аутентификации при подключении к базе данных документов системыdb_res_typeТим формируемого списка результатов поиска

Пример конфигурационного файла подсистемы поиска приводится в приложении к Настоящему Документу.

-Конфигурация системы логирования процесса обработки поискового запроса. Используется системой логирования процесса обработки поискового запроса для определения параметров ведения лог-журналов процессов обработки поисковых запросов. Конфигурация системы логирования процесса обработки поискового запроса регламентируется в документации к системе логирования процесса обработки поискового запроса [38]. Пример конфигурационного файла приведен в приложении к Настоящему Документу;

-Конфигурация СУБД. Используется СУБД для определения параметров функционирования базы данных документов системы. Конфигурация СУБД описывается в POSIX-совместимом формате [16] и регламентируется в [18]. Пример конфигурационного файла приведен в приложении к Настоящему Документу.

Структура внутримашинной информационной базы

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

База лог-файлов работы системы

Принципы построения внутримашинной информационной базы

База лог-файлов работы системы представляет собой коллекцию текстовых файлов в кодировке UTF-8, используемых для ведения лог-журнала (протокола) работы подсистемы поиска. Синтаксис лог-файла работы системы регламентируется в документации к системе логирования процесса обработки поискового запроса [38].

Структура внутримашинной информационной базы

База лог-файлов работы системы представляет собой иерархически организованную структуру каталогов, каждый из которых предназначается для хранения лог-файлов работы системы за определенный период времени (определяется администратором системы).

Организация внемашинной информационной базы

В качестве внемашинной информационной базы выступает:

-Рабочая документация пользователя системы;

-Рабочая документация администратора системы;

-Рабочая документация сотрудника обслуживающего персонала системы;

-Рабочая документация разработчика системы;

Данное информационное обеспечение представляет собой коллекцию соответствующих документов в электронном (Microsoft Office Word Document 2003 (*. doc)) и распечатанном бумажном на листах А4 форматах, хранящуюся у администратора системы или ответственного лица.

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

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

5.4 Описание программного обеспечения

Структура программного обеспечения

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

Структура программного обеспечения подсистемы реализации интеллектуального поиска разработана с т. з. модульного и объектно-ориентированного подходов. Диаграмма классов подсистемы реализации интеллектуального поиска приводится на рис. 7.

Рисунок 7 - Диаграмма классов подсистемы реализации интеллектуального поиска

Данная диаграмма включает в следующие классы:

Классы уровня бизнес-логики интеллектуального поиска:

-Класс "SearchCore". Представляет собой монолитную реализацию Поискового ядра;

-Класс "Module". Представляет собой абстрактный образ функционального модуля системы. Является абстрактным и используется только на унификации модулей подсистемы;

-Класс "MorphologyModule". Представляет собой монолитную реализацию Модуля морфологии;

-Класс "OntologyModule". Представляет собой монолитную реализацию Модуля онтологии;

-Класс "QueryFormingModule". Представляет собой монолитную реализацию Модуля формирования запросов;

-Класс "SearchModule". Представляет собой монолитную реализацию Модуля поиска;

-Класс "DocumentsModule". Представляет собой монолитную реализацию Модуля документов;

Классы уровня данных:

-Класс "DataSource". Представляет собой абстрактный образ источника данных для конкретного модуля системы. Является абстрактным и используется только для унификации источников данных подсистемы;

-Класс "MorphologyModuleDataSource". Представляет собой реализацию источника данных для реализации морфологических операций;

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

-Класс "SearchModuleDataSource". Представляет собой реализацию источника данных для реализации поисковых операций;

-Класс "DocumentModuleDataSource". Представляет собой монолитную реализацию источника данных для операций с документами;

-Класс "ExternalSystemInterface". Представляет собой абстрактный образ интерфейса к внешней системе, используемой в процессе обработки поискового запроса. Является абстрактным и используется только для унификации интерфейсов к внешним системам, используемым подсистемой реализации интеллектуального поиска;

-Класс "MorphologyModule". Представляет собой интерфейс доступа к сервису морфологии. В текущей версии реализации прототипа системы интеллектуального поиска не используется в силу упрощения процесса морфологической обработки запроса и использования внутренней программной подсистемы морфологии;

-Класс "OntologyInterface". Представляет собой интерфейс доступа к базе онтологий;

-Класс "SearchEngineInterface". Представляет собой интерфейс доступа к системе полнотекстового поиска;

-Класс "DataBaseInterface". Представляет собой интерфейс доступа к СУБД;

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

-Структура "SearchObject". Представляет собой временное хранилище всех данных, связанных с пользовательским поисковым запросом;

-Структура "SearchQueryWithResults". Представляет собой временное хранилище поискового (исходного или сгенерированного системой в процессе генерации дополнительных (расширенных)) запроса и списка результатов, найденных при выполнении поиска по этому запросу;

-Структура "SearchResult". Представляет собой временное хранилище данных документа-результата поиска;

-Структура "DocumentField". Представляет собой временное хранилище единицы метаинформации документа-результата поиска.

Функции программного обеспечения

Функции программного обеспечения регламентируются в п.3.4.3 "Методы и средства разработки программного обеспечения", п.3.4.4 "Операционная система", п.3.4.5 "Средства, расширяющие возможности операционной системы" Настоящего Документа.

Методы и средства разработки программного обеспечения

В процессе разработки системы использовались:

-Язык программирования Java [26] - функциональные компоненты системы реализации интеллектуального поиска;

-Технология JavaServer Pages (JSP) [27] - компоненты графического интерфейса системы реализации интеллектуального поиска;

-Структурированный язык запросов SQL [28] - выполнение запросов к базе данных документов системы;

-Язык разметки гипертекста HTML [14] - компоненты графического интерфейса системы реализации интеллектуального поиска;

-Язык скриптов JavaScript [30] - элементы контроллера системы реализации интеллектуального поиска;

-Унифицированный язык моделирования UML [31] - описание и документирование архитектуры и методов функционирования системы;

-Visual Paradigm for UML Enterprise Edition 7.2 [32] - описание и документирование архитектуры и методов функционирования системы;

-Embarcadero ER/Studio 8.0.3 [33] - проектирование модели данных и генерация ее реляционной схемы;

-NetBeans IDE 7.0.1 [34] - реализация функциональных компонентов системы;

-Log4j [38] - система логирования сообщений в Java;

-Sphinx Java API [36] - API-интерфейсы системы полнотекстового поиска для Java;

-MySQL Java Connector [37] - API-интерфейсы СУБД MySQL для Java;

-OWL API [19] - API интерфейсы OWL для Java;

-Morphology API [17] - API интерфейсы морфологии для Java.

Операционная система

Операционной системой, используемой для обеспечения выполнения всех функций системы является Debian GNU/Linux 6.0 Squeeze i386. Данный выбор обусловлен:

-высокой надежностью данной операционной системы;

-свободным распространением данной операционной системы в соответствии с лицензией GNU GPL;

-открытыми стандартами данной операционной системы;

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

-пользовательской документацией Debian GNU/Linux [25];

-параметрами функционирования системы, приведенными в приложении к Настоящему Документу;

Средства, расширяющие возможности операционной системы

Apache HTTP-сервер

Кроссплатформенный свободно распространяемый Web-сервер. В разработанной системе применяется с целью:

-предоставления к графическому Web-интерфейсу системы;

-предоставления доступа к API-интерфейсам системы;

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

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

Установка и конфигурирование Web-сервера Apache производится в соответствии с:

-пользовательской документацией к Web-серверу Apache [21];

-параметрами функционирования системы, приведенными в приложении к Настоящему Документы;

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

OpenSSH-сервер

Набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH. В разработанной системе применяется с целью:

-предоставления доступа к операционной системе, под управлением которой работает система. Данный доступ реализуется для обеспечения возможности администрирования системы;

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

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

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

Установка и конфигурирование OpenSSH производится в соответствии с:

-пользовательской документацией к OpenSSH [22];

-параметрами функционирования системы, приведенными в приложении к Настоящему Документу;

Данное программное обеспечение должно предоставлять доступ к использующей его системе про протоколу SSH на порт 22. Особенности использования данного программного обеспечения какой-либо системой (подсистемой) регламентируются в документации к этой системе (подсистеме).

Система управления базами данных MySQL

Кроссплатформенная свободно распространяемая система управления базами данных.

В разработанной системе применяется с целью:

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

Установка и конфигурирование системы управления базами данных MySQL производится в соответствии с:

-пользовательской документацией к СУБД MySQL;

-параметрами функционирования системы, приведенными в приложении к Настоящему Документу;

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

Apache Tomcat

Контейнер сервлетов, реализующий спецификацию сервлетов и спецификацию JavaServer Pages (JSP). В разработанной системе применяется с целью:

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

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

Установка и конфигурирование Apache Tomcat производится в соответствии с:

-пользовательской документацией к Apache Tomcat [23];

-параметрами функционирования системы, приведенными в приложении к Настоящему Документу;

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

Java Virtual Machine

Виртуальная машина Java, основная часть исполняющей системы Java - Java Runtime Environment (JRE). В разработанной системе применяется с целью:

-обеспечения функционирования компонентов системы, реализованных с использованием языка программирования Java (подсистема реализации интеллектуального поиска).

Установка и конфигурирование Java Virtual Machine производится в соответствии с:

-пользовательской документацией Java Virtual Machine [24];

-параметрами функционирования системы, приведенными в приложении к Настоящему Документу.

Данное программное обеспечение должно обеспечивать выполнение JAR-файлов системы.

5.5 Описание алгоритма (проектной процедуры)

Алгоритм онтологической обработки поискового запроса

Название и характеристика

Назначение алгоритма

Алгоритм онтологической обработки поискового запроса предназначен для осуществления "поиска верхнего уровня" - поиска в указанной онтологии предметной области указанных типов элементов относительно элементов поискового запроса и формирования списков найденных элементов.

Обозначение документа "Описание постановки задач"

Данный документ приведен в Техническом Задании на разработку системы в п. ХХ.

Сведения о процессе (объекте), при управлении которым используется алгоритм

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

Ограничения на возможность и условия применения алгоритма

Условиями функционирования настоящего алгоритма являются:

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

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

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

-наличие доступа к базе онтологий;

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

Общие требования к входным и выходным данным

Требования к условиям функционирования настоящего алгоритма в зависимости от наличия входных данных регламентируются в п.3.5.1.1.4 Настоящего Документа.

Общие требования к входным данным алгоритма:

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

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

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

Перечисленные данные должны входить в объект типа SearchObject и регламентируется в п.5.2.1.2 "Используемая информация" Настоящего Документа.

Общие требования к выходным данным алгоритма:

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

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

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

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

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

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

Используемая информация

Требования к используемым (входным) данным регламентируются в п.3.5.1.1.5 "Общие требования к входным и выходным данным" Настоящего Документа. Входные данные должны представлять собой объект класса SearchObject, диаграмма которого приведена на рис.8:

Рисунок 8 - Диаграмма класса SearchObject

Атрибуты объекта класса SearchObject:

-_searchId - уникальный идентификатор процесса поиска в системе;

-_query - исходный поисковой запрос;

-_norm_query - нормализованный поисковой запрос;

-_words_forms - формы слов (элементов) исходного поискового запроса;

-_searchQueries - массив поисковых запросов (исходный и сгенерированные);

-_searchQueriesQuantity - количество поисковых запросов;

-_ontoElemQuantity - количество элементов в массиве сформированных в результате онтологической обработки поискового запроса объектов класса OntologyElementsCollection;

-_queryElements - список нормализованных элементов исходного поискового запроса;

-_usedOntologies - список используемых в процессе онтологической обработки запроса онтологий;

-_ontoTypes - список искомых в процессе онтологической обработки запроса элементов онтологии предметной области;

-_ontoElements - массив сформированных в результате онтологической обработки поискового запроса объектов класса OntologyElementsCollection.

Методы объекта класса SearchObject:

-getResources () - функция выделения памяти для атрибутов объекта класса SearchObject;

-clearResources () - функция освобождения (очистки) памяти, используемой атрибутами объекта класса SearchObject.

Массивы информации, сформированные из входных сообщений

Массивы информации, сформированные из входных сообщений регламентируются в п.3.5.1.3.1 "Массивы информации и (или) сигналы, формируемые для выдачи выходных сообщений" Настоящего Документа по причине упрощения схемы реализации алгоритма с генерацией выходных массивов информации "на лету" без генерации "промежуточных" ("временных") массивов данных.

Результаты решения

Результаты решения регламентируются в п.3.5.1.1.5 "Общие требования к входным и выходным сигналам", п.3.5.1.3.1 "Массивы информации и (или) сигналы, формируемые для выдачи выходных сообщений", п.3.5.1.3.2 "Массивы информации, сохраняемой для решения данной и других задач АС" Настоящего Документа.

Массивы информации и (или) сигналы, формируемые для выдачи выходных сообщений

Массивы информации, формируемые для выдачи выходных сообщений регламентируются в п.3.5.1.1.5 "Общение требования к входным и выходным данным" Настоящего Документа. Данный массив информация должен представлять собой массив объектов класса OntologyElementsCollection, диаграмма которого приведена на рис.9.

Рисунок 9 - Диаграмма класса OntologyElementsCollection

Атрибуты объекта класса OntologyElementsCollection:

-_ontology - идентификатор онтологии;

-_type - тип искомых элементов (связей);

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

-_sourceElement - нормализованный элемент исходного запроса;

-_elements - список найденных в онтологии предметной области элементов.

Массивы информации, сохраняемой для решения данной и других задач АС

Массивом информации, сохраняемым для решения данной или других задач АС является массив выходных данных, регламентируемый в п.3.5.1.1.5 "Общие требования к входным и выходным данным" и п.3.5.1.3.1 "Массивы информации и (или) сигналы, формируемые для выдачи выходных сообщений" Настоящего Документа. Данные массивы информации сохраняются во входном объекте класса SearchObject, регламентированном в п.3.5.1.1.5 "Общие требования к выходным и выходным данным" и п.3.5.1.2 "Используемая информация" Настоящего Документа.

Математическое описание

Математическое описание данного алгоритма отсутствует и не регламентируется в Настоящем Документе.

Алгоритм решения

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

Рисунок 10 - Диаграмма последовательности процесса онтологической обработки запроса

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

Рисунок 11 - Диаграмма деятельности алгоритма онтологической обработки запроса (высокоуровневая, независимо от архитектуры системы)

Описание логики алгоритма

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

-всех отмеченных для использования в данном алгоритме онтологий;

-всех нормализованных элементов пользовательского поискового запроса;

-всех отмеченных типов искомых в онтологии элементов.

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

Основные шаги выполнения алгоритма с учетом программной архитектуры системы:

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

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

-Передача источником данных интерфейсу базы онтологий названия онтологии;

-Отправка интерфейсом базы онтологий запроса к базе онтологий, направленного на получение OWL-файла указанной в запросе онтологии предметной области;

-Получение интерфейсом базы онтологий OWL-файла запрашиваемой онтологии или кода ошибки в случае ее возникновения (например, отсутствия запрашиваемого OWL-файла онтологии в базе онтологий системы);

-Получение источником данных OWL-файла онтологии;

-Создание источником данных объекта класса Онтологии (Регламентируется спецификой используемой библиотеки для работы с онтологиями) по полученному файлу онтологии;

-Возврат источником данных кода результата выполнения загрузки и чтения OWL-файла онтологии;

-Передача модулем онтологической обработки поискового запроса источнику данных:

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

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

-названия используемой онтологии предметной области;

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

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

-Формирование источником данных списка найденных элементов;

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

-Запись полученного списка найденных элементов онтологии в массив выходных данных алгоритма;

-Возврат ядру системы массива результатов выполнения "поиска первого уровня".

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

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

-шаги 9-14 выполняются для каждого указанного в списке нормализованных элементов исходного поискового запроса значения;

-шаги 9-14 выполняются для каждого указанного в списке искомых типов элементов онтологии значения.

Фрагмент кода модуля онтологической обработки поискового запроса, реализующего данный алгоритм приведен в приложении А.

Соотношения, необходимые для контроля достоверности вычислений

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

Описание связей между частями и операциями алгоритма

Для данного алгоритма описание связей между частями и операциями алгоритма не регламентируется в Настоящем Документе.

Указания о порядке расположения значений или строк в выходных документах

Данные указания регламентируются в п.3.5.1.1.5 "Общие требования к входным и выходным данным" и п.3.5.1.3.1 "Массивы информации и (или) сигналы, формируемые для выдачи выходных сообщений" Настоящего Документа.

6. Рабочая документация

6.1 Руководство пользователя

Введение

Область применения

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

Краткое описание возможностей

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

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

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

-Выполнение поиска по коллекциям документов;

-Формирование списка результатов поиска;

-Предоставление доступа к документам-результатам поиска.

Уровень подготовки пользователя

Пользователь системы должен:

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

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

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

Дополнительные (не обязательные) знания пользователя:

-URL дополнительных онтологий, отсутствующих в системе, которые можно использовать в процессе поиска;

-направления расширения запроса - элементы, которыми необходимо расширить запрос.

Администратор системы должен:

-иметь навыки работы с операционной системой Debian Linux;

-иметь представление об устройстве системы;

-уметь пользоваться программным обеспечением, используемым в системе: Sphinx search engine, OntoLoader, Apache Tomcat, MySQL.

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

Перечень эксплуатационной документации

В состав эксплуатационной документации входит:

-Настоящая Рабочая Документация к системе;

-Рабочая документация к программному обеспечению, обеспечивающему функционирование системы

-Debian Linux 6.0 x86;

-Web-сервер Apache;

-Контейнер сервлетов Tomcat 6.0;

-СУБД MySQL 5.3;

-Sphinx Search Engine 2.0;

-Java EE 1.7;

-Apache Ant 1.8.3;

-Система морфологии УИС "РОССИЯ".

Назначение и условия применения

Программные и аппаратные требования к ссистеме

Требования к аппаратному обеспечению сервера системы:

-Процессор с тактовой частотой не менее 800 МГц;

-Жесткий диск объемом не менее 20 Гб;

-Оперативная память объемом не менее 512 Мб;

-Сетевое соединение (сетевая карта), скоростью подключения к сети не менее 100 Мбит\сек.

Требования к программному обеспечению сервера системы:

-Операционная система Debian Linux x86 версии 6.0;

-Web-сервер Apache версии 2.0;

-Контейнер сервлетов Tomcat версии 6.0;

-Система полнотекстового поиска Spring версии 2.0

-Cервис морфологии УИС "РОССИЯ";

-СУБД MySQL версии 5.3;

Подготовка к работе

Состав дистрибутива

В состав дистрибутива системы входят:

-Программные компоненты системы в формате WAR-файла;

-SQL-скрипт создания базы данных системы;

-Дистрибутив операционной системы Debian Linux 6.0 x86;

-Дистрибутив web-сервера Apache версии 2.0;

-Дистрибутив контейнера сервлетов Tomcat версии 6.0;

-Дистрибутив СУБД MySQL версии 5.3;

-Дистрибутив Java JDK, Java EE версии 1.7;

-Дистрибутив системы полнотекстового поиска Sphinx версии 2.0;

-Дистрибутив системы морфологии УИС "РОССИЯ";

-Дистрибутив утилиты автоматизации Apache Ant версии 1.8.3

-Конфигурационный файл системы полнотекстового поиска Sphinx;

-Конфигурационный файл СУБД MySQL;

-Конфигурационный файл компонентов системы;

-Настоящая рабочая документация системы;

-Скрипт автоматизированной установки и конфигурации (настройки) системы;

-Скрипт самотестирования системы;

-Скрипт тестового набора данных;

-Тестовая коллекция документов;

-Тестовая онтология предметной области.

Запуск системы

Для запуска функционирования системы необходимо:

-Установить на каждый сервер операционную систему Debian Linux 6.0 x86;

-Обеспечить к каждому из серверов доступ по протоколу SSH;

-Установить на сервер баз данных СУБД MySQL 5.3 Допускается установка как с диска с дистрибутивом, так и из специального сетевого репозитория операционной системы;

-Установить на сервер баз данных Web-сервер Apache 2. Допускается установка как с диска с дистрибутивом, так и из специального сетевого репозитория операционной системы;

-Установить на сервер приложения виртуальную машину Java EE 1.7;

-Установить на сервер приложений контейнер сервлетов Tomcat 6.0. Допускается установка как с диска с дистрибутивом, так и из специального сетевого репозитория операционной системы;

-Установить на сервер приложений систему полнотекстового поиска Sphinx 2.0;

-Запустить скрипт установки и конфигурирования системы с диска с дистрибутивом системы. Следовать указания скрипта;

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

В случае успешной установки и конфигурирования системы web-интерфейс системы будет доступен по адресу: [сервер]: 8080/OntoSearcher

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

Контрольный пример

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

-Ввести текст запроса "Оплата жилья";

-Выбрать онтологию предметной области "Государственное управление: Жилищная политика";

-Выбрать искомые типы элементов: Суперклассы, Эквивалентные классы, Субклассы;

-Нажать "Поиск"

В результате выполненных действий будет осуществлен поиск документов и, в результате которого будет представлен список документов-результатов поиска по двум запроса:

-"Оплата жилья" - введенный пользователем запрос;

-"Оплата жилья | Оплата недвижимости | Оплата жилища | Жилищный кредит жилья | Жилищный кредит недвижимости | Жилищный кредит жилища | Ипотека жилья | Ипотека недвижимости | Ипотека жилища | Ипотечный кредит жилья | Ипотечный кредит недвижимости | Ипотечный кредит жилища

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

Заключение

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

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

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

Список используемой литературы

1.ГОСТ 34.601-90. Информационная технология. Автоматизированные системы. Стадии создания.

2.ГОСТ 34.602-89 Информационная технология. Техническое задание на создание автоматизированной системы

.Требования к оформлению квалификационных работ: метод. указания для студентов по направлению 230200 "Информационные системы" / Сост.: А.П. Власов, Н.А. Марчук: Иван. гос. хим. - технол. ун-т. - Иваново, 2010, 35 с.

.Требования к содержанию квалификационных работ: метод. указания для студентов по направлению 230200 "Информационные системы" / сост.: А.П. Власов, С.П. Бобков, Н.И. Терехин: Иван. гос. хим. - технол. ун-т. - Иваново, 2010. - 40 с.

.Леоненков А.В. Нотация и семантика языка UML - #"justify">.Н.В. Лукашевич. Тезаурусы в задачах информационного поиска, М.: Издательство Московского Университета, 2011. - 512 с.

7.О.И. Россеева, Ю.А. Загорулько. Организация эффективного поиска на основе онтологий. Труды Международного семинара Диалог'2001 по компьютерной лингвистике и ее приложениям, т.2, 2001. - #"center">Приложения

Приложение А

Фрагмент программного кода модуля онтологической обработки запроса:

/*

* Project: Domain Ontology Driven Retrieval System

* Organization: SRCC MSU, CIR

* Author: Krylov Al.

*

* Name: Ontology module

* Version: 1.0.0.0

* Date: Marth 2012

*

* Description: This class process ongology-query semantic

*/

package search. modules;

import java. util. ArrayList;

import java. util. Iterator;

import java. util. List;

import java. util. Set;

import java. util. Properties;

import java. io. *;

import search. *;

import org. apache. log4j. *;

import org. semanticweb. owlapi. apibinding. OWLManager;

import org. semanticweb. owlapi. io. *;

import org. semanticweb. owlapi. model. *;

import org. semanticweb. owlapi. reasoner. *;

import org. semanticweb. owlapi. util. SimpleIRIMapper;

import org. semanticweb. owlapi. util. DefaultPrefixManager;

import org. semanticweb. owlapi. io. *;

import org. semanticweb. owlapi. model. *;

import org. semanticweb. owlapi. reasoner. *;

import org. semanticweb. owlapi. util. SimpleIRIMapper;

import org. semanticweb. owlapi. util. DefaultPrefixManager;

/**

*

* @author blook

*/

public class OntologyModule

{

private static Logger logger = Logger. getLogger (SearchModule. class. toString ());

public int FillOntologyQueryElements (SearchObject so)

{

int res = 0;

int onto_elements = 0;. _ontoElements = new OntologyElementsCollection [16];

// for each ontologies in list.

for (String ontology_url: so. _usedOntologies)

{ontology = this. GetOntology (ontology_url);

if (ontology == null)

{

return 6101; // error in ontology loading

}

// for each ontology elements type in list.

for (String query_element: so. _queryElements)

{

for (String onto_type: so. _ontoTypes)

{onto_el_col = new OntologyElementsCollection ();= this. FillQueryElementsByOntology (onto_el_col, onto_type, query_element, ontology);

if (res! = 0) { return res; };. _ontoElements [onto_elements] = onto_el_col;_elements++;

}

}

}. _ontoElemQuantity = onto_elements;

return res;

}

public int FillQueryElementsByOntology (OntologyElementsCollection onto_el_col,onto_type, String element_name, OWLOntology ontology)

{

int res = 0;

// OntologyElementsCollection onto_el_col = new OntologyElementsCollection ();

if (onto_type. equals ("SUB"))

{_el_col. _elements = this. GetSubClassesForElement (element_name, ontology);

}

else if (onto_type. equals ("EQU"))

{_el_col. _elements = this. GetEquivalentClassesForElement (element_name, ontology);

}

else if (onto_type. equals ("SUP"))

{_el_col. _elements = this. GetSuperClassesForElement (element_name, ontology);

}

else

{. error ("Error in ontology elements type list - unknown type: [" + onto_type + "] ");

return 6102; // error in ontology elements type list (unknown type)

}_el_col. _type = onto_type;_el_col. _sourceElement = element_name;_el_col. _ongology = ontology. getOntologyID (). toString (). substring (1, ontology. getOntologyID (). toString (). length () - 1);

return res;

}

public OWLOntology GetOntology (String ontology_url)

{. info ("stat GetOntology. [" + ontology_url + "] ");onto_iri = IRI. create (ontology_url);ontology = null;manager = OWLManager. createOWLOntologyManager ();

try

{= manager. loadOntology (onto_iri);

}

catch (OWLOntologyCreationException ex)

{. error ("Error loading ontology: [" + ontology_url + "] ");

}

return ontology;

}

// finction for filling list of subclsses by ontology element name and ontology object

public List<String> GetSuperClassesForElement (String element_name, OWLOntology ontology)

{. info ("start GetSuperClassesForElement. [" + element_name + "] ");

int res = 0;<String> sup_elements = new ArrayList<String> (); // FIXME! we mast allocated memory in function body

// fixme

// ConsoleProgressMonitor progressMonitor = new ConsoleProgressMonitor ();

// OWLReasonerConfiguration config = new SimpleConfiguration (progressMonitor);manager = OWLManager. createOWLOntologyManager ();fac = manager. getOWLDataFactory ();onto_id = ontology. getOntologyID (). toString (). substring (1, ontology. getOntologyID (). toString (). length () - 1);cls1Iri = IRI. create (onto_id + "#" + element_name);cls1 = fac. getOWLClass (cls1Iri);<OWLClassExpression> classes = cls1. getSuperClasses (ontology);

for (OWLClassExpression cls: classes)

{

// logger. info ("Equivalent class: " + cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));_elements. add (cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));

}

return sup_elements;

}

// finction for filling list of super clsses by ontology element name and ontology object

public List<String> GetSubClassesForElement (String element_name, OWLOntology ontology)

int res = 0;<String> sub_elements = new ArrayList<String> (); // FIXME! we mast allocated memory in function body

// fixme - -

// ConsoleProgressMonitor progressMonitor = new ConsoleProgressMonitor ();

// OWLReasonerConfiguration config = new SimpleConfiguration (progressMonitor);manager = OWLManager. createOWLOntologyManager ();fac = manager. getOWLDataFactory ();onto_id = ontology. getOntologyID (). toString (). substring (1, ontology. getOntologyID (). toString (). length () - 1);cls1Iri = IRI. create (onto_id + "#" + element_name);cls1 = fac. getOWLClass (cls1Iri);<OWLClassExpression> classes = cls1. getSubClasses (ontology);

for (OWLClassExpression cls: classes)

{

// logger. info ("Equivalent class: " + cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));_elements. add (cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));

}

return sub_elements;

}

// function for filling list of equivalent classes by ontology element name and ontology object

public List<String> GetEquivalentClassesForElement (String element_name, OWLOntology ontology)

{. info ("start GetEquivalentClassesForElement. [" + element_name + "] ");

int res = 0;<String> equ_elements = new ArrayList<String> (); // FIXME! we mast allocated memory in function body

// fixme - -

// ConsoleProgressMonitor progressMonitor = new ConsoleProgressMonitor ();

// OWLReasonerConfiguration config = new SimpleConfiguration (progressMonitor);manager = OWLManager. createOWLOntologyManager ();fac = manager. getOWLDataFactory ();onto_id = ontology. getOntologyID (). toString (). substring (1, ontology. getOntologyID (). toString (). length () - 1);cls1Iri = IRI. create (onto_id + "#" + element_name);cls1 = fac. getOWLClass (cls1Iri);<OWLClassExpression> classes = cls1. getEquivalentClasses (ontology);

for (OWLClassExpression cls: classes)

{

// logger. info ("Equivalent class: " + cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));_elements. add (cls. toString (). substring (cls. toString (). indexOf ("#") +1, cls. toString (). length () - 1));

}

return equ_elements;

}

// module testing

public static void main (String [] args)

{onto_url = "#"justify">// String z = localPizza. getOntologyID (). toString (). substring (1, localPizza. getOntologyID (). toString (). length () - 1);test_so = new SearchObject ();_so. getResources ();_so. _query = "Оплата жилья";_so. _queryElements. add ("Р-РёР"СЊРµ");_so. _queryElements. add ("РћРїР"ата");_so. _ontoTypes. add ("SUB");_so. _ontoTypes. add ("EQU");_so. _ontoTypes. add ("SUP");_so. _usedOntologies. add (onto_url);test_onto_mod = new OntologyModule ();

int res = test_onto_mod. FillOntologyQueryElements (test_so);

for (int i = 0; i < test_so. _ontoElemQuantity; i++)

{

// System. out. println ("Ontology: " + test_so. _ontoElements [i]. _ongology);

for (int j = 0; j < test_so. _ontoElements [i]. _elements. size (); j++). out. println (test_so. _ontoElements [i]. _elements. get (j));

}_so. clearResources ();

}

}

Похожие работы

 

Не нашел материала для курсовой или диплома?
Пишем качественные работы
Без плагиата!