14 November 2018

Концепция голосового интерфейса управления вычислительной системой для помощи людям с нарушениями речи

PythonMachine learningArtificial IntelligenceSoundVoice user interfaces
image

Введение


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

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

Задачи, решаемые в работе:

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

Методы решения. Для решения поставленных задач используются методы системного анализа, математического моделирования, машинного обучения.

Голосовой интерфейс как способ управления вычислительной системой


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

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

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

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

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

Кроме этого, существовало желание сделать систему, не зависящую от диктора. Это весьма сложная задача, поскольку у каждого человека индивидуальная манера произнесения: темп речи, тембр голоса, особенности произношения. Такие различия называются вариативностью речи. Чтобы ее учесть, были предложены новые статистические методы, опирающиеся в основном на математические аппараты Скрытых Марковских Моделей (СММ) или Искусственных Нейронных сетей. Наилучшие результаты достигнуты при комбинировании этих двух методов. Вместо создания эталонов для каждого слова, создаются эталоны отдельных звуков, из которых состоят слова, так называемые акустические модели. Акустические модели формируются путём статистической обработки больших речевых баз данных, содержащих записи речи сотен людей. В существующих системах распознавания речи используются два принципиально разных подхода:

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

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

Обзор различных интернет-источников позволяет выделить следующие программные продукты, решающие задачи распознавания речи и их основные характеристики:

Горыныч ПРОФ 3.0 — это простая в использовании программа, для распознавания устной речи и набора текста путем диктовки с поддержкой русского языка. В ее основе лежат российские разработки в области распознавания устной речи.

Характеристики:
  • дикторозависимость;
  • языкозависимость (русский язык и английский язык);
  • точность распознавания зависит от ядра системы американской программы «Dragon Dictate»;
  • предоставляет средства голосового управления отдельными функциями операционной системы, текстовых редакторов и прикладных программ;
  • требует обучения.

VoiceNavigator — это высокотехнологичное решение для контакт-центров, предназначенное для построения Систем Голосового Самообслуживания (СГС). VoiceNavigator позволяет автоматически обрабатывать вызовы с помощью технологий синтеза и распознавания речи.

Характеристики:

  • дикторонезависимость;
  • устойчивость к окружающим шумам и помехам в телефонном канале;
  • распознавание русской речи работает с надежностью 97% (словарь 100 слов).

Speereo Speech Recognition — распознавание речи происходит непосредственно на устройстве, а не на сервере, что является ключевым преимуществом, по мнению разработчиков.

Характеристики:

  • распознавание русской речи работает с надежностью около 95%;
  • дикторонезависимость;
  • словарный запас около 150 тыс. слов;
  • одновременная поддержка нескольких языков;
  • компактный размер движка.Sakrament ASR Engine (разработка компании «Сакрамент»)

Sakrament ASR Engine — (разработка компании «Сакрамент») — технология распознавания речи используется при создании средств речевого управления – программ, управляющих действиями компьютера или другого электронного устройства с помощью голосовых команд, а также при организации телефонных справочных и информационных служб.

Характеристики:
  • дикторонезависимость;
  • языконезависимость;
  • точность распознавания достигает 95-98%;
  • распознавание речи в виде выражений и небольших предложений;
  • нет возможности обучения.

Google Voice Search — с недавнего времени голосовой поиск от Google встроен в браузер Google Chrome, что позволяет использовать этот сервис на различных платформах.

Характеристики:

  • поддержка русского языка;
  • возможность встраивать распознавание речи на веб-ресурсы;
  • голосовые команды, словосочетания;
  • для работы необходимо постоянное подключение к сети internet.

Dragon NaturallySpeaking — (компания «Nuance») Мировой лидер в программном обеспечении по распознаванию человеческой речи. Возможность создавать новые документы, отправлять электронную почту, управлять популярными браузерами и разнообразными приложениями посредством голосовых команд.

Характеристики:

  • отсутствует поддержка русского языка;
  • точность распознавания до 99%.

ViaVoice — (компания «IBM») представляет собой программный продукт для аппаратных реализаций. Компания ProVox Technologies на основе этого ядра создала систему для диктовки отчетов врачей-радиологов VoxReports.

Характеристики:

  • точность распознавания достигает 95-98%;
  • дикторонезависимость;
  • словарь системы ограничен набором специфических терминов.

Sphinx — известное и работоспособное из открытых программных продуктов для распознавания речи на сегодняшний день. Разработка ведется в университете Карнеги-Меллона, распространяется на условиях лицензии Berkley Software Distribution (BSD) и доступен как для коммерческого, так и для некоммерческого использования.

Характеристики:

  • дикторонезависимость;
  • распознавание слитной речи;
  • обучаемость;
  • наличие версии для встраиваемых систем — Pocket Sphinx.

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

Математический аппарат распознавания состояния диктора и его особенностей


Для решения задачи, поставленной в работе, проанализируем требования к системе.

Система должна быть:

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

Голосовой интерфейс должен быть: дикторозависимым, с ограниченным набором словаря.

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

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

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

Квантование – это процесс замены реальных значений амплитуды сигнала приближенными с некоторой точностью значениями. Каждый из 2N возможных уровней называется уровнем квантования, а расстояние между двумя ближайшими уровнями квантования называется шагом квантования. Если амплитудная шкала разбита на уровни линейно, квантование называют линейным или однородным.

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

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

Самоорганизующаяся карта Кохонена — нейронная сеть с обучением без учителя, выполняющая задачу визуализации и кластеризации. Является методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования, выявление наборов независимых признаков, поиска закономерностей в больших массивах данных, разработке компьютерных игр. Является одной из версий нейронных сетей Кохонена.

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

Нейронная сеть Коско или двунаправленная ассоциативная память (ДАП) — однослойная нейронная сеть с обратными связями, базируется на двух идеях: адаптивной резонансной теории Стефана Гросберга и автоассоциативной памяти Хопфилда. ДАП является гетероассоциативной: входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Как и сеть Хопфилда, ДАП способна к обобщению, вырабатывая правильные реакции, несмотря на искаженные входы. Кроме того, могут быть реализованы адаптивные версии ДАП, выделяющие эталонный образ из зашумленных экземпляров. Эти возможности сильно напоминают процесс мышления человека и позволяют искусственным нейронным сетям сделать шаг в направлении моделирования мозга.

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

Проектирование


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

Сбор обучающих примеров.

Для обучения нейросети пользователю предлагается произнести несколько раз заготовленные голосовые метки. Так как записываемые фразы состоят из одного слова, то размер файла не имеет значения. И для дальнейшей обработки звук записывается в формат WAV. Это PCM формат записи без потерь. Он является стандартом для дальнейшей обработки звука с помощью библиотеки python_speech_features языка Python. К аудиофайлу должно прилагаться его “значение”, необходимое для дальнейшего обучения нейросети (соответствующие команды).

Обучение нейронной сети.

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

Использование программы.

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

Заключение


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

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

Описан математический аппарат, подходящий для реализации концепции. Составлен алгоритм программной реализации голосового интерфейса.

Дальнейшее развитие предполагает разработку программы с удобным графическим интерфейсом для реализации прототипа голосового интерфейса управления, который может быть использован для различных задач, таких как управление бытовыми приборами, компьютером, роботизированной техникой (экзоскелетами) людьми с инвалидностью.
Tags:mashine learningmashine-learningneural networkssoundrecordingvotevotes
Hubs: Python Machine learning Artificial Intelligence Sound Voice user interfaces
+5
2.6k 17
Comments 3