Архивы: по дате | по разделам | по авторам

О пользе случайностей

Архив
автор : Георгий Дерновой   02.07.2002

Производительность компьютеров растет с каждым годом, но это никак не сказывается на их интеллектуальности. Программировать на современных языках становится проще, но это несравнимо с легкостью "программирования" человеческого мозга.

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

Конечно, компьютеры и сейчас полезны и незаменимы, но если бы компьютер мог сделать за вас какую-либо интеллектуальную работу, позаботиться о вашем ужине и завтраке, напомнить о текущих делах, это значительно повысило бы ценность этого устройства. Компьютер будущего должен уметь понимать не только языки программирования, но и наш обычный, естественный язык, который является главным средством общения людей. Более того, необходимо и некоторое понимание реалий этого мира.

Проблема интеллектуального анализа и понимания (далее просто ИИ) появилась одновременно с самими компьютерами. За полвека, как ни удивительно, в ее решении особого прогресса достичь не удалось. Частные методы для узких задач разработаны в большом количестве, однако количество так и не перешло в качество.

Программами распознавания речи, к примеру, занимаются более сорока лет, но до сих пор они так примитивны, что пользоваться ими небезопасно для психики. Ошибочно думать, что проблема здесь в распознавании акустического сигнала. Любая коммерческая программа распознавания речи выполняет классификацию фонем лучше, чем среднестатистический человек. Но программа не умеет отделять зерна от плевел. Собственно проблема состоит в создании блока фильтрации глупостей.

Вот две основные, на мой взгляд, трудности в ее решении:

  • Информация, с которой работает мозг, и методы ее обработки коренным образом отличаются от используемых компьютерами.
  • Без знания окружающей действительности и представления о типичных потребностях людей невозможно заниматься сколько-нибудь полезной интеллектуальной деятельностью.

Наше знание и его производную - понимание - можно описать в терминах устремлений, целей, рефлексов (см. книгу логика и математика Рассела Акоффа [1]). А вот, к примеру, отрывок из книги крупнейшего психолога А. Р. Лурия [4]: «Мало понять непосредственное значение сообщения. Необходимо выделить тот внутренний смысл, который стоит за этим значением. Иначе говоря, необходим сложный процесс перехода от текста к подтексту, то есть к выделению того, в чем именно состоит центральный внутренний смысл сообщения, с тем, чтобы после этого стали понятны мотивы, стоящие за поступками описываемых в тексте лиц».

Из сказанного следует, что для создания интеллектуального компьютера нужно придумать новый метод представления информации и оперирования ею, создать базу знаний, сходную с той, которой владеет среднестатистический человек, снабдить систему представлением о целях и установках человека и - сдать все это в отдел продаж. Цель ясна, пути достижения вроде бы тоже. Есть в Америке компания Cycorp, которая уже двадцать лет работает над созданием искусственного интеллекта и, по собственному признанию, очень близка к успеху. В Cycorp занимаются созданием базы данных здравого смысла (Commonsense Knowledge), которая, как они надеются, позволит компьютеру стать интеллектуальным. Текущее состояние дел таково: обработано 100 тысяч концептов (понятий) и миллион фактов о действительности. По данным компании, инсталляция системы Cycorp на диске занимает менее 100 мегабайт 1. Однако работа по «программированию здравого смысла» еще не закончена. Рискну предположить, что закончить ее невозможно в принципе, потому что здравый смысл должен обеспечивать адекватную реакцию на внешние воздействия, в том числе информационные, делать экстраполяцию на будущее и с учетом этого изменять свое поведение, цели и приоритеты.

Вероятно, правильнее было бы ориентироваться на понимание системой естественного языка, ибо опыт Cycorp показывает: свести записанные на таком языке знания к удобной для программирования форме крайне сложно. Естественный язык обладает ценными качествами, несвойственными языкам программирования: он описывает сам себя, в нем простейшим образом связываются понятия, независимо от сложности их внутренней структуры. Понятия в нем описывают объекты, их части, отношения, способы вычислений, представление конечного результата и все остальное, что может прийти на ум.

Как же подойти к этой задаче? Для начала было бы неплохо определить базис языка, его аксиомы и элементарные смыслы (неупрощаемые понятия), и далее попытаться все остальное описать через них. Отсутствие такого описания приводит к круговым определениям, показательным примером которого может служить фрагмент дневника Иона Тихого [6]:

