СПЕЦИФИКАЦИЯ ПАДЕЖНЫХ ФРЕЙМОВ: ВЗГЛЯД С ПОЗИЦИИ ПОЛЬЗОВАТЕЛЯ
Указать, какая фреймовая информация представляет для него интерес, пользователь может двумя путями: (1) с помощью меню и (2) посредством текстовой спецификации. Первый способ — более прямой, тогда как второй удобнее и интереснее.
В случае спецификации при помощи меню пользователь в первую очередь указывает, о каком типе выражений он будет запрашивать; после этого система просит его указать заполнитель для каждого слота в соответствующем фрейме. Например, чтобы выяснить, какие объекты из определенной сферы могут находиться в (in) некотором округе (a county), пользователь должен произвести выбор, как показано на рис. 2.
Поскольку в наших фреймах слоты как хозяина, так и аргумента предлога могут заполняться любым из основных типов объектов,
2-е и 4-е меню (см. рис. 2) содержат одинаковое множество для
выбора. Вот какой внутренний список получится в результате этих спецификаций:
Тип Выражения: Предложная Группа
Хозяин: (все)
Предлог: in
Дополнение: county
Как видно на рис. 2, в ходе спецификации с помощью меню система последовательно рассматривает каждый слот указанного типа
Рассматривается информация для некоторых из следующих типов выражений:
Адъективная Группа Группа Существительное- Определение ►■Предложная Группа Глагольная Группа Группа Функционального Существительного Проанализировать исчерпывающим образом
[возврат]
ЛОЭМИИ
(в Предложной Группе) ADDRESS *адрес’ CITY ‘город’ COUNTY ‘округ’ FOOD ‘пища’ PHONE ‘телефон’ RESTAURANT ‘ресторан’
•(все перечисленные) (Прекращение!)
Предлог (в Предложной Группе) [Кэтому моменту: (все) ...] IN V
WITH ‘с’ (другие)
(все перечисленные)
(Прекращение)
Аргумент Предлога (в Предложной Группе)
[К этому моменту: (все) IN ...]
ADDRESS
CITY
-►COUNTY
FOOD
PHONE
RESTAURANT
(все перечисленные) (Прекращение!)
Рис.
2. Запросы с использованием меню: какие объекты могут находиться в (in)округе (county).
выражений, и на каждом этапе дает на выбор пользователю список текущих заполнителей, предусматривая также возможность указания рассмотреть их все. Для таких слотов, где возможный заполнитель принадлежит к открытой категории (либо к закрытой, но на текущий момент еще не имеющей полного списка заполнителей), предусматривается возможность выбрать какой-либо иной, не названный в меню заполнитель (см. меню № 3 на рис. 2). Наконец, для факультативных элементов выражений (например, прямое дополнение глагола) пользователю дается возможность слот не заполнять вовсе.
Пользователь, оперирующий текстовыми спецификациями, печатает выражение, указывающее на все желаемые значения слотов, причем в порядке, не обязательно совпадающем с внутренним. Можно включать „шумовые" слова, а символ „?" используется как указание на то, что представляют интерес все возможные значения. Например, спецификация запроса, аналогичная данной выше с помощью меню, будет иметь вид:
a? can be in a county...
‘в округе может находиться..?’
При таком способе пользователь, как и в случае с меню, может вводить новые слова. Например, если элементы, выделенные ниже курсивом, являются новыми в спецификациях
an employee can report to a manager ‘служащий может быть подотчетен управляющему’ an employee can be responsible for a project ‘служащий может быть ответственным за проект’ an employee can be the supervisor of a project ‘служащий может быть руководителем проекта’,
то все равно система будет иметь достаточно информации для отыскания в памяти единственно правильной схемы. В такой ситуации система автоматически устанавливает, к какой части речи относится новое слово.
Хотя использование символа „?“ в вышеприведенном примере может показаться неестественным в сравнении с более „гладким" методом, при котором запрос будет иметь вид what can be in a county (‘Что может находиться в округе’), тем не менее избранный нами прием удобен в том отношении, что позволяет просмотреть любой слот фрейма, а не только те, которые заполняются именами (то есть отвечают на вопрос „что?").
Например, пользователь может задать такую спецификацию;
a city can be? a county
‘город может находиться ? округе’.
Она служит целям поиска всех предлогов, связывающих ‘город’ с ‘округом’. А спецификация
an employee can? a project ‘служащий может ? проект’
служит для обнаружения всех пар „глагол — постверб", связывающих employee ‘служащий’ с project ‘проект’. Мы предпочитаем иметь малое число простых и мощных механизмов, хотя в некоторых ситуациях другие методы могут быть предпочтительнее. Для читателя, чье эстетическое чувство отличается от нашего, укажем альтернативу, получаемую простой модификацией алгоритма, описанного в разделе 7.
Текстовые спецификации (в отличие от метода „меню") приводят к появлению некоторой неоднозначности, в особенности когда разработчик системы решает допускать лишь сжатые формулы, не содержащие „шумовых" слов, или сводящие их до минимума.
Например, отсутствие слов сап и can be, соответственно, в спецификациях
employee responsible for project employee report to manager
приводит к тому, что система не может установить, является ли новое слово прилагательным или глаголом. В таких ситуациях система строит подходящее меню; для вышеуказанных спецификаций оно может иметь примерно такой вид:
Какого рода сведения были даны?
Глагольная Группа с Поствербом Обычная Глагольная Группа Адъективная Группа
[возврат]
Другая крайность состоит в том, что для спецификации, построенной пользователем, может не найтись никакого соответствия среди содержащихся в памяти схем; в таком случае система требует, чтобы пользователь либо перефразировал спецификацию, либо прибегнул к помощи меню.
Эксплуатация нашей системы показала, что при текстовых спецификациях система находила единственно правильную схему в 80% случаев, более одной схемы — в 15% случаев, ни одной — в 5%. Чаще всего несколько правильных схем отыскивается, если предлог используется в глагольной группе как постверб. Например, если пользователь печатает
an employee can pick a project up
‘служащий может выбрать проект’,
то up отождествляется как постверб по занимаемой позиции.
Если вместо этого пользователь напечатает равнозначноеan employee can pick up a project,
системе придется устанавливать, является ли UP поствербом. Хотя в целом мы стараемся избегать вопросов типа „да/нет“ (об этом см. ниже), мы все же решили допустить их в этой часто повторяющейся и предсказуемой ситуации:
Можно ли
AN EMPLOYEE CAN WORK FOR A MANAGER? (‘служащий может работать на управляющего*) перефразировать в виде AN EMPLOYEE CAN WORK A MANAGER FOR Да
^ HeT
Наконец, следует позволить системе указывать пользователю, какая релевантная информация ей нужна, вместо того чтобы ждать и надеяться, что пользователь сам предложит эту информацию. В качестве первого примера положим, что система не сумела проанализировать поданную на вход реплику
Which corridor is Stumberger’s office adjacent to?
‘К какому коридору примыкает контора Штумбергера?’
и пользователь принимает предложение системы помочь в поиске причин неудачи. Поскольку слово adjacent ‘примыкающий’ — прилагательное, а прилагательные могут входить в состав адъективных групп, система выдает всю текущую информацию о тех адъективных группах, где слово adjacent заполняет слот „прил", все остальные слоты оставляя не определенными. Иначе говоря, система отреагирует так, как если бы пользователь своим запросом задал следующую спецификацию:
Тип Выражения: Адъективная Группа
Хозяин: (все)
Прилагательное: adj acent
Предлог: (все)
Дополнение: (все)
7. КАК ОБРАБАТЫВАЮТСЯ ТЕКСТОВЫЕ СПЕЦИФИКАЦИИ
Когда от пользователя получена текстовая спецификация, система должна: (1) определить, с каким типом выражений она имеет дело; (2) обнаружить новые слова, если таковые имеются; (3) объяснить неспецифицированные слоты, если таковые имеются. К примеру, положим, что пользователь печатает
an employee can be associated with а?
‘служащий может быть связан с ?’,
и положим далее, что системе еще неизвестно слово associated ‘связан’. В этом случае она, естественно, не может непосредственно ответить на запрос, но даст пользователю возможность пополнить ее знания.
Исследовав напечатанную строку, система превратит ее вa employee can be?? with а ?
‘служащий может быть ?? с ?’,
где символ „??" указывает позицию незнакомого слова, а „?" по- прежнему обозначает изначально неспецифицированный слот. Следует заметить, что, во-первых, здесь задействовано шумопреоб- разование — применительно к AN (см. раздел 5), и, во-вторых, „шумовые" слова сап и be пока не устранены, так как они могут играть роль содержательных слов в схемах, отличных от адъективных групп.
Следующий шаг — замена метками частей речи всех слов в этой частично обработанной спецификации. При этом включаются только те части речи, которые, как известно системе, являются релевантными (в соответствии со сведениями, заданными разработчиком интерфейса— см. выше). Так, например, слово „а" не заменено обозначением „артикль". Таким образом, система превращает вышеприведенную структуру в следующую:
а (объект-существительное) can be ?? (предлог) а ? На этом шаге может быть предпринята попытка сопоставить ее с внутренними схемами, представляющими приемлемые фреймовые спецификации.
Сопоставление со схемами, происходящее на этом этапе, будет простым, и в нем
? соответствует любому слоту
?? соответствует слоту из „открытой" категории
х соответствует X
(х у...) соответствует любой единице из набора х, у,...
В нашем случае представлено единственное соответствие вышеприведенной структуре:
а объект can be прил предлог а объект.
Данная модель, как известно системе, относится (в соответствии с замыслом разработчиков) к адъективным группам.
На этом этапе промежуточная структура, содержащая символ „??", рассматривается вновь и сравнивается с первоначальным определением, напечатанным пользователем. Пользователя просят подтвердить, что associated действительно является новым прилагательным. Вызывается стандартная программа обновления лексикона, которая заносит туда слово associated как прилагательное.
Затем система удаляет „шумовые" слова, и таким образом падежные фреймы, которые нужно рассмотреть, задаются следующим образом:
Тип Выражения: Адъективная Группа
Хозяин: employee
Прилагательное: associated
Предлог: with
Дополнение: (все)
Наконец, система представляет одномерное меню, похожее на изображенное на рис.
3, что позволяет пользователю определить, с чем может быть связан (associated) служащий.В TELI выбор форматов для вывода на экран текущей информации о фреймах, релевантной для осуществления спецификации пользователя, основан на желании
1) сделать возможным одновременную проверку и обновление информации, и
2) свести к минимуму число конкретных типов меню, предлагаемых пользователю.
В частности, когда это возможно, система строит меню, в котором каждая возможная конфигурация неспецифицированных значений фрейма может быть независимо „включена" или „выключена" с помощью „мыши". В ныне существующей реализации это происходит в тех ситуациях, когда неспецифицированными остаются не более двух слотов фрейма. Таким образом, меню будет
а)
Предложная Группа: EMPLOYEE IN DEPARTMENT (‘служащий в отделе*)
И
Выход ? Обновление I I
Предложная Группа: EMPLOYEE IN ?
DEPARTMENT ‘отдел’ IS
EMPLOYEE ‘служащий* Q
MANAGER ‘управляющий* ?
OFFICE *контора* E3
в)
PROJECT ‘проект*__________________________________ ?
Выход П Обновление ?
Предложная Группа: IN DEPARTMENT EMPLOYEE MANAGER OFFICE PROJECT | |||||
DEPARTMENT | ? | ? | ? | ? | ? |
EMPLOYEE | IS | ? | ? | IS | ? |
MANAGER | IS | , ? | ? | ? | ? |
OFFICE | ? | ? | ? | ? | ? |
PROJECT | E! | ? | ? | ? | ? |
Выход ? | Обновление | ? |
Предложная группа: | |
DEPARTMENT WITH MANAGER ‘отдел с управляющим’ | IS |
EMPLOYEE IN DEPARTMENT ‘служащий в отделе’ | IS |
EMPLOYEE IN OFFICE ‘служащий в конторе’ | IS |
EMPLOYEE WITH DEPARTMENT ‘служащий отдела’ | IS |
EMPLOYEE WITH OFFICE ‘служащий конторы’ | IS |
EMPLOYEE WITH PROJECT ‘служащий, работающий над проектом* | IS |
MANAGER IN DEPARTMENT ‘управляющий в отделе’ | IS |
PROJECT IN DEPARTMENT ‘проект в отделе’ | IS |
Добавление | | Возврат ГЛ |
Рис. 3. Вывод на дисплей фреймов с разным количеством неопределенных слотов, которые могут быть объектом запроса.
содержать позиции выбора, имеющие от нуля до двух измерений, в зависимости от числа неопределенных слотов. Примеры даны на рис. За—Зв. Заметим, что соответствующие метки для рядов и колонок, а также подходящая метка для меню в целом должны быть придуманы системой. Поскольку система не имеет первоначального словаря конкретной сферы, формулировка меню должна производиться во время прогона программы.
Когда не определено более двух слотов, система просто печатает все существующие фреймы, удовлетворяющие указанным ограничениям. При этом, как видно на рисунке Зг, каждому фрейму изначально соответствует заполненная позиция выбора (то есть положительный ответ). Это позволяет пользователю удалять отдельные фреймы, выбор же символа „Добавление" позволяет добавить какие-то сведения.
Хотя мы решили, насколько возможно, воздержаться от настоящих да/нет-вопросов, главным образом вследствие их малой информативности, принятая нами схема с позициями выбора в скрытом виде представляет собой некоторое количество одновременных да/нет-вопросов. Так, когда пользователь проверяет в меню предлога in позицию, для которой меткой ряда является city ‘город’, а меткой колонки — county ‘округ’, он по сути отвечает „да" на подразумеваемый вопрос „может ли город находиться в (in) округе".
9.