Модель семантические сети. Понятие системы как семантической модели

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

Прежде чем мы коротко рассмотрим особенности распространенных семантических моделей, остановимся на их возможных применениях.

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

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

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

Семантическая модель Entity-Relationship (Сущность-Связь)

Одной из наиболее популярных семантических моделей данных является модель "Сущность-Связь" (часто ее называют кратко ER-моделью).

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

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

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

Группа всех подобных объектов образует набор объектов. Так, наборами объектов могут быть все люди, все автомобили, все животные, все эмоции.

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

Атрибуты и ключи

Объекты обладают свойствами, называемыми атрибутами, которые ассоциируют некоторое значение из домена значений данного атрибута с каждым объектом в наборе объектов. Обычно домен атрибута является множеством целых чисел, действительных чисел или строк литер, но мы не исключаем и другие типы значений. Например, можно сказать, что объекты в наборе объектов «люди» имеют такие атрибуты, как имя (строка литер), рост (действительное число) и т. д.

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

Возможны случаи, когда объекты в наборе различаются не по атрибутам, а по их связи с объектами другого типа. Наиболее важным видом «встроенных» связей (связи, определенные пользователем, будут описаны позднее) является связь “есть”. Мы говоримAесть В и записываем «AестьB», если набор объектов В является обобщением набора объектовA, или, что равносильно,Aесть специальный вид В.

Рассмотрим базу данных автомобилей с набором объектов МАРКИ, имеющим атрибуты ТИП и МОДЕЛЬ. Объектом в наборе МАРКИ является, например, «Datsun-280».Мы могли бы рассмотреть и набор объектов АВТОМОБИЛИ с атрибутом СЕРИЙНЫЙ-НОМЕР, который можно было бы считать ключом этого набора. Однако вполне вероятно, что два типа автомобилей используют одни и те же серийные номера. Чтобы сделать объекты в наборе АВТОМОБИЛИ уникальными, нам потребуется связь между наборами АВТОМОБИЛИ и МАРКИ, представляющая тот факт, что любой автомобиль имеет конкретную марку. Тогда каждый экземпляр из набора объектов АВТОМОБИЛИ будет однозначно определяться по его СЕРИЙНОМУ-НОМЕРУ и атрибуту ТИП связанного с ним объекта из набора МАРКИ.

Связь между наборами объектов представляет собой просто упорядоченный список наборов объектов. Конкретный набор объектов может появляться в этом списке более одного раза. Если имеется связь RELмежду наборами объектов Е 1 , Е 2 , ..., E k ,то предполагается, что существует множество кортежей размерности k,имя которого REL.Такое множество мы называем набором связей. Каждый кортеж (е 1 , е 2 , ...,е k) в множествеRELподразумевает, что объекты е 1 , е 2 , ...,е k , где е i принадлежит набору E i , находятся в связи RELдруг с другом как группа. Наиболее общим, несомненно, является случай, когда k=2, но иногда списки состоят из трех или более наборов объектов.

Допустим, мы имеем набор объектов ЛЮДИ и связь ЯВЛЯЕТСЯ- МАТЕРЬЮ, список наборов объектов которой есть ЛЮДИ, ЛЮДИ. Мы предполагаем, что набор связей ЯВЛЯЕТСЯ-МАТЕРЬЮ включает все пары (p i ,р j), такие, что человек р i является матерью человека p j .

Для моделирования предметных областей широкое распространение получили реляционные СУБД. Их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточно универсальна. Однако проектирование реляционной БД в терминах отношений часто представляет собой очень сложный и неудобный для проектировщика процесс.

При этом ограниченность реляционной модели данных проявляется в следующих аспектах:

· Модель не обеспечивает достаточных средств представления смыслового содержания данных. Семантика реальной предметной области должна независимым от модели способом отображаться в сознание проектировщика. В частности, это относится к проблеме представления ограничений целостности;

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

Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не обеспечивает каких-либо средств для представления этих зависимостей.

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

Потребности проектировщиков БД в более удобных и мощных средствах моделирования предметной области реализуются при использовании

= семантических моделей данных =

