ВВЕДЕНИЕ 5
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Типология К.Г. Юнга 8
1.2. Анализ аналогичных проектов 8
2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 11
2.1. Рекуррентные нейронные сети 11
2.2. Сверточные нейронные сети 12
2.3. Предварительная обработка аудиофайла 13
2.4. Извлечение признаков 14
3. ПРОЕКТИРОВАНИЕ 17
3.1. Топология нейронной сети 17
3.2. Определение требований 18
3.3. Варианты использования системы 19
3.4. REST API веб-сервиса 20
4. РЕАЛИЗАЦИЯ 23
4.1. Программные средства реализации 23
4.2. Реализация предобработки аудиофайлов 24
4.3. Расширение выборки 25
4.4. Реализация и обучение нейронной сети 26
4.5. Реализация веб-сервера 27
4.5.1 Пакет server.preprocessing 29
4.5.2 Пакет server.classification 31
4.6. Реализация веб-интерфейса 33
4.7. Создание Docker контейнера 36
5. ТЕСТИРОВАНИЕ 37
5.1. Тестирование нейронной сети 37
5.2. Тестирование API 38
5.3. Тестирование веб-интерфейса 41
5.4. Тестирование Docker контейнера 42
ЗАКЛЮЧЕНИЕ 43
ЛИТЕРАТУРА 44
ПРИЛОЖЕНИЯ 46
ПРИЛОЖЕНИЕ А. Код модуля server. Server 46
ПРИЛОЖЕНИЕ Б. Код модуля PreprocessorQueue 50
ПРИЛОЖЕНИЕ В. Код модуля ClassifierQueue 53
В 1921 г. К.Г. Юнг выдвинул теорию о том, что все люди разделяются на несколько психологических типов [1]. Данная типология имеет множество практических применений. В частности, она может использоваться в таких областях как планирование карьеры, управление кадрами. Например, этикам стоит поручать работу с клиентами, они успешны в установлении неформальных связей. Логикам же лучше удается техническая работа. Руководство так же лучше предоставлять логикам, потому что они способны более объективно оценить реальное положение дел и принять верные решения [2].
В общении логики часто оперируют фактами и логическими умозаключениями, в то время как этики в общении уделяют больше внимания эмоциям, жестам, мимике [3]. Исходя из этого, можно предположить, что на основе эмоциональности речи человека можно определить его психотип.
АКТУАЛЬНОСТЬ ТЕМЫ РАБОТЫ
В настоящее время для определения психологического типа человека необходимо либо пройти специальное тестирование, либо воспользоваться услугами профессионального психолога. Результат первого подхода зависим от субъективного мнения тестируемого о себе и может давать неточный результат. Второй подход требует затрат на обучение специалистов, и результат так же может зависеть от субъективного мнения психолога или от его профессиональной подготовки. Поэтому задача автоматизации данного процесса является актуальной. Программная система быстро и точно определять психотип человека и будет лишена недостатков имеющихся способов.
Задача определения психологического подтипа сводится к задаче классификации, с которой на настоящее время успешно справляются нейронные сети.
ЦЕЛИ И ЗАДАЧИ РАБОТЫ
Целью данной работы является разработка веб-сервиса для определения психологического подтипа человека по классификации К.Г. Юнга по аудиозаписи с помощью нейронных сетей.
Для выполнения поставленной цели необходимо решить следующие задачи, перечисленные ниже.
1. Произвести обзор литературы и существующих приложений по предметной области.
2. Подготовить обучающую и тестовую выборки.
3. Выполнить проектирование архитектуры нейронной сети для решения задачи классификации аудиозаписей.
4. Провести обучение и тестирование спроектированной нейронной сети.
5. Разработать и протестировать веб-сервис для распознавания психологического подтипа человека в классификации К.Г. Юнга по аудиозаписи речи.
СТРУКТУРА И ОБЪЕМ РАБОТЫ
Работа состоит из введения, пяти глав, заключения, списка литературы и приложений. Объем работы составляет 55 страниц, объем библиографии - 23 источника, объем приложений - 10 страниц.
СОДЕРЖАНИЕ РАБОТЫ
В первой главе приводятся теоретические сведения о предметной области, а также осуществляется обзор существующих подходов к программному анализу эмоций человека из аудиозаписи речи.
Во второй главе приводятся теоретические основы о рекуррентных и сверточных нейронных сетях, а также описан алгоритм предобработки аудиофайла.
В третьей главе описывается топология нейронной сети, а также архитектура и требования к веб-сервису.
В четвертой главе описаны средства разработки, а также представлены детали реализации алгоритма предобработки аудиофайла, веб-сервиса и нейронной сети.
В пятой главе описывается тестирование нейронной сети и вебсервиса.
В заключении представлены основные результаты выполненной работы и направления, в которых возможны дальнейшие исследования.
В приложениях содержатся листинги с реализацией некоторых частей системы.
В рамках данной работы был разработан веб-сервис, который по аудиозаписи речи позволяет определить психологический подтип человека (этик, логик) в классификации К.Г. Юнга. При этом были решены следующие задачи.
1. Произведен обзор литературы и существующих приложений по предметной области.
2. Подготовлена обучающая и тестовая выборки.
3. Выполнено проектирование архитектуры нейронной сети для решения задачи классификации аудиозаписей.
4. Проведено обучение и тестирование спроектированной нейронной сети.
5. Разработан и протестирован веб-сервис для распознавания психологического подтипа человека в классификации К.Г. Юнга по аудиозаписи речи.
В дальнейшем можно улучшить качество работы системы с помощью расширения выборки. Недостатком имеющейся выборки является то, что в ней имеются записи только одной фразы, а также отсутствуют записи мужской речи. Следовательно, точность распознавания для иных данных может быть ниже ожидаемой.
Также, так как в разработанной системе сервер, предобработчики и классификатор работают независимо друг от друга и общаются через очереди, их можно полностью разделить в отдельные процессы, которые могут работать на разных машинах. Для обмена сообщений в данном случае можно использовать сторонний брокер сообщений.