ЛИНГВИСТИЧЕСКИЙ ПУТЬ СОЗДАНИЯ ИСКУССТВЕННОГО РАЗУМА Н.В.Невесенко Я не претендую на знание современного состояния проблемы искусственного разума (ИР), а также на оригинальность своих идей. Более того, большинство моих предложений настолько тривиально, что претендовать на авторство было бы несерьезно. Новизна будет заключаться в том, что проблема будет разбита на множество шагов, каждый из которых, по моему мнению, просто невозможно не сделать. Еще я буду утверждать, что лингвистический путь – это единственно реальный путь к созданию ИР. Поэтому очень кратко покритикую другие подходы. На первый взгляд кажется закономерным, что разумное существо должно уметь видеть и слышать. Поэтому привлекательно было начать работу с разбора зрительных и звуковых образов. Однако сегодня машине так же трудно отличить дом от сарая, как 40 лет назад. Потому не удивителен пессимизм в создании ИР. Но так ли необходимо ИР видеть? Муха и слон умеют видеть, но есть ли у них интеллект? И если вдруг машина сумеет отличать тапочки от туфлей, то что дальше? Собака умеет различать предметы намного лучше. Но что это дает? В смысле разума - практически ничего. Утопична на сегодня идея создать машину по образцу человеческого мозга и некими воздействиями инициировать в ней зарождение мыли. Копаясь в Интернете, я не нашел ничего более привлекательного, чем уже древние идеи А.Тьюринга, о которых стоит напомнить. В частности, он предлагает разбить создание искусственного разума на две части: создание "программы-ребенка" и обучение этого ребенка. Уважая эту идею в целом, отмечу, что это только лозунг, еще очень далекий от практики, что здесь одна безнадежная проблема разбивается на две столь же безнадежные части. А надо разбить проблему на сотни или даже тысячи реальных частей, что я и собираюсь сделать, если не сегодня, то по крайней мере в процессе дальнейшей работы. Другое предложение Тюринга: тест на интеллектуальность. Человек общается по электронной почте с собеседником и, если он не может определить, что собеседник - машина, значит, собеседник обладает интеллектом. Это уже вполне практическое предложение. Во-первых, здесь выделено главное в ИР - умение строить фразы и отвечать на вопросы. С такими талантами ИР уже может принести человечеству немало пользы, начиная с области поисковых систем. Во-вторых, сразу можно выделить серию усложняющихся тестов, с помощью которых можно шаг за шагом следить за развитием создаваемого ИР. Начиная с самого элементарного, тесты могут выглядеть следующим образом: а) подобрать подходящее прилагательное к заданному существительному, аналогично существительное к заданному глаголу и т.п. б) в заданную фразу вставить пропущенное слово (отмеченное, например, многоточием), в) написать окончание заданной фразы, г) построить несколько фраз на заданную тему. Тест Тьюринга - это уже как бы госприемка ИР, окончательное тестирование. Но о появлении элементов разума можно будет говорить гораздо раньше. Например, если на вопрос матери "какая у нас кошка?" ребенок отвечает "пушистая", то мать на 100% может быть уверена в разумности своего дитя, хотя несомненно ответ был ранее когда-то подсказан. Если на вопрос матери "Маша любит маму?" ребенок отвечает "Маша очень любит маму", то это также явный признак разумности. Небольшая вариация фразы кардинально отличает человека от попугая. По большому счету литературный талант для ИР не обязателен. Для получения реальной пользы от ИР вполне достаточно, чтобы он умел говорить всего два слова: да и нет. Главное - говорить их вовремя. А для этого надо уметь анализировать запросы, полученные от человека. Но из умения анализировать уже вытекает возможность давать односложные ответы и самому строить несложные фразы. Если машина сможет строить фразы из 3 слов, то этого даже более чем достаточно для эффективного общения. Конкретный план таков: обучить машину языку на бытовом уровне. (О научных знаниях я скажу позже, предложив, вероятно, не стандартное, но помоему мнению единственно верное решение.) Пронумеровать ходовые ситуации. Например, кухня, огород, школа, общественный транспорт, магазин, поле, утро, день, ночь, зима, лето, беседа ученика с учителем, ученика с учеником, пассажира с кондуктором и т.д. Поначалу полнота этого списка не требуется. Список будет дополняться по мере выполнения других работ. Строгие определения ситуаций не требуются, вкладывать их в ИР поначалу нет смысла, они нужны разве лишь самим разработчикам. Если ИР осилит разбор фраз, то к определениям ситуаций, возможно, придется вернуться и провести ревизию всего хранилища. Но пока последнее не актуально. Каждому слову сопоставляется характерный для него список ситуаций, т.е. набор номеров (для 500 ситуаций хватит 1 Кб). Например, для слова "косить" подходят поле, день, лето. Слово "встречаться" уместно в очень многих ситуациях (если не во всех). Каждому существительному могут быть приписаны разные численные характеристики, например, вес, объем, цвет, возможно, некая степень активности. Например, облако способно плыть, бревно способно падать. Но скорее человек станет обрабатывать бревно, чем бревно будет падать на человека. Далее для каждого существительного дается список привычных для него прилагательных в порядке частоты употребления и с самой частотой (на 160 прилагательных также хватит 1 Кб), аналогично список глаголов. Кроме того, сведения по склонению и исключения, если они есть. Таким образом, на 100 тыс. слов хватит порядка 300 Мб памяти. Предполагается, что объем будет расти почти линейно в зависимости от количества слов. Нет надобности вводить слова и их описание вручную и непременно все сразу. Это будут делать небольшие программы, считывая тексты из Интернета. В целях компактности и воспроизводимости хранилища слов предполагается иметь программу, которая по известному набору литературных текстов восстанавливает хранилище. Тогда по существу придется постоянно хранить только список исключений из правил. Эта программа будет складываться из относительно независимых небольших кусков, производящих первоначальное накопление слов. Первоначальный набор слов. Пример накопления существительных. Программа выбирает из текстов слова, оканчивающиеся на букву "а", например, корова, весна, всегда. Если встречаются слова с окончаниями ы, е, у, ой , то слово - существительное женского рода. Что-то можно почерпнуть из словарей, но литературные тексты все равно необходимы, чтобы определить частоты встречаемости пар слов. Таким образом, для очень большого количества слов автоматически будут определены род и правила склонения. Если склонение стандартное, то незачем хранить все формы, а достаточно - только признак стандартности. Нет сомнений, что создаваемый по такому плану ИР успешно пройдет тест, поскольку ходовые пары слов вкладываются в него в явном виде. Решающим шагом является построение фраз из 3 слов, например, типа "Маша мыла раму". Из того, что первое слово подходит ко второму, а второе к третьему, чаще всего следует соответствие действительности всей фразы. Но есть немало исключений, для борьбы с которыми предназначен список ситуаций. Этот список поможет исключить фразы типа "по небу плывет бревно". Сложнее с фразами: "слониха родила мышь", "мышь любит кошку". Для них видится два решения. 1. Если пара слов может иметь только одно или очень ограниченное количество продолжений, то все они должны быть явно указаны в описании первого слова. 2. Для некоторых глаголов выделить специальные правила. Представляется, что после освоения фраз из 3 слов программа сможет легко отвечать на вопросы типа "что делает утром Маша?", "что делает утром комбайнер?" По ситуации "утро" она автоматически выбирает подходящие глаголы (можно несколько вариантов по степени распространенности) и говорит: "утром комбайнер заводит комбайн" или "утром комбайнер сладко спит". Умение строить фразы есть основа для разбора чужих фраз и, в частности, оценки действий персонажей. По имеющимся частотам машина должна признать нормальной ситуацию, когда "милиционер ведет машину", и странной, если "милиционер косит траву". По длинному тексту программа определит, например, профессию, навыки, привычки героев, т.е. сможет делать выводы, которых явно в тексте нет. Здесь ИР, возможно, сумеет превзойти человека, во всяком случае среднего. Вполне реально обучить машину стихосложению. Дальнейшие шаги нетривиальны, но уже в значительной степени представляют сбор урожая, основа которого заложена на этапе трехсловных фраз. Поэтому рассмотрим этот этап подробнее. Идея впаять все такие фразы в хранилище плоха тем, что увеличивает его объем на 2 порядка до размеров, проблематичных для настольной техники и, значит, замедляет работу ИР, а главное, проблема осмысленности хранения не решается и отодвигается в еще более сложные условия. Путь наращивания мощностей и огромных переборов хорош для шахматных программ, но никак не для ИР. Кстати, нет особых оснований подозревать в интеллектуальности программу, обыгрывающую чемпиона мира по шахматам. Тем не менее, понадобится тестовый набор из около миллиона наиболее употребительных трехсловных фраз, почерпнутых из разных литературных текстов. На этом наборе после каждого небольшого усовершенствования ИР (изменения списка ситуаций) будет проверяться, что ИР пропускает тестовые фразы (признает их законными). С другой стороны ИР будет генерировать свои фразы и проверять, попали ли они в тестовый список. Если фраза не попала туда, то она также автоматически ищется в Интернете по большому списку источников. Если она не найдена и там, то выдается разработчику ИР, который либо все-таки признает фразу законной, либо устраняет недоработки в списке ситуаций. Это и будет наиболее трудоемкой работой, которая может занять несколько месяцев, а может быть, и лет. Поскольку количества фраз, выданных ИР и непризнанных в литературе, может быть очень большим, то оценивать прогресс ИР можно и нужно не только по отдельным фразам, но и именно по их общему количеству, не анализируя отдельных фраз. Подбирая различные варианты ситуаций, по этому обобщенному показателю можно судить, в правильном ли направлении идут экспериментаторы. Количество непризнанных фраз - это удобный показатель, который позволяет объективно судить об успешности и скорости создания ИР. Цель: снизить это количество с многих миллионов до немногих тысяч, чтобы каждая сомнительная фраза могла быть реально проверена разработчиками ИР. Научное знание также должно в первую очередь формироваться на уровне ходовых фраз. Например, надо явно заложить, что после слов "две плоскости" может следовать ограниченное количество продолжений: совпадают, пересекаются, параллельны. Понимание теорем (машиной или человеком) - не в умении оттараторить образцовые формулировки, а в умении выдавать всевозможные правильные вариации правильного утверждения. Без умения говорить на бытовом уровне невозможно освоение машиной научных знаний. Способность засунуть научные знания в бытовые схемы - это основа осмысленного научного познания. Для сравнения напомню, что человек сравнительно легко воспринимает планетарную модель атома. Ему понятно, что атомы могут сталкиваться, даже разбиваться. Но как дело доходит до принципа неопределенности, которому нет аналога в быту, так понимание обычно заканчивается. Представления о высотах человеческого мышления сильно преувеличены. Начиная какую-нибудь фразу, человек даже не знает, чем ее закончит. Хаотичные процессы в мозге поставляют оратору сразу множество слов, более или менее подходящих ситуации. Автоматически руководствуясь правилами речи и личными эмоциями, человек выдает очередное слово. И только! Так сможет и машина. 22.10.2008 г.