Проектирование программного обеспечения на базе экспертной системы «Выявление психологических отклонений» | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №23 (313) июнь 2020 г.

Дата публикации: 07.06.2020

Статья просмотрена: 45 раз

Библиографическое описание:

Чалыкина, Е. Г. Проектирование программного обеспечения на базе экспертной системы «Выявление психологических отклонений» / Е. Г. Чалыкина, И. В. Сухан. — Текст : непосредственный // Молодой ученый. — 2020. — № 23 (313). — С. 57-65. — URL: https://moluch.ru/archive/313/71329/ (дата обращения: 16.11.2024).



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

Ключевые слова: экспертные системы, программирование, разработка приложений.

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

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

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

  1. Разграничить права доступ к интерфейсу для обеспечения экспертной оценки результатов;
  2. Учесть необходимость хранения информации о тестируемых для обеспечения беспрепятственного ведения аналитики текущего состояния для конкретных пользователей;
  3. Реализовать обобщенную и развернутую интерпретацию результатов тестирования для удобства конкретизации выборки результатов с отклонениями;
  4. Реализовать интуитивно понятный пользовательский интерфейс.

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

  1. Анализ способов расширения возможностей утвержденного языка разработки (дополнительные модули, среды);
  2. Изменение языка разработки.

Более оправданным решением является п.1, так как:

  1. Имеются явные способы расширения возможностей языка, например, использование более современного и усовершенствованного языка разработки Visual Prolog, который, в свою очередь, является последователем Prolog и позволит удовлетворить поставленным перед ПО проекта требованиям:
    1. Встроенные библиотеки GUI позволяют реализовать интуитивно понятный пользовательский интерфейс;
    2. Включенный в систему интерфейс баз данных (БД) позволит реализовать хранение информации о пользователях и результатах пройденного ими тестирования;
    3. Разграничение доступа возможно реализовать как на уровне БД, так и на уровне приложения.
    4. Дополнительным преимуществом использования Visual prolog является возможность использования парадигмы объектно-ориентированного программирования (ООП), в то время как предшественник данной возможностью не обладает.
  2. Изучение нового языка программирования может понести неоправданные трудозатраты и потери в соотношении время/качество.

В связи с вышесказанным было принято решение о разработке программы на языке Visual prolog, используя одноименную среду разработки Visual prolog 9.02 (релиз 12 марта 2019).

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

  1. Корректность подбора цветов: RGB-кодировка должна быть максимально приближена к оригиналу.
  2. Корректное последовательное перенесение алгоритма анализа ответов пользователя: каждый цвет с соответствующей ему позицией должен быть комплексно исследован в соответствии с последовательностью действий, описанной Люшером;
  3. Большой объем интерпретационных таблиц: необходимо выполнить повсеместную привязку возможных результатов и соответствующих интерпретаций.

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

  1. Решение ограничения 1. В программной реализации тестирования использована кодировка: (1) R:42 G:80 B:119; (2) R:0 G:128 B:113; (3) R:217 G:57 B:33; (4) R: 232 G:193 B:4; (5) R: 169 G:18 B:82; (6) R: 145 G:102 B:85; (7) R: 2 G:24 B:35; (8) R: 158 G:173 B:170; Таблица описанных цветов приведена на рисунке 1.

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

Рис. 1. Карточки цветов Люшера в соответствии с иерархией

Кодировка получена путем анализа оригинальных цветов теста Люшера через вспомогательный ресурс [3].

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

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

Рис. 2. Обобщенная схема работы экспертной системы

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

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

Рис. 3. Определение стрессовой тенденции, компенсации и интенсивности

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

Таблица 1

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

Наименование на схеме

Описания

Правило 4

, где minusA = значение объекта

, где minusA = значение объекта

, где minusA = значение объекта

, где plusC = значение объекта

Правило 5

, где minusA = значение объекта

, где minusA = значение объекта

, где plusC = значение объекта

Правило 6

, где minusA = значение объекта

, где plusC = значение объекта

