Высшее и профессиональное образование: опыт, проблемы, перспективы

Попов С.В. К вопросу формирования нового междисциплинарного комплекса «Семантический диалог» в СПО


Оригинал материала размещен в выпуске № 02 (16) https://f.almanah.su/16.pdf


О новых принципах построения пользовательских интерфейсов. Широкое распространение электронных информационных ресурсов, повлекло значительное усложнение запросов, с помощью которых пользователи пытаются извлечь необходимые данные. Простые запросы, касающиеся главным образом, фактических знаний (расписания поездов и электричек, цен товаров и пр.) информационные системы обрабатывают быстро, и пользователь бывает вполне удовлетворен результатом. Однако, информационные источники усложняются, как по количеству, так и качеству хранимой информации, и чтобы получить искомые данные иногда приходится весьма потрудиться. Так, чтобы найти статью, не зная ее названия, лишь по представленному в ней результату или описываемому факту, приходится кропотливо анализировать предоставляемую на каждом шаге поиска информацию. А так как поиск в подавляющем большинстве случаев осуществляется по ключевым словам, то этот процесс зачастую заканчивается неудачей, и становится жаль потерянного времени и собственных усилий.
Если неудача связана с некачественным построением сайта, что не позволяет достаточно полно выразить описание искомой информации, то остается только высказаться по поводу его разработчиков и воспользоваться иными средствами поиска. В таком случае авторы ресурса не предусмотрели некоторых необходимых возможностей диалога, и проблема превращается в чисто техническую. Однако, в большинстве случаев проблема выглядит сложнее, когда невозможность адекватно сформулировать поисковый запрос, даже в результате нескольких попыток, связана с семантическими проблемами диалога. А это напрямую связано с семантическим описанием предметной области (ПО).
В результате проблема семантического анализа в самом широком смысле становится актуальной уже в настоящее время и поэтому задача, традиционно решаемая в теоретической плоскости, перемещается в область практическую. Чтобы убедиться в этом, достаточно посмотреть на такую реальную задачу сегодняшнего дня, как поиск документа по части его характеристик, которые с содержательной точки зрения семантически полностью определяют все остальные. Т.е. все его характеристики суть логические следствия из указанных признаков. Однако, современные информационные системы, используемые для хранения и выборки документов, построены на базе реляционных БД, и в подавляющем большинстве не являются базами знаний. То есть не могут логически выводить новые знания из представленных в запросе. Чтобы такое знание получить, необходим аппарат логического вывода, который позволяет конструировать логические следствия из имеющихся посылок.
Но одного логического вывода недостаточно, т.к. чтобы осуществлять логический вывод, нужны посылки, которые суть декларативное описание ПО. Следовательно, чтобы логический вывод успешно работал, требуется соответствующая проработка ПО, когда словарные статьи выступают компонентами семантической сети.
Проводить в ручном режиме семантическую проработку достаточно представительной ПО – задача сложная, чреватая ошибками из-за большого числа связей и, как следствие, человеческого фактора. Следовательно, прежде, что требовать от информационной системы способности к взаимодействию, повторяющей диалог двух субъектов в попытке найти обоюдоприемлемое решение, необходимо произвести семантический анализ ПО, автоматическими или автоматизированными средствами. Только в этом случае можно говорить о том, что содержательный способ общения с информационной системой может быть успешно реализован в информационных системах. Для краткости будем называть такую манеру взаимодействия пользователя с информационной системой – семантическим интерфейсом.
Итак, мы обосновали необходимость семантического интерфейса, который необходимо реализовать в информационных системах, чтобы сделать поиск информации удобным и исчерпывающим. Теперь рассмотрим, на каких принципах должен строиться семантический интерфейс. Для этого следует понять, какими видами информации пользуется человек при описании ПО.
Виды информации для описания предметных областей. Общепринято, что при описании ПО, как правило, используются три представления информации: декларативное, операционное и фактическое. Под декларативным представлением обычно понимают совокупность утверждений и фактов, которые имеют место в данной ПО. При этом подразумевается (неявно или явно), что эта совокупность выступает в качестве утверждений или данных, используемых впоследствии для умозаключений. Сама система логического вывода обычно подразумевается. Например, это может быть общепринятые положения (здравый смысл) или специально оговоренная логическая система. В результате содержательное представление является аксиоматикой ПО, все элементы и закономерности этой ПО суть следствия описания. Декларативное представление наиболее близко к содержательному представлению информации, с которым обычно имеют дело субъекты. Когда субъект говорит о том, что он понимает ту или иную ПО, он имеет в виду, что знает основные закономерности этой ПО, из которых впоследствии может логически вывести необходимые факты. Т.е. декларативное описание – это знание, которое для своего использования априорно подразумевают наличие определенной логики извлечения новых данных.
Под операционным представлением понимается совокупность тех или иных алгоритмов, которые позволяют породить все элементы ПО, каждый - за конечное число шагов. Эти алгоритмы базируются на утверждениях и фактах декларативного описания, в результате каждый элемент ПО получается на заключительном шаге какого-либо алгоритма. Тем самым обязательно выполняется требование непротиворечивости получения новых результатов, которое есть следствие непротиворечивости логической системы. Так, каждый элемент ПО может быть логическим следствием из фактических данных и аксиоматики ПО, а правила вывода получаются переформулировкой высказываний декларативного описания ПО. Например, импликация превращается в продукционное правило для получения новых фактических данных. Поэтому операционное представление можно интерпретировать как навыки получения новых объектов ПО, в то время, как декларативное описание выражает знание о ПО. Так как операционное представление ПО опирается на декларативное описание, то переход к конкретным правилам извлечения новых знаний требует определенных интеллектуальных усилий по трансформации декларативного описания в операционное. Это естественно, т.к. навыки возникают лишь в результате повторения действий с закреплением результата. В определенном смысле, операционное получение новых знаний можно рассматривать как зафиксированные фрагменты логического вывода, требуемые для разрешения ограниченного круга ситуаций.
Под фактическим представлением ПО понимается множество ее элементов без указания как эти элементы появились, и по каким правилам они порождены. Т.е. фактическая информация не ссылается ни на декларативное, ни на операционное описания ПО, это просто множество элементов и конкретных примеров соотношений, выведенных из декларативных утверждений. Фактическая информация для ПО может представлять собой как конечное, так и бесконечное множество семантических единиц. Например, совокупность всех следствий из конечного числа посылок с различными переменными в пропозициональном исчислении конечна, если наложить условие, что каждое следствие имеет те же переменные. С другой стороны, модель прикладного исчисления может быть бесконечной, но и она представляет фактические данные, описывающие прикладное исчисление.
Уделим внимание соотношению сложностей различных представлений ПО. В этой связи, отметим, что, как правило декларативное представление более экономно по сравнению с операционным и фактическим, т.к. оно подразумевает использование того или иного аппарата логического вывода. Действительно, по ограниченному набору посылок можно получить большое число следствий, каждое из которых будет представлять собой некоторую фактически существующую семантическую единицу ПО. При этом все фактические данные получаются в результате логических построений, но сами не подразумевают наличие логического аппарата для своей интерпретации. Сейчас информационные системы (ИС) базируются, главным образом, на фактических данных, хранимых в реляционных БД. Поэтому, чтобы наделить такую ИС способностью генерировать новые знания, которых исходно не было, требуется делать надстройку со способностью логического вывода на основе тех или иных механизмов. Примером может служить навигаторы, которые хранят карту местности в виде записей БД (фактическая информация), над которой имеется надстройка для получения маршрута с учетом заторов, пробок и ремонтных работ. В итоге получаем, что описание ПО, исходя из требования его полноты должно иметь декларативный характер. Однако полнота описания должна совмещаться с эффективностью вычислений, для исключения слишком большого перебора, которым характеризуются интеллектуальные задачи.
Таким образом, выше обоснованы основные принципы, которые должны быть положены в основу семантического интерфейса для превращения поиска информации в процесс извлечения новых знаний. Это принципы суть следующие:
- использование семантического описания ПО, с привлечением декларативного, операционного и фактического представления данных;
- использование логического вывода для получения новых знаний оПО, и новых навыков извлечения данных, исходно не заложенных в описании;
- выработка навыков извлечения новых данных, путем закрепления удачных решений, получаемых из исходных в результате логического вывода.
Описание семантики ПО. Для описания семантики ПО в настоящее время используются разновидности языка OWL (описания онтологий), который есть базис т.н. семантического программирования. Онтология в информатике (в отличие от философии) — это пример формализации некоторой ПО с помощью т.н. концептуальной схемы. Последняя состоит из структуры данных, содержащей все релевантные классы объектов, их связи и правила (теоремы, ограничения), принятые в этой ПО. Этот термин в информатике производный от философского понятия «онтология». Онтологии используются в программировании как форма представления знаний о реальных ПО. Поэтому, с одной стороны, онтологии имеют много общего с объектно-ориентированным программированием, в части описания классов, которые в данном случае расширяются, если отметить наличие в них логических средств получения новых данных. С другой стороны, между онтологиями и прикладными исчислениями также имеется тесная связь, онтологию можно представить, как конкретное прикладное исчисление.
Современные онтологии выглядят достаточно стандартно, независимо от языка описания, они состоят из индивидов, понятий, атрибутов и отношений. Для каждого из этих терминов можно указать аналогию, как в объектно-ориентированном программировании, так и в прикладном логическом исчислении. Индивиды – суть объекты ПО, и могут представлять как физические, так и абстрактные объекты. Важное качество онтологии – это классификация объектов, и чего вытекает возможность определять понятия. Понятия суть классы объектов, характеризующиеся определенными свойствами, представляющими практический интерес. Объекты в онтологии могут иметь атрибуты. Каждый атрибут характеризуется именем и значением и используется для хранения информации, характерной для объекта. При этом значение само может быть сложным типом данных. Поэтому важна роль атрибутов для введения отношений между объектами. Так в онтологии отношение есть атрибут, значением которого является другой объект.
Итак, можно констатировать, что онтология, с одной стороны базируется на идеологии прикладного логического исчисления, с другой – на методах объектно-ориентированного программирования. В результате проблема получения новых логических следствий переходит из теоретической плоскости в прикладную. Поэтому основные сферы применения онтологий — семантическая паутина и искусственный интеллект.
Язык представления онтологий. Имеется несколько возможностей для описания ПО, обладающих операционной семантикой, т.е. позволяющих извлекать новые знания из декларативного описания. Исторически первым таким средством был язык логического моделирования «Покос», разработанный автором для декларативного описания ПО, и обладающего прозрачной операционной семантикой [1]. В среде «Покос» легко реализовывался логический вывод над реляционными БД, для увеличения эффективности вычислений управляемый стратегиями поиска решений. Но работы над этим языком были прекращены из-за отсутствия финансирования.
Сейчас, основным языком представления онтологий в семантическом Web стал OWL (Web Ontology Language) [2]. В его основе— представление ПО в бинарной модели «объект — свойство». Поэтому OWL достигает значительной выразительности описания ПО, одновременно характеризуясь эффективными вычислениями. Поэтому все подразумеваемые онтологией логические следствия строятся достаточно быстро, завершаяcь за вполне приемлемое время. Формальным базисом языка OWL служат т.н. дескрипционные логики (ДЛ), служащие для представления знаний при описании ПО. ДЛ можно рассматривать как относительно простые фрагменты логики предикатов. Поэтому, с одной стороны, они наследуют богатые выразительные возможности последней, а с другой — обладают эффективным логическим аппаратом, что делает их практически полезными в качестве механизма извлечения новых знаний.
Необходимость введения нового междисциплинарного курса «Семантический интерфейс». Можно констатировать, что с одной стороны существует явно выраженный заказ на расширение интерфейса с информационными ресурсами за счет внесения семантических качеств описания ПО. С другой, – что современное семантическое программирования позволяет формировать семантическое описание ПО, и на его основе извлекать логические следствия, исходно не представленные в декларативном описании ПО. Исходя и этого видится, что удовлетворить потребность в семантическом интерфейсе можно на основе семантического описания ПО, сформулировав требования, которым должны удовлетворять семантические запросы к ПО. Сейчас в этой области наблюдается пробел, т.к. не существует междисциплинарного курса (МДК), который включал одновременно навыки семантического описания ПО и логических приемов, характерных для общения субъектов при выработке консенсуса. Такой МДК позволил бы ликвидировать значительный пробел в подготовке специалистов в области семантического программирования в части проектирования интеллектуального интерфейса. Примерная учебная программа такого МДК в объеме 72 часов выглядит следующим образом.
Тема 01. Приемы описания семантики ПО. Синтаксис основных конструкций языка OWL. Семантика основных конструкций. Приемы описания предметных областей. Классы объектов языка OWL. Проектирование семантического интерфейса. Описание семантических связей средствами языка OWL. Установление непротиворечивости описания предметной области средствами языка OWL. Корректировка семантического описания предметной области. Реализация логического вывода в описании предметной области. Разработка семантического интерфейса для семантического описания предметной области. Практические занятия. Создание семантической сети предметной области. Описание предметной области на логическом языке. Разновидности описания. Использование прикладных исчислений для описания ПО. Семантический интерфейс для информационной системы.
Тема 02. Основные приемы описания предметных областей на языке OWL. Синтаксис основных конструкций языка OWL. Семантика основных конструкций. Приемы описания предметных областей. Классы объектов языка OWL. Проектирование семантического интерфейса. Описание семантических связей средствами языка OWL. Установление непротиворечивости описания предметной области средствами языка OWL. Корректировка семантического описания предметной области. Реализация логического вывода в описании предметной области. Разработка семантического интерфейса для семантического описания предметной области. Практические занятия. Простые описания предметных областей средствами языка OWL. Разработка семантики с использованием основных конструкций. Разработка приемов семантического описания предметных областей. Использование классов объектов языка OWL. Разработка и отладка семантического интерфейса. Использование семантического интерфейса для извлечения знаний из предметной области. Реализация семантических связей средствами языка OWL в семантическом диалоге с предметной областью. Достижение непротиворечивости описания предметной области средствами языка OWL. Отладка семантического описания предметной области. Программная реализация логического вывода при описании предметной области. Реализация полного семантического интерфейса для семантического описания предметной области.
Тема 03. Разновидности и принципы построения семантического интерфейса. Характерные особенности семантического интерфейса. Практические занятия. Реализация семантического интерфейса в ПО «автоматический документооборот». Реализация семантического интерфейса в ПО «Финансовая деятельность предприятия». Реализация семантического интерфейса в ПО «Социальное предприятие»
Библиографический список
1.       Попов С.В., Логическое моделирование – М.: Тровант, 2006. – 256 С.
2.       http://www.w3.org/TR/2004/REC-owl-features-20040210/
2019