Любая развитая семантическая модель данных, как и реляционная модель, включает структурную , манипуляционную и целостную части.

Главным назначением семантических моделей является обеспечение возможности выражения семантики данных.

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

Менее часто реализуется автоматизированная компиляция концептуальной схемы в реляционную модель.

Известны два подхода:

· на основе явного представления концептуальной схемы как исходной информации для компилятора;



· построение интегрированных систем проектирования с автоматизированным созданием концептуальной схемы на основе интервью с экспертами предметной области.

Третья возможность , которая пока только выходит за пределы исследовательских и экспериментальных проектов, – это работа с БД в семантической модели, то есть СУБД, основанные на семантических моделях данных.

При этом снова рассматриваются два варианта:

· обеспечение пользовательского интерфейса на основе семантической модели данных с автоматическим отображением конструкций в реляционную модель данных (это задача примерно такого же уровня сложности, как автоматическая компиляция концептуальной схемы БД в реляционную схему);

· прямая реализация СУБД, основанная на какой-либо семантической модели данных.

Наиболее близко ко второму подходу находятся современные объектно-ориентированные СУБД, модели данных которых по многим параметрам близки к семантическим моделям (хотя в некоторых аспектах они более мощны, а в некоторых – более слабы).

Основные понятия модели «Entity - Relationship».

