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

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

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

Авторы: ,

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

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

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

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

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

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



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

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

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

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

После реализации в качестве курсового проекта прототипа экспертной системы [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).

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


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

Эффективный пользовательский интерфейс. Предоставление...

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

Когда прекращать тестирование программ? Критерии...

Критерии работоспособности программ. Эвристики тестирования / А. Д. Дошина, В. В

Далее ПО будет передано на тестирование пользователям, которое будет продолжаться в течение

Эвристики — это быстрые, недорогие способы решения проблемы или принятия решения.

Экспертная система. Классификация. Обзор существующих...

Интерфейс пользователя. ‒ Пользователь. ‒ Интеллектуальный редактор базы знаний.

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

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

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

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

Пользователи — получают ответы (решения) от экспертной системы.

Разработка и использование экспертной системы при выборе...

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

Тестирование графического интерфейса (GUI testing)

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

Это пользовательский интерфейс приложения, который решил, что пользователь будет

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

Автоматизация процесса тестирования программного обеспечения...

Результатом работы программы для рассматриваемого примера будут следующие значения переменных: а равно 2, b равно 4, с равно 30. Дальнейший шаг процесса тестирования, а именно сравнение реальных и ожидаемых результатов работы программы можно автоматизировать.

Разработка системы автоматизированного тестирования

Цель данной работы — разработка системы автоматизированного тестирования, в

Задачи данной работы: рассмотреть теоретические основы тестирования и разработать

После запуска программы выходит окно авторизации, где необходимо ввести логин и пароль (рис. 1)

Технология тестирования программных модулей

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

Чёрный ящик — это техника тестирования, которая позволяет оценить функциональность системы, руководствуясь её спецификацией.

Принципы и правила проектирования пользовательского...

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

Интуитивно понятный интерфейс: программы складываются как мозаика, команды и операторы

Пользовательский интерфейс — комплекс программных и аппаратных средств...

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

Эффективный пользовательский интерфейс. Предоставление...

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

Когда прекращать тестирование программ? Критерии...

Критерии работоспособности программ. Эвристики тестирования / А. Д. Дошина, В. В

Далее ПО будет передано на тестирование пользователям, которое будет продолжаться в течение

Эвристики — это быстрые, недорогие способы решения проблемы или принятия решения.

Экспертная система. Классификация. Обзор существующих...

Интерфейс пользователя. ‒ Пользователь. ‒ Интеллектуальный редактор базы знаний.

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

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

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

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

Пользователи — получают ответы (решения) от экспертной системы.

Разработка и использование экспертной системы при выборе...

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

Тестирование графического интерфейса (GUI testing)

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

Это пользовательский интерфейс приложения, который решил, что пользователь будет

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

Автоматизация процесса тестирования программного обеспечения...

Результатом работы программы для рассматриваемого примера будут следующие значения переменных: а равно 2, b равно 4, с равно 30. Дальнейший шаг процесса тестирования, а именно сравнение реальных и ожидаемых результатов работы программы можно автоматизировать.

Разработка системы автоматизированного тестирования

Цель данной работы — разработка системы автоматизированного тестирования, в

Задачи данной работы: рассмотреть теоретические основы тестирования и разработать

После запуска программы выходит окно авторизации, где необходимо ввести логин и пароль (рис. 1)

Технология тестирования программных модулей

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

Чёрный ящик — это техника тестирования, которая позволяет оценить функциональность системы, руководствуясь её спецификацией.

Принципы и правила проектирования пользовательского...

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

Интуитивно понятный интерфейс: программы складываются как мозаика, команды и операторы

Пользовательский интерфейс — комплекс программных и аппаратных средств...

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