Язык и искусственный интеллект
Психологи считают язык основным проявлением когнитивных процессов. Он больше, чем все другие виды человеческого поведения, отражает мышление, восприятие, память, решение задач, интеллект и научение. И ввиду его важности для основных психологических принципов язык представляет большой интерес для специалистов по ИИ.
Артур Кларк в наиболее полном виде — как обмен мнениями между Дейвом (человеком) и фантастическим компьютером Хэлом — предвосхитил связь способности к языку и сферы решения задач с искусственным интеллектом:
— Я хочу сделать это сам, Хэл, — сказал он, — пожалуйста, передай мне управление.
— Слушай, Дейв, у тебя еще куча работы. Я предлагаю, чтобы ты оставил это мне.
— Хэл, переключи анабиоз на ручное управление.
— Насколько я могу судить по обертонам твоего голоса, Дейв, ты серьезно расстроен. Почему бы тебе не принять таблетку от стресса и не отдохнуть немного?
— Хэл, этим кораблем командую я. Я приказываю тебе разблокировать ручное управление анабиозом.
— Извини, Дейв, но, согласно специальной подпрограмме С1435бис-4, цитирую: «Если экипаж мертв или недееспособен, бортовой компьютер должен принять управление на себя», конец цитаты. Следовательно, я должен признать твою власть недействительной, поскольку ты не в состоянии исполнять обязанности разумно.
Насколько близко мы подошли к тому, чтобы, пусть пока лишь в лабораториях ИИ, сделать эту фантастику реальностью?
Первая машина для автоматического сочинительства
Ниже приведена иллюстрация «думающей машины» Джонатана Свифта из «Путешествий Гулливера». Свифт язвительно предположил, что книги и другую литературу можно писать, поворачивая соответствующие ручки. Некоторые «современные программы для сочинительства» генерируют научную фантастику, которая воспринимается как настоящая литература. См. журнал Omni для примеров.
ELIZA, PARRY и NETtalk
Полные энтузиазма первые исследователи искусственного интеллекта быстро приняли вызов, брошенный задачей Тюринга, и написали программы, разработанные для продуцирования ответов на реальные вопросы, которые были бы неотличимы от ответов человека. Теперь некоторые из этих программ могут показаться несколько наивными, но наука часто развивается именно таким образом.
ELIZA. Одна из первых «разговаривающих» компьютерных программ ELIZA (ЭЛИЗА)
[109] была написана Джозефом Вейценбаумом (Weizenbaum, 1966). С момента создания первоначальной программы появилось несколько ее переработанных вариантов. В одной конкретной программе под названием «ДОКТОР ЭЛИЗА» играла роль, сходную с ролью психиатра. В следующем примере высказывания ЭЛИЗЫ выделены заглавными буквами:
Все люди похожи.
ЧЕМ ЖЕ?
Они вечно надоедают нам то тем, то другим.
НЕ МОГЛИ БЫ ВЫ ПРИВЕСТИ КОНКРЕТНЫЙ ПРИМЕР?
Ну, мой приятель заставил меня прийти сюда.
ВАШ ПРИЯТЕЛЬ ЗАСТАВИЛ ВАС ПРИЙТИ СЮДА?
Он говорит, что я почти все время подавлен.
МНЕ ЖАЛЬ СЛЫШАТЬ, ЧТО ВЫ ПОДАВЛЕНЫ.
Это правда, я чувствую себя несчастным.
ВЫ ПОЛАГАЕТЕ. ЧТО ПРИХОД СЮДА ПОМОЖЕТ ВАМ ПЕРЕСТАТЬ БЫТЬ НЕСЧАСТНЫМ?
Мне нужна какая-то помощь, это точно.
Кому-то может показаться, что эта беседа вполне могла бы являться частью диалога психиатра-человека и его пациента. Но давайте оценим этот разговор критически. Реакции компьютера в нем довольно стереотипны. Например, он запрограммирован отвечать на определенные ключевые слова фразой, являющейся всего лишь преобразованием первоначальной фразы. Так, когда пациент произносит ключевые слова: «Я (есть)...», ЭЛИЗА отвечает выражением: «Мне жаль слышать, что вы...» Если ключевых слов не обнаружено, компьютер отвечает бессодержательным замечанием или в некоторых случаях преобразованием предыдущей фразы. То, что за отсутствием лучшего слова мы называем пониманием, включает человеческие знания об ощущениях, склонностях, групповой динамике и т. д. У ЭЛИЗЫ этого нет.
PARRY. Какая получилась бы беседа, если поменять роли, то есть если бы психиатр разговаривал с компьютерной моделью пациента? Колби и его коллеги (Colby et al., 1972) смоделировали такого пациента, назвав свою программу PARRY (ПАРРИ)
[110], поскольку она имитировала ответы параноидного пациента. Параноика они выбрали потому, что существует определенное теоретическое представление об этой болезни и о процессе паранойи, а различие между ответами нормальных людей и психотиков велико; исследователи могли использовать суждения экспертов для оценки отличимости ответов компьютерной модели от ответов человека. Колби с коллегами подвергли компьютер тесту Тюринга, попросив группу психиатров провести интервью с ПАРРИ при помощи дистанционно печатаемых сообщений. Психиатров просили оценить степень «паранойи» в общей сумме ответов.
Результаты показывают, что в очень специализированной обстановке эта модель «неотличима» от реального пациента. Конечно, можно справедливо утверждать, что условия этого эксперимента были созданы искусственно, что действительная диагностика паранойи включает множество интервью лицом к лицу с пациентом и что если бы эксперты знали реальную суть задачи, они строили бы беседу по-другому. Хотя Колби с коллегами успешно запрограммировали компьютер отвечать довольно похоже на параноидного пациента и эта программа прошла своего рода тест Тюринга, она очень далека от совершенной модели, способной генерировать и понимать язык.
NETtalk. Совершенно иной тип основанной на нервной сети программы под названием NETtalk разработали Седжновски, работавший тогда в Гарвардской медицинской школе, и Розенберг из Принстонского университета (см. Heppenheimer, 1988; Sejnowski, 1987). Программа NETtalk читает и произносит буквы (рис. 16.8). Модель, имитирующая нервную сеть, состоит из нескольких сотен единиц («нейронов») и тысяч связей между ними. NETtalk «читает вслух», преобразовывая буквы в фонемы — элементарные единицы речевых звуков. Эта система подобно другим, о которых мы уже говорили, имеет три слоя: входной, в котором каждая единица соответствует букве; выходной, единицы которого представляют 55 фонем английского языка; и слой скрытых единиц, в котором каждая из единиц имеет обладающую определенным весом связь с каждой входной и выходной единицей. NETtalk читает, рассматривая одну за другой каждую букву и просматривая три буквы с обеих сторон для получения информации о контексте. Так, буква е в словах net, neglect и red может обозначать различные звуки. Каждый раз, когда программа NETtalk читает слово, она сравнивает его произношение с правильным произношением и затем регулирует вес его связей, чтобы исправить любые ошибки.