Главная > Лекции по теории образов: Анализ образов
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

7.5. Обнаружение синтаксических переменных

Восстановление разбиения слов на классы представляет собой лишь часть задачи абдукции грамматики в целом. Теперь мы приведем два метода, позволяющие придать алгоритму завершенность. Первый из них обладает простотой и непосредственностью, но является неэффективным в смысле использования памяти и, что в нашем случае хуже, несколько неестественным. Второй алгоритм сложнее, но он более естественный и, возможно, много более эффективный.

Обращаясь к диаграмме состояний грамматики, будем иметь в виду хорошо известный факт, что состояния (синтаксические переменные) в некоторой минимальной машине представляют собой классы эквивалентности цепочек (а не отдельных слов). Так, например, на рис. 7.2.2 состояние 3 содержит все цепочки а также некоторые другие, состояние 7 содержит все цепочки, которые могут быть записаны как или Множество всех конечных цепочек, разумеется, бесконечно, но всегда можно достичь любое состояние посредством цепочек длины, не превышающей некоторое конечное число. Минимальное из этих чисел называется глубиной грамматики.

Рассмотрим множество которое будет разбито на классы эквивалентности, в том числе классы для заключительного состояния и «неграмматического» состояния, т. е. состояния, не позволяющего перевести цепочку в предложение, выводимое в данной грамматике.

Для того чтобы восстановить состояния, теперь можно действовать так же, как и в разд. 7.3, за тем исключением, что здесь мы заменяем одни другими. В данном случае вместо одних исходных цепочек подставляются другие исходные цепочки, причем используются при этом лишь цепочки самое большее длины Напомним также, что употребляемые здесь символы являются на самом деле претерминальными элементами исходной грамматики, поскольку работа ведется с классами слов, которые уже восстановлены. Но тогда эта процедура логически эквивалентна процедуре, с которой мы имели дело в разд 7.3, и утверждение,

высказанное тогда относительно сходимости, можно непосредственно распространить на обнаружение состояний: состояния будут в пределе установлены состоятельно.

После того как состояния идентифицированы, оказывается возможным также определить связывающие их правила подстановки. Например, в процессе обучения будет установлено, что состояние 6 содержит цепочки типа и так что существуют ветви, ведущие из состояния и т. д. в состояние 6 с лексическими элементами

Именно этот алгоритм был первым из опробованных в отчете Гренандера (19746); он был успешно применен к нескольким небольшим тестовым грамматикам. Для больших грамматик он не подходит, поскольку потребность в памяти быстро возрастет. Число исходных цепочек, равное

экспоненциально растет с увеличением глубины грамматики, и при существенных значениях последней уже невозможно обрабатывать цепочки. Кроме того, неестественно вводить все исходные цепочки и осуществлять полный перебор в

Рассмотрим в качестве альтернативы следующий алгоритм, включающий несколько больше элементов из алгоритма, описанного в разд. 7.3. Воспользуемся расщеплением состояний, учитывая ошибку , возникающую здесь аналогично случаю разбиения слов на классы эквивалентности.

Мы начинаем с создания единственного класса, обозначаемого как и содержащего лишь пустую цепочку . В каждом классе будет выделен один элемент, называемый прототипом, так что в классе прототипом окажется Отметим, что ниже состояние 1 не должно обязательно соответствовать классу

Обучающийся слушает предъявляемые ему грамматически правильные предложения и пытается обнаружить состояния, достижимые за шагов из состояния 1 как начального, при Допустим на время, что 1 и предложение имеет вид Проверяем эквивалентность прототипу Если ответ положительный, то зачисляем цепочку в класс [7], в противном случае проверяем ее на эквивалентность прототипу класса 0, если такой класс уже создан и т. д. Мы также время от времени выбираем некоторый прототип и заменяем его другим словом, после чего проводим проверку грамматической правильности и повторяется та же, что и выше, процедура. Если оказывается, что существующие в данный момент прототипов неэквивалентны то создаем некоторый

новый класс, скажем назначается его прототипом.

Повторяем эту процедуру много раз, допустим Рассмотрим затем начальные цепочки при которые можно представить как некоторый , соединенный с помощью конкатенации с Далее посредством той же процедуры формируем новые классы, повторяя ее, скажем, раз. Переходим к цепочкам длины 3 и т. д.

Таблица 7.5.1 (см. скан)

В качестве иллюстрации изложенного рассмотрим простую схему, изображенную на рис. 7.5.1. Допустим, что сформированы предложения, помещенные в табл. 7.5.1. Отметим, что поскольку а и неэквивалентны, но могут показаться эквивалентными в

Для начала мы имеем лишь один класс, содержащий Прослушивая мы проверяем эквивалентность Поскольку то мы создаем класс включающий прототип 6. В проверяется эквивалентность и, поскольку а зачисляется в класс Для получаем тот же результат. Для мы зачисляем в класс который уже сформирован. Повторяя эту операцию раз, мы не получим новых классов.

Положим далее и прослушаем, скажем, Поскольку то это некоторый прототип и никакой корректировки не требуется. Для при а сопоставление этого выражения с дает отрицательный результат, затем проводится сопоставление с которое также дает отрицательный результат, и, следовательно, необходимо учредить некоторый новый класс с прототипом . Для мы также получаем некоторый новый класс (4] с прототипом [2]

Рис. 7.5.1.

После этого скорректированные таблицы будут иметь вид

и мы продолжаем действовать, как было описано, заменяя иногда, как отмечалось, слова формальными прототипами. Окончательный результат может выглядеть так:

Отметим, однако, что нумерация классов может отличаться от нумерации состояний на исходной схеме. Взгляните на ветви схемы рис. 7.5.1.

При вероятность того, что в слабом смысле восстановленная грамматика эквивалентна истинной, стремится к единице; доказательство этого факта аналогично доказательству теоремы 7.3.1. Однако этот алгоритм не был реализован и проверен на ЭВМ, так что скорость его сходимости абсолютно неизвестна.

Одно из непривлекательных свойств этого алгоритма заключается в том, что он последовательный. Более сложный вариант этого алгоритма, имеющий последовательный характер, предложен Шриром, и на его основе очень тщательно составлена программа (см. Шрир (1977)). Использование ее в качестве проверочной программы разд. 7.2 позволило восстановить большинство синтаксических переменных, за исключением нескольких, после того как были предъявлены 50 предложений и выполнено разбиение слов на классы. Это довольно высокая скорость, а потребность в памяти невелика.

Важнее, однако, чем характеристики, относящиеся к затратам времени и памяти, является основной принцип, на который опирается алгоритм абдукции такого типа. Регулярная структура, на которую он ориентирован, основана на использовании правил подстановки в качестве образующих. Алгоритмы предназначены для непосредственной идентификации образующих, и именно эта тесная связь со структурой образов придает алгоритму столь естественный облик.

1
Оглавление
email@scask.ru