Описанное представление имеет каждая процедура программы.

  1. Решение ограничения 3. При перенесении интерпретационных таблиц [2, с. 43–88] каждая таблица формально описана в коде в представлении правил. Правила, в свою очередь, разбиты на кластеры, исходя из возможных разбиений. Пример: таблица группы «х» [2, с. 51] в программе представляет собой кластер правил, именуемый group_multipli, к которому производится обращение после получения «решателем» экспертной системы объекта multipli массива тестового протокола. Таким образом, после обработки массивов по правилам, описанным в п. 2, на базе полученных группировок предварительно определяется конкретный кластер и только после этого выполняется поиск интерпретации. Данное решение позволяет значительно сократить ресурсопотребляемость программы и уменьшить время выполнения интерпретации.

После разработки программа была протестирована на наличие логических, грамматических и «экспертных» ошибок.

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

Работа программы для пользователя «Респондент»

При нажатии на ярлык программы открывается следующее окно:

Рис. 4. Форма авторизации

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

Рис. 5. Пояснение к тестированию

В соответствии с рекомендациями тестируемый выбирает цвета на экране в иерархии предпочтения (после выбора цвет исчезает с экрана).

Рис. 6. Получение первого тестового протокола

В соответствии с правилами проведения тестирования по М. Люшеру при получении первого тестового протокола запускается системный таймер.

Рис. 7. Таймер на продолжение тестрования

После окончания времени ожидания открывается форма повторного тестирования (для получения второго тестового протокола).

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

Работа программы для пользователя «Администратор»

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

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

После входа в программу для Администратора открывается следующее окно:

Рис. 8. Форма администрирования списка пользователей

Окно содержит две функциональные вкладки/кнопки: вкладка «Пользователи» и вкладка «Результаты тестирования.

Вкладка «Пользователи» автоматически открыта при входе в программу под пользователем Администратор. Состоит из следующих объектов:

  1. Табличная часть, отражающая информацию о зарегистрированных пользователях, сохраненных в системе администратором, (при первом запуске программы табличная часть пустая);
  2. Две функциональные кнопки: «Создать» и «Удалить».
    1. По кнопке «Создать» открывается окно создания пользователя. Соответствующая форма представлена на рисунке 9.
    2. Кнопка «Удалить» удаляет выделенную строку с пользователем.

Рис. 9. Форма регистрации пользователя

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

Рис. 10. Форма вкладки результатов тестирования

Окно содержит две вкладки/кнопки:

  1. Вкладка «Основное меню» переводит на стартовое окно программы (с открытой вкладкой «Пользователи»);
  2. Вкладка «Интерпретация результата» переводит на заключение о психическом состоянии выделенного пользователя. Пример такого окна представлени на рисунке 11.

Рис. 11. Интерпретация результата тестирования

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

  1. Прием кандидатов на работу/обучение;
  2. Мониторинг психологического состояния работников/ студентов/ учеников с целью своевременного выявления наличия психологических проблем/конфликтов.

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

Литература:

1 Чалыкина, Е. Г., И. В. Сухан. Разработка экспертных систем — Текст: непосредственный // Международный научных журнал «Молодой ученый». — 2016. — № 16 (254). — С. 16–20.

2 Макс, Люшер. Цветовой тест Люшера — Москва: Эксмо, 2005. — 192 c. — Текст: непосредственный.

3 Определить цвет пиксела на картинке онлайн. — Текст: электронный // Онлайн приложения и сервисы: [сайт]. — URL: https://ru.inettools.net/image/opredelit-tsvet-piksela-na-kartinke-onlayn (дата обращения: 19.11.2019).

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


Похожие статьи

Применение экспертных систем для анализа и оценки информационной безопасности

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

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

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

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

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

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

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

Информационная система «Оценка рисков проекта»

В статье рассматривается разработанная информационная система «Оценка рисков проекта», которая позволит автоматизировать процесс аналитика по информационной безопасности.

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

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

Экспертная система профориентации абитуриентов

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

Анализ программных средств, применяемых в образовательных процессах

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

Информационные технологии в электроэнергетике

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

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

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

Похожие статьи

Применение экспертных систем для анализа и оценки информационной безопасности

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

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

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

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

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

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

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

Информационная система «Оценка рисков проекта»

В статье рассматривается разработанная информационная система «Оценка рисков проекта», которая позволит автоматизировать процесс аналитика по информационной безопасности.

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

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

Экспертная система профориентации абитуриентов

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

Анализ программных средств, применяемых в образовательных процессах

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

Информационные технологии в электроэнергетике

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

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

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

Задать вопрос