Системы понимания речи, как правило, состоят из четырех модулей. Первый модуль – это программа структурного анализа предложения, распознавания частей речи и проверки правильности их расположения. Второй модуль – это программа выделения семантики предложения, т.е. ключевых слов. Третий модуль – программа, решающая проблему и делающая вывод. Четвертый модуль – программа, генерирующая ответное предложение. В первом и втором модулях используются принципы семантической сети.
Для внутреннего представления знаний в системах памяти кроме семантических сетей используются активные структурные сети, сети концептуальных зависимостей для выделения семантики предложения на естественном языке, модели, отображающие внутреннюю структуру предложения, называемую списковым представлением, и взаимосвязь предложений, и другие средства.
Одной из основных технологий грамматической и семантической обработки при понимании речи является ATN – расширенная сеть переходов.
Сеть ATN выполняет последовательный анализ предложения слева направо, начиная с первого слова, иначе говоря, ее можно считать автоматом с изменением состояния при обработке отдельных слов. Если гарантировано соблюдение грамматических правил, то результат семантической обработки формируется с помощью дополнительных действий в виде структуры данных семантической сети.
Общее описание сети ATN:
1) Представление данных в форме сети, состоящей из множества состояний и дуг, соединяющих некоторое состояние с другим состоянием.
2) На дуге устанавливается регистр, используемый для накопления информации.
3) Каждой дуге присваивается метка, представляемая частями речи, предложением и т.п. Кроме этого, ей может быть задано любое условие, которое должно быть выполнено до перехода по этой дуге.
1) Дуга может быть заменена на некоторое действие, которое должно быть выполнено до перехода по этой дуге.
Таким образом, грамматику ATN можно представить в виде диаграммы переходов между конечными состояниями, имеющими набор регистров, и предусматривающей выполнение условия и действий.
Фрагментарно ее можно представить в следующем виде:
CAT N
Qn (условие) (действие) Qn+1
В качестве конкретного примера рассмотрим мир «понятие числа».
{х| x(действительное число)}= {х| x(рациональное число)/х(иррациональное число)}
{х| x(рациональные числа)}={х| x(целые числа)/х(дробные числа)}
{х| x(целые числа)}={х| x(натуральные числа)/х(отрицательные числа)/0}
Алгоритмы и правила синтаксического анализа
В соответствии с работой сети ATN составляются словарь, функции меток и таблица условий и действий, с помощью которых проводится структурный анализ, и в качестве результата получается структура данных семантической сети предложения.
Синтаксический анализ проводится в следующем порядке:
1) По номеру выбирается дуга, и выполняются действия. Если условия данной дуги оказываются невыполнимыми, осуществляется перебор с возвратами, выбирается другая подходящая ветвь и выполняется анализ.
2) Структура результата анализа принимает форму падежа, в основе которой лежит служебное слово.
3) На основе результата структурного анализа и описания надежной грамматики строится семантическая сеть.
Структура данных семантической сети
В ЭВМ семантическая сеть реализуется в виде внутримашинной структуры данных, которая используется для представления отдельных слов и семантики.
Например, семантическую сеть «LCM – наименьшее общее кратное» на основе структурного анализа можно переписать в виде структуры данных семантической сети, как показано на рис. 4.14.
C9 |
PAINT |
ОЗНАЧАТЬ |
||
AGT |
C1 |
|||
LOC |
C3 |
|||
OBJ |
C6 |
|||
MODAL |
C7 |
|||
C1 |
|
LCM |
||
MOD |
НУЛЬ |
|||
C2 |
|
ОБЩЕЕ КРАТНОЕ |
||
MOD |
НУЛЬ |
|||
C3 |
|
СРЕДН |
||
POST |
C2 |
|||
MOD |
НУЛЬ |
|||
C4 |
|
САМЫЙ |
||
MOD |
НУЛЬ |
|||
C5 |
|
МАЛЫЙ |
||
MOD |
C4 |
|||
C6 |
|
ЧИСЛО |
||
MOD |
C8 |
|||
C7 |
КОЛИЧЕСТВО |
PRES |
||
AUX |
C8 |
|||
C8 |
|
МЕРА |
Рис. 4.14. Пример формализации семантической сети: а — семантическая сеть
предложения; б — структура данных семантической сети
На рис. 4.14, б C1, …,C8 – узлы семантической сети, которые являются указателями списковой структуры;
PRINT – печать соответствующей семантики, причём некоторое активное слово записывается в исходной форме;
MODAL – время (оценка) и спряжение глагола;
MOD – модифицированные слова;
POST – с помощью союза показывает модифицированное слово.
Сеть ATN можно рассматривать как автомат с переходом между состояниями в соответствии с выбором отдельного слова в процессе анализа предложения. Кроме нее существует сеть STN (семантическая сеть переходов), в которой нашли свое воплоще
ние преимущества сети ATN и обеспечено объединение обработки словосочетаний и семантической обработки.
В традиционных семантических сетях в качестве модели с семантическим представлением предложения обычно применяют форму падежной рамки, распространенную в падежной грамматике.
Например: ”Я иду в институт”: фрейм глагола “идти” имеет действующее лицо “Я” и местоположение “институт”. Это один из способов описания семантической сети, в основе которого лежат слова и отношения между ними. Существует другой способ – система, в которой используется падежная и ATN – грамматика. Имеются такие падежи, как: “тема”, “фокус”, “цель”, “источник”, “казуальный актант”, на основе которых представлена семантическая сеть. Таким образом, при вопросе производится сопоставление со структурой данных семантической сети, хранимой в ЭВМ. С помощью порождающей грамматики расширенной сети переходов генерируется ответное предложение.