"Научный аспект №1-2019" - Технические науки

Web-сервис, реализующий ДСМ-метод

Журавлёв Виктор Викторович – магистрант Омского государственного университета им. Ф.М. Достоевского.

Аннотация: В данной статье описан опыт создания приложения, реализующего работу ДСМ-метода.

Ключевые слова: Веб-приложение, разработка, ДСМ-Метод.

Современный мир постоянно накапливает большое количество информации. Цель накопления может быть различной, от развлекательной, до стратегической. Сейчас нас интересуют знания, полученные в научно-практических целях. В данной работе будет рассмотрен один из методов извлечения новых знаний из массивов уже существующих. Автор ДСМ-метода называет этот процесс knowledge discovery (обнаружение знаний) [1, с. 3]. Предполагается, что знания уже содержатся в исходных данных, остается их только получить. ДСМ-метод позволяет строить гипотезы на основе предыдущего опыта вообще без каких-либо знаний о предметной области. Например, можно сделать выводы относительно свойств некоторых геометрических фигур, совсем ничего не зная об аксиомах геометрии, при этом используя полученные ранее наблюдения о других фигурах.

Серверная часть приложения

Для создания веб-приложения был выбран фреймворк ASP.NET MVC на движке Razor. Файлы представлений в котором не являются статичными, а генерируют ответ каждый раз в зависимости от состояния моделей.

С целью упрощения и ускорения создания оформления на веб-приложении был применен HTML, CSS и Javascript фреймворк Bootstrap. Не стояло задачи делать какой-либо уникальный дизайн, а оформление от Bootstrap по умолчанию выглядит очень хорошо. Фреймворк также позволил сократить трудозатраты на создание адаптивной верстки, при которой сайтом удобно пользоваться на устройствах с различной шириной экрана, и на создание простого меню для сайта.

Клиентская часть приложения

На стороне клиента, использовалась JavaScript библиотека jQuery. Она помогает легко взаимодействовать с деревом элементов браузера, изменять атрибуты элементов, предоставляет удобный интерфейс для AJAX запросов и требуется для работы некоторых других компонентов, используемых в разработке.

Создание таблиц обеспечивает клиентский фреймворк Kendo UI. Встроенный компонент Kendo Grid реализует стандартное поведение таблиц, имеет поддержку серверной пагинации, гибкие настройки и достаточно полную документацию всего функционала на сайте разработчика системы.

Экспорт в Excel производится с помощью интеграции фреймворка Kendo UI и библиотеки JSZip. Библиотека способна сформировать Excel файл сразу на стороне клиента, используя данные из таблиц Kendo Grid. Такой подход уменьшает нагрузку на сервер, снимает необходимость реализовывать экспорт самостоятельно.

База данных

В основной модели данных ДСМ-метода используются следующие сущности:

Отдельные классы для значений свойств и структурных признаков созданы для удобства хранениях их в базе данных. К тому же заранее не известно количество и состав свойств. Для задач, свойств и объектов это свойство: имя (Name), для классов, отвечающих за хранение значения – значение (Value). Отношения между классами показаны ниже (Рис. 1).

 

Рисунок 1. Архитектура классов.

Результат

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

После того, как пользователь зарегистрировался в системе, он попадает на страницу добавления задач. Задачи можно редактировать при помощи таблицы (Рис. 2). Тут доступны все CRUD операции. При удалении задачи будут удалены все связанные с ней записи из базы данных. При клике на название задачи происходит переход на страницу настроек её свойств. Ссылка «объекты» ведет сразу к странице настроек объектов.

Рисунок 2. Страница управления задачами.

На всех скриншотах будет показана работа с известным примером ДСМ-метода из википедии: можно ли описать окружность вокруг прямоугольника. Вывод будет сделать на основе таких структурных признаков как наличие оси симметрии, наличие прямого угла и других. Следующий скриншот показывает страницу после перехода по названию задачи (Рис. 3).

Рисунок 3. Страница настроек свойств задачи.

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

Рисунок 4. Таблица редактирования структурных свойств.

Далее обратим внимание на страницу редактирования объектов. Тут в таблице первый столбец – это название объекта, со второго до предпоследнего – по очереди сначала все свойства, потом все структурные признаки, последний столбец занимает кнопка для удаления элемента. В этой таблице поддерживается массовое редактирование элементов. Ячейки, которые были отредактированы недавно, помечаются красным треугольником, при нажатии на кнопку «Сохранить изменения» на редактирование отправляются сразу все элементы, которые были изменены. Значения структурных свойств могут быть true, или false (во время редактирования появляется галочка). Значения свойств в соответствии с ДСМ-методом: 1, -1, 0, либо не иметь значения. Отсутствие значения означает что его необходимо найти. Так же можно вернуть предыдущие значения ячеек нажав на кнопку «Отменить изменения» (Рис. 5).

Рисунок 5. Страница редактирования объектов задачи.

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

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

Рисунок 6. Таблица с конечным состоянием объектов.

Тут же есть кнопка выгрузки результатов в Excel. Внизу, под таблицей мы видим кнопку «Показать логи вычислений». Выгружаемые в лог записи были подробно рассмотрены во второй главе. Посмотрим какие записи были сделаны во время работы над этой задачей (Рис. 7).

Рисунок 7. Записи в лог.

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

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

Список литературы

  1. Финн В.К. Индуктивные методы Д.С. Милля в системах искусственного интеллекта. Часть I // Искусственный интеллект и принятие решений. №3, 2010. с. 3-21.