Семантическая модель данных Entity - Relationship – модель "Сущность - Связи " (ER-модель).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию БД (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов.

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

Основными понятиями ER-модели являются:



«сущность – связь – атрибут».

Сущность – это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности – это имя типа, а не некоторого конкретного экземпляра этого типа. Сущность «АЭРОПОРТ», с примерными объектами «Шереметьево» и «Хитроу», приведена на рис. 2.24.

Рис. 2.24. Сущность – АЭРОПОРТ с примерными объектами: Шереметьево и Хитроу

Для большей выразительности и лучшего понимания имя сущности может сопровождаться примерами конкретных объектов этого типа.

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

Связь – это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ею же самой (рекурсивная связь ).

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

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

Обязательный конец связи изображается сплошной , а необязательный прерывистой линией.

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

В примере, изображенном на рис. 2.25, связь между сущностями БИЛЕТ и ПАССАЖИР связывает билеты и пассажиров. При этом конец сущности с именем "для" позволяет связывать с одним пассажиром более одного билета, причем каждый билет должен быть связан с каким-либо пассажиром. Конец сущности с именем "имеет" означает, что каждый билет может принадлежать только одному пассажиру, причем пассажир не обязан иметь хотя бы один билет.

Рис. 2.26. Рекурсивная связь, связывающая сущность ЧЕЛОВЕК

Конец связи с именем "сын" определяет тот факт, что у одного отца может быть более чем один сын. Конец связи с именем "отец" означает, что не у каждого человека могут быть сыновья.

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


Нормальные формы ER-схем.

Как и в реляционных схемах БД, в ER-схемах вводится понятие нормальных форм. Заметим, что формулировки нормальных форм ER-схем делают более понятным смысл нормализации реляционных схем.

Приведем краткие и неформальные определения трёх первых нормальных форм:

· устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, "замаскированных" под атрибуты;

· устраняются атрибуты, зависящие только от части уникального идентификатора, эта часть уникального идентификатора определяет отдельную сущность.

· устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.

К числу более сложных элементов модели относятся следующие:

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

· Связи "many-to-many". Иногда бывает необходимо связывать сущности таким образом, что с обоих концов связи могут присутствовать несколько экземпляров сущности (наприме, все члены кооператива сообща владеют имуществом кооператива ). Для этого вводится разновидность связи "многие – со –

многими".

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

· Каскадные удаления экземпляров сущностей. Некоторые связи бывают настолько сильными (в случае связи "один – ко – многим"), что при удалении опорного экземпляра сущности (соответствующего концу связи "один") нужно удалить и все экземпляры сущности, соответствующие концу связи "многие". Соответствующее требование "каскадного удаления" можно сформулировать при определении сущности.

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


Эти и другие более сложные элементы модели данных "Сущность – Связи" делают ее существенно более мощной, но одновременно несколько усложняют ее использование. При реальном использовании ER-диаграмм для проектирования БД необходимо ознакомиться со всеми возможностями.

Разберем один из упомянутых элементов – подтип сущности .

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

Сущность , на основе которой определяются подтипы, называется супертипом. Подтипы должны образовывать полное множество, т. е. любой экземпляр супертипа должен относиться к некоторому подтипу. Иногда для полноты приходится определять дополнительный подтип ПРОЧИЕ .

Пример – супертип ЛЕТАТЕЛЬНЫЙ АППАРАТ – приведён на рис. 2.27.

Иногда удобно иметь два или более разных разбиения сущности на подтипы.

Например, сущность ЧЕЛОВЕК может быть разбита на подтипы по профессиональному признаку (ПРОГРАММИСТ, ДОЯРКА и т. д.), а может –

по половому признаку (МУЖЧИНА, ЖЕНЩИНА).

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

Идея систематизации на основе каких-либо семантических отношений предлагалась ещё учёными ранней науки. Примером этого может служить биологическая классификация Карла Линнея 1735 г. Если рассматривать её как семантическую сеть, то в данной классификации используется отношение подмножества, современное AKO.

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

Важным начинанием в исследовании сетей оказали работы немецкого психолога Отто Зельца 1913 и 1922 гг. В них для организации структур понятий и ассоциаций, а также изучения методов наследования свойств он использовал графы и семантические отношения. Исследователи Дж. Андерсон (1973), Д. Норман (1975) и другие использовали эти работы для моделирования человеческой памяти и интеллектуальных свойств.

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

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

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

Классификация семантических сетей:

Для всех семантических сетей справедливо разделение по арности и количеству типов отношений.

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

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

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

§ 500. Проблема определения структурно-семантических моделей.

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

Начало разработки актантно-ролевого представления ситуации связано с именем Л. Теньера . Как отмечалось в § 368 , Теньер различал три вида актантов: первый, второй и третий (prime, second, tiers actant), которым он дал, однако, противоречивую трактовку. С одной стороны, он их рассматривал как семантические сущности (1-й актант совершает действие, 2-й претеPIIевает его, 3-й – актант, в чью пользу или в ущерб которому осуществляется действие): Alfred (1) donne le livre (2) à Charles (3). С другой, он при их выделении исходил из синтаксических форм, так что 1-й актант отождествляется с подлежащим, 2-й с прямым дополнением, 3-й – с косвенным. Во фазе Alfred a été frappé par Charles слово Charles рассматривается как «второй актант пассива», поскольку оно вводится предлогом, хотя указывает на реального деятеля.

Греймас сделал важный щаг в развитии семантического синтаксиса. Он провел различие между семантическими актантами, которые выделяются в описываемой ситуации, и синтаксическими (см. пример с Адамом, Евой и яблоком в § 368 ). Он расширил число актантов, представив их в виде оппозиции трех пар: субъект/объект, отправитель/адресат, помощник/противодействователь. Заслугой Греймаса является также попытка связать семантические актанты с фактами литературы. Дело в том, что именно литература (от фольклора и анекдотов до больших романов) описывает все те ситуации, в которых может оказаться человек и окружающий его мир. Структурный анализ русских сказок советского исследователя В. Проппа и драматических произведений французского литературоведа Сурьо показал, что в произведениях различного содержания выделяются постоянные типичные функции: герой (субъект), объект, помощник, противодействователь и т. п. Это подтвердило, что в семантических актантах, выделяемых лингвистами, отражаются категории реальных явлений объективного мира.



В дальнейшем исследования пошли по пути уточнения номенклатуры актантов и стремления связать их с типом самого процесса. Если актанты определять как любые субстанции, затрагиваемые процессом, то в их число следует включить не только субъект, объект, адресат, но и орудие, и субстанцию, связанную с другой отношениями принадлежности. К актантам следует также отнести временной и локальный конкретизаторы, поскольку они обозначаются прежде всего существительными (à la maison, l"année passée); их наречные обозначения (ici, alors) представляют дейктические замены. Этим актантам соответствуют семь субстантивных ЧПр в структуре предложения: подлежащее, прямое и косвенное дополнение, дополнение орудия, дополнение к имени, обстоятельства места и времени.

Несколько позже стала развиваться грамматика «падежей», в которой термин «актант» уступил место термину «падеж», обозначающему приглагольный член в определенной роли. В этой грамматике функциональные роли (падежи) стали увязываться с характером самого процесса. Филлмор выделил шесть падежей: агентивный (одушевленный инициатор процесса), орудийный, объектный, локативный, дативный, контрагентивный (агенс при пассивном глаголе). Во фразе Pierre ouvre la porte подлежащее выражает агентивный «падеж», в La clé ouvre la porte – орудийный.

Чейф более тесно связал тип падежа с типом процесса, выделив шесть типов процесса: состояние, собственно процесс, действие, процесс-действие, состояние и изменение окружающей среды, и семь падежей: агент (Pierre a cassé une assiette), патиент (Pierre dort), экспериенцер (Pierre veut boire), бенефициант (Pierre a une voiture), инструмент, местоположение, дополнение (Marie chante une chanson). Мы видим разграничение субъекта на ряд сущностей в зависимости от типа процесса (агент при активном действии, патиент при состоянии, экспериенцер при отношении, испытании чего-л.).



Потье различает два типа процессов, которые он называет voix: атрибутивный (сообщение о признаках предмета): Le chat dort, le chat est noir, le chat est un animal и активный (сообщение о воздействии одного предмета на другой): Marie coupe la tarte. Центром высказывания является глагол, вокруг которого организуются три зоны актантов (падежей):

Зона I включает основные падежи(то есть функции): номинатив (субъект атрибутивного отношения): La lune est ronde, эргатив (субъект активного действия): La lune éclaire la campagne, аккузатив (дополнение). Зона II a охватывает падежи, обозначающие источник события: каузатив (причина), инструменталь (орудие), агентив (дополнение пассивного глагола); зона III–падежи, обозначающие элементы, следующие за основным отношением: датив (à Jean), бенефактив (pour Jean), финаль (цель). Зона III объединяет сирконстанты – пространственные, временные и качественные характеристики.

Положительной стороной рассматриваемых теорий является стремление разграничить синтаксическую и семантическую структуру предложения, что необходимо ввиду асимметрии формы и содержания в синтаксисе (§ 360 ). Тот факт, что количество и номенклатура функций (актантов, падежей) не совпадают, свидетельствует об объективной сложности: в реальном мире, как и в языке, нет четких разграничительных линий.

Рижель и другие , различая синтаксические отношения и «глубинные падежи» («семантические роли»), определяют для французского языка 9 «ролей», оговариваясь, однако, что в зависимости от разных факторов и подходов номенклатура их может оказаться различной. Эти падежи следующие: 1) агенс (agent, acteur)– инициатор и «контролер» процесса: L"enfant caresse le chien; 2) объект (пациенс, patient) – субстанция, на которую непосредственно воздействует процесс: Le chien a mordu l"enfant; 3) бенефициент (датив, bénéficiaire) – одушевленное существо, затрагиваемое процессом: Le tribunal a retire son permis de conduire au chauffard; //// a reçu la Légion d"honneur; 4) средоточие (siège) физического или психического состояния: Les vitres tremblent; Jean est content; 5) орудие (instrument) – Pierre ouvre la porte avec cette clef; // Cette clef ouvre la porte; 6) локатив – пространственный конкретизатор: Les clef sont dans le tiroir; // Le tiroir contenait des clés; 7) цель (but) – сущность,к которой направлено действие: Pierre lance la balle à Jean; // Le tireur a raté le cible; 8) результат (résultatif) – следствие процесса: Jean a écrit plusieurs romans; 9) источник (source), от которого происходит или отдаляется другая сущность: Vénus son de l"onde; // Il s"est séparé de sa femme.

