11.7.4. Синтаксический анализ речи с помощью экспертной системы синтаксического анализа типа «ситуация — действие», «жди и смотри»
Словарный запас более 10 000 слов будет иметь много сходных слов, и было бы трудно достичь хороших характеристик без использования грамматических правил или информации из контекста, чтобы различить двусмысленные ситуации. Анализатор синтаксиса «жди и смотри» [38, 45] состоит из набора правил и действий, которые требуется выполнить, когда правила запускаются в действие. Приблизительно 500 правил можно было бы реализовать на такой системе, которая показана на рис. 11.2. В качестве иллюстрации рассмотрен набор из 13 правил, описанных в [38].
На рис. 11.15 изображены предложения, подвергаемые синтаксическому анализу, а также получаемое при этом дерево синтаксического анализа. Набор правил, используемый для выработки соответствующего дерева на основе рассматриваемого предложения, описан в [38]. Кроме того, для слов, которые могут относиться более чем к одной части речи, должны рассматриваться все возможные части речи. Если слово относится к более чем одной части речи, то будет необходимо выполнить два пути поиска.
В табл. 11.2 изображено предложение для синтаксического анализа и генерируемое дерево синтаксического разбора. Для этого примера необходимы только два буфера — в то время как обычно требуются три буфера. Показаны три узла стековой памяти и Буферы и узлы стековой памяти имеют ряд регистров, и обычно содержимое всех регистров перемещается совместно. Слова вводятся слева. Для определения фразы, построенной на основе имени существительного, необходимо использовать предпроцессор. Правила переключаются в
соответствии с содержимым буферов и состоянием верхнего стекового узла Действия, предпринимаемые в результате запуска правила, включают установление связи между буфером и содержимым стека а также сдвиг слов и заполнение буфера Второе действие состоит в создании новой вершины в являющейся началом нового поддерева, то есть глагольной фразы (ГФ). Вершины перемещаются в стеке, чтобы «освободить место» для новой вершины. Последнее действие, используемое в этом примере, предусматривает перемещение вершин из стека в буфер В! и перемещение вершин в стеке влево для заполнения оставшегося места в стеке
В табл. 11.2 представлен синтаксический разбор предложения, состоящий из 12 шагов [38]. Фраза, содержащая предложение (П), предполагается размещенной в начале в стеке а части речи для анализа предложения (рис. 11.15) вводятся в буферы слева, начиная с первого слова в предложении. Правило обработки предложения запускается справа тогда, когда содержит вершину предложения и в буфере имеется фраза с существительным (СФ). Предпринимаемые действия состоят в перемещении СФ в и связывании ее с П. В то же время поступающие слова перемещаются вправо для очередного заполнения буфера Другое правило обработки предложения вводится в действие на шаге 2, как показано в табл. 11.2 справа, и это вызывает сдвиг содержимого стека вниз, от а в стеке размещается новая вершина ГФ. На этой стадии завершено формирование поддерева СФ и начинается построение поддерева ГФ (рис. 11.15). Шаги 4 и 5 связывают ГФ и СФ с поддеревом. Шаг 6 дает начало
Рис. 11.15. Изрбражение дерева синтаксического анализа,
(кликните для просмотра скана)
поддереву фразы с предлогом (ПФ), сдерживая формирование начатых ранее поддеревьев в и Шаги 7 и 8 надстраивают поддерево ПФ. Правило, запускаемое на шаге 9, дает возможность связать ПФ и ГФ, а 10 и 12 шаги связывают ГФ с предложением П, что завершает построение полного дерева синтаксического анализа.
На рис. 11.16 для примера, описанного в табл. 11.2 и на рис. 11.15, показан потоковый граф, который может быть реализован в оптическом перекрестном процессоре, аналогично случаю, изображенному на рис. 11.2. Имеется 13 правил с именами, а именно: от до от до и от до имеются входы от буферных регистров и верхнего стекового регистра. За каждый тактовый цикл для каждого из правил сравнивают содержащиеся в нем образцы с подаваемыми на вход сигналами. В данном примере две операции сравнения необходимы для ввода в действие любого правила, кроме как для которое требует трех операций. Также предполагается, что правила не требуют упорядоченного выполнения. Упорядоченные правила могут быть выполнены путем перестроения схемы соединений (как на рис. 11.7). Восемь правил, будучи введенными в действие, вызывают такое переключение выходного триггера, которое вызывает продвижение содержимого буферов, включая перенос данных из вниз, в регистры Правила если они будут активированы, вызывают следующие операции: сдвиг стековых регистров вправо, генерацию вершины для новой фразы и размещение ее в Правила и будучи запущенными в действие, вызывают сдвиг стековых регистров влево, включая передачу данных из Запуск правила 4 указывает на завершение синтаксического анализа и вызывает считывание заключительного варианта дерева поиска.