Случайные составляющие.
Слова, случайные с точки зрения анализа входного высказывания, могут появляться по разным причинам.
— Правильные выражения, которые анализатор обрабатывать не может. Довольно часто пользователь интерфейса, действующего в ограниченной предметной области, употребляет слова, которые интерфейс не может понять по причине концептуальных или грамматических ограничений.
Иногда такие случайные выражения связаны с многословием или с формами вежливости:Будьте добры, добавьте к моему заказу два диска с фиксированными головками и, если возможно, с двойными портами. Или, как было замечено в подготовительных экспериментах при разработке системы QUS (В о b г о w et al., 1977), пользователь может предложить нерелевантные (для системы) объяснения или обоснования:
По-моему, мне надо увеличить емкость памяти, поэтому добавьте к моему заказу два диска с двойными портами и с фиксированными головками.
Некоторые общераспространенные формы вежливости могут быть распознаны как таковые, но в большинстве случаев единственная разумная реакция — проигнорировать незнакомые выражения, перенастроить анализатор на обработку распознаваемой части входного сообщения и если в результате получится семантически и синтаксически полная структура, то постулировать избыточность проигнорированного сегмента. В большинстве таких случаев следует проинформировать пользователя о том, что часть входного сообщения была проигнорирована.
— Прерванные и вновь начатые высказывания. Такие высказывания получаются тогда, когда люди начинают говорить одно, потом спохватываются и говорят другое:
Добавьте,— я имею в виду исключите,— один диск из моего заказа.
Высказывания такого вида встречаются скорее в устных входных сообщениях, но аналогичный эффект можно наблюдать и при наборе входного сообщения на клавиатуре, когда пользователь забывает нажать клавишу стирания строки или клавишу стирания знака:
Добавьте исключите диск из моего заказа.
Добавить к моему заказу диск с одинарными портами с двойными
портами.
Здесь также наилучшая тактика — отбросить прерванный фрагмент, но идентификация и выделение правильного фрагмента требует стратегии типа той, которая описывается ниже.
— Незнакомые слова, заполняющие известные грамматические роли. Иногда пользователь употребляет непонятное выражение, синонимичное составляющей, которую система хорошо понимает:
Добавьте к моему заказу вращающееся устройство для хранения массивов, имеющее двойные порты.
В таком случае система может не знать, что «вращающееся устройство для хранения массивов» и «диск» — это синонимы. Данное явление затрагивает как проблему пропущенных, так и проблему случайных слов. Если система может породить однозначное ожидание относительно того, чем должен быть заполнен пробел, тогда она должна (при соответствующем подтверждении пользователя) записать незнакомое выражение в качестве синонима ожидаемого слова. Если же система располагает некоторым ограниченным набором предсказаний относительно заполнения пробела, то она может спросить у пользователя, какое из них он имел в виду (если вообще в этом наборе найдется таковое), и после этого занести синоним в память для дальнейшего использования. В тех случаях, когда в системе отсутствуют какие-либо сильные предсказания, она обратится к пользователю с просьбой перифразировать непонятный фрагмент. Если система поймет перифразу, то она постулирует отношение синонимии, попросит подтверждения у пользователя и опять же занесет результаты в память для дальнейшего использования.
Применяемые здесь стратегии преодоления коммуникативных трудностей удивительно сходны с теми, которые нужны в случае пропуска слов. По существу, анализатор должен установить, что входное сообщение содержит как распознаваемые сегменты, так и неожиданные и нераспознаваемые слова и выражения, перемежающиеся друг с другом. Сигналом неправильности (по крайней мере при анализе сообщения слева направо) служит тот же сигнал, что и при пропуске слов, а именно нарушение очередным словом в цепочке определенных ожиданий анализатора.
Для разрешения этой проблемы требуется, как и при пропуске слов, «отступить» и изучить вопрос о том, как последующие элементы сообщения соотносятся с уже построенной структурой. Основная особенность обработки случайных слов заключается в том, что слово, нарушившее ожидания, а возможно, и другие, следующие за ним слова могут не поддаваться включению в результирующую структуру. Более того, при обработке случайных слов в этой структуре вообще могут отсутствовать какие бы то ни было пробелы. Для анализаторов, имеющих возможность свободно изменять направление обработки, процесс обнаружения случайных выражений может оказаться более легким, так как мы можем обработать все слова, вкладывающиеся в структуру высказывания, а уже после этого заключить, что нераспознаваемые слова и выражения действительно являются случайными. Если после обработки всех распознаваемых единиц входной цепочки в полученной структуре остаются пробелы, то нераспознанный сегмент, возможно, вовсе и не является случайным. Он может быть привязан к какому-то пробелу в построенной структуре, и предположительные синонимические отношения, рассмотренные выше, могут быть представлены пользователю для подтверждения.Для прерванных высказываний существуют более конкретные методики, позволяющие выявить случайную часть входного сообщения:
— Если обнаружена последовательность из двух составляющих одного и того же синтаксического и семантического типа, тогда как допустима только одна, проигнорировать первую составляющую. Так, два следующих друг за другом глагола, обозначающих основные команды (например, как выше, в примере Add remove... ‘Добавить исключить...’), в случае анализатора, использующего падежные фреймы, будут активизировать одну и ту же падежную роль вершины предложения, что позволит проигнорировать первый из двух глаголов. Точно так же повторная активизация одного и того же преноминального падежа в падежном фрейме понятия "disk” будет сигнализировать о случае несовместимости, и первое из двух конкурирующих выражений будет проигнорировано.
Для распознавания случаев повторения эквивалентных составляющих можно было бы развить и другие стратегии обработки, однако, по-видимому, метод активизации падежных фреймов исключительно хорошо подходит для этой цели.— Распознавать эксплицитные корректирующие выражения, и если составляющая справа от такого выражения синтаксически и семантически тождественна составляющей слева от него, то заменить левую составляющую правой и продолжать обработку. Данная стратегия позволяет обрабатывать высказывания типа „Добавить я имею в виду удалить...", если „я имею в виду" будет распознано как корректирующее выражение.
— Для всех замещений выбирать минимальную составляющую. Например, в цепочке
Добавьте к моему заказу высокоскоростной накопитель на ленте,
то есть накопитель на диске
желательно выражение „накопитель на диске" подставить вместо выражения „накопитель на ленте", а не вместо более длинного выражения „высокоскоростной накопитель на ленте", которое также является законной составляющей того же семантико-синтаксического типа. Такое предпочтение основывается исключительно на прагматических соображениях и эмпирических данных.
Кроме идентификации и игнорирования случайных составляющих во входной цепочке, надежный интерфейс должен сообщить пользователю, что именно проигнорировано, и перифразировать ту часть высказывания, которая распознана. В нераспознанной части может содержаться важная информация, и если эта информация не отразится в перифразе, то пользователь может вновь попытаться сформулировать свое сообщение. Исключения из этого правила возникают тогда, когда лишние составляющие распознаются как таковые. Например, так можно обрабатывать формы вежливости. Способность распознавать такие фразы-„шумы" делает их в некотором роде частью ожиданий анализатора, и тогда они не являются уже случайными для данной системы. Однако выделение их тем же способом, каким выделяются и собственно случайные входные выражения, дает то преимущество, что тогда они могут распознаваться в любом месте входной цепочки без усложнения нормального процесса обработки, то есть без включения особых ожиданий, связанных с поиском того места, где могут встретиться эти составляющие.
3.3.