Выделение типов предикатов.

Классификация предикатов (типов процессов) также исключительно сложна, ибо одни типы постепенно переходят в другие. О сложности решения этого вопроса свидетельствует опыт Потье, который вначале выделил пять фундаментальных семантических типов предложения, затем расширил их до 10, потом свел к 6, выделив «залоги»: экзистенциальный: Il y a А; отождествляющий: A est président; ситуативный: A se trouve à В; дескриптивный: A est bien, A rit; посессивный: А а В; субъективный: A voit В. У некоторых типов имеются подтипы, все они имеют три «статуса» – статический: А se trouve à В, динамический: A entre à В, каузативный: С fait entrer A à В, что дает от 18 до 32 базовых типов предложений; но и в этой схеме есть уязвимые места .

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

безобъектный: статический (être) – динамический (aller),

объектный: статический (avoir) – динамический (faire).

Т. В. Булыгина проводит подробный компонентный анализ предикатов (а следовательно, и типов ситуаций), включающий противопоставления: вневременность/эпизодичность; динамичность/нединамичность; длительность/недлительность; перспективность/неперспективность; постепенность/непостепенность; контролируемость/неконтролируемость и др. . Сочетания этих признаков позволяют объективно различить явления, процессы, события, происшествия и т. п. Опыты классификации предикатов (и вместе с тем семантических типов предложений) были предприняты российскими лингвистами на материале разных языков [см. 3, 25 (2), 35, 41, 48 (2)]. Во многом эти классификации (при различии терминологий) совпадают – везде выделяются отмеченные выше четыре основных класса. Но имеются и различия, объясняемые частично спецификой языков. Так, в русском языке как отдельный тип выделяется квантификация субъекта (Волков много или; Их было пять). Во французском этот семантический тип не имеет специфической формы и может рассматриваться как смысловой вариант квалификативного предиката (Ils étaient cinq). При описании конкретного языка важно, выделяя ситуации, учитывать языковые формы.

