Семантическая модель представления знаний

Автор работы: Пользователь скрыл имя, 25 Мая 2012 в 12:11, реферат

Краткое описание

В настоящее время в исследованиях по искусственному интеллекту (ИИ) выделились шесть основных направлений:
1. Представление знаний.
2. Манипулирование знаниями.
3. Общение.
4. Восприятие.
5. Обучение.
6. Поведение.

Содержание

Введение
1. Историческая справка
2. Семантическая модель представления знаний
3. Графы
4. Классификация семантических сетей.
5. Семантические отношения
6. Иерархические
7. Вспомогательные
8. Использование семантических сетей
9. Семантическая паутина
10. Пример программирования семантических серей
Заключение.
Список использованных источников:

Вложенные файлы: 1 файл

!!!семантические сети - копия.doc

— 135.50 Кб (Скачать файл)

Мероним — объект, являющийся частью для другого. (Двигатель — мероним автомобиля.)

Холоним — объект, который включает в себя другое. (Например, у дома есть крыша. Дом — холоним крыши.

 


7.     Вспомогательные

1.       Функциональные связи (определяемые обычно глаголами «производит», «влияет»…);

2.       Количественные (больше меньше, равно…);

3.       Пространственные (далеко от, близко от, за, под, над…);

4.       Временные (раньше, позже, в течение…);

5.       Атрибутивные (иметь свойство, иметь значение);

6.       Логические (И, ИЛИ, НЕ);

7.       Лингвистические.

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

 

 


8.     Использование семантических сетей

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

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

Семантизация Дерева категорий возможна по частям после его анализа и выделения участков с родовыми категориями.

Семантическая сеть дает возможность охарактеризовать отношения между понятиями. Часто понятия представляются словом или набором слов. Простым примером является иерархическая сеть, где понятия являются таксономическими терминами и единственным отношением явлется type-of (относится к типу) (гипонимные отношения - hyponymous relationship, когда одно понятие включает в себя другие понятия). Более сложные симантические сети включают в себя отношения различных типов такие как твердость, температура, сделано из, текстура и цвет. Одной из самых больших семантических сетей является WordNet, лексическая база данных английского языка.

Семантические сети могут быть записаны практически на любом языке программирования на любой машине. Самые популярные в этом отношении языки LISP и PROLOG. Однако многие версии были созданы и на FORTRANе, PASCALе, C и других языках программирования. Для хранения всех узлов и дуг необходима большая память, хотя первые системы были выполнены в 60-х годах на машинах, которые были гораздо меньше и медленнее современных компьютеров. Один из самых распространенных языков, разработанных для записи естественного языка в виде сетей, - это PLNLP (Programming Language for Natural Language Processing) Язык Программирования для Обработки Естественного Языка, созданный Хайдерном. Этот язык используется для работы с большими грамматиками с обширным покрытием. PLNLP работает с двумя видами правил:

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

2. с помощью правил кодирования сканируется сеть порождается языковая цепочка или другая трансформированная сеть.

Помимо специальных языков для семантических сетей было также разработано специальное аппаратное обеспечение. На обычных компьютерах могут быть успешно выполнены операции с языками синтаксического анализа и операции сканирования сетей. Однако для больших баз знаний нахождение нужных правил или доступ к предзнаниям может потребоваться очень много времени. Чтобы позволить различным процессам поисках проходить одновременно Фальман разработал систему NETL, которая представляет собой семантическую сеть, которая может использоваться с параллельным аппаратным обеспечением. Таким образом он хотел создать модель человеческого мозга, в котором сигналы могут двигаться по различным каналам одновременно. Другие ученые разработали параллельное программное обеспечение для поиска наиболее вероятной интерпретации двусмысленных фраз естественного языка.


9.     Семантическая паутина

Концепция организации гипертекста напоминает однородную бинарную семантическую сеть, однако здесь есть существенное отличие:

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

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

Попытка создания семантической сети на основе Всемирной паутины получила название семантической паутины. Эта концепция подразумевает использование языка RDF (языка разметки на основе XML) и призвана придать ссылкам некий смысл, понятный компьютерным системам. Это позволит превратить Интернет в распределённую базу знаний глобального масштаба.


10.                Пример программирования семантических серей

Одним из языков программирования, на котором создают семантические сети является Пролог. На примере одной из простейших семантических сетей рассмотрим организацию вывода данных.

Пример программы:

PREDICATES

parent(String,String) % родители

man(String) % мужчины

woman(String) % женщины

married(String,String) % семейное положение

plem(String,String) % племянница

mother(String,String) % мать

father(String,String) % отец

grandma(String,String) % бабушка

grandfa(String,String) %дедушка

son(String,String) % сын

brother(String,String) % брат

 

CLAUSES

man("Anton").

man("Maxim").

man("Dima").

man("Vova").

man("Kolja").

man("Sasha").

woman("Olga").

woman("Anna").

parent("Anna","Anton").

parent("Vova","Anton").

parent("Dima","Anna").

parent("Olga","Anna").

parent("Olga","Kolja").

parent("Dima","Kolja").

parent("Olga","Maxim").

parent("Olga","Sasha").

parent("Dima","Maxim").

parent("Dima","Sasha").

married("Vova","Anna").

married("Dima","Olga").

 

mother(X,Y):-woman(X),parent(X,Y). % чья мать

father(X,Y):-man(X),parent(X,Y). % чей отец

son(X,Y):-man(Y),parent(X,Y). % чей сын

grandma(X,Z):-parent(X,Y),parent(Y,Z),woman(X). % бабушка

grandfa(X,F):-parent(X,Y),parent(Y,F),man(X). % чей дедушка

brother(X,Y):-parent(Z,X),parent(Z,Y),man(X),X<>Y. % чей брат

plem(X,F):-parent(Z,F),man(F),parent(P,X),parent(P,Z),Z<>X. % чья племянница

 

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

Таким образом при запросе «father(Dima,Y)» что соответствует правилу «father(X,Y):-man(X),parent(X,Y).», получаем четыре ответа с именами Sasha, Maxim, Kolja, Anna.

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


Заключение.

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

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

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

Недостатком этой модели является сложность организации процедуры поиска вывода на семантической сети.

Для реализации семантических сетей существуют специальные сетевые языки (NET, SIMER+MIR и др.)

 

 


Список использованных источников:

1.       Гаврилова Т.А. Хорошевский В.Ф. «Базы знаний интеллектуальных систем», Санкт-Петербург, «Питер», 2001.- 384с.

2.       Курслекций«ВведениевИИ.».ЧастьI.

3.       Чанышев О.Г «Отпсихофизиологическойпроблемыдоэкспертных систем. Лекция7.Представление знаний в системахИИ.», Омск, «Герольд», 2007.- 15с

4.       Душкин, Р.В. Функциональное программирование на языке Haskell [Текст]. – М. : ДМК Пресс, 2007. – 608с.

5.       Ю. В. Новицкая. Основы логического и функционального программирования: учебное пособие. – Новосибирск.: НГТУ, 2004 г.

 

 

 

 

 

 

 

 

17

 



Информация о работе Семантическая модель представления знаний