Прототип системы интеллектуального поиска документов на основе онтологии предметной области
Создание и развитие университетской информационной системы как тематической электронной библиотеки и базы для исследований и учебных курсов. Общее описание системы. Пользовательский графический интерфейс. Программное обеспечение, руководство пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 24.01.2016 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Сведения о подсистемах, необходимые для обеспечения их функционирования
Для обеспечения функционирования основной подсистемы, реализующей обработку пользовательского поискового запроса необходимо исправное функционирование всех модулей системы а так же смежных систем, используемых данными модулями для реализации соответствующих этапов процесса обработки запроса.
Описание функционирования подсистем и их частей
Функционирование основной подсистемы реализации процесса обработки пользовательского поискового запроса описывается в п.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_weblink |
Web-ссылка |
Указатель на документ, используемый для отображения в списке результатов поиска. Представляет собой ссылку на web-страницу с документом. |
- Класс документа (class). Таблица предназначена для описания классов документов. Содержит следующие поля:
Таблица 6 - Поля таблицы "class"
Имя поля в таблице |
Значение |
Описание |
|
class_id |
Код класса |
Уникальный идентификатор класса документа в системе. Суррогатный ключ. |
|
class_name |
Имя класса |
Уникальное имя класса в системе. Записывается латинскими символами. Альтернативный ключ. |
|
class_description |
Описание класса |
Текстовое описание класса. |
|
class_version |
Версия класса |
Номер версии конфигурации класса |
|
class_real_filename_field |
Имя поля реального названия файла |
Имя поля в метаинформации документа, содержащего реальное имя файла |
|
class_use_private_tables |
Использование собственных таблиц |
Решение использования собственных таблиц для записи полей документов данного класса либо использовать общие таблицы полей, встречающихся в разных классах |
|
class_url_prefix |
URL-префикс класса |
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_url |
URL онтологии |
Адрес 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_weblink |
web-ссылка |
Сетевая ссылка на файл |
|
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 "Используемая информация" Настоящего Документа.
Общие требования к выходным данным алгоритма:
1) Выходные данные должны представлять собой массив списков найденных в каждой онтологии предметной области соответствующих нормализованным элементам исходного поискового запроса указанные типы связей. Каждый список такого вида должен включать:
- уникальный (в системе) идентификатор онтологии предметной области, в которой осуществлялся поиск элементов;
- уникальный (в системе) идентификатор типа искомых в онтологии предметной области элементов, указывающий на тип найденных элементов, содержащихся в данном списке;
- соответствующий нормализованный элемент исходного поискового запроса, соответствующие указанным типом связи которому найденные в онтологии предметной области элементы расположены в данном списке;
- порядковый номер соответствующего нормализованного элемента исходного поискового запроса в строке исходного поискового запроса;
- массив строк, содержащий найденные в указанной онтологии предметной области элементы, указанным типом связи соответствующие указанному нормализованному элементу исходного поискового запроса.
Используемая информация
Требования к используемым (входным) данным регламентируются в п.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 Руководство пользователя
Введение
Область применения
Область применения заключается в выполнении интеллектуального поиска документов в информационной системе.
Краткое описание возможностей
- Предоставление пользователю системы удобного интерфейса для формирования поискового запроса, выбора онтологий, используемых для обработки поискового запроса а так же искомых в онтологиях элементов;
- Выполнение морфологической обработки пользовательского поискового запроса к системе с целью приведения всех элементов (слов) запроса к нормальной форме (им. падеж, единственное число);
- Выполнение онтологической обработки пользовательского поискового запроса - поиск первого уровня. Представляет собой поиск по онтологии предметной области с целью расширения запроса выбранными элементами;
Подобные документы
Развитие информационного бизнеса, электронной коммерции на основе Интернет. Описание предметной области, процессов и типичного хода событий при создании информационной системы виртуального предприятия. Калькуляция разработки электронной торговли.
курсовая работа [872,8 K], добавлен 22.05.2015Разработка программной системы для регистратуры поликлиники; создание базы данных. Описание предметной области: сведения о врачах, пациентах, учет обращений, регистрация обследований и назначенных препаратов. Содержимое таблиц, пользовательский интерфейс.
курсовая работа [6,2 M], добавлен 30.07.2012Логическая и физическая структура базы данных. Аппаратное и программное обеспечение системы. Создание представлений, хранимых процедур, пользовательских функций, триггеров. Описание основной структуры ASP.NET документов. Пользовательский интерфейс.
курсовая работа [4,2 M], добавлен 21.05.2013Программирование полнофункциональной системы учета для предметной области "Концертный зал": построение концептуальной и реляционной моделей базы данных, описание способов реализации запросов и вывода отчета на экран, разработка интерфейса пользователя.
курсовая работа [1,5 M], добавлен 22.11.2010Техническое задание на разработку автоматизированной системы и складского учета управления универсальной торговой базы. Проектирование информационной системы и выбор среды для создания программного продукта. Создание интерфейса и руководство пользователя.
дипломная работа [2,1 M], добавлен 11.07.2015Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Реализация базы данных и серверной части информационной системы склада средствами СУБД Microsoft SQL Server. Анализ предметной области, информационных задач, пользовательской системы. Программа реализации проекта. Выработка требований и ограничений.
курсовая работа [2,4 M], добавлен 15.11.2015Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016Анализ предметной области, главных функций организации. Разработка макета внутренней структуры программного обеспечения информационной системы в виде диаграммы классов. Составление схемы базы данных. Разработка интерфейса и руководства пользователя.
курсовая работа [866,3 K], добавлен 02.06.2015