Семантическая сеть¶
Семантическая сеть — это форма представления знаний в виде ориентированного графа, вершины которого соответствуют понятиям (сущностям, объектам, событиям), а дуги — отношениям между ними. Семантические сети относятся к классу моделей знаний, основанных на логике первого порядка, и широко применяются в системах искусственного интеллекта, обработке естественного языка и инженерии знаний.
¶Основные понятия и структура
Семантическая сеть состоит из двух базовых элементов: узлов и связей. Узлы обозначают конкретные объекты, абстрактные понятия, классы, свойства или ситуации. Связи (дуги) выражают семантические отношения между узлами. Типичные отношения включают:
- «является» (is-a) — отношение классификации (например, «собака — млекопитающее»);
- «имеет часть» (part-of) — отношение меронимии (например, «двигатель — часть автомобиля»);
- «принадлежит» (has-property) — атрибутивное отношение (например, «снег — белый»);
- «действует» (agent) — отношение субъекта действия (например, «Пётр — читает книгу»);
- «связан с» (related-to) — общее ассоциативное отношение.
Граф может быть как направленным, так и ненаправленным, в зависимости от типа отношений. Для формализации часто используются метки на дугах, указывающие на конкретный тип связи.
¶История
Идея семантических сетей восходит к работам по психологии и лингвистике середины XX века. В 1956 году американский психолог Чарльз Осгуд предложил модель «семантического пространства» для описания значений слов. Однако первая формальная модель семантической сети была разработана в 1960-х годах в рамках проекта по машинному переводу и искусственному интеллекту.
В 1968 году американский исследователь Росс Куиллиан опубликовал работу «Semantic Memory», в которой описал сетевую модель памяти для представления знаний о значениях слов. Его модель стала основой для многих последующих разработок, включая системы понимания естественного языка.
В 1970-х годах семантические сети активно развивались в рамках проектов SHRDLU (Терри Виноград) и NETL (Скотт Фалман). В 1980-х годах концепция была интегрирована в фреймовые модели и продукционные системы, а в 1990-х — в онтологии и Semantic Web.
¶Классификация семантических сетей
Семантические сети классифицируются по нескольким признакам:
¶По типу отношений
- Таксономические сети — основаны на отношениях «является» и «имеет часть», используются для построения иерархий и классификаций.
- Сети с атрибутивными отношениями — включают связи, описывающие свойства объектов.
- Сети с событийными отношениями — моделируют действия, процессы и временные последовательности (например, сети сценариев).
¶По способу представления
- Бинарные сети — отношения между двумя узлами.
- Тернарные и n-арные сети — отношения, связывающие три и более узла (например, «Пётр дал книгу Марии»).
¶По степени формализации
- Неформальные сети — используются для визуализации знаний без строгой логической основы.
- Формальные сети — базируются на логике предикатов или дескрипционной логике, допускают автоматический вывод.
¶Применение
¶В системах искусственного интеллекта
Семантические сети применяются в экспертных системах для представления знаний о предметной области. Например, в медицинских диагностических системах сеть может описывать симптомы, заболевания и их взаимосвязи.
¶В обработке естественного языка
Семантические сети используются для разрешения лексической многозначности, извлечения информации и построения семантических ролей. Системы на основе семантических сетей способны анализировать смысл предложений, выделяя субъекты, объекты и действия.
¶В Semantic Web
Семантическая сеть является основой концепции Semantic Web (Семантическая паутина), предложенной Тимом Бернерсом-Ли в 1990-х годах. В рамках этой концепции данные в интернете структурируются с помощью онтологий и стандартов RDF (Resource Description Framework) и OWL (Web Ontology Language). RDF-триплеты (субъект — предикат — объект) представляют собой простейшую форму семантической сети.
¶В когнитивной психологии
Семантические сети используются как модель организации долговременной памяти человека. Согласно теории Р. Куиллиана, знания хранятся в виде сети понятий, связанных ассоциативными и иерархическими отношениями. Эта модель объясняет эффекты семантической прайминг-активации.
¶Примеры
¶Простая семантическая сеть
Рассмотрим сеть, описывающую понятие «собака»:
- Узел «собака» связан отношением «является» с узлом «млекопитающее».
- Узел «собака» связан отношением «имеет свойство» с узлом «лает».
- Узел «собака» связан отношением «имеет часть» с узлом «хвост».
- Узел «Бобик» связан отношением «является экземпляром» с узлом «собака».
¶Сеть в системе SHRDLU
Система SHRDLU, разработанная Терри Виноградом в 1970-х годах, моделировала мир блоков на столе. Семантическая сеть описывала объекты (кубы, пирамиды), их свойства (цвет, размер) и пространственные отношения (на, под, слева). Пользователь мог задавать вопросы на естественном языке, а система, используя сеть, выводила ответы.
¶Преимущества и недостатки
¶Преимущества
- Наглядность — графовая структура легко воспринимается человеком.
- Гибкость — возможность добавления новых узлов и отношений без перестройки всей модели.
- Поддержка наследования — в таксономических сетях свойства родительских узлов автоматически передаются дочерним.
¶Недостатки
- Проблема полноты — для сложных предметных областей сеть может стать чрезвычайно большой и труднообозримой.
- Отсутствие единого стандарта — разные системы используют различные наборы отношений, что затрудняет обмен знаниями.
- Сложность вывода — в неформальных сетях автоматический логический вывод затруднён, требуется дополнительная формализация.
¶Связь с другими моделями знаний
Семантические сети тесно связаны с фреймовыми моделями (фреймы можно рассматривать как узлы сети с атрибутами-слотами) и продукционными системами (правила «если-то» могут интерпретироваться как отношения между узлами). В современной инженерии знаний семантические сети часто комбинируются с онтологиями, которые задают формальную спецификацию понятий и отношений.
¶Интересные факты
- В 1980-х годах Скотт Фалман разработал модель NETL, которая использовала параллельную обработку на семантической сети для быстрого вывода. Эта модель предвосхитила идеи нейронных сетей.
- В СССР семантические сети активно исследовались в рамках кибернетики. В 1970-х годах в Институте проблем управления АН СССР была разработана система «Семантик», предназначенная для представления знаний в технических системах.
- Современные поисковые системы, такие как Google, используют семантические сети для улучшения понимания запросов и предоставления структурированных ответов (например, в виде «знаний» в панели знаний).
¶Источники
- Quillian M. R. Semantic Memory. — In: Minsky M. (ed.) Semantic Information Processing. — MIT Press, 1968.
- Sowa J. F. Conceptual Structures: Information Processing in Mind and Machine. — Addison-Wesley, 1984.
- Russell S., Norvig P. Artificial Intelligence: A Modern Approach. — 4th ed. — Pearson, 2020.
- Berners-Lee T., Hendler J., Lassila O. The Semantic Web // Scientific American. — 2001. — Vol. 284, No. 5. — P. 34–43.
- Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000.