Семантическая сеть
Семанти́ческая сеть — информационная модель предметной области, имеет вид ориентированного графа. Вершины графа соответствуют объектам предметной области, а дуги (рёбра) задают отношения между ними. Объектами могут быть: понятия, события, свойства, процессы[1]. Таким образом, семантическая сеть — это один из способов представления знаний.
В названии соединены термины из двух наук: семантика в языкознании изучает смысл единиц языка, а сеть в математике представляет собой разновидность графа — набора вершин, соединённых дугами (рёбрами), которым присвоено некоторое число. В семантической сети роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений.
Неправильно приравнивать друг другу понятия «Семантическая сеть» (англ. Semantic Network) и «Семантическая паутина» (англ. Semantic Web). Хотя эти понятия не эквивалентны, тем не менее, они связаны (см. ниже).
История
Идея систематизации на основе каких-либо семантических отношений предлагалась ещё учёными ранней науки. Примером этого может служить биологическая классификация Карла Линнея 1735 г. Если рассматривать её как семантическую сеть, то в данной классификации используется отношение подмножества, современное AKO (от англ. «A Kind Of», «разновидность»).
Прародителями современных семантических сетей можно считать экзистенциальные графы, предложенные Чарльзом Пирсом в 1909 г. Они использовались для представления логических высказываний в виде особых диаграмм. Пирс назвал этот способ «логикой будущего».
Важным направлением в исследовании сетей стали работы немецкого психолога Отто Зельца 1913 и 1922 гг. В них для организации структур понятий и ассоциаций, а также изучения методов наследования свойств он использовал графы и семантические отношения. Исследователи М. Андерсон (1973), Д. Норман (1975) и другие использовали эти работы для моделирования человеческой памяти и интеллектуальных свойств.
Компьютерные семантические сети были детально разработаны Ричардом Риченсом (англ.) в 1956 году в рамках проекта Кембриджского центра изучения языка по машинному переводу. Процесс машинного перевода подразделяется на 2 части: перевод исходного текста в промежуточную форму представления, а затем эта промежуточная форма транслируется на нужный язык. Такой промежуточной формой как раз и были семантические сети. В 1961 г. появилась работа Мастерман (англ.), в которой она, в частности, определяла базовый словарь для 15000 понятий. Эти исследования были продолжены Робертом Симмонсом (1966), Й. Уилксом (1972) и другими учёными.
Труды по семантическим сетям часто ссылаются на работу американского психолога Росса Квиллиана (Quillian) о «семантической памяти»[2].
Структура
Математика позволяет описать большинство явлений в окружающем мире в виде логических высказываний. Семантические сети возникли как попытка визуализации математических формул. Основным представлением для семантической сети является граф. Однако не стоит забывать, что за графическим изображением непременно стоит строгая математическая запись и что обе эти формы отображают одно и то же.
Графическое представление
Основной формой представления семантической сети является граф. Понятия семантической сети записываются в овалах или прямоугольниках и соединяются стрелками с подписями — дугами (см. рис.). Это наиболее удобно воспринимаемая человеком форма. [источник не указан 4723 дня] Её недостатки проявляются, когда мы начинаем строить более сложные сети или пытаемся учесть особенности естественного языка. Схемы семантических сетей, на которых указаны направления навигационных отношений, называют картами знаний, а их совокупность, позволяющая охватить большие участки семантической сети, атласом знания.
Математическая запись
В математике граф представляется множеством вершин V и множеством отношений между ними E. Используя аппарат математической логики, приходим к выводу, что каждая вершина соответствует элементу предметного множества, а дуга — предикату.
Лингвистическая запись
В лингвистике отношения фиксируются в словарях и в тезаурусах. В словарях в определениях через род и видовое отличие родовое понятие занимает определённое место. В тезаурусах в статье каждого термина могут быть указаны все возможные его связи с другими родственными по теме терминами. От таких тезаурусов необходимо отличать тезаурусы информационно-поисковые с перечнями ключевых слов в статьях, которые предназначены для работы дескрипторных поисковых систем.
Классификация семантических сетей
Для всех семантических сетей справедливо разделение по арности и количеству типов отношений.
- По количеству типов отношений, сети могут быть однородными и неоднородными.
- Однородные сети обладают только одним типом отношений (стрелок), например, таковой является вышеупомянутая классификация биологических видов (с единственным отношением AKO).
- В неоднородных сетях количество типов отношений больше одного. Классические иллюстрации данной модели представления знаний представляют именно такие сети. Неоднородные сети представляют больший интерес для практических целей, но и большую сложность для исследования. Неоднородные сети можно представлять как переплетение древовидных многослойных структур. Примером такой сети может быть Семантическая сеть Википедии.
- По арности:
- типичными являются сети с бинарными отношениями (связывающими ровно два понятия). Бинарные отношения очень просты и удобно изображаются на графе в виде стрелки между двух концептов. Кроме того, они играют исключительную роль в математике.
- На практике, однако, могут понадобиться отношения, связывающие более двух объектов — N-арные. При этом возникает сложность — как изобразить подобную связь на графе, чтобы не запутаться. Концептуальные графы (см. ниже) снимают это затруднение, представляя каждое отношение в виде отдельного узла.
- По размеру:
- Для решения конкретных задач, например, тех, которые решают системы искусственного интеллекта.
- Семантическая сеть отраслевого масштаба должна служить базой для создания конкретных систем, не претендуя на всеобщее значение.
- Глобальная семантическая сеть. Теоретически такая сеть должна существовать, поскольку всё в мире взаимосвязано. Возможно, когда-нибудь такой сетью станет Всемирная паутина.
Помимо концептуальных графов существуют и другие модификации семантических сетей, это является ещё одной основой для классификации (по реализации). См. более подробно в соответствующем разделе ниже.
Семантические отношения
Количество типов отношений в семантической сети определяется её создателем, исходя из конкретных целей. В реальном мире их число стремится к бесконечности. Каждое отношение является, по сути, предикатом, простым или составным. Скорость работы с базой знаний зависит от того, насколько эффективно реализованы программы обработки нужных отношений.
Иерархические
Наиболее часто возникает потребность в описании отношений между элементами, множествами и частями объектов. Отношение между объектом и множеством, обозначающим, что объект принадлежит этому множеству, называется отношением классификации (ISA). Говорят, что множество (класс) классифицирует свои экземпляры.[3] (пример: «Шарик является собакой» = Шарик является объектом типа собака). Иногда это отношение именуют также MemberOf, InstanceOf или подобным образом. Связь ISA предполагает, что свойства объекта наследуются от множества. Обратное к ISA отношение используется для обозначения примеров, поэтому так и называется — «Example», или по-русски «Пример». Иерархические отношения образуют древовидную структуру.
- Отношение между надмножеством и подмножеством (называется AKO — «A Kind Of», «разновидность»). (Пример: «собака является животным» = тип с именем собака является подтипом типа животные). Элемент подмножества называется гипонимом (собака), а надмножества — гиперонимом (животное), а само отношение называется отношением гипонимии. Альтернативные названия — «SubsetOf» и «Подмножество». Это отношение определяет, что каждый элемент первого множества входит и во второе (выполняется ISA для каждого элемента), а также логическую связь между самими подмножествами: что первое не больше второго и свойства первого множества наследуются от второго. Отношение АКО (Род-Вид) часто используется для навигации в информационном пространстве.
- Объект, как правило, состоит из нескольких частей, или элементов. Например, компьютер состоит из системного блока, монитора, клавиатуры, мыши и т. д. Важным отношением является HasPart, описывающее связь частей и целого — отношение меронимии. В этом случае свойства первого множества не наследуются вторым. Мероним и холоним — противоположные понятия:
- Мероним — объект, являющийся частью для другого. (Двигатель — мероним автомобиля.)
- Холоним — объект, который включает в себя другое. (Например, у дома есть крыша. Дом — холоним крыши. Компьютер — холоним монитора.)
Часто в семантических сетях требуется определить отношения синонимии и антонимии. Эти связи либо дублируются явно в самой сети, либо определяются алгоритмической составляющей.
Вспомогательные
В семантических сетях часто используются также следующие отношения[источник не указан 1678 дней]:
- функциональные связи (определяемые обычно глаголами «производит», «влияет»…);
- количественные (больше, меньше, равно…);
- пространственные (далеко от, близко от, за, под, над…);
- временные (раньше, позже, в течение…);
- атрибутивные (иметь свойство, иметь значение);
- логические (И, ИЛИ, НЕ);
- лингвистические.
Этот список может сколь угодно продолжаться: в реальном мире количество отношений огромно. Например, между понятиями может использоваться отношение «совершенно разные вещи» или подобное: Не_имеют_отношения_друг_к_другу(Солнце, Кухонный_чайник)
.
Особенности использования некоторых типов отношений
В семантической сети в качестве понятий могут быть как экземпляры объектов, так и их множества. Использование одних и тех же отношений и для элементов, и для коллекций может привести к недоразумениям. Подобные ошибки в работе некоторых первых систем были описаны в статье Дрю Макдермотта[англ.] «Искусственный интеллект сталкивается с естественной глупостью».
Рассмотрим пример — четыре предложения:
- У Павла есть отец по имени Алексей.
- Для Павла найдётся отец из множества мужчин.
- Найдется человек, для которого Алексей — отец.
- У каждого человека есть отец из множества мужчин.
Для человека ясен смысл этих фраз и многие не задумываясь поставили бы во всех четырёх случаях отношение есть отец. Однако это является ошибкой: в первом случае, действительно, описывается отношение между двумя экземплярами, но во втором и третьем — между экземпляром и множеством, а в четвёртом — отношение между представителями из двух множеств. В математической записи это выглядит так, соответственно для предложений 1—4:
I. ∃ павел & ∃ алексей : отец(алексей, павел); IIа. ∃ павел → ∃ x ∈ мужчины : отец(x, павел); IIб. ∃ алексей → ∃ y ∈ люди : отец(алексей, y); III. ∀ y ∈ люди → ∃ x ∈ мужчины : отец(x, y);
Мы видим, что случаи IIа и IIб различаются только порядком следования переменных в предикате, однако для правильности сети это может сыграть важную роль. В примере перечислены лишь 4 рода отношений, всего же для бинарной сети их существует девять. Они различаются кванторами ∃ и ∀, а также порядком переменных.
Графически для отличия всех этих случаев применяют специальные форму пометок отношений на графе: например, отношения первого рода оставляют без изменений, второго — обводят прямоугольной рамкой из точек, третьего — тире, а четвёртого — тире-точка. Либо можно просто написать рядом индекс типа отношения.
Наиболее часто встречающаяся путаница возникает насчёт отношения ISA. Поэтому во многих современных работах принимается, что ISA обозначает связь между экземпляром и множеством (вышеописанный случай IIб): Мурка ISA кошка. Одиночная рамка при этом не используется. Если требуется определить отношение эквивалентности (случай I), для этого может вводиться специальное отношение (хотя для семантической сети нужда в нём небольшая). ISA можно использовать для обозначения вхождения элементов одного множества в другое (случай III), однако так делать не рекомендуется. Для обозначения подмножеств применяется ещё одно специальное отношение — AKO. Различие между «ISA в рамке» и AKO заключается в том, что последнее отвечает ещё и за наследование свойств самих множеств, а не только элементов.
Использование семантических сетей
Семантизация
Семантизация — процесс изменения текстов, в которых выделяются семантические отношения без изменения их содержания. В Википедии существуют проекты по семантизации статей и Дерева категорий.
- Семантизация статей производится, в основном, путём использования шаблонов, при этом некоторые категории создаются автоматически.
- Семантизация Дерева категорий заключается в соблюдении транзитивности, создании метакатегорий и организации структуры подкатегорий, используя значимые критерии.
Семантическая паутина
Концепция организации гипертекста напоминает однородную бинарную семантическую сеть, однако здесь есть существенное отличие:
- Связь, осуществляемая гиперссылкой, не имеет семантики, то есть не описывает смысла этой связи. Назначение семантической сети состоит в том, чтобы описать взаимосвязи объектов, а не дополнительную информацию по предметной области. Человек может разобраться, зачем нужна та или иная гиперссылка, но компьютеру эта связь не понятна.
- Страницы, связываемые гиперссылками, являются документами, описывающими, как правило, проблемную ситуацию в целом. В семантической сети вершины (то, что связывают отношения) представляют собой понятия или объекты реального мира.
Попытка создания семантической сети на основе Всемирной паутины получила название семантической паутины. Эта концепция подразумевает использование языка RDF (языка разметки на основе XML) и призвана придать ссылкам некий смысл, понятный компьютерным системам. Это позволит превратить Интернет в распределённую базу знаний глобального масштаба.
Программное обеспечение
См. также
- Тезаурус
- Онтология (информатика)
- Объектно-ориентированное программирование
- Класс (теория множеств)
- Диаграмма связей
Примечания
- ↑ Roussopoulos N.D. A semantic network model of data bases. — TR No 104, Department of Computer Science, University of Toronto, 1976.
- ↑ Quillian, M. R. (1968). Semantic memory. Semantic information processing, 227—270.
- ↑ Основные понятия . Дата обращения: 15 апреля 2007. Архивировано 25 января 2007 года.