Электронная библиотека книг Александра Фролова и Григория Фролова.
 
Библиотека
Братьев
Фроловых
Электронная библиотека книг Александра Фролова и Григория Фролова.
Библиотека системного программиста
Программирование на JAVA
ПК. Шаг за шагом
Другие книги
Восстановление данных
Антивирусная защита
Статьи для
программистов
Пользователю компьютера
[Назад] [Содержание] [Дальше]

Синтез и распознавание речи. Современные решения


А.В. Фролов, Г.В. Фролов

Аннотация

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

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

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

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

Предисловие

Наверное, многие из Вас задавались такими вопросами: сможем ли мы когда-нибудь общаться с компьютерами так же легко, как и с людьми — при помощи голоса, мимики и жестов? Будет ли компьютер узнавать нас, выделяя среди других людей? Сумеет ли он улавливать наше настроение, чтобы вести себя с Вами соответствующим образом?

Как отмечено в [4], с идеей наделения неодушевленных предметов голосовым интерфейсом мы знакомы еще по детским сказкам. Вспомните: «Свет мой, зеркальце, скажи, да всю правду доложи…».

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

Вот уж, правда, что все новое — это хорошо забытое старое…

Сложность проблемы

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

В самом деле, для создания системы распознавания речи нужно решить множество задач.

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

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

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

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

Звуки сплошной речи содержат постоянно изменяющийся спектр гармонических частот, а также шум. Громкость и темп речи также постоянно изменяются. Более того, одна и та же фраза, сказанная разными людьми, или даже одним человеком, находящимся в разных психических состояниях, может иметь разную спектрально-временную окраску. Это сильно затрудняет создание универсальных систем распознавания, «понимающих» речь разных людей.

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

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

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

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

Отсюда вывод — если Вы программист и решили посвятить себя разработкам в области речевых технологий, Вам необходимо иметь представление о перечисленных выше смежных специальностях. Для наглядности мы свели все эти специальности в табл. В-1.

Таблица В-1. Специальности, имеющие отношение к речевым технологиям

Специальность

Как и для чего используется

Радиоинженер

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

Лингвист

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

Математик

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

Программист

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

Биолог

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

Психолог

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

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

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

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

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

Список литературы, посвященной данной тематике, а также соответствующие ссылки на ресурсы Интернета приведены в разделе «Библиографический список и ресурсы Интернета», расположенный в конце книги.

Современные достижения

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

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

В самом деле, всего за 10-20 лет объем оперативной памяти компьютера, и тактовая частота процессора возросли в тысячи раз. Сегодняшние студенты работают дома с такими компьютерами, о которых не так давно сотрудники научно-исследовательских лабораторий могли разве лишь мечтать.

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

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

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

Одно дело — научить компьютер распознавать отдельные фонемы и слова, и совсем другое — научить компьютер понимать смысл сказанного. Без понимания контекста произносимых слов их правильная интерпретация не всегда возможна. Не зря переводчиков с иностранного языка учат переводить не слова, а смысл текста. И если переводчик не разбирается в тексте, над которым он работает, едва ли результаты перевода будут удовлетворительны.

При попытке научить компьютер понимать смысл «услышанных» им слов, сразу возникает ряд научных проблем. И, на наш взгляд, основная из них — необходимость реализации искусственного интеллекта. В то же время до сих пор отсутствует точное понимание, что же представляет собой «обыкновенный» естественный интеллект, которым наделен каждый человек, а возможно, и большинство животных.

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

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

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

Возможно, наиболее перспективное направление их развития с точки зрения создания систем искусственного интеллекта — так называемые нейронные сети. Человек «подсмотрел» архитектуру этих сетей у самой природы.

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

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

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

Содержимое книги

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

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

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

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

Мы также рассмотрели в главе 3 мощные профессиональные инструментальные средства, предназначенные для работы со звуком и разработанные компанией «Центр речевых технологий».

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

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

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

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

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

В главе 7 мы рассмотрели методы, технологии и программы синтеза речи. Была выделена модель компилятивного синтеза и формантно-голосовая модель. Первая из этих моделей обеспечивает относительно высокое качества речи, однако пригодна для систем с небольшим словарным запасом. Словарный запас второй системы практически не ограничен, однако, качество синтезированной речи не слишком высокое.

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

В приложении к книге мы привели информацию, которая пригодится программистам при создании собственных средств для работы с речевой информацией. Мы рассказали о формате файла для обмена ресурсами (Resource Interchange File Format, RIFF), в котором обычно хранятся звуковые данные.

Требования к читателю

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

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

Требования к компьютеру

Для работы с нашей книгой Вам потребуется любой современный компьютер, на котором установлена операционная система Microsoft Windows 2000/XP.

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

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

Благодарности

Мы благодарим главного редактора издательства КУДИЦ-ОБРАЗ Оксану Кузьминову, которая не только натолкнула нас на идею создания этой книги, но и вместе с другими сотрудниками издательства обеспечила ее выход в свет.

В работе над книгой нам очень помог Москаленко Алексей Михайлович (http://alexmoshp.chat.ru/), предоставивший в наше распоряжение свою систему анализа речи SAS, работа которой основана на применении нейронных сетей.

Мы также благодарны сотрудникам компании «Центр речевых технологий» (http://www.speechpro.com), предоставившей в наше распоряжение информацию о разработках этой компании, имеющих отношение к теме нашей книги.

Артем Хмара (premdania@narod.ru) предоставил в наше распоряжение рисунки, иллюстрирующие внутреннее строение человеческого уха. Эти рисунки выполнены Артемом для своего сайта http://poznavaika.narod.ru/Orgchuv.html.

Как связаться с авторами

Ваши вопросы и предложения по содержанию этой книги Вы можете направить авторам по адресу alexandre@frolov.pp.ru. О других наших работах можно узнать на сайтах http://www.datarecovery.ru, http://www.shop2you.ru, http://www.frolov.pp.ru.

[Назад] [Содержание] [Дальше]


Создание интернет-магазинов: http://www.shop2you.ru/ © Александр Фролов, Григорий Фролов, 1991-2016