
- •Глава 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.6.2. Оценка вероятностей правил подстановки с помощью процедур обучения
Переход от детерминированной к стохастической грамматике осуществляется относительно просто. Единственное различие между этими двумя типами грамматик заключается в наличии или отсутствии множества вероятностных мер для правил подстановки Q. Естественно, если мы хотим использовать стохастические грамматики, необходимо обладать механизмом оценки этих вероятностей.
Рассмотрим задачу разделения М. классов, характеризующуюся стохастическими грамматиками
Предполагается, что V Nq , V Tq, Рq и S, известны и грамматики однозначны. Так как все еще существует множество нерешенных задач, связанных с оценкой вероятностей правил подстановки, мы сосредоточим наше внимание только на бесконтекстных и регулярных грамматиках. Учитывая это ограничение, требуется оценить вероятности правил подстановки Qq , q = 1, 2. ..., M, при помощи множества выборочных терминальных цепочек
Т={х1, х2..., хm}, (8.6.8)
где каждая цепочка принадлежит языку, порожденному одной из стохастических грамматик вида (8.6.7).
Собрав все цепочки, перенумеруем их и обозначим через n(xn) количество появлений цепочки Хn. Каждая цепочка подвергается также разбору с помощью каждой грамматики, и число Nqij(Хn } обозначает, сколько раз при грамматическом разборе цепочки Хn применялось правило подстановки Ai—>βj грамматики Gq. Хотя вероятности правил подстановки грамматик (8.6,7) нам не известны, предполагается, что сами правила подстановки мы знаем, поэтому грамматический разбор возможен.
Математическое ожидание nqij числа вхождений правила подстановки Ai—>βj; грамматики Gq в грамматический разбор данной цепочки можно аппроксимировать следующим выражением:
где p(Gqlxn)—вероятность порождения данной цепочки хn грамматикой Gq. В процессе обучения эта вероятность должна быть определена для каждой цепочки.
Всроятность рqij применения правила подстановки Ai—>βj в грамматике Gq может теперь быть аппроксимирована соотношением
где р^qij—оценка вероятности рqij. а суммирование в знаменателе (8,6.10) выполняется по всем правилам подстановки грамматики Gq имеющим вид Ai—>βk т. е. для всех правил подстановки грамматики Gq с одинаковой нетерминальной левой частью Ai.
Как было показано Ли и фу [1972], но мере приближения числа цепочек в T к бесконечности оценка вероятности р^qij; приближается к истинной вероятности правила подстановки рqij при выполнении следующих условий:
2. Оценка вероятности появления цепочки хn, в множестве T, определяемая соотношением
приближается к истинной вероятности р(хл).
3. В процессе обучения для каждой цепочки Xn, может быть определена вероятность р(Gq|xn).
Вероятность р(Gq|xn) того. что данная цепочка xn принадлежит классу wq, обычно без труда может быть установлена в обучающей фазе. Если определенно известно, что данная цепочка принадлежит исключительно классу wq, то р(Gq|xn) = 1. Аналогично, если известно, что Хn не может принадлежать wq, то р(Gq|xn) = 0. Часто, однако, вследствие обсужденных в начале этого раздела причин некоторые цепочки могут принадлежать более чем одному классу. В этом случае можно получить простую оценку вероятности р(Gq|xn), q= 1, 2, .... М, для этих цепочек, фиксируя относительную частоту, с которой они встречаются в каждом классе. При этом, конечно, необходимо, чтобы.
(8.6.12)
Когда невозможно определить относительную встречаемость «неоднозначных» цепочек в каком-либо определенном классе, наиболее оправданным для этих цепочек считается обычно допущение р(Gq|xn) == 1/М.
Пример. Проиллюстрируем представленные в этом параграфе понятия простым числовым примером. Рассмотрим стохастические грамматики
где для обеих грамматик
Правила подстановки и соответствующие им вероятности заданы следующим образом:
Требуется определить с помощью обучающей процедуры вероятности, входящие в q1 и Q2.
Для того чтобы не отклоняться от принятой ранее системы обозначений, можно изменить приведенные выше обозначения следующим образом:
где мы задаем S = А1, β1= aS, β2 = а, β3 = bS, β4 = Ь. Индексы вероятностей интерпретируются так же, как и раньше, т. е, первый индекс представляет класс, второй означает индекс левой части правила подстановки, третий—индекс правой части правила подстановки. В данном случае все левые части идентичны.
Для наглядности предположим, что класс w1 включает в себя только цепочки, составленные из символов a, а класс w2—только цепочки из символов Ь. Однако вследствие вмешательства шума иногда могут встречаться и смешанные цепочки. Отметим, что, хотя обе грамматики G1и G2могут порождать смешанные цепочки, в этом примере мы будем считать, что G1 используется только для порождения цепочек, состоящих из а, и G2 используется только для порождения цепочек, состоящих из Ь. Предположим далее, что обучающая выборка состоит из 100 образов-цепочек со следующими характеристиками:
цепочка
|
Число появлений цепочки
|
а |
30 |
аа |
20 |
ааЬЬЬ |
5 |
ЬЬ |
25 |
Ь |
20 |
Обозначив первый тип цепочки х1, второй— х2 и т. д., получаем
Для оценки вероятностей рqij по формуле (8-6.10) необходимо сначала вычислить значения nqij. Согласно (8.6.9),
где Т состоит из 30 цепочек x1, 20 цепочек х2 и т, д. Используя это соотношение, мы получаем для дласса w1
Проанализируем это выражение более подробно. Величина n{x1) известна, a p(G1|x1) есть вероятность того, что цепочка х1 принадлежит к классу w1. Можно предположить, что эта вероятность равна 1, поскольку х1 состоит только из элементов а. Коэффициент N111(x1)—число использовании в грамматическом разборе цепочки X1 правила A1->β1. Так как видно, что это правило подстановки не участвует в разборе x1, то N111(x1)=0. Аналогичным образом вычисляется второе слагаемое. Третья цепочка содержит как символы а, так и b и поэтому может принадлежать любому из двух классов. Допуская, что вероятности ее принадлежности классу w1 и классу w2 равны, считаем p(G1| x3) == 0.5. В общем случае, как упоминалось ранее, знание конкретной информации о задаче помогает определять эти вероятности более осмысленно. Цепочки х4 и х5 в четвертом и пятом слагаемых относим к w2, поскольку они состоят исключительно из символов Ь. Отметим также, что N111(x4)= N111(x5)=0, поскольку правило A1->β1не участвует в грамматическом разборе этих цепочек. Учитывая все эти соображения, получаем
x1 |
о |
1 |
о |
о |
x2 |
1 |
1 |
о |
о |
x3 |
2 |
о |
2 |
1 |
x4 |
0 |
о |
1 |
1 |
x5 |
о |
о |
о |
1 |
Подставляя эти значения, вычисляем остальные nqij, что приводит к
n112 = (30)(1)(1) +(20)(1)(1)+ + (25)(0)(0) + (20)(0)(0) = 50
n113 = (30)(1)(0) + (20)(1)(0) + (5)(0.5)(2) + (25)(0)(1) + (20)(0)(0) = 5
n114= (30)(1)(0) + (20)(1)(0) + (5)(0.5)(1) + (25)(0)(1) + (20)(0)(1) = 2,5.
Теперь можно подсчитать все вероятности для класса w1 по формуле
где суммирование производится по всем правилам подстановки грамматики g1 с одинаковой нетерминальной левой частью Ai.
В нашем примере все левые части правил подстановки идентичны. Следовательно,
Как и ожидалось, правила подстановки класса w1, связанные с порождением цепочек из элементов а, обладают большей вероятностью.
Вычисление вероятностей правил подстановки для класса w2 аналогично только что проделанной процедуре. Из того, что правила подстановки этих двух грамматик идентичны, вытекает N2ij{xh) = N1ij(xn). Использование для этих величин значений, приведенных ранее в таблице, приводит к следующим п2ij:
В данном случае х1 и х2 несомненно принадлежат классу w1, поэтому можно предположить, что p(G2,\x1) == p(G2,\x2) = 0. Аналогичным образом p(G2,\x4) == p(G2,\x5)=1 Кроме того, из нашего допущения о разбиении точно на два класса вытекает, что p(G2,\x3)=1-p(G1,\x3)=0.5.. Используя эти вероятности, а также табличные значения, получаем
Вероятности правил подстановки могут теперь быть вычислены при помощи соотношения
где, как и ранее, суммирование происходит по всем правилам подстановки грамматики G2, имеющим одинаковую нетерминальную левую часть Аi в данном случае это верно для всех правил подстановки. Использование приведенного соотношения дает следующий результат:
Вычислив по выборочным цепочкам вероятность всех правил подстановки, теперь можно полностью определить стохастическую грамматику для данного примера:
8.7. ОБУЧЕНИЕ И ГРАММАТИЧЕСКИЙ ВЫВОД
Главы 3—6 были посвящены в основном проблеме построения решающих функций с помощью обучающих выборок. В этой главе эта задача до сих пор умышленно не упоминалась. Используя лингвистическую терминологию, процедуру получения решений с помощью обучающей выборки легко интерпретировать как задачу получения грамматики из множества выборочных предложений. Эта процедура, обычно называемая грамматическим выводом'), играет важную роль в изучении синтаксического распознавания образов в связи с ее значением для реализации автоматического обучения. Тем не менее, как это станет ясно из последующего обсуждения, область грамматического вывода находится еще в начальной стадии развития. Мы имеем в виду возможности обучения, которые можно было бы считать приемлемыми для синтеза универсальных методов построения систем синтаксического распознавания образов. Этот параграф посвящен в основном введению понятий грамматического вывода, рассматриваемых с двух точек зрения. В п. 8.7,1 строится алгоритм для вывода некоторых классов цепочечной грамматики. Затем в п. 8.7.2 достаточно подробно разбирается задача вывода двумерных грамматик. Хотя грамматики деревьев быстро становятся важной темой исследований в синтаксическом распознавании образов, алгоритмы вывода подобных грамматик, на наш взгляд, еще не достигли уровня, позволяющего включать их в учебник. В качестве введения в эту область можно рекомендовать читателям работу Гопсалеса и Томасона |1974б].
---------------------------------------------
') В литературе можно встретить также термин «восстановление грамматики». — Прим. перце.
---------------------------------------------