Нарушение синтаксических и семантических ограничений.
Входная цепочка интерфейса, работающего на естественном языке, может содержать нарушения как синтаксических, так и семантических ограничений. Наиболее обычная форма нарушения синтаксических ограничений — отсутствие согласования между подлежащим и сказуемым или между определителем и определяемым существительным:
Do the order include a disk drives?
‘Включают ли заказ накопители на диске?’ [9]
Нарушение семантических ограничений может происходить из-за понятийных ошибок пользователя:
Добавьте к заказу накопитель на ленте с плавающей головкой [10]
или из-за употребления неточных выражений, например при использовании названия родственного объекта вместо названия объекта, который на самом деле имелся в виду.
Так, если пользователь пытается решить, какой объем памяти включить в заказ, он может сказать:Можете ли вы подключить накопитель на оптических дисках
к двум мегабайтам? —
в то время как на самом деле он хотел сказать:
...к компьютеру с памятью в два мегабайта.
Эти различные виды нарушения ограничений требуют весьма различных методов обработки. В общем случае нарушение синтаксического согласования может быть проигнорировано; случаи, когда согласование или его отсутствие выделяет два разных смысла одного входного высказывания, редки. Однако иногда, при нарушении согласования между определителем или квантором и определяемым существительным, возникает вопрос, стоит ли именная группа в единственном или множественном числе. Обычно лучше всего при наличии кванторов опираться именно на них, например two disk ‘два диск’ на самом деле означает two disks ‘два диска’. А при несогласованности существительного с определителем часто неважно, какой вариант берется. В приведенном выше примере на несогласование неважно, имел ли пользователь в виду в своем вопросе a disk drive ‘накопитель на диске’ или any disk drives ‘какие-либо накопители на дисках’.
В любом случае ответ будет одним и тем же, а именно перечислением всех накопителей на дисках, которые содержит заказ. В тех случаях, когда действия системы зависят от того, в единственном или во множественном числе стоит именная группа (например, delete a disks from the order), системе следует в процессе фокусирующего взаимодействия с пользователем выяснить, что он в действительности имел в виду.
Нарушения семантических ограничений из-за понятийных ошибок пользователя обрабатывать гораздо труднее. Единственное решение при их обнаружении — дать знать пользователю об ошибке и позволить ему ее исправить. Однако само обнаружение такого рода ошибки может оказаться трудным дла анализатора, который для управления анализом опирается в основном на семантические ограничения. Нарушение семантических ограничений может приниматься за ошибки другого рода, например восприниматься как нарушение порядка следования составляющих или как наличие случайных составляющих, и анализатор будет искать (и, возможно, даже найдет) некоторый альтернативный и непредполагавшийся способ объединения всех частей. Это тот случай, когда на первое место должны выйти синтаксические соображения.
Нарушение семантических ограничений, вызываемое тем, что пользователь называет вместо нужного ему объекта некоторый другой связанный с ним объект, внешне проявляется так же, как и нарушение семантических ограничений, основанное на понятийных ошибках, однако в этом случае требуется совершенно иной способ обработки. Данное нарушение может быть устранено, если среди объектов, связанных с объектом, упомянутым пользователем, система сможет найти такой, который удовлетворяет определенным ограничениям. В вышеприведенном примере это означает переход от объема памяти к машине с данным объемом памяти. Ясно, что необходим строгий контроль за степенью близости отношений, на основе которой разрешается эта замена,— в конечном счете в ограниченной предметной области все со всем связано. Но вполне могут существовать правила, которые будут контролировать сам тип разрешаемых замещений. В вышеприведенном примере достаточно разрешить замену части целым (метонимия), особенно если, как мы полагаем, она была использована в начале диалога для выделения различных частей целого.
3.5.