Схема, таким образом,— это стереотипная модель, с помощью которой организуется опыт, и в более специфическом значении — модель, которая диктует способ расчленения определенного большого эпизода на меньшие. Представляется правдоподобным, что опыт по большей части интерпретируется с помощью схем. Иными словами, с нами происходит довольно мало такого, что мы бы не интерпретировали в терминах моделей, уже имеющихся у нас в уме. Эти схемы определяют нашу концептуальную организацию опыта, наше отношение к нему, связанные с ним ожидания, а также то, как мы будем о нем рассказывать. Поскольку последнее имеет для нас первостепенное значение, было бы неплохо рассмотреть поближе ряд данных, которые имеют место в области употребления языка и касаются подобных схем.
Следующий ниже текст является отрывком из истории, рассказанной мне Сэди Бедока Уэллером из Анадарко (Оклахома) (в оригинале эта история существует на языке кад-до). Вот перевод первой части:
«Говорят, что однажды, давным-давно, мистер Дикий Кот выкапывал корни, чтобы разбить сад. Вскоре он услышал, как кто-то разговаривает. Рядом стоял мистер Индюк. Мистер Индюк сказал:
— Ну-ну. Я вижу, ты занят. Что ты делаешь?
— Я выкапываю корни, чтобы разбить сад. А ты что делаешь?
— Ничего. Я просто брожу вокруг.
— Ты мне мешаешь,— сказал мистер Дикий Кот, поймал его, ощипал и сказал: "Иди ко мне домой, там моя жена. Скажи ей, чтобы она тебя поджарила, и я съем тебя на обед".Мистер Индюк пошел и пришел к миссис Дикой Кошке. Она качала колыбель и напевала. Мистер Индюк сказал: "Там твой муж, он послал меня сказать тебе, что ты должна поджарить для меня зерна. Когда ты это сделаешь, я пойду своей дорогой". Она быстро приготовила ему зерно, и он ушел.» (Как это ни грустно, но несмотря на свою находчивость, индюк в конце концов был съеден диким котом, но это уже другая часть рассказа.)
На определенном уровне расчленения эпизода мы можем сказать, что подобная история состоит из "сцен", каждая сцена — это нечто, происходящее в известном месте в известное время, наподобие сцен в пьесе. Между сценами наблюдается резкий переход либо к новому месту действия, либо к новому времени действия, а чаще всего — и к тому, и к другому. Выборка, приведенная выше, показывает организацию происходящего в виде двух сцен, одной — в поле, а другой — в доме дикого кота.
Каждая сцена организована, по-видимому, согласно одной и той же схеме. Можно заметить, что в начале каждой сцены (когда поднимается занавес) на подмостках находится некто, чем-нибудь занятый. В первой сцене это мистер Дикий Кот, выкапывающий корни, во второй — миссис Дикая Кошка, качающая колыбель и напевающая колыбельную. Затем следует приход гостя, в обоих случаях — индюка, далее ведется разговор между гостем и персонажем, находящимся там с самого начала которого я буду называть хозяином. Потом хозяин делает что-нибудь для гостя или против него, в первой сцене — ощипывает его, а во второй — снабжает его приготовленным жареным зерном. Наконец, гость уходит.
Метка ‘слова’
Возможно такое положение, когда в уме присутствует некоторый формат суждения, однако еще не принято решение по поводу того, какие конкретные слова нужно употребить, чтобы передать представление о событии и представления о предметах, которые были интерпретированы как участники этого события. Например, представим себе, что говорящий интерпретировал какое-то событие как "перемещение", то есть как событие, при котором обладание определенным предметом переходит от одного индивидуума к другому. К этому моменту он не должен был еще решить, передать ли свою идею этого события глаголом "дать", или глаголом "вручить", или, может быть, каким-нибудь другим глаголом, например "передать". Более того, он не должен был еще решить, выражать ли идею первого обладателя, назвав его "Дуг", "высокий парень", "ваш сын", "мальчик слева" или каким-нибудь другим образом, соответствующим данному случаю. Следовательно, итоговое предложение может иметь форму: "Дуг дал другому мальчику книгу", "Высокий парень передал словарь Стиву", а также ряд других вариантов, ни один из которых не обязан был предопределяться решением, принятым ранее о характере суждения, выражающего данное событие. Мы можем представить себе любое число предложений с такой же пропозициональной структурой — бенефактивный глагол, агенс, пациенс, бенефициарий,— но с разными словами или фразами, используемыми для передачи представлений о каждом из этих элементов.
Некоторые конкретные объекты имеют свои метки — имена собственные, как мы их называем. Это относится, вероятно, к определенным типам объектов, особенно к лицам и местам, которые нам знакомы и о которых нам приходится неоднократно говорить. Но давайте сконцентрируем наше внимание на том, что происходит, когда говорящий имеет в виду конкретный предмет или событие, которые не имеют собственного названия. Важный момент, на котором будет основываться дальнейшее рассуждение, состоит в следующем: чтобы передать подобного рода идею, говорящий должен ее „категоризовать". Он должен принять реше-ние, в соответствии с которым данный предмет или событие будут интерпретироваться как отдельное проявление какой-либо категории, которая в благоприятном случае предоставит в его распоряжение слово, более или менее удовлетворительно передающее то, что он имеет в виду. Так, категоризация конкретного объекта как отдельного случая категории X позволит мне назвать его "блюдо" или "это блюдо". Категоризация конкретного события как отдельного случая категории Y позволит мне передать его как "ест", "съел" и т. д.
При работе с входными текстами, составленными человеком, важно учитывать, что они часто содержат орфографические ошибки. Независимо от того, действительно ли пользователь не знает правописания какого-либо слова или он просто неправильно его напечатал, результат один и тот же: искаженный вход. При разработке систем, нацеленных на исследование понимания естественного языка, нет необходимости обращать специальное внимание на коррекцию орфографии. Но пользователей прикладных систем раздражает, когда орфографические ошибки ведут к прерыванию процесса обработки текста и в конечном счете к задержкам и утомительным перепечаткам.
Способность к исправлению орфографических ошибок, реализуемая с помощью механизма коррекции системы INTERLISP, иллюстрируется диалогом 6. Печатается сообщение, указывающее, что было произведено исправление ошибки, а исправленное слово печатается непосредственно под неправильно написанным словом.Диалог 8 иллюстрирует реакцию LIFER, когда система не может успешно проинтерпретировать входное сообщение. Не сумев проанализировать предложение ни как полное, ни как эллиптическое и не имея возможности применить программу коррекции орфографических ошибок, LIFER прекращает обработку и печатает сообщение об ошибке. Это сообщение не является загадочным вздором типа ERROR TRAP AT LOC 13730 'Ошибка-ловушка в месте 13730', но ценной информацией, которая может помочь неопытному пользователю понять, в чем состоит ошибка, и содействовать ее исправлению. (Разработчики системы могут вызвать специальные диагностические стандартные подпрограммы, устанавливающие сложные ошибки, но это другой вопрос.) Сообщение о текущей ошибке (одно из нескольких) указывает, что LIFER поняла, что означает WHAT ASSISTANT PROFESSORS IN, но не знала слова COMPSCI. Система ожидала (DEPARTMENT-NAME) '(наз-вание-факультета )'.
Ё этом месте пользователь, по-видимому, поймет, что в лексиконе LIFER нет слова COMPSCI. Можно было бы попробовать выразить название факультета каким-либо другим способом, например, таким, как COMPUTER SCIENCE. С другой стороны, пользователь может быть поставлен в тупик, не имея понятия, что такое (DEPARTMENT-NAME). Это ведет к возникновению новой проблемы, иллкэСтрируемой диалогом 9.
В диалоге 12 пользователь пытается вновь употребить слово COMPSCI и вновь получает сообщение об ошибке. Вполне вероятно, что он привык употреблять такое сокра щение для computer science й не желает приспосабливаться к тем синонимам, которые в настоящий момент может обрабатывать система. Напротив, он хочет, чтобы система приспособилась к ЕГО привычкам. В диалоге 13 пользователь просит систему определять COMPSCI как CS8. В дальнейшем эти слова будут считаться синонимами. -В диалоге 14 диалог 12 вновь вызывается с помощью оператора REDO, действующего в INTERLISP. На этот раз слово COMPSCI понято. В диалоге 15 COMPSCI используется в новом входном сообщении.Механизм синонимии, представленный выше, позволяет LIFER, обучаясь новым словам, приспосабливаться к отдельным пользователям. Механизм перифразирования позволяет LIFER приспособиться к новым грамматическим конструкциям. Например, пользователь может устать печатать синтаксически "правильные" английские вопросы и захотеть использовать сокращенный формат. В диалоге 16 пользователь пытается употребить сжатое выражение и получает сообщение об ошибке. В диалоге 17 используется обычная английская конструкция, которая указывает системе, что с этого момента разрешается сокращенная форма. LIFER анализирует конкретную перифразу, данную ей в качестве примера, с целью найти обобщение, пригодное для других случаев. (Подробнее об этом будет сказано ниже.) Правила вывода, фиксирующие результаты этого обобщения, напечатаны для более опытного пользователя.В диалоге 18 пробуется новый сокращенный формат. Диалог 19 — это пример расширения эллиптических выражений, основанных на формате, определенном пользова^ телем. Диалог 20 показывает, что LIFER обобщила начальную перифразу с тем, чтобы обобщенная конструкция покрывала другие сходные с начальной перифразой сокращенные конструкции.
Диалоги 21 и 22 — это дальнейшая иллюстрация способности LIFER к перифразированию. На основе диалога 21 DUMPALLX принимает значение INDICATE THE ID, POSITION, DEPARTMENT AND SALARY OF X 'укажите идентификационный номер, должность, факультет и жалованье Х-а\
LIFER использует программу анализа слева направо, основываясь на упрощенной версии расширенных сетей перехода Вудса (Woods, 1970). Каждый раз, когда анализатор обнаруживает, что дальнейшее продвижение по задействованной в настоящий момент тропинке невозможно, он заносит отказ в список точек отказа. Каждая запись в этом списке указывает состояние системы в момент, когда произошел отказ (то есть положение в сети перехода и значения различных стеков и регистров), и позицию во входной цепочке (для данного момента). Частичные неоднозначности и ложные тропинки естественным образом выделяют точки отказа даже при обработке полностью приемлемого входа.
Если входной текст полностью разобран, то точки отказа не рассматриваются. Но если текст не удается проанализировать, список точек отказа используется программой коррекции ошибок, которая выбирает точки отказа, связанные с крайней правой позицией в тексте, для которой были зарегистрированы точки отказа. Предполагается, что точки отказа, расположенные слева, не были вызваны ошибками в написании, так как определенные переходы, использующие слова в этих позициях, должны были быть успешными для того, чтобы справа от них могли оказаться точки отказа.
Программа коррекции ошибок производит дальнейшее ограничение крайних правых точек отказа, рассматривая только те случаи, когда крайняя правая точка G подчиняется крайней правой точке F. G подчиняется F, если G является точкой отказа в сети, вызываемой условием PUSH на дуге, ведущей от F. Так как G и F обе являются крайними правыми точками отказа, G представляет собой задержку начального состояния PUSH-сети. (При любом произведенном переходе G окажется справа от F.) Следовательно, если точка F будет вновь включена в анализ, G будет вновь рассматриваться как один из путей перехода от F. G, таким образом, не имеет смысла рассматривать независимо. Все подчиненные крайние правые точки отказа исключаются из рассмотрения.
Работая с крайними правыми доминирующими точками отказа, программа коррекции ошибок анализирует связанные с ними тропинки с целью нахождения всех категорий слов, которые сделали бы возможным переход. (Для тропинок PUSH это требует исследования субграмматик.) На базе программы коррекции ошибок INTERLISP слово входной цепочки, связанное с крайними правыми точками отказа, сравнивается с лексическими единицами только что найденных категорий. Если "неправильно написанное" слово достаточно сходно с какими-то из этих лексических единиц, производится его замещение наиболее похожей единицей. Точки отказа, связанные с лексическими категориями, включающими это новое слово, вновь начинают последовательно включаться в анализ, пока не будет найдена точка, ведущая к успешному разбору. (Это может привести к новой коррекции ошибок, встреченных правее.) Если все вновь включенные в разбор точки потерпят неудачу, "неправильное" слово заменяется другими близкими лексическими единицами. Если такие замены также окончатся неудачей, LIFER печатает сообщение об ошибке.
LIFER поощряет использование семантически ориентированных синтаксических категорий, таких, как (EMPLOYEE) '(служащий)' и (DEPARTMENT-NAME) '(название-факультета)', а не таких стандартных категорий, как (NOUN) '(существительное)'. Использование этих более специализированных категорий намного облегчает коррекцию ошибок, так как резко ограничивает число потенциально возможных слов в любой точке разбора и.
Новая семантическая функция, указывающая, как отвечать на входы, подходящие к данному правилу порождения, программируется автоматически на основе информации, содержащейся в синтаксическом дереве предложения-модели. В частности, синтаксическое дерево указывает, какие правила порождения использовались в модели для расширения различных синтаксических категорий. С каждым из этих правил связана функция, которая вычисляет интерпретацию соответствующих подфраз, исходя из их составляющих. Механизм перифразирования вновь использует выбранные функции модели для создания новой функции для правила порождения перифразы. Как это происходит, лучше всего показать на примере.Синтаксическое дерево указывает, что расширение для (PRESENT) не зависит от расширений (EMPLOYEE) и (ATTRIBUTE). Поэтому механизм перифразирования принимает, что при вычислении функции FN значение #(PRESENT) является константой. Другими словами, значение (PRESENT), используемое в модели, всегда будет использоваться как значение (PRESENT) при вычислении функции FN в терминах функции FI.
Напротив, (ITEM), как показывает синтаксическое дерево, включает и (EMPLOYEE) и (ATTRIBUTE). Следовательно, оба эти параметра в FN могут повлиять на значение #(1ТЕМ).
Однако эта модульность явилась причиной целого ряда трудностей. При таком подходе система, которую мы строим, должна, например, в идеале, использовать ELI на первом этапе анализа (в качестве "приставки"). Но на практике ELI оказывается очень большой и громоздкой программой. Далее, возникает еще одна практическая проблема, а именно: словарь для любой новой области, в которой должна работать создаваемая система, является, скорее всего, новым для ELI. Поскольку в ELI определения слов являются в известном смысле сами программами, всякая новая система в любом случае потребует написания большой части соответствующей анализирующей программы с самого начала. Эта практическая проблема приводит, далее, к гораздо более интересному вопросу. Подобно тому как несколько лет назад мы осознали, что для построения более интегрированной анализирующей системы важно воспользоваться силой имевшихся у нас представлений КЗ, точно так же любой новый анализатор, разрабатываемый для новой системы, должен в принципе пользоваться результатами, полученными на более высоких уровнях понимания, которые являются частью новой системы. Так, система POLITICS может проводить анализ более эффективно, если она использует не только частично построенное представление КЗ для того фрагмента текста, который она уже поняла, но также и его место в идеологии, которую использует эта программа, его общую значимость и т. д. С этой точки зрения модульность оказывается весьма серьезным недостатком. Почему не извлекать выгоду из всего, что имеется в нашем распоряжении и может помочь в процессе анализа? Тот факт, что для осуществления анализа люди используют только синтаксис и некоторые конкретные семантические признаки (именно эти, а не другие), является не более вероятным, чем то, что они используют только чистый синтаксис. Понимание является в полном смысле этого слова интегральным процессом. Приверженность принципу построения модульных систем помешала прогрессу в автоматизации анализа, потому что эта задача требует использования наших знаний в полном объеме; это, очевидно, необходимо и для разрешения неоднозначности предложения, и для выявления подходящих смыслов слова, и, что не менее важно (как мы увидим ниже в этой статье), для принятия решений о том, что в тексте следует игнорировать.
Один из главных недостатков системы SAM, а также ELI (являющейся частью SAM) состоит в неспособности обрабатывать тексты, к восприятию которых она не подготовлена. Новая словарная единица, новая область дискурса или ранее не встречавшаяся синтаксическая конструкция часто приводили систему в полное смятение. Одним из видов результатов, выдававшихся системой SAM, было резюме (summary) прочитанного. Нам казалось, что мы могли получать в общем такой же результат с помощью гораздо более надежной и значительно более быстрой программы FRUMP (DeJ ong, 1977). FRUMP не анализирует каждое слово каждого рассказа, поступающего на вход. Напротив, она воплощает в себе некоторую теорию беглого чтения (skimming), которая направляет ее в процессе чтения. FRUMP выделяет то, что представляет для нее интерес,— обычно это единицы информации, которые она хочет включить в свое резюме, относящееся к любой конкретной области, о которой она имеет знания. Таким образом, FRUMP в высшей степени ориентирована на анализ типа "сверху вниз", по этой причине она не может рассматриваться как простая замена системы SAM. Программа SAM могла в принципе реагировать на входные тексты, к которым она не была подготовлена, хотя на практике такое случалось совсем не часто! FRUMP не может реагировать на те аспекты рассказов, к которым она не подготовлена, но это не означает, что она вообще не в состоянии обрабатывать такие рассказы.
Для целей настоящей статьи, однако, в системе FRUMP особенно интересным является то, что она представляет собой пример работающей, надежной, интегральной (то есть не модульной) системы. Анализатор системы FRUMP, в сущности, неотделим от блока логического вывода (infe-rencer). Причина этого проста. FRUMP знает, что ей необходимо найти в рассказе. Она располагает правилами, определяющими, как находить в тексте нужные вещи; это могут быть как правила вывода умозаключений, так и правила анализа. Но такие правила являются в действительности только нижним уровнем манифестации решений более высокого уровня, принятых на основе многих соображений, из которых лишь часть связана с процессом анализа. FRUMP работает хорошо, потому что ее интересы непосредственно управляют процессом поиска. Она может игнорировать то, что ее не интересует, и сосредоточивать свое внимание на том, что ей нужно узнать.
Давайте посмотрим, как нормальный грамотный взрослый человек читает рассказ, например газетную заметку. Мы и раньше серьезно задумывались над вопросом о том, читает ли человек (при обычном нормальном процессе чтения) детально, как SAM, или бегло, как FRUMP. И хотя мы не имеем твердых доказательств в пользу одного или другого из этих способов, нам представляется, что человек больше похож на FRUMP, чем мы раньше думали. Если это так, то отсюда следуют важные выводы о том, как в действительности должен выглядеть анализатор. Мы не утверждаем, что анализатор системы FRUMP является адекватным. Очевидно, что нет, поскольку он пропускает важные аспекты многих рассказов. С другой стороны, некоторая комбинация типа анализа, принятого в системе FRUMP, с типом анализа, принятым в ELI, могла бы способствовать созданию очень мощной и надежной системы для понимания текстов на естественном языке.
Одним из главных факторов, которые необходимо учитывать, на наш взгляд, при рассмотрении устройства анализатора, является скорость, с которой люди могут читать текст. Если учесть вывод умозаключений, а также обращение к фоновому знанию и другие проблемы, с которыми человеку приходится иметь дело в ходе чтения или слушания предложения, то следует заключить, что люди решают задачу понимания очень быстро. Они заканчивают понимание большей частью в тот момент, когда перестает звучать то предложение, которое они слушают. Отсюда следует, что время, которым они располагают для вывода умозаключений и применения знаний, не может растягиваться до конца предложения и продолжаться после того, как закончится анализ. Наоборот, такие дополнительные процессы должны осуществляться в то же самое время, когда осуществляется анализ. Это подтверждается психологическими данными; см., например, работу Marslen — Wilson, 1975. В указанной работе исследуются ошибки в повторении предложений и показывается, что на протяжении всего времени чтения предложения должна происходить обработка информации на высших уровнях. Такое заключение, несомненно, придает гораздо больший вес той гипотезе, которую мы сформулировали выше. Из нее следует, что процессы, происходящие у человека, носят в высокой степени интегральный характер. Иначе говоря, люди должны выводить умозаключения из ранних частей предложения до того, как они услышат его последующие части. Если это так, то отсюда также следует, что люди будут использовать все, что им удастся обнаружить; тем самым проблемы установления смысла слов и другие оказываются под влиянием процессов высших уровней. Таким образом, с точки зрения моделирования процессов обработки информации человеком, проекты анализаторов, которые сначала полностью осуществляют свою работу, а затем отсылают свои результаты в блоки логического вывода, не имеют смысла.
Из сказанного вытекает также и еще одно следствие. Мы должны задаться вопросом: когда происходит этот тип обработки, не направленной непосредственно на анализ? Существуют два возможных ответа. Либо люди используют параллельные процессы, и все это происходит буквально в одно и то же время, либо (если обработка является последовательной) для указанного типа обработки должно быть сэкономлено время за счет чего-то другого. Этим "чем-то другим" является, вероятно, полная обработка каждого воспринимаемого слова.
Итак, последовательная организация обработки предполагает такую модель анализа, при которой он осуществляется местами неполно. Как мы указывали в другой работе (Schank, 1975), процесс осуществления полного анализа чрезвычайно сложен. Несколько упрощая, можно сказать, что прочтение слова занимает п миллисекунд, а полная обработка слова — m миллисекунд. Поскольку весьма вероятно, что в случае обычной речи и чтения m намного больше, чем п, и поскольку при обычной речи и чтении слова поступают в виде непрерывного потока, то очевидно, что люди не в состоянии полностью обрабатывать каждое слово, которое они слышат. Более вероятной представляется такая организация этих процессов, при которой они решают, на что в ходе анализа обратить серьезное внимание, а к чему отнестись небрежно. Такие решения можно объяснить многими факторами. Один из наиболее очевидных — это интерес. Иначе говоря, люди склонны обращать внимание на то, что им интересно (именно этому посвящая отведенное на обработку время). Мы обсуждали понятие интереса и его разновидности применительно к проблеме вывода умозаключений (Schank, 1978). Главный наш постулат состоял в том, что вывод умозаключений управляется интересом. Вероятно, аналогичный постулат справедлив и по отношению к излагаемой пересмотренной концепции процесса анализа, потому что теперь мы рассматриваем весь процесс понимания как интегральный феномен.Интуитивно ясно, что некоторые части этого предложения более интересны, чем другие. Более того, согласно высказанным выше соображениям о количестве времени обработки, которым мы располагаем, чрезвычайно существенно, что обработка некоторых слов должна занимать меньше времени, чем время, требуемое для того, чтобы прочитать или услышать их. Правда, на первый взгляд это может показаться несколько странным. Каким образом слово может обрабатываться за меньший промежуток времени, чем то время, которое требуется, чтобы прочитать или услышать его, если само прочтение или восприятие его на слух является частью этой обработки? Тем не менее мы находимся именно в такой парадоксальной ситуации, если, конечно, мы придерживаемся того взгляда, что обработка любого отдельного слова в предложении может потребовать больше времени, чем нужно для его прочтения или восприятия на слух; при этом обработка предложения в целом занимает не больше времени, чем требуется для восприятия его на слух, и к тому же разные слова поступают с такой скоростью, что между ними нет временных интервалов, которые могли бы использоваться для обработки. (Дело обстоит, очевидно, именно таким образом, ибо простое нахождение словесных границ в предложении является очень сложной задачей, потому что речевой поток непрерывен.)