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

2. К теории организация смысла

Под смыслом высказывания на ЕЯ или смыслом некоторого термина мы понимаем их определение в некотором формальном исчислении.

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

Недостаток "чистых" исчислений в их ограниченности. В исчислении предикатов невозможно описать алгоритм, теория алгоритмов далека от их осмысленной интерпретации, теория структур данных занимается эффективной по времени доступа и памяти реализацией. Такие взаимосвязанные Web - средства, как RDF, OWL  имеют декларативную природу и соотносятся с Дескриптивной логикой. Дескриптивная онтология для лингвистики и когнитивной инженерии (DOLCE) использует первопорядковую логику с модальностями. В связи с развитием Web - сервисной архитектуры (SOAP) возникли средства ее "онтологической" спецификации OWL-S, Core Ontology of Service (COS), Descriptions & Situation для DOLCE. Контрарное направление, когда "services are interpreted and mapped to others without resorting to ontologies" представлено разработками BPEL- IBM, где специальный компонент - интегратор обеспечивает взаимодействие участников сервиса. При этом используются различные модели централизованного - децентрализованного обслуживания any-to-any, any-to-one. Можно также добавить, что W3S при описании архитектуры Web - сервиса использует квазиформальные отношения типа is-a, has, describes и т.д.  Это сопоставление показывает, что и в области распределенного "обслуживания" существует противопоставление декларативных и императивных методов.

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

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

В разделе кратко определим цели разработки теории многомерных информационных пространств (МИФОлогия), многосортного исчисления концептов (ЛогОС), теории "доказательного программирования" концептов понятийных моделей (ИмОСОФия) и  Технологии  Организации Смысла Определенная Формально необходимые для понимания общей направленности проекта.

Примечание 1. Теософия - учения, синтезировавшие философию и теологию и предполагающие более глубокое познание мира, чем традиционная аристотелевская философия и теология

 Примечание 2. Например, задача унификации смысла ЕЯ русских текстов при ее реализации средствами ЛогОСа потребовала, из-за неопределенной длины предложения, введения предикатов с переменным списком параметров; для построения логической формы представления морфологического состава предложения оказалось необходимым (скорее по конъюнктурным соображениям) специфические внелогические процедуры.

2.1 О МИФОлогии - теории Многомерной Информации Формально Определенной  

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

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

  • многомерность на уровне элементарных структур данных, определяющих составные части компонентов представления знаний, обеспечивает технологические потребности в гибких инструментах формирования и ведения сложноструктурированных данных большого объема. В теории эта часть представлена алгеброй многомерных динамических структур памяти, элементами которой являются трехмерные узлы(с обратной связью), а сигнатура состоит из операций построения структур и навигации по ним. В проекте она реализована как DSM - динамически структурируемая память
  • многомерность на уровне организации знаний в целом, как задача идентификации понятий, их структурных, дедуктивных и императивных связей, хранения и эффективного доступа. В теории эта части представлена определением порядков на трех координатах формул исчисления концептов - на сигнатурных символах , на вхождениях и на типах и значениях операндов. Эти координаты связываются с "посылками" и "следствием" каждого концепта и в общем случае каждый концепт представляет начало отсчета шестимерной системы координат. В проекте эта многомерность реализована как когнитивная сеть. Иерархии понятий в приложениях устанавливаются либо явно, с помощью предикатов иерархии, либо неявно, через вхождение в определение понятия других концептов;
  • многомерность на уровне внешних источников достоверных знаний (словари, энциклопедии, специальная литература, кодексы, документы и др.) в текущей версии проекта устанавливается по уровням конкретизации знаний и реализуется либо в различных понятийных моделях, либо как фрагменты одной модели, общей для некоторой предметной области. Предполагается, как минимум, три уровня конкретизации знаний - общий (Common Sense в пилотной версии), энциклопедический и специальный (формально - понятийная модель пространственно-временного континуума).
  • многомерность фактографических данных, содержащих информацию об объектных конкретизациях понятий и их свойств, (базы данных) непосредственно зависит от иерархии понятий и характеристики области определения этих объектов, также допускающей концептуальное описание. В этих случаях понятийная модель выступает как схема базы данных. Многомерность других источников информации ( сайты, средства массовой информации и т.д.) в пилотной версии в настоящее время не рассматривается.   

Перечисленные аспекты требуют разработки теории многомерных информационных пространств для:
  •  организации сложноструктурируемой динамической информации самих концептов в понятийных моделях предметных областей,  
  •  описания информационных моделей этих же областей при "осмысленной" интерпретации информационных потоков,
  •  создания трансформационных и индуктивных методов в "доказательном программировании" понятийных моделей

2.2. О ЛогОСе - Логической Организации Смысла

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

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

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

 у леса свойства расти на земле и состоять из деревьев, имеющих листья и ветви;

 у земли наличие ветров,

 у ветра - способность создавать колебания (шевелит листву);

 у шума - причину возникновения - колебания множества предметов;

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

2.3 О ИмОСОФии - Императивном Описании Смысла Определенном Формально


