Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 209
Текст из файла (страница 209)
Используя запись ь„...и„для обозначения строки из и слов и ь; для обозначения з-го 76б Часть Ч. Неопределенные знания и рассуждения в условиях неопределенности слова в строке, можно составить выражение для вероятности некоторой строки с использованием цепного правила следуюшим образом': ( ггг... гг ) = Р ( мг ) Р ( и'2 ) ггг ) Р ( ~3 ) вгг 2 ) ° Р ( иг ) в "1 ° ° вь - г ) =П ь=т Большинство термов этого соотношения являются весьма сложными, а задача их оценки или вычисления является трудной. К счастью, возможно аппроксимировать эту формулу немного более простым соотношением и вместе с тем сохранить в целости значительную часть языковой модели.
Одним из простых, широко применяемых и эффективных подходов является модель 'гв двухсловных сочетаний. В этой модели веРоЯтность Р(иг, ~ ьг,... иг ) аппРоксимиРУетсЯ веРоатностью Р(ич (ы„„). Иначе говоря, в этом подходе принимается предположение о том, что для последовательностей слов можно использовать марковскую цепь первого порядка. Значительным преимушеством такой модели с двухсловными сочетаниями является то, что можно легко провести обучение этой модели, подсчитав, сколько раз каждая пара слов встречается в представительной совокупности строк, и используя этн подсчеты для оценки вероятности.
Например, если "а" встречалось в обучаюшей совокупности !0 000, а за ним 37 раз следовало "япп", то Р(дип, ~ а,,) 37/10, 000, где под Р подразумевается оцениваемая вероятность. После такого обучения следует ожидать, что слова "1 Ьауе" и "а яцп" будут иметь высокие оцениваемые вероятности, а "1 Ьаз'* и "ап яцп" — низкие вероятности. В табл. 15.2 показаны некоторые результаты подсчета количества двухсловных сочетаний на примере слов в оригинале данной книги.
Возможно также перейти к использованию модели 'ъ. трехсловных сочетаний, в котоРой пРедУсмотРены значениЯ длЯ Р(и, ~ и,ю мз,) . Это — более мощнаЯ Языковая модель, позволяющая судить о том, что слова "а(е а Ьапапа" (съесть банан) являются более вероятными, чем "а(е а Ьапг)аппа" (съесть бандану — цветной платок). Подходы, в которых предусмотрено применение моделей трехсловных сочетаний и в меньшей степени моделей двухсловных и однословных сочетаний, характеризуются наличием одной проблемы, которая связана с нулевыми результатами подсчета частоты: мы не должны утверждать, что какая-то комбинация слов невозможна, лишь потому, что она по стечению обстоятельств не встретилась в обучаюшей совокупности.
Для того чтобы можно было назначить таким комбинациям небольшую ненулевую вероятность, применяется процесс сглаживания. Эта тема обсуждается на с. 1104. Модели двух- или трехсловных сочетаний являются менее сложными по сравнению с некоторыми грамматическими моделями, которые будут рассматриваться в главах 22 и 23, но они позволяют лучше учесть локальные эффекты, связанные с контекстными зависимостями, и способны отразить определенные локальные синтаксические связи. Например, тот факт, что пары слов "1 Ьав" (я имеет) и "тап Ьауе" Строго говоря, вероятность последовательности слов строго зависит от контекста фрагмента речи; например, слова "! (гвчс в ацп'* гораздо чаше встречаются в записках, передаваемых банковскому кассиру, чем, скажем, в статьях из журнала И'ад оггве( )онгла).
Контекст учитывается лишь в немногих системах распознавания речи, в именно в тех, которые созданы путем изучения языковой модели специального назначения для решения конкретной задачи. 767 Глава 15. Вероятностные рассуждения во времени Таблица 15.2. Часть таблицы частот однословных и двухсловных сочетаний для слов в оригинале данной книпг. В ией наиболее часто применяемым отдельным словом пвляегся "гйе", и общее количество случаев, в которых встречается зто слово, равно 33 508 (из общего количества слов, равного 513 893). Наиболее часто встречающимся двухсловным сочетанием являетси "оГ где", с общим количеством 3833.
Некоторые частоты оказались больше олпогаемого (например, 4 раза всгречаетсп невероятное сочетание "оп Ь"), поскольку при подсчете количества двухсловиых сочезаний игнорируется знаки препинания, одно предложение молгег оканчиваться словом "оп", а другое — начинаться со слова "!з" Предыдущее слово Слово Количество оГ Гп н оп Го Ггош щойе! айепс одпословных сочетаний 3833 2479 832 944 1365 1 0 33 2 1 0 0 29 1 0 0 4 450 21 4 3 6 1 4 2 8 1 0 1 14 10 3 3 2 3 0 0 0 0 0 597 28 24 0 0 6 0 88 7 !6 9 82 ! 47 127 0 6 4 0 0 36 0 0 0 33508 2573 !5474 !!527 10566 752 2100 24! оп оГ го пзог[е! авен! гбеа Теперь рассмотрим, как скомбинировать языковую модель со словесными моделями, чтобы иметь возможность правильно обрабатывать последовательности слов. Для упрошения предполагается, что будет использоваться двухсловная языковая модель.
С помошью такой модели можно скомбинировать все словесные модели (которые, в свою очередь, состоят из моделей произношения и моделей фонем) в одну большую модель НММ. Состоянием в однословной модели НММ является фрейм с меткой, представляющей собой текущую фонему и состояние фонемы (например, [ш1,„в,„); любое состояние в модели НММ непрерывной речи снабжается также меткой в виде слова, как, например, [щ1,"„„,". Если каждое слово в своей модели произношения имеет в среднем р фонем с тремя состояниями, а обшее количество слов равно ру, то модель НММ непрерывной речи имеет Зри!состояний.
Переходы могут происходить между состояниями фонем в пределах данной конкретной фонемы, между фонемами данного конкретного слова, а также между конечным состоянием одного слова и начальным состоянием другого. Переходы между словами происходят с вероятностями, заданными с помошью двухсловной модели. После составления такой комбинированной модели НММ ее можно использовать для анализа непрерывного речевого сигнала. В частности, для обнаружения наиболее вероятной последовательности состояний может применяться алгоритм Витерби, представленный в виде уравнения 15.9.
Затем из этой последовательности (мужчина имею) получают низкие оценки, отражает общепринятые синтаксические соглашения по совместному использованию пар существительное — глагол. Проблема состоит в том, что подобные связи с помощью моделей сочетаний могут быть обнаружены только локально: неправильная языковая конструкция "1)ге тап агате" (мужчина имею) получает низкую оценку, но более пространный оборот "![ге тап зт[1[г ![ге уе!!озч йа1 ьате" (мужчина в желтой шляпе имею) не рассматривается как ошибочный.
7б8 Часть 'х'. Неопределенные знания и рассуждения в условиях неопределенности состояний можно извлечь последовательность слов, считывая метки слов из состояний. Таким образом, алгоритм Витерби позволяет решить проблему сегментации непрерывной речи на отдельные слова, поскольку в нем (по сути) используется динамическое программирование для одновременного учета не только всех возможных последовательностей слов, но и границ между словами. Обратите внимание на то, что выше не было сказано, будто с помощью алгоритма Витерби "можно извлечь наиболее вероятную последовательность слов". Дело в том, что наиболее вероятная последовательность слов не обязательно является такой, которая содержит наиболее вероятную последовательность состояний.
Это связано с тем, что вероятность последовательности слов представляет собой сумму вероятностей по всем возможным последовательностям состояний, совместимых с данной последовательностью слов. Например, сравнивая две последовательности слов, скажем "а Ьас)г" (спина) и "аЬас8" (абак), можно обнаружить, что имеется десять альтернативных последовательностей состояний для "а ЬасК", каждая из которых имеет вероятность 0,03, но только одна последовательность состояний для "аЬас)г'* с вероятностью 0,20. Алгоритм Витерби выбирает "аЬас)г", но фактически более вероятной является последовательность "а Ьас)с".
На практике это затруднение не исключает возможности применения данного подхода, но является достаточно серьезным для того, чтобы были предприняты попытки использовать другие подходы. Наиболее часто применяемым из них является алгоритм 'в. декодера А*, в котором предусмотрено остроумное использование поиска А* (см. главу 4) для обнаружения наиболее вероятной последовательности слов. Идея этого алгоритма состоит в том, что каждая последовательность слов рассматривается как путь через граф, узлы которого обозначены метками в виде слов. Преемниками любого узла являются все слова, которые могут следовать за словом, являющимся меткой для этого узла; таким образом, граф для всех предложений с длиной, равной или меньшей и, имеет п уровней, причем кахдый из этих уровней имеет максимальную ширину и), где и) — количество возможных слов.
При использовании двухсловной модели стоимость о(ь„ьь) любой луги между узлами с метками ы, и ь, задается выражением 1од р(ьь( ы,); таким образом, общая стоимость пути, соответствующего некоторой последовательности, может быть представлена следующим образом: созе(ьь..ьь) = ~ -топ Р(ьз)ь .1) = -тодД д(ьз)ы ) ь=ь в=1 При использовании такого определения стоимости пути задача поиска кратчайшего пути становится полностью эквивалентной задаче поиска наиболее вероятной последовательности слов. Для того чтобы этот процесс был достаточно эффективным, необходимо также иметь хорошую эвристику Ь ( м,) для оценки стоимости дополнения последовательности слов. Очевидно, что при этом подходе необходимо также учитывать, какая часть речевого сигнала еще не заменена словами из текущего пути.