Свежий номер №25 (450) / О пользе случайностей Дата публикации: 02.07.2002 Георгий Дерновой, g.dernovoy@soft.velton.net.ua Производительность компьютеров растет с каждым годом, но это никак не сказывается на их интеллектуальности. Программировать на современных языках становится проще, но это несравнимо с легкостью «программирования» человеческого мозга. Естественный для людей способ общения недоступен современным компьютерам и программному обеспечению, что мешает им стать по-настоящему дружественными и полезными человеку. Конечно, компьютеры и сейчас полезны и незаменимы, но если бы компьютер мог сделать за вас какую-либо интеллектуальную работу, позаботиться о вашем ужине и завтраке, напомнить о текущих делах, это значительно повысило бы ценность этого устройства. Компьютер будущего должен уметь понимать не только языки программирования, но и наш обычный, естественный язык, который является главным средством общения людей. Более того, необходимо и некоторое понимание реалий этого мира. Проблема интеллектуального анализа и понимания (далее просто ИИ) появилась одновременно с самими компьютерами. За полвека, как ни удивительно, в ее решении особого прогресса достичь не удалось. Частные методы для узких задач разработаны в большом количестве, однако количество так и не перешло в качество. Программами распознавания речи, к примеру, занимаются более сорока лет, но до сих пор они так примитивны, что пользоваться ими небезопасно для психики. Ошибочно думать, что проблема здесь в распознавании акустического сигнала. Любая коммерческая программа распознавания речи выполняет классификацию фонем лучше, чем среднестатистический человек. Но программа не умеет отделять зерна от плевел. Собственно проблема состоит в создании блока фильтрации глупостей. Вот две основные, на мой взгляд, трудности в ее решении:
Наше знание и его производную - понимание - можно описать в терминах устремлений, целей, рефлексов (см. книгу логика и математика Рассела Акоффа [1]). А вот, к примеру, отрывок из книги крупнейшего психолога А. Р. Лурия [4]: «Мало понять непосредственное значение сообщения. Необходимо выделить тот внутренний смысл, который стоит за этим значением. Иначе говоря, необходим сложный процесс перехода от текста к подтексту, то есть к выделению того, в чем именно состоит центральный внутренний смысл сообщения, с тем, чтобы после этого стали понятны мотивы, стоящие за поступками описываемых в тексте лиц». Из сказанного следует, что для создания интеллектуального компьютера нужно придумать новый метод представления информации и оперирования ею, создать базу знаний, сходную с той, которой владеет среднестатистический человек, снабдить систему представлением о целях и установках человека и - сдать все это в отдел продаж. Цель ясна, пути достижения вроде бы тоже. Есть в Америке компания Cycorp, которая уже двадцать лет работает над созданием искусственного интеллекта и, по собственному признанию, очень близка к успеху. В Cycorp занимаются созданием базы данных здравого смысла (Commonsense Knowledge), которая, как они надеются, позволит компьютеру стать интеллектуальным. Текущее состояние дел таково: обработано 100 тысяч концептов (понятий) и миллион фактов о действительности. По данным компании, инсталляция системы Cycorp на диске занимает менее 100 мегабайт 1. Однако работа по «программированию здравого смысла» еще не закончена. Рискну предположить, что закончить ее невозможно в принципе, потому что здравый смысл должен обеспечивать адекватную реакцию на внешние воздействия, в том числе информационные, делать экстраполяцию на будущее и с учетом этого изменять свое поведение, цели и приоритеты. Вероятно, правильнее было бы ориентироваться на понимание системой естественного языка, ибо опыт Cycorp показывает: свести записанные на таком языке знания к удобной для программирования форме крайне сложно. Естественный язык обладает ценными качествами, несвойственными языкам программирования: он описывает сам себя, в нем простейшим образом связываются понятия, независимо от сложности их внутренней структуры. Понятия в нем описывают объекты, их части, отношения, способы вычислений, представление конечного результата и все остальное, что может прийти на ум. Как же подойти к этой задаче? Для начала было бы неплохо определить базис языка, его аксиомы и элементарные смыслы (неупрощаемые понятия), и далее попытаться все остальное описать через них. Отсутствие такого описания приводит к круговым определениям, показательным примером которого может служить фрагмент дневника Иона Тихого [6]: «…я пошел к Тарантоге, чтобы прочесть о сепульках. Нашел следующие краткие сведения: СЕПУЛЬКИ - важный элемент цивилизации ардритов (см.) с планеты Энтеропия (см.). См. СЕПУЛЬКАРИИ. Я последовал этому совету и прочел: СЕПУЛЬКАРИИ - устройства для сепуления (см.) «Сепуление». Я поискал «Сепуление»; там значилось: СЕПУЛЕНИЕ - занятие ардритов (см.) с планеты Энтеропия (см.). См. «СЕПУЛЬКИ». Круг замкнулся, больше искать было негде». Толковые словари просто кишат подобного рода определениями. Поэтому необходимо было научиться описывать понятия и дать критерии правильности описания. Первая серьезная попытка разработать такую теорию была предпринята в 1970-х годах советскими лингвистами И.А. Мельчуком и А.К. Жолковским [5]. В их теории «Смысл - Текст» предлагался ряд строгих механизмов описания слова через элементарные или более простые смыслы. Колоссальная работа завершилась изданием в 1984 году (уже в Австрии) Толково-комбинаторного словаря, описывающего около тысячи слов русского языка. Для описания тем же способом всех слов языка потребовалось бы примерно двести лет. Охотников работать на износ в течение двухсот лет, видимо, не нашлось, ибо на мой запрос от 1 февраля 2001 года о состоянии дел в этой области, адресованный в Лабораторию компьютерной лингвистики ИППИ (Институт проблем передачи информации) РАН, пришел следующий ответ: «…кроме того, у нас имеется база данных с полными семантическими толкованиями 1000 наиболее употребительных слов и лексическими функциями к ним…» Значит, спустя семнадцать лет воз и ныне там. Жить было бы неинтересно, если б не происходили неожиданные приятные случайности - вспомним хотя бы Белла с его телефоном, когда из-за неправильного перевода с немецкого он решил, что немцы уже используют телефон, и придумал, как ему казалось, всего лишь свою реализацию их идеи. Лет двадцать назад книга И.А. Мельчука о его теории «Смысл - Текст» попала в руки профессору математики Петербургского университета Виталию Алексеевичу Тузову. Будучи человеком любознательным, он заинтересовался: действительно ли можно формализовать язык подобным способом и создавать системы, свободно понимающие русский язык. К счастью для всех, он не знал о тех двухстах годах, которые предрекали лингвисты; ему понадобилось пятнадцать лет для разработки первого варианта системного описания русского языка. Когда первые программы были написаны и опробованы, стало понятно, что том виде, в каком была предложена теория, использовать ее нельзя. Классическая лингвистика близка к философии и далека от строгости математики. Профессору пришлось значительно расширить и уточнить базис языка, описания, придав всей работе вид нормальной математической теории, благодаря чему появилась возможность практического использования знания о языке в программах. Теория базируется на постулате о возможности построения сколь угодно точного анализатора естественного языка. Погрешность анализатора определяется полнотой и точностью описания языка (так называемого семантического словаря). Суть работы анализатора сводится к построению точного смыслового описания текста в виде сети, узлы которой представляют собой некоторые сущности, а связи - отношения между ними. Такая сеть называется семантической; она определяет смысл предложения и не зависит от формы высказывания (от слов и их последовательности). Возможны различные варианты дальнейшей обработки семантической сети. К примеру, экспертная система попытается применить к сети правила вывода, программа-переводчик по полученному описанию будет синтезировать текст на другом языке, робот будет выполнять инструкции, которые определяются этой структурой. Неоспоримым достоинством семантических сетей Тузова является то, что на них легко и просто накладывается ансамблевая архитектура нейронных сетей. Разработанная теория включает в себя (см. [8]):
Поясняющий пример см. во врезке.
Такое описание позволило создавать программы, «понимающие» русский язык лишь на поверхностном уровне; для глубокого понимания нужны знания, которые не содержатся в языке, а усваиваются в течение жизни. Однако появляется возможность ввести эти знания из книг. Это особенно актуально для следующих приложений:
Некоторое представление о том, насколько использование знаний о языке облегчает поиск информации, дает демоверсия поисковой системы «Алхимик». Программа позволяет работать с хранящимися на винчестере документами пользователя и использует фрагменты словаря и теории Виталия Тузова. Это лишь первое приближение того, что позволяет данная технология, но даже «первый блин» дает впечатляющие результаты (см. таблицу). Программа ищет информацию не по словам, а по смысловой близости, определяя ее по 100-балльной шкале. Примеры работы на простых запросах
Достоинства этого подхода лучше видны на многословных запросах. Во-первых, запросы формулируются на общеупотребительном русском языке, во-вторых, три упомянутые в таблице поисковые системы не могут определять связи между словами, поэтому выдаваемые ими ответы будут содержать и такой текст, где слова запроса не связаны по смыслу. «Алхимик» таких ошибок не делает. Однако пока программа не способна создать полное смысловое описание текста, а работает на смысловых фрагментах размером одно-два предложения. Программа оперирует только поверхностным описанием слов и не может со стопроцентной точностью вычислять смысл сложных языковых конструкций. Сейчас идет работа над версией программы, реализующую полную функциональность анализа языка и свободную от вышеуказанных ограничений. Уверен, что впереди нас ждет много интересного: сразу несколько организаций работает над внедрением этих технологий в свои программы, создается экспертная система на базе замечательной теории профессора Виталия Тузова, которую он продолжает совершенствовать. Да здравствуют случайности! 1 (обратно к тексту) - То есть намного меньше 100 байт на средний факт. Это круто! - Л.Л.-М. 2 (обратно к тексту) - Свободный, однако, полет ассоциаций. - Л.Л.-М. ИСТОЧНИКИ [1] Акофф Р.С., Эмери Ф.И. О целеустремленных системах. [2] Амосов Н.М. Автоматы и разумное поведение. [3] Амосов Н.М. Алгоритмы разума. [4] Лурия А.Р. Язык и сознание. [5] Мельчук И.А. Опыт теории лингвистических моделей «Смысл- Текст». [6] Лем С. Дневники Иона Тихого. Путешествие 14-е. [7] Тузов В.А. Компьютерная семантика русского языка. Материалы конференции «Диалог-2001»: www.dialog-21.ru/Archive/2001/volume2/2_53.htm. [8] Тузов В. А. Компьютерная лингвистика. СПБУ, 1998. [9] Тузов В. А. Прагматический анализ текстов. СПБУ, 2001. [10] Программа «Алхимик»: www.soft.velton.net.ua/langs_download.html.
|