- •Конспект по курсу «Информационные интеллектуальные системы»
- •1. Введение
- •3. Общение с иис на естественном языке
- •3.1. Проблема диалогового общения
- •3.2. Ограниченный естественный язык. Синтаксис, семантика, словари
- •3.3. Ограниченный естественный язык. Грамматики
- •3.4. Методы интерпретации естественного языка
- •3.5. Пример лингвистической обработки сообщений
- •Обработка вВод вывод
- •3.6. Пример: диалоговая система управления процессом сборки редуктора.
- •4. Обработка информации в иис
- •4.1. Виды, задачи, источники информации
- •4.2. Уровни обработки данных в иис
- •4.3. Слияние информации и принятие решений
- •4.4. Сегментация и классификация
- •4.5. Проблема распознавания речи
- •4.6. Проблема распознавания лиц
- •4.7. Проблема распознавания трехмерных объектов
- •4. Получение знаний
- •4.1. Извлечение знаний
- •4.2. Автоматическое формирование знаний (Обучение)
- •5.2. Раскопка данных и раскрытие знаний
- •Основные понятия интеллектуального анализа данных
- •Постановка задачи
- •Подготовка данных
- •Просмотр данных
- •Построение моделей
- •Исследование и проверка моделей
- •Развертывание и обновление моделей
- •Алгоритмы интеллектуального анализа данных
- •Алгоритм дерева принятия решений (Microsoft)
- •Упрощенный алгоритм Байеса (Microsoft)
- •Алгоритм кластеризации (Microsoft)
- •Алгоритм нейронной сети (Microsoft)
- •Алгоритм логистической регрессии (Microsoft)
- •Алгоритм временных рядов (Microsoft)
- •Алгоритм кластеризации последовательностей (Microsoft)
- •Алгоритм взаимосвязей (Microsoft)
- •5.3. Пример прогнозирования продаж автомобилей
- •4.1. Раскрытие данных. (Data Mining)
- •6. Получение знаний в иис
- •6.1. Проблема обучения машин
- •6.2. Методы обучения в иис
- •6.3. Экспертное (копирующее) обучение
- •6.4. Обучение с подкреплением
- •6.5. Пример управления роботом-уборщиком
- •Использование знаний в иис
- •7.1. Управление знаниями
- •7.2. Знания в Интернете и поиск
- •7.3. Онтологии и поиск Веб-источников
- •7.4. Раскопка Веб-сайтов
- •8. Многоагентные иис
- •8.1. Системы с интеллектуальными агентами на правилах
- •8.2. Системы с интеллектуальными агентами на логике
- •8.3. Системы с когнитивными агентами
- •9. Когнитивные системы
- •Когнитивный подход в психологии и машинном интеллекте
- •Нейрологические средства управления.
- •Реализация базовых нейрологических модулей
- •Когнитивные нейрологические системы управления и агенты.
- •Список литературы (по главе 9)
3.5. Пример лингвистической обработки сообщений
1) Для всех методов, кроме метода ключевых слов, грамматические правила интерпретируются в БЗ в продукционно-лингвистической форме, описанной ранее для порождающих и, распознающих и преобразующих правил. Словари VT и VH хранятся в БД системы интерпретации ЕЯ. Машина вывода системы реализует лингвистическую модель обработки знаний (рис.) Именно такая система интерпретации использована в известном проекте HEARSAY (Слышу-Говорю).
Интерфейс с пользователем Уравнение
предложений st Уравнение
последоват. Sv Уравнение
слов vb Уравнение
морфем mf Уравнение
сегментов sg
Уравнение
аккуст. Пар-ов sp
Vac
Vst
Vsv
Vvb
Vmf
Vsg
Vp
БПо
st--ac
sv--st
vr--sv
mf--vb
sq--mf
sp--sq
Монитор Планировщик
Обработка вВод вывод
Рис.3.2. Лингвистическая обработка сообщений.
Система интерпретации ЕЯ построена по иерархической многоуровневой структуре.
При многоуровневой обработке информации машина вывода использует некоторую общую рабочую БД (РБД) как "доску объявлений" результатов обработки предыдущего уровня, чтобы использовать их как исходные данные для следующего уровня обработки. Обработка речи идет снизу-вверх. Акустические данные речи вводятся в систему аппаратно, преобразуются в коды и обрабатываются в уровне акустических параметров для их выделения в виде набора (SN). При переходе к следующему уровню через 1-й блок БЗ выбирается правило типа Если (sn) то (sg) .где (sg) является входным набором параметров 2-го уровня: фактически строится гипотеза о типе сегментов (слога) в слове. Последовательная обработка информации на остальных уровнях позволяет строить гипотезы о морфеме (фонеме) (mf), слове (vb), последовательности слов (sv), предложений (sf) и действии (ac). Последняя гипотеза является выходом системы ,определяющее командное действие . перед выдачей команды или пополнением БЗ смыслов в режиме обучения возможна проверка всех гипотез на достоверность системы "сверху-вниз". Все уровни работают асинхронно и управляются монитором, реализующим некоторую последовательность операций, формализуемых планировщиком. БЗ смыслов описывает проблемную область и наполняется в процессе обучения системы. Реализация такой системы возможна на языках ПРОЛОГ и ЛИСП.
2) Система интегрального понимания речи (СПбИИРАН)
Командная (запросная) система.
3.6. Пример: диалоговая система управления процессом сборки редуктора.
Р
ассмотрим
построение данной системы на примере
задачи сборки редуктора универсального
с одной передачей. Данный редуктор
показан на рис. 1.
Рис. 3.3. Редуктор универсальный с одной передачей.
Исходная информация :
- Правила КС-грамматики для синтаксического и семантического анализа предложений ограниченного ЕЯ и синтеза сообщений.
- Словари:
-Терминальные (объектов, команд, технолог, операций)
-Нетерминальные (отношений объектов, отношений сборки, отношений технологии).
Примечание:
- в начальном виде словари могут не быть полными.
- в процессе обучения в диалоге, словари заполняются и
конкретизируются под объекты (например, разные типы редукторов)
С
труктура
системы:
Рис. 3.4. Структура системы
Разработка основного алгоритма сборки редуктора
На начальном этапе система содержит базовые понятия, присущие рассматриваемой предметной области, на основе которых в дальнейшем происходит процесс обучения. В ходе диалога система пополняет знания о предметной области путем расширения словарей и построения семантических сетей.
Диалог с пользователем начинается с запроса системы о названии объекта сборки. В процессе обучения системы процессу «сборка редуктора» можно выделить три основных этапа:
1. задание спецификации - список деталей, их количество и описание;
2. задание технологической карты - описание процесса сборки;
3. описание технологических операций, выполняемых в процессе сборки;
4. описание рабочего места - задание координат для таких объектов
предметной области, как «накопитель» или «тиски». Для хранения информации на каждом этапе создаются целевые семантические сети и сопутствующие словари. Первый и второй пункты могут быть объединены в один и построена обобщенная семантическая сеть описания сборки.
Для обработки и пополнения знаний система должна содержать ряд словарей, с помощью которых будет производиться синтаксический и
семантический анализ и обработка ЕЯ конструкций, поступающих на вход системы.
Обобщенная семантическая сеть описания сборки
Э
то
первая сеть, которая строится в результате
работы системы. Она представляет собой
обобщенное бинарное дерево и описывает
объекты предметной области, их расположение
и состав. Задание спецификации происходит
автоматически по данной сети. Все
иерархические связи в данной сети
соответствуют вертикальным линиям, а
все операционные связи - горизонтальным
линиям. Данный факт отражен на рис.
3.5.
Рис.3.5. Структура семантической сети описания сборки.
При построении данной сети оператор вводит данные о составляющих объекта сборки и указывает связи между ними в виде операций, которые необходимо выполнить для получения объекта, стоящего в иерархии обобщенного бинарного дерева уровнем выше. Связи типа has-part и part-of получаются автоматически в связи со способом построения семантической сети описания сборки. Построение дерева продолжается до тех пор, пока все конечные объекты в ветвях не будут являться начальными деталями (исходными комплектующими). Для таких деталей необходимо указать место их расположения в относительных понятиях ( например номер накопителя ), а не в конкретных координатах. Это сделано для большей универсальности данной сети. Конкретные координаты указываются в технологической семантической сети и уже не для конкретных деталей, а для относительных понятий (например? для накопителей). Заметим, что нет необходимости указывать места расположения промежуточных объектов, которые не являются конечными объектами в обобщенной семантической сети. Данные места выделит сама система в процессе сборки.
Семантическая сеть описания сборки
Семантическая сеть описания сборки строится в процессе анализа технологической карты по диалогу с пользователем, описывающему процесс сборки. Исходными данными для построения этой сети является текстовый файл на естественном языке, ограниченном выбранной предметной областью. Система будет строить сеть описания процесса сборки, параллельно проводя анализ на соответствие заданной технологической карты и спецификации. Если в технологической карте будут упоминаться какие-либо объекты, неопределенные предварительно в спецификации, или наоборот некоторые объекты из спецификации будут не задействованы в технологической карте, система в процессе диалога выяснит недостающие данные.
Используя знания, представленные в этой сети, система может также отвечать на вопросы, касающиеся процесса сборки.
Узлами сети в этом случае являются конкретные объекты предметной области. Дуги показывают, в каких отношениях между собой находятся эти объекты. На примере сборки редуктора эта сеть представляет собой описание редуктора в сборе, построенное в процессе обучения системы понятию "РЕДУКТОР".
Отношения, действующие между узлами сети, характеризуют взаимное расположение деталей объекта сборки.
С
ловарь
отношений сборки (нетерм.):
Словарь объектов:
STATE-IN-установлен в; редуктор
PUT-ON-надето на; корпус
IS-IN - находится в; крышка
ZACEP - находится в зацеплении; шестерня
L-ON - лежит на.
В программе семантическая сеть описания сборки будет представлена в виде фраз, описывающих каждый объект предметной области.
Фразы составляются следующим образом:
<исходный объект> <отношение1> <объект1>, <отношение 2>
<объект2>,...<...><...>.
Например:
<Входной вал> <установлен в> <входное отверстие корпуса>.
Семантическая сеть описания процесса сборки представлена на рис. 3.6.
L-ON
IS-IN
ZACEP
PUT-ON
IS-IN
IS-IN
STATE-IN
STATE-IN
STATE-IN
STATE-IN
STATE-IN
Рис.3.6 Семантическая сеть описания процесса сборки
Технологическая семантическая сеть
Знания, хранящиеся в технологической сети, будут использоваться системой на нижнем уровне, когда будет накоплено достаточно понятий для начала процесса сборки. В этой сети содержатся описания пространственных положений объектов по отношению друг к другу и вводятся системы координат.
Заполнение сети начинается после окончания составления второй семантической сети и программы на роботоориентированном языке. В процессе построения семантической сети описания сборки будет пополняться список понятий, требующих определения их точного местоположения, т.е. те объекты, на которые в технологической карте есть пространственные ссылки. В этот список в рассматриваемом примере будут входить такие объекты, как "накопитель", "тиски" и т.п. Система будет задавать вопросы пользователю о местоположении данных объектов, руководствуясь данным списком.
Технологическая семантическая сеть может быть заполнена непосредственно на рабочем месте оператора робота, разумеется, при наличии там данной системы.
Немаловажным удобством можно считать возможность задания нескольких технологических сетей для одного и того же процесса сборки в зависимости от рабочего места, габаритов изделия и т.п.
Узлами сети в этом случае являются как конкретные объекты предметной
области - координаты и названия объектов типа "накопитель", так и абстрактные понятия - тип системы координат, единицы измерения по осям.
Отношения, действующие между узлами сети.
С
ловарь
отношений технологий (нетерм.): Словарь
технологий:
IS-IN - находится в; накопитель;
IS-A - является; система координат;
HAS-C - имеет координаты. тиски;
единицы измерения.
С
ловарь
команд (терм.):
Взять
нижний Перенести
уровень Вставить
Начать сборку
верхний Остановить сборку
уровень Продолжить сборку
В программе технологическая семантическая сеть будет представлена в виде фраз, описывающих каждый объект предметной области.
1) Тип системы координат: (цилиндрическая, сферическая и т.п.)
2) Непосредственное описание объектов, фразы составляются следующим образом:
<объект> <координата 1> <ед. изм1> <координата 2> <ед. изм2>
<координата 3> <ед. изм3>.
Например:
<Накопитель1><10><градусы><20><см.><0><см.>
Технологическая семантическая сеть представлена на рис.3.7 а, б.
IS-A
HAS-C
HAS-C
IS-A
IS-A
IS-A
IS-IN
IS-IN
Рис.3.7а. Технологическая семантическая сеть
IS-A
IS-A
GET
WHAT
WHERE WHAT WHERE WHAT
WHERE
д001 НУ1 д001 д001 д001 НУ1
Рис.3.7б. Технологическая семантическая сеть
Словарь глаголов
Базовые действия, которым обучен робот на начальном этапе, хранятся в словаре глаголов внутри программы. Словарь глаголов также служит для пополнения знаний системы в процессе диалога с пользователем. Если системе встречается незнакомое слово, она просит пользователя определить его через базовые действия, предоставляя при этом необходимую помощь.
Базовые действия:
вставить <объект1> в <объект2>;
взять <объект 1 >;
перенести <объект1> в <местоположение 1>;
……………….
Словарь объектов
В качестве словаря объектов используется классификационная семантическая сеть. По каждому объекту сборки существует собственный словарь. В этом словаре кроме данных о названии и коде детали имеются также данные о ее расположении и строении, т.е. при выполнении команды "перенести корпус в тиски" система "знает", где взять корпус и где находятся тиски.
Семантические сети SSE, SSA, SST используются для диалога (при обучении), управления сборкой и формирования сообщений для оператора (в ходе сборки или диалога). Последняя сеть SST пользуется Блоком действий для реализации сборки конкретного редуктора. Для этого Блок действий должен иметь Базу программ на ЯУ роботом (VAL – подобном). При выполнении каждой конкретной команды из Подпрограмм собирается Программа действий в соответствии с фрагментом из SST (рис.3б) для этой команды и подставляются конкретные координаты из технологической сети (рис.3а). Процессом последовательного выполнения команд верхнего, а затем нижнего уровня руководит машина вывода, обрабатывающая команды как запросы семантического вида.
