Разработка программного обеспечения для автономного распознавания речи
|
Аннотация 2
Введение 5
Глава 1 Анализ технологии распознавания речи 8
1.1 Алгоритм распознавания речи 8
1.2 Классификация рисков использования облачных сервисов для распознавания речи 11
Глава 2 Проектирование системы автономного распознавания речи 14
2.1 Функции системы распознавания речи 14
2.2 Серверная часть системы распознавания речи 16
2.3 Выбор протокола для обмена данными 18
Глава 3 Разработка мобильного приложения для распознавания речи 22
3.1 Проектные решения, применяемые в мобильном приложении 22
3.2 Описание пользовательского интерфейса 25
Заключение 36
Список используемой литературы и используемых источников 38
Введение 5
Глава 1 Анализ технологии распознавания речи 8
1.1 Алгоритм распознавания речи 8
1.2 Классификация рисков использования облачных сервисов для распознавания речи 11
Глава 2 Проектирование системы автономного распознавания речи 14
2.1 Функции системы распознавания речи 14
2.2 Серверная часть системы распознавания речи 16
2.3 Выбор протокола для обмена данными 18
Глава 3 Разработка мобильного приложения для распознавания речи 22
3.1 Проектные решения, применяемые в мобильном приложении 22
3.2 Описание пользовательского интерфейса 25
Заключение 36
Список используемой литературы и используемых источников 38
Технологии распознавания речи используются в таких областях, как речевое управление устройствами, организация голосового ввода текста, голосовой поиск, организация речевого интерфейса при человеко-машинном взаимодействии [2], [5], [7].
Наиболее известными примерами применения технологий распознавания для решения практических задач являются:
• создание телефонных роботов для горячих линий, которые позволяют компании экономить человеческие ресурсы компаний при решении наиболее распространенных запросов клиентов;
• речевое управление элементами системы «Умный дом», например, управление светом, электронными замками, системой отопления и т.д. [4];
• разработка речевых интерфейсов для бытовой техники, например, голосовое задание режима стрики, управление телевизором [9];
• голосовые команды в различных десктопных приложениях, в том числе в компьютерных играх [11];
• речевое управление бортовыми системами автомобиля, в том числе - задание адреса конечной точки маршрута в навигационной системе, управление громкостью звука магнитолы и т.д. [14]
Рост популярности задач, требующих применение технологий распознавания речи, привел к созданию облачных сервисов с программным интерфейсом, предоставляющих выполнение данной услуги. Наиболее известными облачными сервисами являются - Yandex. SpeechKit (сервис от компании Яндекс), Google Cloud Speech API (сервис от компании Google) и Alexa Voice Service (сервис от компании Amazon) [19], [22].
Использование облачных сервисов распознавания речи при разработке программного обеспечения обладает следующими достоинствами [17]:
• высокая точность распознавания речи, которая обусловлена постоянно пополняющейся обучающей выборкой речевых данных;
• простота внедрения функций распознавания речи за счет программных интересов (API) предоставляемых сервисами;
• отсутствие необходимости разбираться в алгоритмах искусственного интеллекта применяемых в распознавании речи.
Однако применение облачных сервисов в программных проектах сопряжено с рядом рисков. Например, один из рисков связан с изменением тарифов по оплате услуг облачного сервиса, так тарифы устанавливаются собственниками сервисов в одностороннем порядке.
Помимо экономических рисков, существуют и политические риски, при которых зарубежные компании откажутся предоставлять услуги на основе географического расположения своих клиентов. В этом случае программное обеспечение, в которое интегрированы услуги облачного сервиса, перестанет функционировать.
Также стоит отметить, что у большинства IT компаний бизнес не ограничен одним сервисом, например помимо сервиса распознавания речи компания Google владеет видеохостингом, системой информационного поиска, социальной сетью и пр. Нарушение российских законов по одному направлению может в итоге привести к блокированию всех или большей части сервисов, в том числе и облачного сервиса распознавания речи.
Как становится ясно, реализация любого из описанных рисков может сделать невозможным использование облачного сервиса распознавания речи, что приведет к неработоспособности связанного с ним программного обеспечения. Поэтому актуальным вопросом является проведение исследований и разработка технологий автономного распознавания речи. Автономность заключается в возможности выполнение задач по анализу голоса без использования сети Интернет.
Таким образом актуальной является цель исследования - разработка программного обеспечения для автономного распознавания речи.
Для достижения поставленной цели в работе решаются следующие задачи:
• проведение анализа существующих технологий распознавания речи и применяемых алгоритмов;
• проектирование системы автономного распознавания речи;
• разработка мобильного приложения, реализующего предложенные подходы автономного распознавания речи.
Объектом исследования является технология распознавания речи. Предмет исследования - автономная реализация системы распознавания речи.
Практическая значимость работы заключается в разработке программного обеспечения, реализующего технологию автономного распознавания речи.
Наиболее известными примерами применения технологий распознавания для решения практических задач являются:
• создание телефонных роботов для горячих линий, которые позволяют компании экономить человеческие ресурсы компаний при решении наиболее распространенных запросов клиентов;
• речевое управление элементами системы «Умный дом», например, управление светом, электронными замками, системой отопления и т.д. [4];
• разработка речевых интерфейсов для бытовой техники, например, голосовое задание режима стрики, управление телевизором [9];
• голосовые команды в различных десктопных приложениях, в том числе в компьютерных играх [11];
• речевое управление бортовыми системами автомобиля, в том числе - задание адреса конечной точки маршрута в навигационной системе, управление громкостью звука магнитолы и т.д. [14]
Рост популярности задач, требующих применение технологий распознавания речи, привел к созданию облачных сервисов с программным интерфейсом, предоставляющих выполнение данной услуги. Наиболее известными облачными сервисами являются - Yandex. SpeechKit (сервис от компании Яндекс), Google Cloud Speech API (сервис от компании Google) и Alexa Voice Service (сервис от компании Amazon) [19], [22].
Использование облачных сервисов распознавания речи при разработке программного обеспечения обладает следующими достоинствами [17]:
• высокая точность распознавания речи, которая обусловлена постоянно пополняющейся обучающей выборкой речевых данных;
• простота внедрения функций распознавания речи за счет программных интересов (API) предоставляемых сервисами;
• отсутствие необходимости разбираться в алгоритмах искусственного интеллекта применяемых в распознавании речи.
Однако применение облачных сервисов в программных проектах сопряжено с рядом рисков. Например, один из рисков связан с изменением тарифов по оплате услуг облачного сервиса, так тарифы устанавливаются собственниками сервисов в одностороннем порядке.
Помимо экономических рисков, существуют и политические риски, при которых зарубежные компании откажутся предоставлять услуги на основе географического расположения своих клиентов. В этом случае программное обеспечение, в которое интегрированы услуги облачного сервиса, перестанет функционировать.
Также стоит отметить, что у большинства IT компаний бизнес не ограничен одним сервисом, например помимо сервиса распознавания речи компания Google владеет видеохостингом, системой информационного поиска, социальной сетью и пр. Нарушение российских законов по одному направлению может в итоге привести к блокированию всех или большей части сервисов, в том числе и облачного сервиса распознавания речи.
Как становится ясно, реализация любого из описанных рисков может сделать невозможным использование облачного сервиса распознавания речи, что приведет к неработоспособности связанного с ним программного обеспечения. Поэтому актуальным вопросом является проведение исследований и разработка технологий автономного распознавания речи. Автономность заключается в возможности выполнение задач по анализу голоса без использования сети Интернет.
Таким образом актуальной является цель исследования - разработка программного обеспечения для автономного распознавания речи.
Для достижения поставленной цели в работе решаются следующие задачи:
• проведение анализа существующих технологий распознавания речи и применяемых алгоритмов;
• проектирование системы автономного распознавания речи;
• разработка мобильного приложения, реализующего предложенные подходы автономного распознавания речи.
Объектом исследования является технология распознавания речи. Предмет исследования - автономная реализация системы распознавания речи.
Практическая значимость работы заключается в разработке программного обеспечения, реализующего технологию автономного распознавания речи.
В ходе выполнения бакалаврской работы были получены следующие результаты:
• анализ литературных источников показал, что использование облачных сервисов распознавания речи при разработке программного обеспечения обладает следующими достоинствами: высокая точность распознавания речи, которая обусловлена постоянно пополняющейся обучающей выборкой речевых данных; простота внедрения функций распознавания речи за счет программных интересов (API) предоставляемых сервисами; отсутствие необходимости разбираться в алгоритмах искусственного интеллекта применяемых в распознавании речи;
• анализ рисков использования облачных сервисов показал, что при необходимости обеспечения отказоустойчивости программного обеспечения, необходимо применение автономных систем распознавания речи;
• предложена архитектура системы автономного распознавания речи, которая основана на клиент-серверном взаимодействии: распознавание речи осуществляется посредством сервера, на котором хранится языковая модель, а взаимодействие с пользователем осуществляется с помощью клиенткой части системы, реализованной в виде мобильного приложения;
• проведен сравнительный анализ способов реализации серверной части системы (Yandex.SpeechKit, Google Cloud Speech API, Alexa Voice Service, SnowBoy) в ходе которого установлено, что библиотека SnowBoy соответствует всем необходимым требованиям: работа с русским языком, автономность, поддержка большинства мобильных платформ, открытый программный код;
• проведен сравнительный анализ протоколов для обмена данными (MQTT, XMPP и AMQP), в результате анализа для разрабатываемой системы автономного распознавания речи выбран простой в использовании и основанный на открытых стандартах протокол MQTT;
• На языке Java в среде Android studio было разработано программное обеспечение, реализующее предложенные подходы по автономному распознаванию речи. Тестирование программного обеспечения доказало состоятельность предложенных решений, возможность реализации распознавания речи без использования подключения к сети Интернет.
Таким образом, сформулированная в бакалаврской работе цель достигнута, а также решены все поставленные задачи.
Практическая значимость работы заключается в разработке программного обеспечения, реализующего технологию автономного распознавания речи.
• анализ литературных источников показал, что использование облачных сервисов распознавания речи при разработке программного обеспечения обладает следующими достоинствами: высокая точность распознавания речи, которая обусловлена постоянно пополняющейся обучающей выборкой речевых данных; простота внедрения функций распознавания речи за счет программных интересов (API) предоставляемых сервисами; отсутствие необходимости разбираться в алгоритмах искусственного интеллекта применяемых в распознавании речи;
• анализ рисков использования облачных сервисов показал, что при необходимости обеспечения отказоустойчивости программного обеспечения, необходимо применение автономных систем распознавания речи;
• предложена архитектура системы автономного распознавания речи, которая основана на клиент-серверном взаимодействии: распознавание речи осуществляется посредством сервера, на котором хранится языковая модель, а взаимодействие с пользователем осуществляется с помощью клиенткой части системы, реализованной в виде мобильного приложения;
• проведен сравнительный анализ способов реализации серверной части системы (Yandex.SpeechKit, Google Cloud Speech API, Alexa Voice Service, SnowBoy) в ходе которого установлено, что библиотека SnowBoy соответствует всем необходимым требованиям: работа с русским языком, автономность, поддержка большинства мобильных платформ, открытый программный код;
• проведен сравнительный анализ протоколов для обмена данными (MQTT, XMPP и AMQP), в результате анализа для разрабатываемой системы автономного распознавания речи выбран простой в использовании и основанный на открытых стандартах протокол MQTT;
• На языке Java в среде Android studio было разработано программное обеспечение, реализующее предложенные подходы по автономному распознаванию речи. Тестирование программного обеспечения доказало состоятельность предложенных решений, возможность реализации распознавания речи без использования подключения к сети Интернет.
Таким образом, сформулированная в бакалаврской работе цель достигнута, а также решены все поставленные задачи.
Практическая значимость работы заключается в разработке программного обеспечения, реализующего технологию автономного распознавания речи.





