Обработка речевых сигналов
Проектирование системы голосового управления в автоматизированных жилых комплексах. Распознавание и порождение (синтез) речи компьютером. Синтез устной речи. Технология поиска ключевых слов. Нейросетевое сравнение на основе простых персептронов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 19.06.2011 |
Размер файла | 4,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Современное здание, независимо от своего типа - жилой ли это дом, офисный или торговый центр, или же спортивное сооружение - представляет сложный объект с точки зрения управления. Поддержание в здании нормальных жизненных условий, обеспечение его безопасности и защищенности от внештатных ситуаций обеспечивают множество технологических систем, каждая из которых характеризуется большим набором параметров и сигналов управления. Все в совокупности они образуют то, что называется системой жизнеобеспечения здания. Умный дом, а другими словами интеллектуальное здание, - это автоматизированная система управления домом или офисом, которая отвечает за обеспечение работы инженерных систем, систем безопасности.
Интеллектуальная система управления обеспечивает централизованный контроль и управление при нештатных ситуациях и авариях. Каждый пользователь получает возможность в рамках общей среды обитания задавать параметры собственной, индивидуальной среды.
Однако, как же управлять самой системой? В связи с успехами развития вычислительной техники и новых информационных технологий в последнее десятилетие определилась тенденция к нарастанию сложности систем управления, а также всех прочих видов человеко-машинных систем. Важной является возможность взаимодействия человека с машиной на языке, максимально приближенном к естественному языку человека, поскольку общение на естественном языке позволяет организовать эффективное и удобное взаимодействие оператора с системой. В настоящее время сфера внедрения систем распознавания речи существенно расширяется, захватывая различные отрасли производственной, административной и бытовой деятельности.
1 Разработка и анализ технического задания
1.1 Описание предметной области
По мере развития компьютерных систем становится все более очевидным, что использование этих систем намного расширится, если станет возможным использование человеческой речи при работе непосредственно с компьютером, и в частности станет возможным управление машиной обычным голосом в реальном времени, а также ввод и вывод информации в виде обычной человеческой речи.
Голосовое управление основано на технологии распознавания речи: система получает информацию о колебаниях воздуха через микрофон, сравнивает полученные данные с командами, которые записаны в системе и, в случае совпадения, выполняет предписанное действие.
Существующие технологии распознавания речи не имеют пока достаточных возможностей для их широкого использования, но на данном этапе исследований проводится интенсивный поиск возможностей употребления коротких многозначных слов (процедур) для облегчения понимания. Распознавание речи в настоящее время нашло реальное применение в жизни, пожалуй, только в тех случаях, когда используемый словарь сокращен до 10 знаков, например при обработке номеров кредитных карт и прочих кодов доступа в базирующихся на компьютерах системах, обрабатывающих передаваемые по телефону данные. Так что насущная задача - распознавание по крайней мере 20 тысяч слов естественного языка - остается пока недостижимой. Эти возможности пока недоступны для широкого коммерческого использования. Однако ряд компаний своими силами пытается использовать уже существующие в данной области науки знания. Сейчас повсеместному распространению голосового управления мешает недостаточная вычислительная мощность процессоров и проблема наличия посторонних (внешних) шумов.
1.2 Цель и назначение разработки
Целью данного дипломного проекта является проектирование системы голосового управления в автоматизированных жилых комплексах.
В поисках решения данной задачи в работе проводится разработка программного обеспечения для систем распознавания речевых команд.
Для достижения поставленной цели в работе решены следующие основные задачи:
- Исследованы алгоритмы обучения нейронных сетей.
- Разработаны методы, направленные на дальнейшее повышение эффективности и качества работы данного алгоритма в контексте рассматриваемой задачи.
В настоящее время работы по распознаванию речи не только не потеряли актуальности, но и развиваются широким фронтом, находя для себя множество областей для практического применения. Сейчас можно выделить 4 сравнительно изолированных направления в области развития речевых технологий:
1) Распознавание речи - т.е. преобразование речевого акустического сигнала в машинную цепочку символов и слов. Эти системы могут быть охарактеризованы по ряду параметров. Прежде всего это объём словаря: малые объёмы до 20 слов, большие - тысячи и десятки тысяч. Количество дикторов: от одного до произвольного. Стиль произнесения: от изолированных команд до слитной речи и от чтения до спонтанной речи. Коэффициент ветвления, т.е. величина, определяющая количество гипотез на каждом шаге распознавания: от малых величин (10<15) до больших (100>200). Отношение сигнал/шум от больших (>30 дБ) до низких (<10 дБ). Качество каналов связи: от высококачественного микрофона до телефонного канала. Качество работы систем распознавания речи обычно характеризуется надёжностью распознавания слов, или, что то же самое, процентом ошибок.
2) Определение индивидуальности говорящего. Эти системы делятся на два класса: верификация говорящего (т.е. подтверждение его личности) и идентификация говорящего (т.е. определение его личности из заранее ограниченного числа людей). Оба эти класса далее могут быть разделены на тексто - зависимые и тексто - независимые. Основной характеристический параметр - объём парольной фразы. Два других (как и в распознавании речи): отношение сигнал/шум и качество канала связи. Качество работы систем верификации/идентификации говорящего характеризуется двумя величинами: вероятностью не опознания «своего» диктора и вероятностью принятия «чужого» диктора за своего.
3) Синтез речи. Практически существует два класса:
- Воспроизведение записанного в той или иной форме ограниченного числа сообщений;
- Синтез речи по тексту. Синтезаторы характеризуются по следующим параметрам: разборчивость (словесная или слоговая), естественность звучания, помехоустойчивость.
4) Компрессия речи. Основной (и единственный) классификационный признак этих систем, это степень компрессии: от низкой (32-16 кбит/сек) до высокой (1200-2400 кбит/сек и ниже). Качество работы систем компрессии речи характеризуется, прежде всего, разборчивостью компрессированной речи. Дополнительными характеристиками очень важными в ряде приложений являются узнаваемость голоса говорящего и возможность определения стрессового уровня говорящего.
В данной работе рассматриваются системы первой группы - системы распознавания речи и их частный случай - системы распознавания речевых команд, т.е. распознавание изолированных слов, а не слитной речи.
1.3 Разработка технического задания
В результате разработки подсистемы распознавания речи и учитывая требования, которые должны быть предъявлены к разрабатываемой подсистеме, ставится задача:
1) Разработать структурную схему подсистемы идентификации пользователя с помощью системы голосового управления, отражающую состав технических средств, программного, математического, информационного и методического обеспечений, применяемых при распознавании речи;
2) Разработать схему работы системы, реализующую собой последовательность действий при процессе разработки системы голосового управления в автоматизированных жилых комплексах;
3) Разработать математическое обеспечение проектируемого программного обеспечения, а также алгоритмы применения математического обеспечения и задач оптимизации;
4) Разработать структуру информационного обеспечения подсистемы распознавания речи, а также программу контроля и управления информационными потоками в виде комплекса баз данных;
5) Разработать программное обеспечение системы для реализации диалога ЭВМ и пользователя. К ПО системы предъявляются следующие требования:
- удобство пользования входным языком системы, этот язык необходимо оформить в виде "меню" и "заполнение бланков"; диалог с пользователем вести в виде "меню" и "заполнение бланка";
- соответствие современным стандартам организации диалога.
6) обеспечить правильное взаимодействие всех подсистем системы.
1.4 Анализ требований технического задания
К разрабатываемой информационной системе заказчик предъявляет ряд требований. Требования к ИС основывались на информации, которую она должна хранить, обрабатывать и анализировать. Эти данные являлись исходным материалом для исследования области применения ИС.
Приступая к планированию работ по проектированию и созданию информационной системы, необходимо подобрать программные средства, с помощью которых будет разрабатываться (проектироваться, моделироваться) и настраиваться информационная система. Выбор программных средств так же должен зависеть и от того, на какой платформе (операционной системе) будет работать заказчик.
Таким образом, выбор программных средств для создания данной информационной системы должен соответствовать ряду факторов:
1) операционная система - это платформа, на которой будет размещена информационная система;
2) аппаратное обеспечение - это ПК, на котором будет установлена, настроена ИС и БД;
Следовательно, необходимо учесть все факторы и создать такую ИС, чтобы она оптимально и надежно работала и отвечала требованиям заказчика.
1.4.1 Анализ требований к программному обеспечению
На данный момент существует много программных средств, позволяющих разрабатывать информационные системы различного уровня сложности; необходимо подобрать такое программное обеспечение, которое бы соответствовало всем требованиям заказчика и обладало способностью моделировать объекты информационной системы, а не программировать их. Моделирование способствует более детальному пониманию предметной области разработки и направлено на уменьшение стоимости разработки, сокращение затрат времени и сил, а также предоставляет возможность более тесного взаимодействия заказчика и исполнителя проекта. Выбор операционной системы должен зависеть от того, какие функциональные требования сможет она обеспечить, то есть, сможет ли информационная система работать на данной платформе с требуемыми характеристиками.
Таким образом, требования к программному обеспечению можно разделить на два вида требований:
1) это требования к операционной системе (ОС), то есть к платформе, на которой будут функционировать информационная система;
2) это требования к СУБД, то есть требования к системе управления базой данных, которая будет осуществлять функционирование базы данных и связь базы с другими программными приложениями.
Требования к операционной системе также подразумевают под собой требования к способу взаимодействия между собой разрабатываемой информационной системы и пользователя, работающего с данной информационной системой.
1.4.2 Выбор операционной системы
Операционная система - это комплекс программных средств, обеспечивающих взаимодействие устройств компьютера между собой и с пользователем, а так же обеспечивающих связь одного компьютера с другим по электронной сети. В начале необходимо определить, под управлением какой операционной системы будет функционировать создаваемая информационная система.
По требованию заказчика информационная система должна функционировать под управлением операционной системы Windows XP, установленной на имеющимся ПК заказчика и зарекомендовавшей себя как вполне надежная и стабильная система. Заказчик обладает лицензионной версией данной ОС, поэтому разработка и внедрение информационной системы не потребует дополнительного вложения средств в приобретение программного обеспечения.
Руководствуясь вышеперечисленными требованиями технического задания, можно сделать вывод, что операционная система Windows XP вполне удовлетворяет условиям создания информационной системы и не противоречит требованиям заказчика.
1.4.3 Техническое описание работы системы распознавания голосовых команд
Библиотека распознавания голосовых команд составляет ядро системы голосового управления. С ее помощью разработчики могут добавить голосовое управление в создаваемые ими приложения.
Разработка собственных средств голосового управления требует специальных знаний. Она может отнять у разработчиков приложений немало времени и сил. Однако воспользовавшись библиотекой распознания голосовых команд, разработчики могут легко добавить в приложения следующие функциональные возможности:
- управление оборудованием с помощью голоса;
- выполнение речевых запросов к базам данных через микрофон или даже по телефону;
- поиск по ключевым словам в звуковых файлах
Следует отметить, что библиотека позволяет встраивать голосовые функции не только в обычные программы для персональных компьютеров, но и в автономные устройства, оборудованные цифровыми сигнальными процессорами DSP.
Алгоритмы, реализованные в библиотеке распознавания голосовых команд, обладают высоким быстродействием, нетребовательны к объему оперативной памяти и способны адаптироваться к шумам.
Библиотека обеспечивает распознавание команд, произнесенных любым голосом и на любом языке. При этом имеется возможность структурирования для практически неограниченного словаря.
При этом алгоритмы позволяют распознавать 100-200 команд с предварительным обучением для каждого диктора, и 30-50 команд для любого диктора (в режиме, не зависимом от диктора). Если команды произносятся по телефону, то алгоритмы библиотеки позволяют распознать 10-20 слов, произнесенных любым диктором.
Ну и, конечно, в библиотеке реализована возможность активации распознавания команд по ключевому слову, исключающая неожиданные реакции системы на посторонние звуки.
2 Обзорный анализ технических средств и методов
2.1 Технические средства формирования аудиоданных
Для обработки голоса необходимо предварительно записать его в оперативную память компьютера или на машинный носитель. Как было сказано выше, большинство персональных компьютеров уже оснащены оборудованием, необходимым для ввода и вывода звука. Это микрофон и звуковая плата. В общем виде процесс ввода речевых сообщений приведен на рисунке 2.1.
Рисунок 2.1 - Схема ввода речевых сообщений в ЭВМ
Речевой сигнал формируется и передается в пространстве в виде звуковых волн. Источником речевого сигнала служит речеобразующий тракт, который возбуждает звуковые волны в упругой воздушной среде. Приемником сигнала является датчик звуковых колебаний, микрофон - устройство для преобразования звуковых колебаний в электрические. Существует большое количество типов микрофонов (угольные, электродинамические, электростатические, пьезоэлектрические и др.) описанных в специальной литературе. Чувствительным элементом микрофона любого типа является упругая мембрана, которая вовлекается в колебательный процесс под воздействием звуковых волн. Мембрана связана с преобразующим элементом, который преобразует колебания мембраны в электрический сигнал.
С выхода микрофона сигнал подается на вход звуковой карты персонального компьютера. При записи звуковая карта представляет собой аналого-цифровой преобразователь с широкими возможностями настройки параметров оцифровки. Основными параметрами является частота дискретизации и разрядность кодирования. Данные параметры определяют качество и размер выборки получаемой в результате записи. Причем размер и качество прямо пропорциональны, т.е. чем выше качество записи, тем больше ее размер.
Чтобы обеспечить компромисс между качеством и размером воспользуемся знаниями о свойствах человеческого голоса при выборе параметров аналого-цифрового преобразования.
Для выбора частоты дискретизации рассмотрим усредненную спектральную плотность мощности непрерывного речевого сигнала для мужского и женского голосов. Как следует из этой характеристики, усредненная спектральная плотность мощности имеет максимум в диапазоне 250-500Гц и затухает со скоростью, равной 8-10дБ на октаву (при удвоении частоты). Это приводит к тому, что на частотах выше 4000 Гц спектральная плотность падает до уровня 60 дБ, что соответствует ослаблению мощности по сравнению с максимумом (25-30 дБ) в 20 и более раз. Это позволяет считать, что полоса пропускания для каналов передачи звуковых сообщений может быть ограничена частотой 4-5 кГц, а, следовательно, частота дискретизации этого сигнала должна составлять 8-10 кГц.
В современных звуковых картах используется импульсно-кодовая модуляция, при которой каждый дискретный отсчет речевого сообщения кодируется в соответствии с некоторыми правилами.
Рассчитано, что для обеспечения соотношения сигнал/шум квантования, равного 36 дБ, требуется не менее семи двоичных разрядов и что для получения высококачественного цифрового кодирования сигнала речи необходимо 11 разрядов. На практике число разрядов определяется разрядность ЭВМ и, как правило, равно или кратно восьми разрядам.
2.2 Распознавание и порождение (синтез) речи компьютером
Распознавание и порождение (синтез) речи компьютером является, безусловно, важной проблемой. Десятилетиями ученые и инженеры искали способы, которые позволили бы людям общаться с компьютером так же, как они общаются между собой, а не заставляли человека подстраиваться под способ общения, приемлемый для машины. Много было сделано, но, пожалуй, и на сегодняшний день можно считать, что вопрос далеко не закрыт, хотя именно в последнее время были достигнуты значительные успехи: уже многие годы голосовые команды являются одной из возможных опций программного обеспечения персональных компьютеров, появление функций распознавания речи уже обычное дело в ряде текстовых процессоров, системы распознавания речи работают там, где требуется оказание справочных услуг и в системах безопасности.
Вопросы цифровой обработки сигналов, отдельные области математической статистики, искусственного интеллекта (теории нейронных сетей), связанные с разработкой движков и приложений распознавания и порождения речи.
Вопросы обработки речи являются, главным образом, частью дисциплин, именуемых цифровой обработкой сигналов и распознаванием образов.
Методы цифровой обработки сигналов обычно осуществляют преобразование, очистку и трансформацию звукового сигнала в цифровой формат данных и другие представления, которые могут непосредственно обрабатываться системой распознавания речи. Эти задачи включают также фильтрацию шумовых сигналов, которые примешиваются к звуку при передаче акустических сигналов от воспринимающих устройств (микрофонов) или по сети. Методы же распознавания образов используют при выделении и распознавании отдельных слов или предложений речевого потока или в некоторых случаях для идентификации говорящего.
Кроме того, системы распознавания и синтеза речи затрагивают вопросы лингвистики, в которой заложены фундаментальные концепции и принципы распознавания речи и понимания языка.
2.3 Речевые технологии
Речевые технологии прочно входят в нашу жизнь, легко находят применение в различных сферах нашей жизни и делают её проще. Они открывают возможность для общения человека и компьютера посредством речи, убирая посредника (клавиатуру), что наиболее привычно и удобно для людей.
Системы синтеза и распознавания речи находят свое применение в call-центрах. Они дают возможность переложить часть функций операторов на компьютер. С помощью речевых технологий можно читать книги, sms, озвучивать документы и целые веб сайты, создавать интеллектуальные системы обучения, которые будут принимать несложные экзамены или помогать в изучении языков. С их помощью можно улавливать в потоке речи звуковые фрагменты, так называемые ключевые слова, а так же можно идентифицировать личность. Распознавание и синтез речи очень пригодились бы людям с ограниченными способностями, инвалидам, слепым, слабовидящим.
2.4 Синтез речи
Синтез устной речи - это преобразование заранее не известной текстовой информации в речь. Речевой вывод информации - это реализация речевого интерфейс, для упрощения использования системы. Фактически, благодаря синтезу речи предоставляется еще один канал передачи данных от компьютера, мобильного телефона к человеку, аналогично монитору. Конечно, передать рисунок голосом невозможно, но вот прослушать электронную почту или расписание на день в ряде случаев довольно удобно, особенно если в это время взгляд занят чем-либо другим. Например, придя утром на работу, готовясь к переговорам, Вы могли бы поправлять у зеркала галстук или прическу, в то время как компьютер читает вслух последние новости, почту или напоминает важную информацию для переговоров.
Рисунок 2.2 - Акустическая обработка сигнала
Технология синтеза устной речи нашла широкое применение для людей, имеющих проблемы со зрением. Для всех остальных она создает новое измерение удобства пользования техникой и значительно снижает нагрузку на зрение, на нервную систему, позволяет задействовать слуховую память.
Рисунок 2.3 - Синтез речи
Любой текст состоит из слов, разделенных пробелами и знаками препинания. Произнесение слов зависит от их расположения в предложении, а интонация фразы - от знаков препинания. Наконец, произнесение зависит и от смысла слова! Соответственно, для того чтобы синтезированная речь звучала натурально, необходимо решить целый комплекс задач, связанных как с обеспечением естественности голоса на уровне плавности звучания и интонации, так и с правильной расстановкой ударений, расшифровкой сокращений, чисел, аббревиатур и специальных знаков с учетом особенностей грамматики русского языка.
Существует несколько подходов к решению поставленных задач:
1) системы аллофонного синтеза - обеспечивают стабильное, но недостаточно естественное, роботизированное звучание;
2) системы, основанные на подходе Unit Selection - обеспечивают гораздо более естественное звучание, однако могут содержать фрагменты речи с резкими провалами качества, вплоть до потери разборчивости;
3) гибридная технология, основанная на подходе Unit Selection и дополненная единицами аллофонного синтеза.
На основе этой технологии была создана система VitalVoice, которая обеспечивает стабильное и естественное звучание на акустическом уровне.
2.5 Распознавание речи
Речевое общение является естественным и удобным для человека. Задача распознавания речи состоит в том, что бы убрать посредника в общении человека и компьютера. Управление машиной голосом в реальном времени, а также ввод информации посредством человеческой речи намного упростит жизнь современного человека. Научить машину понимать без посредника тот язык, на котором говорят между собой люди - задачи распознавания речи.
Ученые и инженеры уже много лет решают проблему речевого общения человека и машины. Первое устройство для распознавания речи появилось в 1952 году, оно могло распознавать произнесённые человеком цифры. Коммерческие программы по распознаванию речи появились в начале девяностых годов.
Все системы распознавания речи можно разделить на два класса:
1) Системы, зависимые от диктора - настраиваются на речь диктора в процессе обучения. Для работы с другим диктором такие системы требуют полной перенастройки.
Рисунок 2.4 - Распознавание речи
2) Системы, не зависимые от диктора - работа которых не зависит от диктора. Такие системы не требуют предварительного обучения и способны распознавать речь любого диктора.
Изначально на рынке появились системы первого вида. В них звуковой образ команды хранился в виде целостного эталона. Для сравнения неизвестного произнесения и эталона команды использовались методы динамического программирования. Эти системы хорошо работали при распознавании небольших наборов из 10-30 команд и понимали только одного диктора. Для работы с другим диктором эти системы требовали полной перенастройки.
Для того чтобы понимать слитную речь, необходимо было перейти к словарям гораздо больших размеров, от нескольких десятков до сотен тысяч слов. Методы, использовавшиеся в системах первого вида, не подходили для решения этой задачи, так как просто невозможно создать эталоны для такого количества слов.
Кроме этого, существовало желание сделать систему, не зависящую от диктора. Это весьма сложная задача, поскольку у каждого человека индивидуальная манера произнесения: темп речи, тембр голоса, особенности произношения. Такие различия называются вариативностью речи. Чтобы ее учесть, были предложены новые статистические методы, опирающиеся в основном на математические аппараты Скрытых Марковских Моделей (СММ) или Искусственных Нейронных сетей. Вместо создания эталонов для каждого слова, создаются эталоны отдельных звуков, из которых состоят слова, так называемые акустические модели. Акустические модели формируются путём статистической обработки больших речевых баз данных, содержащих записи речи сотен людей.
В существующих системах распознавания речи используются два принципиально разных подхода:
- Распознавание голосовых меток
- Распознавание лексических
Отметим, что создание систем распознавания речи представляет собой чрезвычайно сложную задачу.
2.6 Поиск ключевых слов
Технология поиска ключевых слов решает задачу поиска нужного слова или словосочетания в речевом потоке. Системы выделения ключевых слов дают возможность анализировать ежедневные диалоги между людьми с указанием места ключевых слов в потоке речи. Они позволяют извлекать нужную информацию из большого потока телефонных разговоров, несмотря на спонтанную организацию диалога, неограниченный лексикон, количество собеседников и шумовые помехи. Процесс поиска может быть либо в реальном времени, либо в сформированных звуковых файлах.
Технология поиска ключевых слов тесно связана с технологией распознавания речи, и до недавнего времени была её составляющей.
Фактически же грань между технологиями условна. При хорошем распознавании слитной речи и преобразовании её в печатный вид проблема поиска ключевых слов отпадает сама собой: поиск будет осуществляться в сформированном тексте. Тем не менее, в связи с недостаточным качеством работы современных систем распознавания слитной речи, подобный подход вовсе не является идеальным решением.
Подходы к выделению ключевых слов:
- Поиск по шаблону - для каждого ключевого слова записывается несколько вариантов его произнесения различными дикторами, на основе чего создается шаблон, который используется для организации поиска данного слова в речевом массиве при помощи алгоритмов динамического программирования. Главным недостатком такого подхода является то, что создание шаблона для каждого слова является достаточно затратным процессом (слово нельзя просто ввести с клавиатуры).
- Поиск по фонемной решетке - при помощи системы распознавания фонем для речевого сигнала строится большая сеть возможных звуков в различные моменты времени, по которой осуществляется поиск возможных произношений слова или фразы. Данная технология схожа с поиском по тексту на выходе системы распознавания, но работает на уровне звуков, а не целых слов.
Реализация проекта на основании скрытых Марковских моделей (СММ) - для каждого введенного с клавиатуры ключевого слова создается соответствующая его произнесению СММ, которая и используется при поиске в звуковом сигнале. Это один из наиболее перспективных на данный момент методов, он обеспечивает достаточно высокий процент правильно выделенных ключевых слов.
Задача нахождения ключевых слов в потоке речи может быть разделена на несколько направлений:
- Непосредственно выявление и определение места ключевого слова или словосочетания (поиск в фонограмме речи, речевых базах, поиск в реальном времени)
- Распознавание команд в слитном потоке речи, навигация по меню (menu-drive)
- Понимание смысла речи посредством поиска ключевых слов или фраз, для диалоговых систем.
2.7 Голосовая биометрия
Одна из задач в области речевых технологий состоит в том, чтобы определить, какому человеку соответствует тот или иной речевой сигнал. Системы, решающие эту задачу, делятся на два больших класса - системы верификации и идентификации. Верификация - это процедура подтверждения личности говорящего, а идентификация - определение личности из заданного, ограниченного списка людей. В настоящее время системы идентификации и верификации голоса пользуются все большей популярностью во всем мире.
Голос человека обладает индивидуальными особенностями, уникален. Поэтому в последнее время компании-разработчики биометрических систем используют голос для определения личности говорящего. Все чаще встречаются системы, где голос выполняет функцию защиты. По голосу проверяют права доступа к компьютерным сетям, помещениям, банковским системам, камерам хранения, личной информации и др. Практика показала, что парольная защита является недостаточно надежной. Текстовые пароли и ключи уступают свое место верификации личности по голосу. Именно голос, является тем универсальным ключом, который нельзя подделать, сломать или украсть.
Верификация личности по голосу предполагает соответствие заранее установленного речевого образца вновь предъявляемому. Пользователь предварительно устанавливает какую-нибудь фразу в качестве пароля. Затем, пользователь произносит свой пароль. Система, проверяет, соответствует ли произнесенный голос заранее установленному эталону. Если соответствие подтверждается, то доступ к системе открывается. Таким образом, верификация по голосу обеспечивает большую степень надежности по сравнению с верификацией по паролю, вводимому с клавиатуры. Чужой голос подделать невозможно, в то время как подделка чужого пароля вполне доступна.
Идентификация личности по голосу представляет собой процесс установления, кому из ограниченного списка людей принадлежит голос. «Изучив» фонотеку, система укажет голос, наиболее близкий к исследуемому образцу.
2.8 Шумоочистка
В отдельную область в речевых технологиях можно выделить технологию шумоочистки. Звуковой сигнал на фонограммах или в каналах передачи и записи звука отличается от исходного. Это объясняется тем, что во-первых, в прослушиваемом сигнале в той или иной степени присутствуют шумы и искажения, оказывающие негативное влияние на качество и разборчивость речи, а во-вторых, особенностями нашего слуха. В связи с этим достаточно часто возникает потребность в проведении специальной обработки, или шумоочистки, звукового сигнала.
В ряде случаев низкое качество полученной звукозаписи создает определенные трудности для расшифровки необходимой информации. Причины этого обычно кроются как в неудачном или неумелом выборе и использовании средств передачи и записи акустической информации, так и в объективной трудности и даже невозможности получения высококачественной, «чистой» записи звука в некоторых конкретных обстоятельствах.
При обработке звукозаписи перед техническим специалистом встают следущие задачи:
- Провести максимально возможную очистку речи с удалением помех и искажений;
- Провести экспертизу звукозаписей.
Для любой работы с записями звука низкого качества необходим технически грамотный, подготовленный специалист и различные технические средства. В свою очередь для решения любой экспертной задачи требуется квалифицированный специалист, владеющий специальными методиками, в распоряжении которого должна быть необходимая дополнительная аппаратура.
Рисунок 2.5 - Шумоочистка
При проведении экспертизы обычно требуется установить наличие следов умышленного монтажа или копирования звукозаписи; определить тип или идентифицировать конкретный экземпляр звукозаписывающего устройства; констатировать обстоятельства звукозаписи, метод, окружающую обстановку, размещение средств записи звука, тип источника слышимых шумов и т. п,; установить тождество или отличие голоса на данной (спорной) звукозаписи с голосом, образец которого представлен на другой (сравнительной) фонограмме. В некоторых случаях требуется определить по звукозаписи устной речи отличительные особенности диктора (например, пол, возраст, место рождения, профессию, наличие заболеваний и т. п.).
Главной целью шумоочистки является доведение качества и разборчивости речевого сигнала до уровня, приемлемого для его комфортного прослушивания и понимания. Кроме этого очень важно сохранить значимые свойства и характеристики речи диктора, источник речевой информации, а также обстоятельства получения информации. Средства и технологии шумоочистки обеспечивают доведение качества и разборчивости речевого сигнала до уровня, приемлемого для его комфортного прослушивания и понимания, с сохранением значимых свойств и характеристик речи диктора, источника речевой информации, а также обстоятельств получения информации, что является очень важным фактором.
Технологии шумоочистки речевых сигналов классифицируются по типу искажения:
1) BABBLE NOISE - технология подавления шума толпы
2) MUSIC NOISE - технология подавления шума музыки
3) NONSTATIONARY NOISE - технология подавления нестационарных шумов
4) PULSE NOISE - технология подавления импульсных шумов
5) TONAL NOISE - технология подавления тональные помех
6) WIDEBAND NOISE - технология подавления широкополосных шумов
7) GSM HINDRANCE - технология подавления наводки мобильных телефонов
8) CLIPPING - клиппирование сигнала
9) REVERBERATION&NOISE - реверберация
3 Возможность использования нейросетей для построения системы распознавания речи
Классификация - это одна из основных для нейросетей задач. Причем нейросеть может выполнять классификацию даже при обучении без учителя (правда, при этом образующиеся классы не имеют смысла, но ничто не мешает в дальнейшем ассоциировать их с другими классами, представляющими другой тип информации - фактически наделить их смыслом). Любой речевой сигнал можно представить как вектор в каком-либо параметрическом пространстве, затем этот вектор может быть запомнен в нейросети. Одна из моделей нейросети, обучающаяся без учителя - это самоорганизующаяся карта признаков Кохонена. В ней для множества входных сигналов формируется нейронные ансамбли, представляющие эти сигналы. Этот алгоритм обладает способностью к статистическому усреднению, т.е. решается проблема с вариативностью речи. Как и многие другие нейросетевые алгоритмы, он осуществляет параллельную обработку информации, т.е. одновременно работают все нейроны. Тем самым решается проблема со скоростью распознавания - обычно время работы нейросети составляет несколько итераций.
Далее, на основе нейросетей легко строятся иерархические многоуровневые структуры, при этом сохраняется их прозрачность (возможность их раздельного анализа). Так как фактически речь является составной, т.е. разбивается на фразы, слова, буквы, звуки, то и систему распознавания речи логично строить иерархическую.
Наконец, ещё одним важным свойством нейросетей является гибкость архитектуры. Под этим может быть не совсем точным термином я имею в виду то, что фактически алгоритм работы нейросети определяется её архитектурой. Автоматическое создание алгоритмов - это мечта уже нескольких десятилетий. Но создание алгоритмов на языках программирования пока под силу только человеку. Конечно, созданы специальные языки, позволяющие выполнять автоматическую генерацию алгоритмов, но и они не намного упрощают эту задачу. А в нейросетях генерация нового алгоритма достигается простым изменением её архитектуры. При этом возможно получить совершенно новое решение задачи. Введя корректное правило отбора, определяющее, лучше или хуже новая нейросеть решает задачу, и правила модификации нейросети, можно в конце концов получить нейросеть, которая решит задачу верно. Все нейросетевые модели, объединенные такой парадигмой, образуют множество генетических алгоритмов. При этом очень четко прослеживается связь генетических алгоритмов и эволюционной теории (отсюда и характерные термины: популяция, гены, родители-потомки, скрещивание, мутация). Таким образом, существует возможность создания таких нейросетей, которые не были изучены исследователями или не поддаются аналитическому изучению, но тем не менее успешно решают задачу.
3.1 Нейросетевое сравнение на основе простых персептронов
Искусственный нейрон
Несмотря на большое разнообразие вариантов нейронных сетей, все они имеют общие черты. Так, все они, так же, как и мозг человека, состоят из большого числа связанных между собой однотипных элементов - нейронов, которые имитируют нейроны головного мозга. На рисунке 4.7 показана схема нейрона.
Рисунок 3.1 - Схема нейрона
Из рисунка видно, что искусственный нейрон, так же, как и живой, состоит из синапсов, связывающих входы нейрона с ядром; ядра нейрона, которое осуществляет обработку входных сигналов и аксона, который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет, насколько соответствующий вход нейрона влияет на его состояние. Состояние нейрона определяется по формуле
где n - число входов нейрона
xi - значение i-го входа нейрона
wi - вес i-го синапса
Затем определяется значение аксона нейрона по формуле
Y = f(S)
где f - некоторая функция, которая называется активационной. Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид
Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную
При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a=0. При увеличении a сигмоид все больше приближается к функции единичного скачка.
Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов, образующих слой. Каждый элемент из множества входов отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое.
3.2 Обучение сети
Для автоматического функционирования системы был выбран метод обучения сети без учителя. Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой.
Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.
Большинство современных алгоритмов обучения выросло из концепций Хэбба. Им предложена модель обучения без учителя, в которой синоптическая сила (вес) возрастает, если активированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются, и феномен привычки и обучения через повторение получает объяснение.
Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае - ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.
Для обучения сети образ X подается на вход и вычисляется выход У. Если У правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.
Информативность различных частей спектра неодинакова: в низкочастотной области содержится больше информации, чем в высокочастотной. Поэтому для предотвращения излишнего расходования входов нейросети необходимо уменьшить число элементов, получающих информацию с высокочастотной области, или, что тоже самое, сжать высокочастотную область спектра в пространстве частот.
Наиболее распространенный метод ( его простоте ) -- логарифмическое сжатие.
где f -- частота в спектре, Гц,
m -- частота в новом сжатом частотном пространстве
Рисунок 3.2 - Нелинейное преобразование спектра в пространстве частот
Такое преобразование имеет смысл, только если число элементов на входе нейросети NI меньше числа элементов спектра NS.
После нормирования и сжатия спектр накладывается на вход нейросети. Вход нейросети -- это линейно упорядоченный массив элементов, которым присваиваются уровни соответствующих частот в спектре. Эти элементы не выполняют никаких решающих функция, а только передают сигналы дальше в нейросеть. Выбор числа входов -- сложная задача, потому что при малом размере входного вектора возможна потеря важной для распознавания информации, а при большом существенно повышается сложность вычислений ( при моделировании на PC, в реальных нейросетях это неверно, т.к. все элементы работают параллельно ).
При большой разрешающей способности (числе) входов возможно выделение гармонической структуры речи и как следствие определение высоты голоса. При малой разрешающей способности (числе) входов возможно только определение формантной структуры.
Как показало дальнейшее исследование этой проблемы, для распознавания уже достаточно только информации о формантной структуре. Фактически, человек одинаково распознает нормальную голосовую речь и шепот, хотя в последнем отсутствует голосовой источник. Голосовой источник дает дополнительную информацию в виде интонации (высоты тона на протяжении высказывания), и эта информация очень важна на высших уровнях обработки речи. Но в первом приближении можно ограничиться только получением формантной структуры, и для этого с учетом сжатия неинформативной части спектра достаточное число входов выбрано в пределах 50~100.
Наложение спектра на каждый входной элемент происходит путем усреднения данных из некоторой окрестности, центром которой является проекция положения этого элемента в векторе входов на вектор спектра. Радиус окрестности выбирается таким, чтобы окрестности соседних элементов перекрывались. Этот прием часто используется при растяжении векторов , предотвращая выпадение данных.
3.3 Моделирование нейросети
В связи с разделением системы анализа речи на несколько уровней (ввода, уровень распознавания и синтеза слов, уровень смыслового контроля), появилась возможность моделировать нейросеть отдельно для каждого уровня в соответствии с требованиями по обработке информации на нём.
Но различия в моделях нейросетей необходимо сводить к минимуму, так как такие различия не являются биологически оправданными, кроме того, при аппаратной реализации системы гораздо проще работать с однотипными структурами.
3.4 Уровень ввода
На этом уровне при вводе происходит выделение из сигнала знакомых системе образцов и представление их одним нейроном или нейронным ансамблем на следующих уровнях. Как при обучении, так и при распознавании входные вектора являются нечеткими, т. е. имеется небольшой разброс векторов, принадлежащих к одному классу. В связи с этим нейросеть, осуществляющая эту операцию, должна обладать определенной способностью к статистическому усреднению. Напротив, может оказаться, что группа векторов находится в непосредственной близости друг к другу, но все они представляют разные классы. Тогда нейросеть должна определять тонкие различия между векторами.
Ещё одно требование к нейросети низкого уровня обработки сигнала -- обучение без учителя, т. е. способность самостоятельно разделять входные сигналы на классы.
Большое количество нейросетевых алгоритмов выполняют функцию разделения входного сигнала на классы.
Схематически сеть встречного направления изображена на рисунке 3.3
Рисунок 3.3 - Сеть встречного распространения
Распространение сигнала в такой сети происходит следующим образом: входной вектор нормируется на 1.0 и подается на вход , который распределяет его дальше через матрицу весов W. Каждый нейрон в слое Кохонена вычисляет сумму на своем входе и в зависимости от состояния окружающих нейронов этого слоя становится активным или неактивным ( 1.0 и 0.0). Нейроны этого слоя функционируют по принципу конкуренции, т. е. в результате определенного количества итераций активным остается один нейрон или небольшая группа. Этот механизм называется латеральным. Так как отработка этого механизма требует значительных вычислительных ресурсов, в моей модели он заменен нахождением нейрона с максимальной активностью и присвоением ему активности 1.0, а всем остальным нейронам 0.0. Таким образом, срабатывает нейрон , для которого вектор входа ближе всего к вектору весов связей.
Если сеть находится в режиме обучения, то для выигравшего нейрона происходит коррекция весов матрицы связи по формуле
w = w + ? (x - w )
где w -- новое значение веса,
w -- старое значение,
? -- скорость обучения,
х - величина входа.
Геометрически это правило иллюстрирует рисунок 3.4
Рисунок 3.4 - Коррекция весов нейрона Кохонена
Так как входной вектор x нормирован, т. е. расположен на гиперсфере единичного радиуса в пространстве весов, то при коррекции весов по этому правилу происходит поворот вектора весов в сторону входного сигнала. Постепенное уменьшение скорости поворота. позволяет произвести статистическое усреднение входных векторов, на которые реагирует данный нейрон.
Проблема: выбор начальных значений весов. Так как в конце обучения вектора весов будут располагаться на единичной окружности, то в начале их также желательно отнормировать на 1.0. В моей модели вектора весов выбираются случайным образом на окружности единичного радиуса.
Проблема: если весовой вектор окажется далеко от области входных сигналов, он никогда не даст наилучшего соответствия, всегда будет иметь нулевой выход, следовательно, не будет корректироваться и окажется бесполезным. Оставшихся же нейронов может не хватить для разделения входного пространства сигналов на классы . Для решения этой проблемы предлагается много алгоритмов, в моей работе применяется правило « работать »: если какой либо нейрон долго не находится в активном состоянии , он повышает веса связей до тех пор, пока не станет активным и не начнет подвергаться обучению. Этот метод позволяет также решить проблему тонкой классификации: если образуется группа входных сигналов, расположенных близко друг к другу, с этой группой ассоциируется и большое число нейронов Кохонена, которые разбивают её на классы.
Правило «желания работать» записывается в следующей форме:
где w -- новое значение веса,
w -- старое значение,
-- скорость модификации,
a -- активность нейрона.
Чем меньше активность нейрона, тем больше увеличиваются веса связей.
3.5 Система распознавания речи как самообучающаяся система
С целью изучения особенностей самообучающихся систем модели распознавания и синтеза речи были объединены в одну систему, что позволило наделить её некоторыми свойствами самообучающихся систем. Это объединение является одним из ключевых свойств создаваемой модели. Что послужило причиной этого объединения?
Во-первых, у системы присутствует возможность совершать действия (синтез) и анализировать их (распознавание), т.е. свойство (2). Во-вторых, присутствует свойство (1), так как при разработке в систему не закладывается никакая информация, и возможность распознавания и синтеза звуков речи - это результат обучения.
Преимуществом полученной модели является возможность автоматического обучения синтезу. Механизм этого обучения описывается далее.
Ещё одной очень важной особенностью является возможность перевода запоминаемых образов в новое параметрическое пространство с гораздо меньшей размерностью. Эта особенность на данный момент в разрабатываемой системе реализована и на практике проверена. Я постараюсь кратко изложить её суть.
Входной сигнал задается вектором первичных признаков в N-мерном пространстве. Для хранения такого сигнала необходимо N элементов. При этом на этапе разработки мы не знаем специфики сигнала или она настолько сложна, что учесть её затруднительно. Это приводит к тому, что представление сигнала, которое мы используем, избыточно. Далее предположим, что у нас есть возможность синтезировать такие же сигналы (т.е. синтезировать речь), но при этом синтезируемый сигнал является функцией вектора параметров в M-мерном пространстве, и M<<N (действительно, число параметров модели синтеза речи намного меньше числа первичных признаков модели распознавания речи). Но тогда мы можем запоминать входной сигнал не по его первичным признакам в N-мерном пространстве, а по параметрам модели синтеза в M-мерном пространстве. Есть все основания предполагать, что это преобразование можно осуществить при помощи довольно простой нейросети. Более того, по моему мнению, такой механизм запоминания работает в реальных биологических системах, в частности, у человека.
голосовой управление компьютер речь
4 Проектирование голосовой системы управления
4.1 Общее описание системы
Разрабатываемая подсистема распознавания речи является обслуживающим инструментом для системы голосового управления жилым объектом.
Качество и современность проектируемой подсистемы должно обеспечиваться развитием математической модели анализатора голоса.
Любая система состоит из подсистем, которые являются её неотъемлемой частью. Подсистема распознавания речи представляет собой законченный функциональный блок, имеющий свой неповторимый комплекс средств (программное, лингвистическое, методическое, техническое обеспечения или другие виды обеспечения) и выполняющий определённые функции, возложенные на него разработчиком системы. По назначению подсистемы подразделяют на проектирующие и обслуживающие. Примером обслуживающих систем могут служить подсистемы распознавания речи, автоматизированного ввода информации, графическую подсистему и т.д. В отличие от проектирующих подсистем, предназначенных в основном для расчёта, обслуживающие подсистемы предназначены для поддержания их работоспособности.
Подобные документы
Распознавание слов в слитной речи, изолированных слов. Проблема автоматического распознавания речи. Структурная схема устройства выделения признаков речевых сигналов. Моделирование работы блока выделения начала и окончания слова количества звуков на ЭВМ.
дипломная работа [649,5 K], добавлен 13.11.2008Разработка программной базы для исследований в области распознавания речи и поиска ключевых слов в ней. Расчет mel-фильтров. Скрытые марковские модели. Применение в алгоритме сверточного декодирования Витерби. Методы визуализации и обработки аудиоданных.
курсовая работа [1,1 M], добавлен 01.06.2015Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.
дипломная работа [332,2 K], добавлен 30.11.2012Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Синтез системы автоматического управления корневым методом, разработанным Т. Соколовым. Определение передаточных функций по задающему и возмущающему воздействиям. Оценка устойчивости замкнутой нескорректированной системы регулирования по критерию Гурвица.
курсовая работа [1,3 M], добавлен 26.01.2015Анализ вариантов проектных решений и выбор на его основе оптимального решения. Синтез функциональной схемы микропроцессорной системы на основе анализа исходных данных. Процесс разработки аппаратного и программного обеспечения микропроцессорной системы.
курсовая работа [469,1 K], добавлен 20.05.2014Принцип работы нейросетей и модели синтеза. Ключевые моменты проблемы распознавания речи. Система распознавания речи как самообучающаяся система. Описание системы: ввод звука, наложение первичных признаков на вход нейросети, модель и обучение нейросети.
курсовая работа [215,2 K], добавлен 19.10.2010Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.
курсовая работа [2,0 M], добавлен 14.07.2012Эффективность применения объектного подхода для программных систем. Детальное проектирование и реализация системы, реализующей процессы создания и взаимодействия объектов. Распознавание компьютером печатных букв с помощью многослойной нейронной сети.
курсовая работа [38,0 K], добавлен 09.03.2009Разработка программы моделирования автоматизированной системы управления реактором в среде Mathcad. Математическая модель объекта, структурный и алгоритмический и параметрический синтез системы: инвариантность к возмущениям, ковариантность с заданием.
курсовая работа [1,5 M], добавлен 20.03.2014