В объективной действительности можно выделитьпрежде всего следующие фундаментальные типы ситуаций:

1. Ситуация бытия: Les Martiens existent-ils?Отображается бытийным предикатом: exister, être, il y a.

2. Определение предмета, его признаков, качеств: Pierre est étudiant; репрезентируется именным сказуемым.

3. Бессубъектный процесс: Il pleut; оформляется с помощью безличного предложения.

4. Субъектно-безобъектный процесс, сосредоточенный в самом субъекте: Pierre dort. Выражается непереходным глаголом.

5. Субъектно-объектный процесс, проявление субъекта по отношению к другому предмету. Здесьразличаются: а) локализация субъекта: Pierre va à Paris; б) отношение субъекта к объекту: Pierre aime Marie; в) действие субъекта по отношению к объекту: Pierre lit un livre. Эти ситуации описываются с помощью Vt или Vi с обязательным дополнением или обстоятельством.

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

Глава 12

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

В предыдущих главах предполагалось, что в базах данных хранятся сущности, у которых есть имя и атрибуты. Атрибуты имеют тип. В объектных моделях к атрибутам добавляются ещё методы. Появляются объектные типы, а сами сущности (классы) и их члены могут иметь не только предопределённые скалярные типы, но и объектные. Такая вот благостная и вполне привычная для программистского взгляда картина, немного усложненная свойством персистентности.

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

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

Рассмотрим моделирование одних моделей данных в других (эмулирование), выясним достоинства, недостатки и области применения такого подхода, а также связанные с ним изменения семантики данных.

Много внимания будет уделено атрибутам смыслов, реализация которых может существенно расширить объём семантики, хранимой в базе. Мы классифицируем смыслы и опишем их реализации с помощью препроцессоров в обычных СУБД, а также предложим несложные изменения, которые необходимо внести в СУБД, чтобы получить возможность работы со смыслами.

Существуют предметные области, в которых природа данных требует использования в рассуждениях неклассических логик – модальных логик веры, знания и др. В частности, темпоральные данные могут рассматриваться как особая система смыслов, может быть, требующая использования модальных темпоральных логик.

Встраивание дедуктивных систем в обычные СУБД позволяет наряду с табличными и объектными моделями использовать вспомогательные дедуктивные модели, основанные на классической логике и, может быть, модальных логиках.