Источник понятий о реалиях нашего мира - в информации о наблюдаемых объектах, явлениях и т.д. Её "обработка при понимании" специфична для каждой нетривиальной предметной области. В логику эта обработка вводится через функциональные символы исчислений, однако сами функции в классической логике алгоритмически не определяются, т.е. логика занимается проблемами "что" но не "как". Преобладание, мягко выражаясь, во всем софтверном Хаосе логически не специфицированных программ еще раз подтверждает тезис о том, что человеку и программисту проще сказать как сделать и сделать "это", чем точно сформулировать, что надо делать и при этом "ничего не делать"! И это несмотря на то, что функциональное и логическое программирование (Лисп, Пролог,...) исторически ровесники императивному программированию. Теория доказательного программирования (тройки Хоара, преобразователь предикатов Дейкстры,...) имеет столь же длительную историю. Но, кроме Авто-Лиспа, впечатляющих коммерческих применений нет, хотя методы неформальной (вне логических исчислений!) спецификации стали основой всех коммуникативных программных соглашений - от Автоматизации и СОМ до Web-сервисов. Однако, ни содержание ни, тем более, смысл и цели компонентов нигде формально не специфицируются, коммутация везде явная, проверяется лишь соответствие типов параметров. Естественное, на определенной стадии, отделение исполнения от содержания и приводит, в конечном счете, к бессмысленной трате огромных вычислительных и коммуникативных мощностей на маниакальные масс - медийные "увлечения". Происходит отторжение здравомыслящего человека от всей этой виртуальности, поскольку весь здравый смысл в ней сосредоточен в почтовых ящиках и магазинах. Из этого вытекает и актуальность основной задачи нашего проекта - связать исполнение с целеполаганием, содержательно специфицировать алгоритм.


 2.4. О формальной технологии организации смысла

Формализованные определения технологических понятий и правил становится хорошим тоном технологии программирования. Если раньше формально определялись только языковые инструменты, технологии определялись стандартами и поддерживались технологическими комплексами, то в настоящее время Web - технологии включают в эту цепочку и формальное определение состава сред взаимодействия, средств его осуществления и правил применения этих средств. Следуя этой фундаментальной тенденции, мы также вводим свою Технологию Организации Смысла Определяемую Формально - ТехнОСОФию, тем более что в нашем случае неизбежность ТехнОСОФии очевидна: инструментарий для "осмысленной" обработки информации должен быть не менее интеллектуальным, чем степень осмысленности самой информации. Иначе "Сон разума порождает чудовищ"
 Первоочередной технологической задачей является разработка правил использования уже созданных в проекте инструментов, прежде всего языка определения концептов CDL и его окружения. Другими словами, мы пытаемся осмыслить внешние предметные области, тогда как собственная область - программирование приложений на когнитивных моделях остается пока вне наших формализмов. И это при том, что и ТеОСофия и CDL содержат в своем составе средства, объединяющие логику, императивы в виде операторов программирования и информацию в самом общем представлении - как многомерные динамические структуры - т.е. средства, вполне достаточные для формализации технологических проблем. Более того, и процесс доказательства, и интерпретация императив, и информационный поиск в многомерных структурах изначально предполагают максимальный уровень распараллеливания. Это позволяет, при современных многоядерных  технических средствах разрабатывать сложные дедуктивные задачи, функционирующие в реальном времени.
Такие нетрадиционные технологические задачи как проверка на непротиворечивость и полноту определений, применение методов синтеза и трансформаций при разработке приложений на понятийных моделях, даже при их достаточной ТеОСОФической проработке, при технологической реализации как инструментов среды разработки требуют параметризации, строгого обоснования последовательности использования, выбора языковой экспликации и т. д.
Естественно в нашем случае применить для таких технологических целей разрабатываемый в проекте аппарат теории концептов и ее программной экспликации в виде языка определения концептов, когнитивной сети и др. Иначе - построить понятийную модель когнитивных программных  проектов, включающую уже, помимо инструментов концептуального проектирования  моделей предметных областей,  и такие традиционные технологические понятия как задача, команда проекта, участник, трудоемкость, производительность, сложность, этапность, текущее состояние, ...   Именно через формальное определение содержания задачи, её команды, состояния и конкретизации других технологических концептов в общей перманентной понятийной модели проекта и предметной обдасти задачи и можно быть "в ажуре".  

                      2.5. Об "эквивалентности" представления знаний

Выше мы замечали, что  "в идеале" можно  рассматривать экивалентность различных форм представления знаний
МИФОлогия = ЛогОС = ИмОСОФия , 
но некоторые аспекты такой эквивалентности, точнее частичной трансформируемости, достаточно очевидны. Например, для числовой информации программы могут создавать данные произвольной структуры, как и их апроксимировать в некие математические зависимости; предикативная форма определения концептов со специфицированными параметрами может рассматриваться как схема отношения в некоторой базе данных; если представить концепт как тройку Хоара (предусловие, императив, постусловие), то инкапсулировав императив можно говорить о теоремах вычислимости. Интенсивное развитие таких направлений как Datamining, Textmining намекает не только на наличие таких эквивалентностей, но и на чрезвычайное желание множества людей их обнаружить.

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

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

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

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

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

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

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

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

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

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

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

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

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