воскресенье, 10 октября 2010 г.

1. О когнитивном программировании и проекте ЛоГрУСм

Определение смысла понятий (построение понятийной модели)  в некоторой предметной области есть процесс познавательный, а поскольку всякий процесс для нас в конечном счете реализуется  программой, то деятельность по поиску и определению "смыслов" мы называем когнитивным программированием (КП) а разного рода "познающие" программные системы - когнитивными (КПС).В течении нескольких лет мы  исследовали эту проблему и сейчас разрабатываем проект ЛоГрУСм  - Логико- Грамматическая Унификация Смысла,  описание которого мы опубликовали в качестве препринта. В  блоге мы будем, по мере возможности, рассматривать  некоторые понятия  теории и технологии когнитивного программирования и  построенных на ее основе начал теории формальной грамматики русского языка,  теории унификации смысла ЕЯ русских текстов,  понятийной модели пространственно-временного континуума.

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

Анализ тенденций развития систем, основанных на искусственных языках описания знаний, "интеллектуального" Интернета, в том числе Агентов и внедряемых в сайты определений (OntoWeb, Web-2), показал, что несмотря на огромные усилия исследователей и разработчиков (например, англоязычный проект CYC, имеющий похожие цели, развивался 21 год, потребовал 750 человеко-лет трудозатрат, 75 млн.$ и имеет порядка 40 тыс. концептов), хорошо развитую теорию и вполне работоспособные реализации инструментария, до "широкого" потребителя ИИ так и не добрался.

Сравнительно недавно появилось новое направление, вернее термин Text mining , само же направление одного возраста с ИИ, а термин выбран по аналогии с успешным Data mining в OLAP системах. Но Text mining скорее относится к проблемам поиска информации, чем к формализации знаний из текстовых описаний и вывода из них новых знаний и их ЕЯ - отображения.

В плотную к теме проекта примыкают разработки ЕЯ -переводчиков. Известен случай, когда для промежуточного представления содержания используют Эсперанто, другие скромно применяют немногочисленные семантические признаки, третьи скрывают свои достижения под покровом коммерческой тайны. Даже применение большого количества специализированных словарей не избавляет от необходимости правки такого объема, что при наличии некоторого лексического багажа вполне достаточно прекрасных словарей типа Lingvo. Во всяком случае, пока…

Естественный язык - наиболее естественный способ определения понятий из области "здравого смысла" и наиболее естественный способ общения человека с чем бы то ни было. Тем не менее, здоровый скепсис по поводу проблемы понимания текстов до сих пор актуален. Дело, по видимому в том, что затраты труда при "ручной формализации" знаний, и эксплуатационные расходы, вызванные теоретическими проблемами и недостаточным вниманием к эффективности реализаций, в большинстве практических приложений делают их неприемлемыми для массового пользователя, а следовательно, такие задачи становятся экономически невыгодными и не доходят (всё ещё) до широкого коммерческого внедрения

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

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

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

Естественно, что подробно специфицировать такую систему в целом, перед началом ее программной реализации, невозможно. Обычный для больших систем метод последовательных приближений от эскиза, технического задания, через технический и рабочие проекты здесь был явно неприемлем, хотя бы из-за отсутствия ресурсов. Нужна особая технология разработки в условиях высокой степени неопределенности спецификаций, когда сама задача уточняется по мере выяснения способов ее решения. В нашем случае проблема была специфицирована в рамках построенной (увы, фрагментарно) теории когнитивного программирования, далее программное обеспечение разрабатывалось как языковая экспликация теории. Такая последовательность и есть основная особенность технологии когнитивного программирования. Так и решается задача унификации смысла ЕЯ - текстов, но в этом случае теория уже строится с помощью программно (на C++) реализованных инструментальных средств ЛогОСа, прежде всего языка определения концептов - CDL . Разработка правил использования такого рода "инструментов познания" при создании понятийных моделей предметных областей и есть первая технологическая цель проекта.

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

Комментариев нет:

Отправить комментарий