Как далеко следует заходить в насыщении базы данных семантикой? Всё зависит от того, имеется ли необходимая информация, насколько нужна семантика, что позволит сделать используемая СУБД и имеющиеся в распоряжении дополнительные программные средства, что даёт использования внешних источников семантики, например, онтологий, и от возможностей второго слоя СУБД.

В предыдущих главах значения, хранящиеся в базе, предполагались атомарными. С точки зрения отображаемой модели бизнеса они могли быть сколько угодно сложными, но рамках использованной модели данных работать с их компонентами нельзя. В базах данных давно используются модели, которые мы будем называть двухслойными. Роль первого слоя выполняет любая модель данных, для которой организованы структуры хранения данных. Второй слой работает с данными, которые ему предоставляет первый слой, но данные в нём считаются не атомарными, а известным образом организованными. Практически во всех СУБД во втором слое применяются регулярные выражения и/или различные виды XML данных. Понятно, что второй слой не влияет на структуры хранения данных непосредственно, но может предъявлять свои требования к их организации.

Вторая возможность расширения обычных моделей данных связана с хранением дополнительной семантики данных. Можно учесть особенности использования атрибутов, выделяя их разновидности – сорта. Дальше мы отметим, что сущности с обычными (обязательными) атрибутами определяют замкнутые и статические объекты. Сущности с атрибутами других сортов могут быть открытыми и динамическими.

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

Полезно заимствовать опыт тех областей знания, в которых давно занимаются семантикой. Это лингвистика, исследующаяся естественные языки (ЕЯ), и теория языков программирования.

Прежде всего, отметим несоответствие некоторых терминов в лингвистике и информатике. Лингвисты выделяют два противопоставляемых вида элементов семантики – значения и смыслы. Значение лингвистического знака понимается как нечто стабильное, что можно сначала установить, выяснить, а затем знать. Смысл приходится всё время искать, устанавливать, разгадывать. В информатике термин ”значение” уже занят. Говоря ”переменная имеет значение” подразумеваем не семантику этой переменной, а присваивание ей конкретного экземпляра данных, или означивание, или создание экземпляра переменной, содержащего этот элемент данных. Поэтому элементы семантики мы всегда будем называть смыслами, а ”стабильность” или “контекстность” или “вариативность” смыслов будем задавать через классификацию смыслов или вводя в них дополнительные свойства.

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

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

Вернемся к терминологии баз данных. Существует безосновательная, но устойчивая традиция выделять некоторые модели и базы данных как семантические (и мы тут не без греха). Так модель «сущность-связь» считается семантической моделью, по-видимому, по сравнению с табличными моделями данных. Однако, семантика, обычно ограниченная, есть в любых моделях данных. Поэтому, еще в 1988 году Э. Кодд отметил, что “ярлык “семантическое” не должен интерпретироваться в каком-либо абсолютном смысле”. В тех же табличных базах семантику определяют, в частности, ключи и ограничения целостности. В базах данных с декларативными языками всегда реализуется операционная семантика, представляемая, например, планами исполнения SQL. Так что следует говорить только о большей или меньшей насыщенности моделей и баз данных семантикой.

Как же отделить элементы семантики, хранимые в базе, от обычных данных? По очень простому признаку: элементы семантики, они же смыслы, обладают активностью. Данные всегда пассивны.

Поясним сказанное на простом примере. Пусть, необходимо выбрать все записи из таблицы, например, инструкцией SELECT * FROM emp. Очевидно, СУБД должна сначала проверить существование таблицы emp по словарю и, может быть, установить, имеются ли у действующего пользователя необходимые права на эту таблицу. Если таблица не существует или недоступна, выдать сообщение об ошибке. В противном случае, установить список столбцов emp и только после этого приступить к выборке данных. Как много делается того, что прямо не было указано! Всё это обеспечивает активность, которой обладают метаданные.

Ещё один пример. Пусть мы вставляем строку в таблицу, имеющую первичный ключ. Поскольку ограничение ”первичный ключ” активно, СУБД сначала проверит уникальность вводимого значения ключа, и только если это условие выполнено, сделает то, что ей приказали – введёт запись.

Заметим, что активность смыслов выводит модели данных со смыслами за рамки обычных чисто алгебраических моделей данных.

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