Предложения

Для того чтобы поддерживать разговор с людьми, машина должна обладать способностью распознавать непрерывную речь, а не просто отдельные слова. На первый взгляд может показаться, что непрерывная речь представляет собой не что иное, как последовательность слов, к которой вполне можно применить алгоритм, приведенный в предыдущем разделе. Но этот подход оканчивается неудачей по двум причинам. Прежде всего, как уже было показано (с. 1), последовательность наиболее вероятных слов не является наиболее вероятной последовательностью слов. Например, в кинофильме "Take the Money and Run" (Бери деньги и беги) банковский кассир прочитал каракули в записке героя Вуди Аллена как слова "I have a gub" (У меня есть штука). Хорошая языковая модель должна была бы предложить в качестве намного более вероятной последовательности слова "I have a gun" (У меня есть пушка), даже несмотря на то, что последнее слово больше похоже на "gub", чем на "gun". Вторая проблема, с которой приходится сталкиваться при обработке непрерывной речи, связана с сегментацией — с проблемой определения того, где оканчивается одно слово и начинается следующее. С этой проблемой знаком любой, кто пытался изучать иностранный язык с помощью прослушивания устной речи, — на первых порах кажется, что все слова сливаются друг с другом. Но постепенно иностранец учится выделять отдельные слова из беспорядочных звуков. В данном случае первые впечатления вполне оправдываются; спектрографический анализ показывает, что в беглой речи слова действительно следуют одно за другим без пауз между ними. Поэтому нам приходится учиться определять границы между словами, несмотря на отсутствие пауз.
Начнем с языковой модели, назначение которой при распознавании речи состоит в определении вероятности каждой возможной последовательности слов. Используя запись w1...wn для обозначения строки из п слов и w± для обозначения i-ro слова в строке, можно составить выражение для вероятности некоторой строки с использованием цепного правила следующим образом7:
P[wi...wn) = P(wi) P(w21 wi) P{w31 wiw2) ...P{wn\wi...wn-i)
n
= P(Wi\Wi...Wi-i)
i=l
Большинство термов этого соотношения являются весьма сложными, а задача их оценки или вычисления является трудной. К счастью, возможно аппроксимировать эту формулу немного более простым соотношением и вместе с тем сохранить в целости значительную часть языковой модели. Одним из простых, широко применяемых и эффективных подходов является модель двухсловных сочетаний. В этой модели вероятность P{wi\w1... w) аппроксимируется вероятностью PiWilwi). Иначе говоря, в этом подходе принимается предположение о том, что для последовательностей слов можно использовать марковскую цепь первого порядка.
Значительным преимуществом такой модели с двухсловными сочетаниями является то, что можно легко провести обучение этой модели, подсчитав, сколько раз каждая пара слов встречается в представительной совокупности строк, и используя эти подсчеты для оценки вероятности. Например, если "а" встречалось в обучающей совокупности 10 ООО, а за ним 37 раз следовало "gun", то P(guni|ai_1) = = 37/10, ООО, где под Р подразумевается оцениваемая вероятность. После такого обучения следует ожидать, что слова "1 have" и "a gun" будут иметь высокие оцениваемые вероятности, a "I has" и "an gun" — низкие вероятности. В табл. 15.2 показаны некоторые результаты подсчета количества двухсловных сочетаний на примере слов в оригинале данной книги.
Возможно также перейти к использованию модели трехсловных сочетаний, в которой предусмотрены значения для P{wL \ ww) • Это — более мощная языковая модель, позволяющая судить о том, что слова "ate a banana" (съесть банан) являются более вероятными, чем "ate a bandanna" (съесть бандану— цветной платок). Подходы, в которых предусмотрено применение моделей трехсловных сочетаний и в меньшей степени моделей двухсловных и однословных сочетаний, характеризуются наличием одной проблемы, которая связана с нулевыми результатами подсчета частоты: мы не должны утверждать, что какая-то комбинация слов невозможна, лишь потому, что она по стечению обстоятельств не встретилась в обучающей совокупности. Для того чтобы можно было назначить таким комбинациям небольшую ненулевую вероятность, применяется процесс сглаживания. Эта тема обсуждается на с. 1104.
Модели двух- или трехсловных сочетаний являются менее сложными по сравнению с некоторыми грамматическими моделями, которые будут рассматриваться в главах 22 и 23, но они позволяют лучше учесть локальные эффекты, связанные с контекстными зависимостями, и способны отразить определенные локальные синтаксические связи. Например, тот факт, что пары слов "I has" (я имеет) и "man have"

