ШРДЛУ - SHRDLU

ШРДЛУ
Оригинальный автор (ы)Терри Виноград
изначальный выпуск1968
Написано вМикро планировщик, Язык программирования Лисп
Операционная системаPDP-6
ПлатформаDEC
Типпонимание естественного языка

ШРДЛУ был ранним понимание естественного языка компьютерная программа, разработан Терри Виноград в Массачусетский технологический институт в 1968–1970 гг. В программе пользователь ведет диалог с компьютером, перемещая объекты, называя коллекции и запрашивая состояние упрощенного "блокирует мир ", по сути виртуальный ящик, заполненный разными блоками.[1]

SHRDLU был написан в Микро планировщик и Язык программирования Лисп на DEC PDP-6 компьютер и графика DEC Терминал. Позже были внесены дополнения в компьютерная графика лаборатории в Университет Юты, добавляя полный 3D-рендеринг "мира" SHRDLU.

Название SHRDLU произошло от ЭТАЙН ШРДЛУ, расположение буквенных клавиш на Линотипная машина, расположенные в порядке убывания частоты использования на английском языке.

Функциональность

SHRDLU был в первую очередь парсером языка, который позволял взаимодействие с пользователем с использованием английских терминов. Пользователь проинструктировал SHRDLU перемещать различные объекты в «мире блоков», содержащем различные базовые объекты: блоки, конусы, шары и т. Д. Уникальным SHRDLU делала комбинация четырех простых идей, которые в сумме создавали симуляцию «понимания» гораздо убедительнее.

Во-первых, мир SHRDLU был настолько прост, что весь набор объектов и мест можно было описать, включив всего 50 слов: существительные, такие как «блок» и «конус», глаголы, такие как «место на» и «переехать», и такие прилагательные, как «большой» и «синий». Возможные комбинации этих базовых языковых строительных блоков были довольно просты, и программа довольно хорошо понимала, что имел в виду пользователь.

SHRDLU также включает базовую память для предоставления контекста. Можно попросить SHRDLU «положить зеленый конус на красный блок», а затем «снять конус»; «конус» будет означать зеленый конус, о котором мы только что говорили. SHRDLU мог бы искать дальше через взаимодействия, чтобы найти правильный контекст в большинстве случаев, когда были предоставлены дополнительные прилагательные. Можно также задать вопросы об истории, например, можно спросить: "Вы что-нибудь подобрали перед конусом?"

Побочный эффект этой памяти и исходных правил SHRDLU заключается в том, что программа может отвечать на вопросы о том, что в мире возможно, а что нет. Например, SHRDLU сделает вывод, что блоки можно складывать, ища примеры, но поймет, что треугольники не могут быть сложены, после того, как попробует. «Мир» содержал основные физика чтобы блоки падали, независимо от языка парсер.

Наконец, SHRDLU может запоминать имена, данные объектам, или их расположение. Например, можно сказать: «Шпиль - это маленький треугольник на вершине высокого прямоугольника»; Затем SHRDLU сможет ответить на вопросы о шпилях в мире блоков и построить новые.

Вот знаменитая демонстрация SHRDLU:[2]

