- •Глава 8
- •8.1. Введение
- •8.2. Понятия теории формальных языков
- •8.2.1. Определения
- •8.2.2. Типы грамматик
- •8.2. Понятия теории формальных языков
- •8.3. Постановка задачи синтаксического распознавания образов
- •8.4. Синтаксическое описание образов
- •8.5. Грамматики, используемые в распознавании образов
- •8.5.2. Распознавание образов, представленных графами
- •8.5.3. Распознавание древовидных структур
- •8.6 Статистический анализ
- •8.6.1. Стохастические грамматики и языки
- •8.6.2. Оценка вероятностей правил подстановки с помощью процедур обучения
- •8.7.1. Вывод цепочечных грамматик
- •Часть I. Строится нерекурсивная грамматика, порождающая в точности заданное множество выборочных цепочек. Выборочные цепочки обрабатываются в порядке уменьшения длины.
- •8.7.2. Вывод двумерных грамматик
- •8.8. Автоматы как распознающие устройства
8.5.3. Распознавание древовидных структур
Для того чтобы обрабатывать древовидные структуры, необходимо слегка модифицировать наше определение грамматики. Грамматика деревьев определяется как пятерка
где VN и VT. как и раньше,—множества нетерминалов и терминалов соответственно, S—начальный символ, который вообще говоря, может быть деревом. Р—множество грамматических правил вида Ω->Ψ, где Ψ и Ω —деревья, и R—функция ранжирования, обозначающая количество прямых потомков узла, метка которого является терминальным символом данной грамматики.
В качестве примера грамматики деревьев рассмотрим электрическую схему, представленную на рис. 8,3, и. Грамматика, порождающая этот объект, состоит из следующих элементов:
Для того чтобы породить конкретный образ, необходимо переписать все нетерминальные символы на узлах дерева таким образом, чтобы сформировать дерево, все узлы которого имеют терминальные метки (в данной грамматике).
Распознавание древовидных структур может производиться методами, обсужденными ранее в этом разделе, за исключением, конечно, правил подстановки, которые, отражая специфику грамматики деревьев, должны иметь древовидную структуру.
8.6 Статистический анализ
Для определения и описания переменных, представляющих случайную среду, должны быть привлечены статистические понятия и методология. В распознавании образов случайность появляется в основном в результате воздействия двух принципиальных; факторов: шума, возникающего при измерении характеристик объекта, и неполноты информации о характеристиках классов образов. В этом разделе внимание сосредотачивается на обобщении основной модели формальной грамматики G = (VN, VT, Р, S) распространением ее на ситуации статистического характера. Полученная в результате стохастическая модель грамматики затем может быть использована в качестве статистического аппарата в процессе распознавания.
8.6.1. Стохастические грамматики и языки
Для придания статистического характера нашим моделям грамматик весьма целесообразно воспользоваться следующим приемом — считать недетерминированными правила подстановки и ставить в соответствие каждому из них некоторую вероятностную меру. Основываясь на этом приеме, мы определяем стохастические грамматики следующим образом:
где VN, VT, Р и S, как и прежде,—множества нетерминалов, терминалов, правил подстановки и начальный символ соответственно, а Q—множество вероятностных мер, заданных на множестве правил подстановки Р. Основные определения неограниченной грамматики, грамматики непосредственно составляющих. бесконтекстной и регулярной грамматик остаются в силе также и для стохастических грамматик. Как и прежде, тип грамматики зависит от типа допустимых правил подстановки из множества Р.
Рассмотрим следующий процесс порождения терминальной цепочки х, начинающийся с S:
где {r1, r2, … , rm} представляют любые т правил подстановки из множества Р и α1,α2,…,αm-1—промежуточные цепочки. Пусть различные правила подстановки применяются с вероятностями р(r1), р(r2), ..., р( rm). Тогда вероятность порождения цепочки х определяется как
где р(rj| r1 r2… rj-1)—условная вероятность, поставленная в соответствие правилу rj при предварительном применении правил r1 r2… rj-1.
Если р(rj| r1 r2… rj-1) = p(rj), распределение вероятностей, поставленных в соответствие правилу rj, называется неограниченным; множество Q неограниченно, если все составляющие его распределения вероятностей неограниченны. Стохастическую грамматику называют неоднозначной, если существует п различных путей порождения цепочки х, характеризующихся вероятностями р1(х), р2(х), ..., рn(х), п>\. Таким образом, вероятность порождения цепочки х неоднозначной стохастической грамматикой определяется как
Множество Q совместно, если
Стохастический язык L(С)—это язык, порожденный стохастической грамматикой G. Каждая терминальная цепочка х языка L(G) должна обладать вероятностью р(х) порождения данной цепочки. Стохастический язык, порожденный стохастической грамматикой G, формально можно определить так:
где VT+ — множество всех терминальных цепочек, исключая пустую, порожденных грамматикой G; обозначение Sx используется для обозначения выводимости цепочки х из начального символа S посредством соответствующего применения правил подстановки из множества Р. Короче говоря, выражение (8,6.6) означает, что стохастический язык—это множество всех терминальных цепочек, каждой из которых поставлена в соответствие вероятность ее порождения, причем все цепочки выводимы из начального символа S. Вероятность порождения р{х) задается суммированием вероятностей всех различных способов порождения цепочки х. Заметим, однако, что при п > 1 стохастический язык становится неоднозначным. Рассмотренные выше понятия иллюстрируются следующим примером.
Пример. Рассмотрим стохастическую бесконтекстную грамматику
Заметим, что каждому правилу подстановки поставлена в соответствие вероятность его применения, В данном случае первое правило применяется с вероятностью р, в то время как второе—с вероятностью 1—р.
Дважды применив первое правило, а затем один раз второе, получим последовательность
Обозначив терминальную цепочку аааЬЬЬ через х и используя (8.6.3), имеем
Язык, порожденный грамматикой G, задается в данном случае следующим образом:
Каждая цепочка аtЬt имеет, как мы видим, связанную с ней вероятность рt-1(1—р). Отметим также, что эта стохастическая грамматика не является Неоднозначной, так как существует всего одна последовательность правил подстановки, ведущая к каждой терминальной цепочке. В качестве упражнения в конце этой главы предлагается доказать, что множество Q в данном случае совместно. |
В стохастических языках используются те же методы грамматического разбора, что были рассмотрены в предыдущем параграфе. Однако для облегчения процесса разбора могут привлекаться знания о вероятности применения правил подстановки. Предположим, например, что на определенном шаге процедуры восходящего грамматического разбора имеется несколько правил-кандидатов, одно из которых следует выбрать и применить, Очевидно, что правилом, имеющим наибольшую вероятность успешного применения, будет правило с наибольшей вероятностью применения для порождения анализируемой терминальной цепочки. В общем случае вероятности применения грамматических правил должны использоваться в грамматическом разборе для увеличения скорости распознавания стохастических систем.