Компьютерный анализ звучащей речи (скомпонованы все лекции) Синергия. КОМПЬЮТЕРНЫЙ АНАЛИЗ ЗВУЧАЩЕЙ РЕЧИ КАФЕДРА ЛИНГВИСТИКИ. Лекция 1 Область применения информационных технологий в лингвистике. Компьютерный анализ и синтез речи
Скачать 223.85 Kb.
|
КОМПЬЮТЕРНЫЙ АНАЛИЗ ЗВУЧАЩЕЙ РЕЧИ КАФЕДРА ЛИНГВИСТИКИ Лекция 1 Область применения информационных технологий в лингвистике. Компьютерный анализ и синтез речи. Разделы и области лингвистики Задачи теоретической и прикладной лингвистики Естественный и искусственный язык Лингвистические ресурсы Основные тенденции развития компьютерной лингвистики ЛЕКЦИЯ 1 ОБЛАСТЬ ПРИМЕНЕНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В ЛИНГВИСТИКЕ. КОМПЬЮТЕРНЫЙ АНАЛИЗ И СИНТЕЗ РЕЧИ. Содержание лекции: Лингвистика - наука о естественном человеческом языке. Лингвистов занимают вопросы строения языка (выделение в нем фонетического, лексического, грамматического уровня и уровня текста), также социального варьирования языка (т.е. изменения языка в зависимости от общества людей, использующих данный язык). Специалистов также интересуют вопросы порождения и понимания языковых высказываний, принципы функционирования языка в обществах разных типов, а также происхождения и развития языка. В зависимости от изучаемого аспекта языка, национальной традиции и научной методологии выделяются различные разделы лингвистики, например, структурная лингвистика (которая занимается изучением языка с точки зрения образующих компонентов как в плане выражения, так и в плане его содержания), данный раздел лингвистики рассматривает язык как знаковую систему. Социолингвистика - отрасль языкознания, изучающая язык в связи с социальными условиями его существования. Под социальными условиями подразумевается комплекс внешних обстоятельств, в которых развивается и функционирует язык : это общество людей, использующих данный язык, социальная структура этого общества, различия между носителями языка, их культуре и образования. Таким образом, объектом социолингвистики является функционирование языка: его внутренняя структура принимается как некая данность и не подвергается специальному исследованию. Психолингвистика - отрасль, которая изучает язык с точки зрения феномена психики. С точки зрения психолингвистики язык существует в той мере, в какой существует внутренний мир говорящего и слушающего. Для того, чтобы определить раздел лингвистики, наиболее тесно связанный с использованием информационных технологий, нам необходимо обратиться к разграничению теоретической и прикладной лингвистики. Теоретическая (или как ее еще называют функциональная) лингвистика-это область языкознания, направленная на объективное установление состояния отдельного языка, его истории и закономерностей. Эта область лингвистики призвана ответить на вопрос «Каков язык?» Прикладная лингвистика развивается с конца 20-х годов ХХ века и является областью языкознания, связанной с разработкой методов решения практических задач использования языка. Прикладная лингвистика отвечает на вопрос «Как лучше использовать язык?» В России и за рубежом сложились разные понятия прикладной лингвистики. За рубежом в 30-40е годы под прикладной лингвистикой понимается процесс обучения иностранному языку, методика его преподавания, а в России с 50-х годов прикладная лингвистика ассоциируется с компьютерными технологиями. В связи с этим, в русскоязычной научной традиции прикладная лингвистика нередко рассматривается как синоним компьютерной/вычислительной/автоматической или инженерной лингвистики. В рамках прикладной лингвистики выделяются несколько направлений, которые объединяются исследователями в две большие группы: традиционные и новые. К традиционным направлениям и соответствующим задачам прикладной лингвистики относятся: создание и совершенствование письменностей создание систем транскрипции устной речи создание систем транслитерации иноязычных слов создание систем стенографии создание систем письма для слепых разработка методов адекватного преобразования текстов в иноязычную форму совершенствование методики преподавания языков К новым задачам прикладной лингвистики относятся: - разработка лингвистических основ машинного перевода -автоматическое индексирование и аннотирование документов -автоматический анализ текстов -автоматический синтез текстов -создание словарей - тезариусов для автоматического поиска информации. Это те области прикладной лингвистики, которые связаны с привлечением компьютеров для моделирования функционирования языка, а также сферу применения компьютерных моделей языка в лингвистике и смежных с ней дисциплинах. Компьютерная лингвистика - весьма сложное образование, в ней развиваются различные направления, сопоставимые с отдельными уровнями языка, с процессами порождения и восприятия речи или другими видами человеческой деятельности, связанной с языками. К направлениям компьютерной лингвистики относятся: - автоматический анализ и синтез текста. - создание словарей. - создание автоматических систем обучения языку (это могут быть компьютерные практики, тестирующие компьютерные программы, чей главный плюс в использовании - это интерактивность обучения). -атрибуция и дешифровка анонимных текстов (т.е. определение подлинности и расшифровка текстов) -создание лингвистических баз данных. Язык, как знаковая система Лингвистика в целом и компьютерная лингвистика в частности имеют дело с языками различного типа и их отдельными уровнями. Язык в наиболее общем виде определяется как знаковая система, которая используется для общения и передачи информации в некотором социуме. Специалисты в области лингвистики различают естественные и искусственные языки. Естественный язык - исторически сложившаяся и используемая в определенной этнической группе или национальном государстве знаковая система (т.е. языки, на которых общается какое-либо общество). Искусственный язык - знаковая система, искусственно создаваемая в тех областях, где применение естественных языков менее эффективно или невозможно. Среди искусственных языков выделяются неспециализированные языки например, (эсперанто) и специализированные языки. К специализированным языкам относятся языки науки (математики, логики химии, медицины) и также языки человеко-машинного общения которые получают распространение в специальных областях человеческой деятельности, связанной с облегчением диалога человека и компьютера. Языки программирования (ЯП) – класс искусственных языков, предназначенных для обработки информации с помощью компьютера. Это строгая (формальная) знаковая система, при помощи которой записываются компьютерные программы. В настоящее время существует от тысячи до десяти тысяч различных языков программирования. Если взглянуть на язык программирования как на некий объект с лингвистической точки зрения, то можно увидеть, что язык программирования, так же как и любой другой язык, имеет свои уровни. Лингвистические информационные ресурсы К лингвистическим информационным ресурсам относятся письменные текстовые массивы, а также и фонетические лингвистические ресурсы. С ними связаны многие исследования и перспективы развития, относящиеся к разным проблемам и задачам современной лингвистики, а компьютеризация и использование новейших информационных технологий ускоряет развитие науки и повышает доступность ее достижений для пользователей. Фонетические базы данных - составная часть общей структуры лингвистических ресурсов. Они представляют собой источник информации о распределении параметров моделей звуковых единиц, необходимой для настройки и подгонки параметров систем распознавания речи, систем идентификации говорящего по голосу и речи, синтеза речи и тестирования этих систем. Фонетические лингвистические ресурсы При создании фонетических баз данных возникают определенные трудности. Основная трудность связана с транскрибированием устной речи при создании фонетических лингвистических ресурсов. Возникает ряд вопросов в процессе решения данных проблем: - Какой алгоритм использовать при транскрибировании? - Учитывать ли индивидуальные особенности произношения? - Учитывать ли весь устный текст или его фрагменты? - Учитывать ли диалектные варианты произношения слов? - Учитывать ли ударения в словах? - Отмечать ли в записи паралингвистические явления, сопутствующие речи? Корпуса устной речи С 70-х годов специалисты начали использовать транскрипцию на основе орфографического представления звуков речи с дополнительными знаками, передающими паралингвистические и другие особенности. Для более углубленного изучения устной речи стали создаваться корпуса устной речи. Что такое компьютерный корпус устной речи? Это коллекция устных текстов, которые хранятся в виде аудио- или видеофайлов вместе с синхронизированными расшифровками, которые лингвисты называют «транскриптами». В транскриптах кодируются и фиксируются наиболее существенные свойства такого фрагмента устного текста, которые характеризуют его именно как устный текст. Первые фонетические корпусы устной речи использовались для решения следующих задач: 1. Сопоставительного изучения устной и письменной речи. 2. Изучения грамматических и лексических особенностей устной речи. 3. Исследования фонетических особенностей диалектов. 4. Построения частотных списков фонем и их сочетание. 5. Изучение акустических свойств речевых единиц и их использования в психолингвистических и лингвистических экспериментах. 6. Создания компьютерных систем, систем распознавания и синтеза устной речи. Основные тенденции развития компьютерной лингвистики. Толчком к развитию компьютерной лингвистики послужило создание первых ЭВМ в 40-х годах и их успешное применение во времена второй мировой войны. Первый этап функционального осмысления задач, стоящих перед разработками искусственного интеллекта, связывают с классической статьей Тьюринга, которая начинается с рассмотрения философски значимого вопроса : может ли машина мыслить? Этот тест получил название теста Тюринга и был подвергнут широкому обсуждению. В основе теста лежат проблемы, относящиеся к области автоматической обработки естественного языка и моделировании языкового взаимодействия. Джорджтаунский эксперимент Первые разработки в области компьютерной лингвистики были связаны с попытками моделирования языковых способностей человека. Проводились эксперименты по созданию систем машинного перевода и интеллектуальных систем, моделирующих языковое поведение человека. Первая публичная демонстрация машинного перевода (Джорджтаунский эксперимент) состоялся в 1954 году. В ходе эксперимента был продемонстрирован полностью автоматический перевод более 60 предложений с русского на английский. Эксперимент был задуман и подготовлен с целью привлечения внимания общества и правительства. В его основе лежала довольно простая система: она была основана всего на 6 грамматических правилах, а словарь включал 250 записей. Система была специализированной: в качестве предметной области для перевода была выбрана органическая химия. В компьютер в торжественной обстановке на перфокартах вводились предложения , например: «Обработка повышает качество нефти», «Командир получает сведения по телеграфу», — и машина выводила их перевод, напечатанный транслитом. Демонстрация была широко освещена в СМИ и воспринята как успех. Она повлияла на решение правительств некоторых государств, в первую очередь США, направить инвестиции в область вычислительной лингвистики. Джорджтаунский эксперимент в СССР В том же году первый эксперимент по машинному переводу был произведѐн в СССР. Организаторы Джорджтаунского эксперимента уверяли, что в течение 3—5 лет проблема машинного перевода будет решена. Однако, в действительности всѐ оказалось сложнее, более чем 10 лет исследований не дали законченного результата, и финансирование было значительно урезано. Необходимость лингвистического компонента в современных технологиях Такие задачи как распознавание и генерация речи, создание поисковых систем до настоящего времени решаются с минимальным участием лингвистов. Это обусловлено использованием в решении задач методов машинного перевода. Интернациональный характер сети привел к повышенному интересу задач прикладной лингвистики. Оказалось, что большинство современных технологий немыслимы без лингвистического компонента, обеспечивающего анализ текста на всех языковых уровнях: фонетики (для систем обработки устной речи), морфологии (для современных поисковых систем), семантики и лексики (например, для создания современных электронных словарных систем). Информационные технологии в лингвистике Компьютеры в информационном обмене являются средством кодирования, обработки, хранения и передачи больших массивов символьной информации. Совокупность законов, методов и средств получения, хранения , передачи и преобразования информации с помощью компьютеров получило обозначение «информационные технологии». При сужении этого понятия для использования его в лингвистике мы получаем «информационные технологии в лингвистике», понимаемое как совокупность законов, методов и средств получения, хранения, передачи, распространения и преобразования информации о языке и законах его функционирования при помощи компьютеров. Одной из задач соответствующей области знания являются сравнение способов кодирования информации человеком и компьютером. Дигитализация текстов Одним из первых важных шагов использования информационных технологий в лингвистике является дигитализация текстов — переведение языкового материала, существующего в печатном или устном виде, в цифровую форму. Именно в этом случае необходимо привлечь компьютер для выполнения определенных операций над текстами на естественном языке: их преобразования, выделения их них отдельных элементов и создания (синтеза) аналогичных текстов. Автоматический анализ и синтез текста. При автоматическом анализе звучащей речи она преобразуется в печатный текст. Процесс автоматического анализа речи включает следующие этапы: 1) ввод звучащей речи в компьютер 2) выделение компьютерной программой в звуковом потоке отдельных знаков. 3) идентификация выделенных знаков звучащей речи со знаками языка. Автоматический синтез звучащей речи представляет собой обратный процесс преобразования печатного текста, существующего в цифровой форме, в звучащий текст на естественном человеческом языке. Минимальными знаками звучащей речи являются звуки. Каждый звук имеет свои акустические характеристики (высота, частота колебаний звуковых волн и т.д.), которые можно измерить специальными приборами. Сложности анализа звучащей речи Первые устройства автоматического распознавания устной речи, в качестве выделяемых в речевом потоке знаков использовали не звуки, а слова. Слова вводимой в компьютер речи идентифицировались со словами, заранее записанными диктором, читающим слова. Но такой тип распознавания речи связан с определенными ограничениями: • личность говорящего: автомат распознает речь только определенного говорящего, • запас слов: автомат распознает только ограниченное количество слов, • подготовленность речи: автомат распознает речь, лишь если она подготовлена Решение проблемы Для преодоления этих ограничений требуется, чтобы компьютерная программа распознавала не слова, а звуки, т.е. работала со слитной естественной человеческой речью. В основе пофонемного распознавания звуков речи лежит анализ: 1) длительности и динамики звучания, 2) чередования акустического сигнала и пауз. Задача автоматического анализа Задачей автоматического анализа звучащей речи при использовании спектрограмм становится перевод спектрограмм в фонологическую транскрипцию. Процесс автоматического анализа речи включает ввод слов в компьютер начитанных разными дикторами слов, их спектральную обработку и создание набора признаков, своеобразного образца слова, который выступает знаком языка. При распознавании звучащей речи реальные признаки составляющих ее единиц сравниваются с признаками и образцами слов, существующими в памяти машины. Результатом сравнения является транскрипция или орфографическая запись слова. Трудность анализа При автоматическом анализе слитной речи дополнительную трудность составляет отсутствие четких границ между словами. Человек для преодоления этой трудности кроме акустических сигналов обычно использует самые разные другие источники информации: ситуацию, контекст, структуру языкового высказывания, прошлый опыт в данной области и т.п. Аналогичные правила ученые пытаются применить и к машинам, и стремятся задействовать в современных системах анализа речи кроме акустического - другие уровни системы языка: лексический, синтаксический, семантический, прагматический. Программные модули и интерфейсы Создание систем анализа речи предусматривает сотрудничество представителей разных специальностей. Для экономии времени и усилий ученых и практиков различные компании, в том числе Microsoft, выпускают средства анализа и синтеза речи в виде программных модулей и интерфейсов. Программисты, не обладающие познаниями в области лингвистики, математики и биологии, могут использовать готовые интерфейсы и программные модули в собственных разработках. Правда, в этом случае речевые возможности программ будут ограничены использованными средствами и технологиями. Например многие средства анализа и синтеза речи не способны работать с русским языком, что ограничивает их использование в России. Программы, в которых применяются средства автоматического анализа речи: • программы голосового управления компьютером и бытовой техникой VoiceNavigator и Truffaldino (компания «Центр речевых технологий», С.- Петербург); • комплекс голосового управления мобильным телефоном DiVo («Центр речевых технологий»); • программный модуль Voice Key для идентификации личности по парольной фразе длительностью 3—5 секунд («Центр речевых технологий»); • программы диктовки текста на английском языке: VoiceType Dictation (IBM), DragonDictate («Dragon Systems»); на русском языке: Комбат («Байт Груп») и Диктограф («Voice Member Technology) • система распознавания речи, встроенная в Microsoft Office ХР (работает только с английским языком); • голосовой поиск (например, в поисковой системе Google). Так, программа VoiceNavigator позволяет запускать компьютерные приложения и выполнять заданные команды голосом без использования клавиатуры. Перед применением программы ее необходимо обучить, произнеся в микрофон слова команд (команды можно произносить на любом языке и любым голосом). Чтобы программа начала распознавать голосовые команды, ее необходимо «разбудить», произнеся ключевое слово. Использование модулей распознавания речи перспективно в различных областях деятельности: в проведении судебных экспертиз, биометрии, обучении, научных исследованиях и т.д. Но массовое внедрение речевых технологий тормозится высокой стоимостью разработок и предлагаемых технологий, а также их пока еще низким качеством. В целом задача автоматического анализа речи является весьма сложной и решена лишь отчасти. В сравнении с ней задача автоматического синтеза речи оказывается более простой, и с примерами ее массового использования в обиходной жизни мы сталкиваемся постоянно. Но все же проблема оснащения компьютера полноценным речевым интерфейсом еще далека от своего завершения. Главной проблемой при создании программ автоматического распознавания речи является то, что компьютер не умеет работать со смыслом. В синтезе речи уже имеются определенные достижения, которые внедрены в массовую практику. Вопросы для самопроверки 1.Какая область языкознания, связанная с разработкой методов решения практических задач использования языка. Она также отвечает на вопрос «Как лучше использовать язык?» : а) психолингвистика б) прикладная лингвистика в) теоретическая лингвистика 2.Процесс извлечение из текста грамматической и семантической информации, выполняемый по алгоритму в соответствии с заранее разработанным описанием данного языка это: а) процесс перевода б) автоматический анализ текста в) автоматический синтез текста 3. К искусственным языкам относится: а) русский б) английский в) эсперанто 4.Паралингвистические явления это: а) звуки алфавита б) буквы в) кашель Лекция 2 Функционирование систем распознавания речи Содержание лекции: 1. Методы распознавания речи 2. Динамическая деформация времени 3. Скрытые Марковские Модели 4. Алгоритм Витерби 5. N-граммная модель 6. Система распознавания речи от Яндекс 7. Вопросы В скором времени голосовые интерфейсы практически не будут отличаться по надежности от классических способов ввода, т.е. ввода при помощи клавиатуры. Распознавание речи — одна из самых интересных и сложных задач искусственного интеллекта. Здесь задействованы достижения весьма различных областей: от компьютерной лингвистики до цифровой обработки сигналов. Чтобы понять, как должна быть устроена машина, понимающая речь, для начала разберемся, с чем мы имеем дело. Особенности естественного языка Естественный язык — результат многовековой параллельной работы огромного числа носителей языка. Он принципиально отличается от случайных комбинаций слов и от формально построенных языков. Одной из основных особенностей естественного языка является избыточность, позволяющая понимать искаженную речь. Формализация этого процесса сталкивается с трудностями больших объемов текстов (только в них можно выявить языковые особенности, а не в простом списке фраз). В таких случаях наиболее естественным является исследование различных применений частотных характеристик. Модели естественного языка интересовали математиков начиная с конца XIX — начала XX веков. Считается, что математик Андрей Андреевич Марков (старший) понятие марковской цепи ввел в процессе статистического исследования русского языка. Различие машинного перевода и распознавания речи Бурный всплеск теории построения языковых моделей возник после окончания второй мировой войны и был связан с тематикой машинного перевода. Языковые модели, использовавшиеся в системах машинного перевода, основывались на лингвистических знаниях и не были последовательными в том смысле, что анализ принадлежности цепочки слов языку производился с помощью анализа всей цепочки слов в целом. Распознавание речи, наоборот, требует таких моделей, которые позволяют для каждого нового поступившего на вход слова определять принадлежность или же вероятность принадлежности получившейся последовательности слов языку. Звучащая речь Звучащая речь для нас — это, прежде всего, цифровой сигнал. Если посмотреть на запись этого сигнала, то мы не увидим там ни слов, ни четко выраженных фонем — разные «речевые события» плавно перетекают друг в друга, не образуя четких границ. Одна и та же фраза, произнесенная разными людьми или в различной обстановке, на уровне сигнала будет выглядеть по-разному. Вместе с тем, люди как-то распознают речь друг друга: следовательно, существуют инварианты, согласно которым по сигналу можно восстановить, что же, собственно, было сказано. Поиск таких инвариантов — задача акустического моделирования. Акустический уровень На этапе первичной обработки сигнала основной задачей является извлечение из речи набора признаков, от которых обычно требуется выполнение следующих свойств: 1) Минимизация объема (максимальное сжатие информации); 2)Независимость от диктора (максимально возможное удаление информации, связанной с индивидуальными особенностями говорящего); 3) Однородность (параметры должны в среднем иметь одинаковую дисперсию); 4) Возможность применения простых метрик типа Евклидовой для определения близости между наборами признаков, при этом близость участков звука на слух должна быть согласована с близостью в смысле этой метрики. Практически все описанные выше способы расчета акустических параметров речевого сигнала реализованы в известных общедоступных математических компьютерных пакетах обработки сигналов. Акустическая модель Предположим, что речь человека состоит из фонем. Определим фонему как минимальную смыслоразличительную единицу языка, то есть звук, замена которого может привести к изменению смысла слова или фразы. Возьмем небольшой участок сигнала. Назовем этот участок «фреймом». Какая фонема была произнесена на этом фрейме? На этот вопрос сложно ответить однозначно — многие фонемы чрезвычайно похожи друг на друга. Но если нельзя дать однозначный ответ, то можно рассуждать в терминах «вероятностей»: для данного сигнала одни фонемы более вероятны, другие менее, третьи вообще можно исключить из рассмотрения. Собственно, акустическая модель — это функция, принимающая на вход небольшой участок акустического сигнала (фрейм) и выдающая распределение вероятностей различных фонем на этом фрейме. Таким образом, акустическая модель дает нам возможность по звуку восстановить, что было произнесено — с той или иной степенью уверенности. Локальное распознавание речи. Методы локального распознавания речи можно условно разделить на две большие группы: непараметрические — с использованием непараметрических мер близости к эталонам (к ним можно отнести методы на основе формальных грамматик и методы на основе метрик на множестве речевых сигналов) — и параметрические (вероятностные — на основе метода скрытых марковских процессов). Первые устройства автоматического распознавания речи были аналоговыми и были узкоспециализированными. После появления лингвистической теории речи, представляющей речь как производную фонетической транскрипции текста произносимого слова, для распознавания стал использоваться метод фонетической сегментации, однако впоследствии выяснилось, что эта задача трудно поддается точному автоматическому решению. Метод динамической деформации времени Следующим этапом стало развитие непараметрических подходов, основанных на мерах близости на множестве речевых сигналов. В силу того, что основной спецификой метода являлось нелинейное искажение временной оси одной из сравниваемых функций, метод получил название «динамической деформации времени» (ДДВ). К очевидным достоинствам метода ДДВ относятся простота его реализации и обучения, а основными недостатками метода является сложность вычисления меры близости (пропорционально квадрату длины сигнала) и большой объем памяти, необходимый для хранения эталонов команд (пропорционально длине сигнала и количеству команд в словаре). Первые методы распознавания речи Методы, использующиеся в задаче локального распознавания речи в настоящее время, были впервые предложены рядом американских исследователей в 70-е годы ХХ века. Они применили теорию скрытых марковских моделей (СММ). СММ представляют из себя дважды стохастические процессы — марковские цепи по переходам между состояниями и множества стационарных процессов в каждом состоянии цепи. Достоинства и недостатки СММ Достоинствами метода СММ являются достаточно быстрый способ вычисления значений функции расстояния (вероятности) и существенно меньший, по сравнению с методом ДДВ (Динамической Деформации Времени), объем памяти, необходимый для хранения эталонов команд , а основными недостатками — достаточно большая сложность его реализации, а также необходимость использования больших фонетически сбалансированных речевых корпусов для обучения параметров СММ. По сути, методы ДДВ и СММ имеют очень много общего и могут считаться разными реализациями одного и того же подхода. Еще один важный аспект акустики — вероятность перехода между различными фонемами. Одни сочетания фонем произносятся легко и встречаются часто, другие сложнее для произношения и на практике используются реже. Можно обобщить эту информацию и учитывать ее при оценке «правдоподобности» той или иной последовательности фонем. Далее давайте на конкретном примере сконструируем скрытую марковскую модель. Для этого представим, что мы решаем не задачу распознавания речи, а прямо противоположную — преобразование текста в речь. К примеру, необходимо получить произношение слова «Яндекс». Пусть слово «Яндекс» состоит из набора фонем, [й][а][н][д][э][к][с]. Построим конечный автомат для слова «Яндекс», в котором каждая фонема представлена отдельным состоянием. В каждый момент времени находимся в одном из этих состояний и «произносим» характерный для этой фонемы звук. Но одни фонемы длятся долго, другие практически проглатываются. Здесь пригодится информация о вероятности перехода между фонемами. Сгенерировав звук, соответствующий текущему состоянию, мы принимаем вероятностное решение: оставаться нам в этом же состоянии или же переходить к следующему (и, соответственно, следующей фонеме). Более формально СMM можно представить следующим образом: Во-первых, введем понятие эмиссии. Как мы помним из предыдущего примера, каждое из состояний СMM «порождает» звук, характерный именно для этого состояния (т.е. фонемы). На каждом фрейме звук «разыгрывается» из распределения вероятностей, соответствующего данной фонеме. Во-вторых, между состояниями возможны переходы, также подчиняющиеся заранее заданным вероятностным закономерностям. К примеру, вероятность того, что фонема [а] будет «тянуться», высока, чего нельзя сказать о фонеме [д]. Матрица эмиссий и матрица переходов однозначно задают скрытую марковскую модель. Алгоритм Витерби Далее давайте рассмотрим как применить СММ к обратной задаче — распознаванию речи. На помощь приходит алгоритм Витерби. Алгоритм делает несколько предположений: - наблюдаемые и скрытые события должны быть последовательностью. Последовательность чаще всего упорядочена по времени. - две последовательности должны быть выровнены: каждое наблюдаемое событие должно соответствовать ровно одному скрытому событию - вычисление наиболее вероятной скрытой последовательности до момента t должно зависеть только от наблюдаемого события в момент времени t, и наиболее вероятной последовательности до момента t – 1. У нас есть набор наблюдаемых величин (собственно, звук) и вероятностная модель, соотносящая скрытые состояния (фонемы) и наблюдаемые величины. Алгоритм Витерби позволяет восстановить наиболее вероятную последовательность скрытых состояний. Пусть в нашем словаре распознавания всего два слова: «Да» и «Нет» . Таким образом, у нас есть две СММ. Допустим, у нас есть запись голоса пользователя, который говорит «да» или «нет». Алгоритм Витерби позволит нам получить ответ на вопрос, какая из гипотез распознавания более вероятна. Теперь наша задача сводится к тому, чтобы восстановить наиболее вероятную последовательность состояний скрытой марковской модели, которая могла бы породить предъявленную нам аудиозапись. Если пользователь говорит «да», то соответствующая последовательность состояний на 10 фреймах может выглядеть, например: [д][д][д][д][а][а][а][а][а][а] или [д][а][а][а][а][а][а][а][а][а]. Аналогично, возможны различные варианты произношения для «нет» — например : [н'][н'][н'][е][е][е][е][т][т][т] и [н'][н'][е][е][е][е][е][е][т][т]. Теперь найдем наиболее вероятный, способ произнесения каждого слова. На каждом фрейме мы будем спрашивать нашу акустическую модель, насколько вероятно, что здесь звучит конкретная фонема (например, [д] и [а]); кроме того, мы будем учитывать вероятности переходов ([д]->[д], [д]->[а], [а]->[а]). Так мы получим наиболее вероятный способ произнесения каждого из слов-гипотез; более того, для каждого из них мы получим меру, насколько вообще вероятно, что произносилось именно это слово (можно рассматривать эту меру как длину кратчайшего пути через соответствующий граф). «Выигравшая» (то есть более вероятная) гипотеза будет возвращена как результат распознавания. Алгоритм Витерби достаточно прост в реализации (используется динамическое программирование) и работает за время, пропорциональное произведению количества состояний СMM на число фреймов. Алгоритм Forward-Backward. При тренировке акустической модели нужна оценка вероятности каждого состояния на каждом фрейме. Для этого используется алгоритм Forward-Backward (вперед-назад) Однако акустическая модель — это всего лишь одна из составляющих системы. Что делать, если словарь распознавания состоит из сотен тысяч? Многие из них будут похожи по произношению или совпадать. При наличии контекста роль акустики падает: невнятно произнесенные или неоднозначные слова можно восстановить «по смыслу». Для учета контекста используются вероятностные модели. К примеру, носителю русского языка понятно, что естественность (в нашем случае — вероятность) предложения «мама мыла раму» выше, чем «мама мыла рама». То есть наличие фиксированного контекста «мама мыла ...» задает распределение вероятностей для следующего слова, которое отражает как семантику, так и морфологию. Такой тип языковых моделей называется n-gram language models (триграммы в рассмотренном выше примере); разумеется, существуют куда более сложные и мощные способы моделирования языка. N-граммная модель Языковые модели, основанные на n-граммах, используют явное предположение о том, что вероятность появления очередного слова в предложении зависит только от предыдущих n − 1 слов. На практике используются модели со значениями n = 1, 2, 3 и 4. Все новые модели практически всегда оцениваются по отношению к триграммной модели. На сегодняшний день практически все коммерческие системы распознавания речи используют n-граммную модель в той или иной форме. Достоинства и недостатки N-граммной модели Основным достоинством данного класса моделей оказывается возможность построения модели по обучающему корпусу достаточно большого размера и высокая скорость работы. Основные недостатки — заведомо неверное предположение о независимости вероятности очередного слова от более длинной истории, что затрудняет работу и не позволяет моделировать более глубокие связи в языке; и недостаточные для получения достоверных оценок объемы обучающих данных. Для преодоления этого недостатка используется развитый аппарат техник сглаживания, которые позволяют производить оценку параметров модели в условиях недостаточных или вовсе отсутствующих данных. Другим подходом к решению той же проблемы является кластеризация словаря, позволяющая сократить модель. Функционирование системы распознавания речи на примере Яндекса Опишем подробно детали технологии Яндекса — одной из перспективных систем распознавания русской речи. При рассмотрении примеров выше , утверждалось, что основной «строительной единицей» речи является фонема. На самом деле фонема — слишком крупная единица; чтобы смоделировать произношение одиночной фонемы, используется три отдельных состояния — начало, середина и конец фонемы. Вместе они образуют такую же СMM. Контекстная зависимость фонем Формально «одна и та же» фонема звучит поразному в зависимости от того, в какой части слова она находится и с какими фонемами соседствует. Вместе с тем, простое перечисление всех возможных вариантов контекстно-зависимых фонем вернет очень большое число сочетаний, многие из которых никогда не встречаются в реальной жизни; чтобы сделать количество рассматриваемых акустических событий разумным, близкие контекстно-зависимые фонемы объединяются на ранних этапах тренировки и рассматриваются вместе. Сеноны Таким образом, мы, во-первых, сделали фонемы контекстно-зависимыми, а вовторых, разбили каждую из них на три части. Эти объекты — «части фонем» — теперь составляют наш фонетический алфавит. Их также называют сенонами. Каждое состояние нашей CMM — это сенон. Итак, акустическая модель Яндекса все так же принимает на вход звук, а на выходе дает распределение вероятностей по сенонам. Теперь рассмотрим, что конкретно подается на вход. Как нам уже известно, звук нарезается участками («фреймами»). Как правило, шаг нарезки составляет 10 мс, так что соседние фреймы частично пересекаются. Понятно, что «сырой» звук — амплитуда колебаний по времени — не самая информативная форма представления акустического сигнала. Спектр этого сигнала — уже гораздо лучше. На практике обычно используется логарифмированный и отмасштабированный спектр, что соответствует закономерностям человеческого слухового восприятия (Mel-преобразование). Что такое мел? Мел – единица высоты звука, основанная на восприятии этого звука нашими органами слуха. MFCC Полученные величины подвергаются дискретному косинусному преобразованию (DCT), и в результате получается MFCC— (Mel Frequency Cepstral Coefficients). MFCC — это вектор из 13 вещественных чисел. Они могут использоваться как вход акустической модели «в сыром виде», но чаще подвергаются множеству дополнительных преобразований Что из себя представляет кепстр? В соответствии с теорией речеобразования речь представляет собой акустическую волну, которая излучается системой органов: легкими, бронхами и трахеей, а затем преобразуется в голосовом тракте. Если предположить, что источники возбуждения и форма голосового тракта относительно независимы, речевой аппарат человека можно представить в виде совокупности генераторов тоновых сигналов и шумов, а также фильтров. . Тренировка акустической модели — сложный и многоэтапный процесс. Для тренировки используются алгоритмы семейства Expectation-Maximization (ЕМ-алгоритм), такие, как алгоритм Баума-Велша.Он использует алгоритм прямого-обратного хода и является частным случаем обобщѐнного EM-алгоритма. Суть алгоритмов такого рода — в чередовании двух шагов: на шаге Expectation имеющаяся модель используется для вычисления матожидания функции правдоподобия, на шаге Maximization параметры модели изменяются таким образом, чтобы максимизировать эту оценку. На ранних этапах тренировки используются простые акустические модели. Результаты каждой предыдущей акустической модели являются стартовой точкой для тренировки более сложной модели. Существует множество способов улучшения акустической модели. Нейронный сети Нейронные сети лишены многих ограничений и обладают лучшей обобщающей способностью. Кроме того, акустические модели на нейронных сетях более устойчивы к шуму и обладают лучшим быстродействием. Нейронная сеть для акустического моделирования тренируется в несколько этапов. Машина Больцмана Для инициализации нейросети используется стек из ограниченных машин Больцмана (Restricted Boltzmann Machines, RBM). RBM — это стохастическая нейросеть, которая тренируется без учителя. Хотя выученные ей веса нельзя напрямую использовать для различения между классами акустических событий, они детально отражают структуру речи. Можно относиться к RBM как к механизму извлечения признаков (feature extractor) — полученная генеративная модель оказывается отличной стартовой точкой для построения дискриминативной модели. Дискриминативная модель тренируется с использованием классического алгоритма обратного распространения ошибки, при этом применяется ряд технических приемов, улучшающих сходимость и предотвращающих переобучение. Restricted Boltzmann Machines, RBM Декодирование Рассмотрим подробнее процесс декодирования. Для задачи распознавания спонтанной речи с большим словарем необходима структура данных, соединяющая воедино все возможные предложения, которые может распознать система. Подходящей структурой является WFST — по сути, просто конечный автомат с выходной лентой и весами на ребрах. На входе этого автомата — сеноны, на выходе — слова. Процесс декодирования сводится к тому, чтобы выбрать лучший путь в этом автомате и предоставить выходную последовательность слов, соответствующую этому пути. Декодирование происходит в реальном времени, поэтому исследуются не все возможные пути: специальные эвристики ограничивают набор гипотез наиболее вероятными. Создание словаря произношений Разумеется, наиболее интересная с технической точки зрения часть — это построение такого автомата. Эта задача решается в оффлайне. Чтобы перейти от простых СMM для каждой контекстнозависимой фонемы к линейным автоматам для каждого слова, нам необходимо использовать словарь произношений. Grapheme-To-Phoneme Создание такого словаря невозможно вручную, и здесь используются методы машинного обучения (а сама задача в научном сообществе называется Grapheme-To-Phoneme, или G2P). В свою очередь, слова «состыковываются» друг с другом в языковую модель, также представленную в виде конечного автомата. Результат процесса декодирования — список гипотез, который может быть подвергнут дальнейшей обработке. К примеру, можно использовать более мощную языковую модель для переранжирования наиболее вероятных гипотез. Список результатов возвращается пользователю, отсортированный по значению confidence — степени уверенности в том, что распознавание прошло правильно. Нередко остается всего одна гипотеза, в этом случае приложениеклиент сразу переходит к выполнению голосовой команды. Вопросы для закрепления материала: |