Человек: Поднимите большой красный блок.
Компьютер: ОК.
Человек: Возьмитесь за пирамиду.
Компьютер: Я НЕ ПОНИМАЮ, ЧТО ТЫ ПИРАМИДА.
Человек (передумавший): Найдите блок, который выше, чем тот, который вы держите в руках, и поместите его в коробку.
Компьютер: ПОД «ЭТОМ», Я ДУМАЮ, ВЫ ОПРЕДЕЛИТЕ БЛОК, КОТОРЫЙ ВЫШЕ, ЧЕМ Я ДЕРЖИМ.
Компьютер: ОК.
Человек: Что в коробке?
Компьютер: СИНЯЯ ПИРАМИДА И СИНИЙ БЛОК.
Человек: На чем опирается пирамида?
Компьютер: КОРОБКА.
Человек: Сколько блоков нет в коробке?
Компьютер: ЧЕТЫРЕ ИЗ НИХ.
Человек: По крайней мере, один из них уже, чем тот, который я сказал вам взять?
Компьютер: ДА, КРАСНЫЙ КУБ.
Человек: Поддерживается?
Компьютер: ДА, ПО ТАБЛИЦЕ.
Человек: Может ли стол собирать блоки?
Компьютер: НЕТ.
Человек: Может ли пирамида поддерживаться блоком?
Компьютер: ДА.
Человек: Может ли пирамида поддерживать пирамиду?
Компьютер: Я НЕ ЗНАЮ.
Человек: сложите две пирамиды.
Компьютер: НЕ МОГУ.
Человек: Не могли бы вы сложить оба красных блока и зеленый куб или пирамиду?
Компьютер: ОК.
Человек: Какой куб стоит на столе?
Компьютер: БОЛЬШОЙ ЗЕЛЕНЫЙ, ПОДДЕРЖИВАЮЩИЙ КРАСНУЮ ПИРАМИДУ.
Человек: Есть ли за пирамидой большой блок?
Компьютер: ДА, ТРИ ИХ: БОЛЬШОЙ КРАСНЫЙ, БОЛЬШОЙ ЗЕЛЕНЫЙ КУБ И СИНИЙ.
Человек: Поместите маленький кубик на зеленый куб, поддерживающий пирамиду.
Компьютер: ОК.
Человек: Положите на нее самую маленькую пирамиду.
Компьютер: ОК.
Человек: Поддерживает ли самая короткая опора самой высокой пирамиды что-нибудь зеленое?
Компьютер: ДА, ЗЕЛЕНАЯ ПИРАМИДА.
Человек: Какого цвета это?
Компьютер: ПОД «ЭТОМ», Я полагаю, вы имеете в виду САМОЕ КОРОТКОЕ, САМОЕ ВЫСОКОЕ ПОДДЕРЖКА ПИРАМИДЫ.
Компьютер: КРАСНЫЙ
Человек: Сколько вещей находится на зеленых кубиках?
Компьютер: Я НЕ УБЕЖДЕН, ЧТО ВЫ имеете в виду под словами «НА ПОВЕРХНОСТИ» В ФРАЗЕ «НА ЗЕЛЕНЫХ КУБАХ».
ТЫ ИМЕЕШЬ ВВИДУ:
1 - НЕПОСРЕДСТВЕННО НА ПОВЕРХНОСТИ
2 - ГДЕ НА ВЕРХУ?
Человек: 2
Компьютер: ТРИ ИХ.
Человек: Прикасались ли вы к какой-нибудь пирамиде перед тем, как положить зеленую на маленький куб?
Компьютер: ДА, ЗЕЛЕНЫЙ.
Человек: Когда вы его забрали?
Компьютер: КОГДА Я СОБИРАЛ КРАСНЫЙ КУБ, БОЛЬШОЙ КРАСНЫЙ БЛОК И БОЛЬШОЙ ЗЕЛЕНЫЙ КУБ.
Человек: Почему?
Компьютер: ИЗБАВИТЬСЯ.
Человек: Почему ты это сделал?
Компьютер: ЧТОБЫ ОЧИСТИТЬ КРАСНЫЙ КУБ.
Человек: Почему вы убрали этот куб?
Компьютер: ПОСТАВИТЬ ЕГО НА БОЛЬШОЙ ЗЕЛЕНЫЙ КУБ.
Человек: Почему ты это сделал?
Компьютер: НАБОР КРАСНОГО КУБА, БОЛЬШОГО КРАСНОГО БЛОКА И БОЛЬШОГО ЗЕЛЕНОГО КУБА.
Человек: Почему ты это сделал?
Компьютер: ПОТОМУ ЧТО ТЫ МЕНЯ ПРОСИЛ.
Человек: Как ты это сделал?
Компьютер: ПОСТАВЬ НА СТОЛ БОЛЬШОЙ КРАСНЫЙ БЛОК; ТОГДА ОТПУСКАЕМ ЭТО; ЗАТЕМ НАЖИВАЕМ БОЛЬШОЙ ЗЕЛЕНЫЙ КУБ; ТОГДА ОТПУСКАЕМ ЭТО КУБ; ЗАТЕМ ПОЛОЖЕНИЕ КРАСНОГО КУБА НА ЭТОЙ КУБ; ТОГДА ОТПУСКАЕМ ЭТО КУБ.
Человек: Сколько предметов вы коснулись во время этого?
Компьютер: ЧЕТЫРЕ ИЗ НИХ.
Человек: Что поддерживал красный куб, прежде чем вы начали его чистить?
Компьютер: ЗЕЛЕНАЯ ПИРАМИДА.
Человек: Тогда было пять блоков слева от коробки.
Компьютер: НЕТ, ТОЛЬКО ЧЕТЫРЕ ИЗ НИХ: КРАСНЫЙ КУБ, ДВА БОЛЬШИХ ЗЕЛЕНЫХ КУБА И БОЛЬШОЙ КРАСНЫЙ БЛОК.
Человек: Поместите синюю пирамиду на блок в коробке.
Компьютер: ОК.
Человек: Есть ли что-нибудь больше любой пирамиды, но не такое широкое, как то, что ее поддерживает?
Компьютер: ДА, СИНИЙ БЛОК.
Человек: делает шпиль
Компьютер (перебивает): ИЗВИНИТЕ, Я НЕ ЗНАЮ СЛОВА "ШАГ".
Человек: «Шпиль» - это стопка, состоящая из двух зеленых кубов и пирамиды.
Компьютер: ПОНИМАЮ.
Человек: Есть ли сейчас шпили?
Компьютер: НЕТ.
Человек: Постройте один.
Компьютер: ОК.
Человек: Назовите самый большой блок суперблоком.
Компьютер: ОК.
Человек: Вы набирали суперблок с самого начала?
Компьютер: ДА.
Человек: Почему вы его уронили?
Компьютер: ПОД "ЭТО", Я полагаю, ВЫ имеете в виду СУПЕРБЛОК.
Я НЕ МОГУ ОБЪЯСНЯТЬ НЕ СУЩЕСТВУЮЩЕЕ СОБЫТИЕ.
Человек: Есть что-нибудь справа от красной пирамиды?
Компьютер: ДА, ЧЕТЫРЕ ВЕЩИ: КОРОБКА, КРАСНЫЙ КУБ, СИНЯЯ ПИРАМИДА И БЛОК НАЗВАНИЕ СУПЕРБЛОКА.
Человек: Спасибо.
Компьютер: ДОБРО ПОЖАЛОВАТЬ!