(мужчина имею) получают низкие оценки, отражает общепринятые синтаксические соглашения по совместному использованию пар существительное—глагол. Проблема состоит в том, что подобные связи с помощью моделей сочетаний могут быть обнаружены только локально: неправильная языковая конструкция "the man have1' (мужчина имею) получает низкую оценку, но более пространный оборот "the man with the yellow hat have" (мужчина в желтой шляпе имею) не рассматривается как ошибочный.
Таблица 15.2. Часть таблицы частот однословных и двухсловных сочетаний для слов в оригинале данной книги. В ней наиболее часто применяемым отдельным словом является "the", и общее количество случаев, в которых встречается это слово, равно 33 508 (из общего количества слов, равного 513 893). Наиболее часто встречающимся двухсловным сочетанием является "of the", с общим количеством 3833. Некоторые частоты оказались больше ожидаемого (например, 4 раза встречается невероятное сочетание "on is"), поскольку при подсчете количества двухсловных сочетаний игнорируется знаки препинания, одно предложение может оканчиваться словом "on", а другое — начинаться со слова "is"
Теперь рассмотрим, как скомбинировать языковую модель со словесными моделями, чтобы иметь возможность правильно обрабатывать последовательности слов. Для упрощения предполагается, что будет использоваться двухсловная языковая модель. С помощью такой модели можно скомбинировать все словесные модели (которые, в свою очередь, состоят из моделей произношения и моделей фонем) в одну большую модель НММ. Состоянием в однословной модели НММ является фрейм с меткой, представляющей собой текущую фонему и состояние фонемы (например, [m] onset); любое состояние в модели НММ непрерывной речи снабжается также меткой в виде слова, как, например, [m]oЈs2t°- Если каждое слово в своей модели произношения имеет в среднем р фонем с тремя состояниями, а общее количество слов равно w, то модель НММ непрерывной речи имеет 3pW состояний. Переходы могут происходить между состояниями фонем в пределах данной конкретной фонемы, между фонемами данного конкретного слова, а также между конечным состоянием одного слова и начальным состоянием другого. Переходы между словами происходят с вероятностями, заданными с помощью двухсловной модели.
После составления такой комбинированной модели НММ ее можно использовать для анализа непрерывного речевого сигнала. В частности, для обнаружения наиболее вероятной последовательности состояний может применяться алгоритм Витерби, представленный в виде уравнения 15.9. Затем из этой последовательности состояний можно извлечь последовательность слов, считывая метки слов из состояний. Таким образом, алгоритм Витерби позволяет решить проблему сегментации непрерывной речи на отдельные слова, поскольку в нем (по сути) используется динамическое программирование для одновременного учета не только всех возможных последовательностей слов, но и границ между словами.
Обратите внимание на то, что выше не было сказано, будто с помощью алгоритма Витерби "можно извлечь наиболее вероятную последовательность слов". Дело в том, что наиболее вероятная последовательность слов не обязательно является такой, которая содержит наиболее вероятную последовательность состояний. Это связано с тем, что вероятность последовательности слов представляет собой сумму вероятностей по всем возможным последовательностям состояний, совместимых с данной последовательностью слов. Например, сравнивая две последовательности слов, скажем "a back" (спина) и "aback" (абак), можно обнаружить, что имеется десять альтернативных последовательностей состояний для "a back", каждая из которых имеет вероятность 0,03, но только одна последовательность состояний для "aback" с вероятностью 0,20. Алгоритм Витерби выбирает "aback", но фактически более вероятной является последовательность "aback".
На практике это затруднение не исключает возможности применения данного подхода, но является достаточно серьезным для того, чтобы были предприняты попытки использовать другие подходы. Наиболее часто применяемым из них является алгоритм декодера А*, в котором предусмотрено остроумное использование поиска А* (см. главу 4) для обнаружения наиболее вероятной последовательности слов. Идея этого алгоритма состоит в том, что каждая последовательность слов рассматривается как путь через граф, узлы которого обозначены метками в виде слов. Преемниками любого узла являются все слова, которые могут следовать за словом, являющимся меткой для этого узла; таким образом, граф для всех предложений с длиной, равной или меньшей л, имеет п уровней, причем каждый из этих уровней имеет максимальную ширину W, где W— количество возможных слов. При использовании двухсловной модели стоимость g(wlfw2) любой дуги между узлами с метками w1 ww2 задается выражением log P(w2\w1); таким образом, общая стоимость пути, соответствующего некоторой последовательности, может быть представлена следующим образом:
п п
Cost {wi...wn) = -log P{Wi\wi-i) = -logj P(wi|wi-i)
i=l i=l
При использовании такого определения стоимости пути задача поиска кратчайшего пути становится полностью эквивалентной задаче поиска наиболее вероятной последовательности слов. Для того чтобы этот процесс был достаточно эффективным, необходимо также иметь хорошую эвристику h(Wi) для оценки стоимости дополнения последовательности слов. Очевидно, что при этом подходе необходимо также учитывать, какая часть речевого сигнала еще не заменена словами из текущего пути. Тем не менее для решения этой задачи еще не были предложены эвристики, которые оказались бы особенно удачными.
Разработка устройства распознавания речи
Качество системы распознавания речи зависит от качества всех ее компонентов — языковой модели, моделей произношения слов, моделей фонем и алгоритмов обработки сигналов, используемых для извлечения спектральных характеристик из акустического сигнала. Выше описано, как может быть составлена языковая модель, и указано, что для ознакомления с подробными сведениями об обработке сигналов следует обратиться к другим учебникам. Кроме того, в данной книге не рассматриваются модели произношения и модели фонем. Структура моделей произношения (таких как модели произношения слова "tomato", показанные на рис. 15.15) обычно разрабатывается вручную. В настоящее время для английского языка и других языков составлены большие словари произношения, но далеко не все они отличаются приемлемой точностью. Структура моделей фонем с тремя состояниями является одинаковой для всех фонем, как показано на рис. 15.16. При использовании таких моделей остается только правильно определить сами вероятности. Как же можно получить такие данные, учитывая то, что для этих моделей могут потребоваться сотни тысяч или миллионы параметров?
Единственный осуществимый метод состоит в том, чтобы проводить обучение этих моделей по фактическим речевым данным, объем которых, безусловно, является буквально неограниченным. Очередная проблема заключается в том, как организовать такое обучение. Полный ответ на этот вопрос будет дан в главе 20, но в этом разделе мы можем изложить основные идеи. Рассмотрим двухсловную языковую модель; в данной главе описывалось, как провести ее обучение, подсчитывая частоты пар слов в реальном тексте. А можно ли применить такой же подход для определения вероятностей перехода между фонемами в модели произношения? Ответ на этот вопрос будет положительным, но только если кто-то возьмет на себя труд обозначить каждое вхождение каждого слова правильной последовательностью фонем. Это — трудная и чреватая ошибками задача, но она была выполнена для некоторых стандартных наборов данных, соответствующих нескольким часам речевых записей. Если известны последовательности фонем, то можно оценить вероятности перехода для моделей произношения на основе данных о частотах пар фонем. Аналогичным образом, если дано состояние фонем для каждого фрейма (а для получения этих данных требуется выполнить еще более трудоемкую работу по расстановке меток вручную), то можно оценить вероятности перехода для моделей фонем. Кроме того, если известны состояния и акустические характеристики фонем в каждом фрейме, то можно также оценить качество акустической модели либо непосредственно по данным о частотах (для моделей VQ), либо с использованием методов статистической подгонки (применительно к моделям, в которых применяется сочетание гауссовых распределений; см. главу 20).
Но указанный подход может не получить широкого распространения по таким причинам: данные с метками, проставленными вручную, обходятся дорого и встречаются редко, причем может оказаться, что даже доступные наборы данных с метками, расставленными вручную, не соответствуют тем типам говорящих людей и тем акустическим условиям, которые обнаруживаются в новом контексте распознавания речи. К счастью, алгоритм ожидания-максимизации, или сокращенно алгоритм ЕМ (Expectation Maximization), позволяет изучать модели перехода и модели восприятия НММ без необходимости использования данных с метками. Оценки, полученные на основе данных с метками, расставленными вручную, могут использоваться для инициализации моделей; после этого управление берет на себя алгоритм ЕМ и обеспечивает обучение моделей, предназначенных для решения предъявленной задачи. Идея функционирования этого алгоритма является простой: если дана некоторая модель НММ и последовательность наблюдений, то можно использовать алгоритмы сглаживания, описанные в разделах 15.2 и 15.3, для вычисления вероятности каждого состояния на каждом временном интервале, а затем, с помощью несложного дополнения, использовать его для вычисления вероятности каждой пары "состояние—состояние" на последовательных временнь/х интервалах. Эти вероятности могут рассматриваться как неопределенные метки. С помощью этих неопределенных меток можно оценить новые вероятности перехода и восприятия, после чего повторить процедуру применения алгоритма ЕМ. Такой метод гарантирует увеличение согласования между моделью и данными после каждой итерации и обычно сходится к гораздо более лучшему множеству значений параметров по сравнению с теми, которые были получены с помощью первоначальных оценок, сформированных по данным, размеченным вручную.
В современных системах распознавания речи используются колоссальные наборы данных и мощные вычислительные ресурсы для обучения применяемых в них моделей. В процессе распознавания отдельно сказанных слов в хороших акустических условиях (без фонового шума или реверберации) с помощью словаря из нескольких тысяч слов и при одном дикторе точность может превышать 99%. При распознавании неограниченной непрерывной речи с разными дикторами обычной является точность 60—80%, даже при хороших акустических условиях. А при наличии фонового шума и искажений, характерных для передачи речи по телефону, точность снижается еще больше. Хотя практически применяемые системы совершенствовались в течение нескольких десятилетий, все еще остаются возможности для внедрения новых идей.
В настоящей главе рассматривалась общая проблема представления и формирования рассуждений о вероятностных временнь/х процессах. Ниже перечислены основные идеи, изложенные в этой главе.
• Изменение состояния мира можно учесть, используя множество случайных переменных для представления этого состояния в каждый момент времени.
• Такие представления могут быть спроектированы таким образом, чтобы они удовлетворяли свойству марковости, согласно которому будущее не зависит от прошлого, если дано настоящее. В сочетании с предположением о том, что рассматриваемый процесс является стационарным (т.е. таким, что его законы не изменяются во временем), это позволяет намного упростить представление.
• Временная вероятностная модель может рассматриваться как содержащая модель перехода, которая описывает процесс развития, и модель восприятия, описывающая процесс наблюдения.
• Основными задачами вероятностного вывода во временнь/х моделях являются фильтрация, предсказание, сглаживание и определение с помощью вычислений
РЕЗЮМЕ
наиболее вероятного объяснения. Каждая из этих задач может быть решена с использованием простых, рекурсивных алгоритмов, время выполнения которых линейно зависит от длины рассматриваемой последовательности.
• Немного более подробно были описаны три семейства временнь/х моделей: скрытые марковские модели, фильтры Калмана и динамические байесовские сети (последняя модель включает две первых в качестве частных случаев).
• Двумя важными приложениями для временнь/х вероятностных моделей являются распознавание речи и слежение.
• Если не приняты особые предположения, как при использовании фильтров Калмана, точный вероятностный вывод при наличии многих переменных состояния, по-видимому, становится неосуществимым. Создается впечатление, что на практике эффективным алгоритмом аппроксимации является алгоритм фильтрации частиц.







Материалы

Яндекс.Метрика