«…я пошел к Тарантоге, чтобы прочесть о сепульках. Нашел следующие краткие сведения:

СЕПУЛЬКИ - важный элемент цивилизации ардритов (см.) с планеты Энтеропия (см.). См. СЕПУЛЬКАРИИ.

Я последовал этому совету и прочел:

СЕПУЛЬКАРИИ - устройства для сепуления (см.) «Сепуление».

Я поискал «Сепуление»; там значилось:

СЕПУЛЕНИЕ - занятие ардритов (см.) с планеты Энтеропия (см.). См. «СЕПУЛЬКИ».

Круг замкнулся, больше искать было негде».

Толковые словари просто кишат подобного рода определениями. Поэтому необходимо было научиться описывать понятия и дать критерии правильности описания.

Первая серьезная попытка разработать такую теорию была предпринята в 1970-х годах советскими лингвистами И.А. Мельчуком и А.К. Жолковским [5]. В их теории «Смысл - Текст» предлагался ряд строгих механизмов описания слова через элементарные или более простые смыслы. Колоссальная работа завершилась изданием в 1984 году (уже в Австрии) Толково-комбинаторного словаря, описывающего около тысячи слов русского языка. Для описания тем же способом всех слов языка потребовалось бы примерно двести лет. Охотников работать на износ в течение двухсот лет, видимо, не нашлось, ибо на мой запрос от 1 февраля 2001 года о состоянии дел в этой области, адресованный в Лабораторию компьютерной лингвистики ИППИ (Институт проблем передачи информации) РАН, пришел следующий ответ: «…кроме того, у нас имеется база данных с полными семантическими толкованиями 1000 наиболее употребительных слов и лексическими функциями к ним…» Значит, спустя семнадцать лет воз и ныне там.

Жить было бы неинтересно, если б не происходили неожиданные приятные случайности - вспомним хотя бы Белла с его телефоном, когда из-за неправильного перевода с немецкого он решил, что немцы уже используют телефон, и придумал, как ему казалось, всего лишь свою реализацию их идеи. Лет двадцать назад книга И.А. Мельчука о его теории «Смысл - Текст» попала в руки профессору математики Петербургского университета Виталию Алексеевичу Тузову. Будучи человеком любознательным, он заинтересовался: действительно ли можно формализовать язык подобным способом и создавать системы, свободно понимающие русский язык. К счастью для всех, он не знал о тех двухстах годах, которые предрекали лингвисты; ему понадобилось пятнадцать лет для разработки первого варианта системного описания русского языка.

Когда первые программы были написаны и опробованы, стало понятно, что том виде, в каком была предложена теория, использовать ее нельзя. Классическая лингвистика близка к философии и далека от строгости математики. Профессору пришлось значительно расширить и уточнить базис языка, описания, придав всей работе вид нормальной математической теории, благодаря чему появилась возможность практического использования знания о языке в программах. Теория базируется на постулате о возможности построения сколь угодно точного анализатора естественного языка. Погрешность анализатора определяется полнотой и точностью описания языка (так называемого семантического словаря). Суть работы анализатора сводится к построению точного смыслового описания текста в виде сети, узлы которой представляют собой некоторые сущности, а связи - отношения между ними. Такая сеть называется семантической; она определяет смысл предложения и не зависит от формы высказывания (от слов и их последовательности).

Возможны различные варианты дальнейшей обработки семантической сети. К примеру, экспертная система попытается применить к сети правила вывода, программа-переводчик по полученному описанию будет синтезировать текст на другом языке, робот будет выполнять инструкции, которые определяются этой структурой. Неоспоримым достоинством семантических сетей Тузова является то, что на них легко и просто накладывается ансамблевая архитектура нейронных сетей. Разработанная теория включает в себя (см. [8]):

  • базис языка - отношения, которые могут возникать между сущностями и аксиомы логики отношений, представляющие собой допустимые правила их преобразования;
  • классификатор понятий русского языка (сбылась мечта философов!), имеющий вид дерева и являющийся основой описания лексики языка; любое понятие относится к какому-либо узлу классификатора и может иметь произвольное число связей с остальными узлами;
  • семантический словарь, описывающий более ста тысяч лексических единиц (слов и словосочетаний) на семантическом языке. Словарь описывает одновременно внутреннюю структуру понятий и информацию для расчета возможных связей слова, а также, где и какие связи могут появиться.
  • технология семантического анализа, описывающая алгоритм преобразования текста в смысловое описание (семантическую сеть).