Последствия

SHRDLU считался чрезвычайно успешной демонстрацией искусственный интеллект (AI). Это привело других исследователей искусственного интеллекта к чрезмерному оптимизму, который вскоре был утерян, когда более поздние системы пытались справляться с ситуациями с более реалистичным уровнем двусмысленности и сложности.[нужна цитата ]. Последующие попытки типа SHRDLU, такие как Цикл, как правило, сосредотачиваются на предоставлении программе значительно большего количества информации, на основе которой она может делать выводы.

Хотя SHRDLU не был специально разработан как таковой, он считается первым известным формальным примером интерактивная фантастика, поскольку пользователь взаимодействует с простыми командами для перемещения объектов в виртуальной среде, хотя ему не хватает четкого повествования, обычно присутствующего в жанре интерактивной фантастики. Игра 1976-1977 годов Колоссальное приключение в пещере в целом считается первым настоящим произведением интерактивной фантастики.[3]

Смотрите также

Рекомендации

  1. ^ Виноград, Терри (1971-01-01). «Процедуры как представление данных в компьютерной программе для понимания естественного языка». Цитировать журнал требует | журнал = (помощь)
  2. ^ "ШРДЛУ". Стэнфордская группа взаимодействия человека и компьютера (HCI).
  3. ^ Монфор, Ник (2003). Извилистые отрывки: подход к интерактивной фантастике. Кембридж: MIT Press. С. 84–85. ISBN  0-262-13436-5.

внешняя ссылка

  • Виноград, Терри (2001). "ШРДЛУ". В архиве из оригинала на 2020-08-17. - Страница SHRDLU Терри Винограда, включает исходный код