Поясняющий пример см. во врезке.


Слово адресовать в толковом словаре

С. И. Ожегова определяется как послать по какому-нибудь адресу, хотя для анализа желательно, конечно, определить его точнее, а именно выполнить действие перемещения чего-либо куда-либо используя чей-то адрес; формула этого высказывания на разработанном семантическом языке будет иметь вид:

N%~АДРЕС$12/0171(PerfCaus(Uzor (!Им,АДРЕС$12/0171(!Дат),#), Mov(!Вин, !Откуда, !Через,!Дат\!кДат\!Куда)))

В этой формуле слова адресовать написано:

  • слово входит в смысловой кластер адрес (АДРЕС$12/0171).
  • его толкование: выполнять действие(PerfCaus), используя (Uzor) адрес (АДРЕС$12/0171) для перемещения (Mov) чего-то (!Вин) куда-то (!Дат\!кДат\!Куда).
  • слово может находиться в отношениях с существительными в именительном (!Им) в роли деятеля, дательным(!Дат) в роли владельца адреса ( АДРЕС$12/0171 (!Дат) ), иметь связь с существительным в вин. падеже, обозначающем объект перемещения (первый аргумент Mov) и указаниями места в разных видах, в том числе в сложно-производном (!Откуда).

Такое описание позволило создавать программы, «понимающие» русский язык лишь на поверхностном уровне; для глубокого понимания нужны знания, которые не содержатся в языке, а усваиваются в течение жизни. Однако появляется возможность ввести эти знания из книг. Это особенно актуально для следующих приложений:

  • Интеллектуальные системы анализа текстов (поисковые сервера, программы слежения за потоками информации, системы документооборота).
  • Программы-переводчики.
  • Программы распознавания устной речи.
  • Экспертные и обучающие системы, понимающие речь.
  • Персонажи в виртуальной реальности, интерактивных фильмах, способные к адекватному общению.

Некоторое представление о том, насколько использование знаний о языке облегчает поиск информации, дает демоверсия поисковой системы «Алхимик». Программа позволяет работать с хранящимися на винчестере документами пользователя и использует фрагменты словаря и теории Виталия Тузова. Это лишь первое приближение того, что позволяет данная технология, но даже «первый блин» дает впечатляющие результаты (см. таблицу). Программа ищет информацию не по словам, а по смысловой близости, определяя ее по 100-балльной шкале.

Примеры работы на простых запросах


Запрос

Yandex, Rambler, Google
результат:

Алхимик
Результат:

достижения

Только предложения, содержащие слово достижения

Результат содержит предложения со словами достижение, достигнутый, добиваться, большой вклад, удаваться

болеть

Только предложения, содержащие болеть

предложения со словами
болеть, заболеть, больной,
боль, заболевание

достоинство

Только предложения, содержащие достоинство

предложения со словами достоинство, честь, самый приличный, честно рассказывать 2


Достоинства этого подхода лучше видны на многословных запросах. Во-первых, запросы формулируются на общеупотребительном русском языке, во-вторых, три упомянутые в таблице поисковые системы не могут определять связи между словами, поэтому выдаваемые ими ответы будут содержать и такой текст, где слова запроса не связаны по смыслу. «Алхимик» таких ошибок не делает. Однако пока программа не способна создать полное смысловое описание текста, а работает на смысловых фрагментах размером одно-два предложения. Программа оперирует только поверхностным описанием слов и не может со стопроцентной точностью вычислять смысл сложных языковых конструкций. Сейчас идет работа над версией программы, реализующую полную функциональность анализа языка и свободную от вышеуказанных ограничений.

Уверен, что впереди нас ждет много интересного: сразу несколько организаций работает над внедрением этих технологий в свои программы, создается экспертная система на базе замечательной теории профессора Виталия Тузова, которую он продолжает совершенствовать.

Да здравствуют случайности!


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.

© ООО "Компьютерра-Онлайн", 1997-2018
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.