Естественные языковые системы



 

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

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

Диалоговый компонент. Ведение диалога (определение структуры и роли системы в текущем шаге диалога) выполняется по одной из двух схем:

– диалог ведет пользователь;

– диалог ведет система.

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

Обработка высказываний. Позволяет формулировать и определять знания.

Компонент генерации высказываний. Формулирует выходные высказывания на естественном языке. Процесс генерации состоит из двух этапов:

– генерации смысла высказывания;

– синтеза высказывания на естественном языке.

Результат выполнения первого этапа – внутреннее представление смысла генерируемого высказывания.

На втором этапе решаются подзадачи:

– построение синтаксиса структуры отдельных предложений;

– морфологический синтез словоформ.

При реализации конкретных ЕЯ‑систем данные функции можно видоизменять и дополнять.

Настройка естественных языковых систем. В 1977 году Колмеройер ввел общую схему анализа естественных языков, что явилось решающим шагом вперед в области использования логических грамматик как альтернативы прочно утвердившимся грамматикам расширенных сетей переходов {augmented transition network grammars). С исторической точки зрения это можно признать поворотным пунктом, так как был указан метод преобразования предложений естественных языков в логические структуры. Метод заключался в рассмотрении простейших высказываний, содержащих имена существительные, имена собственные, какой бы то ни было артикль в виде квантора (кванторного слова) с тремя операциями перехода и четыре приоритетных правила для разрешения проблемы иерархии квантования (количественного измерения качественных признаков).

Ограничение предметной области имеет принципиальное значение, так как позволяет наложить ограничения на лексику, семантику и синтез языка. При этом ЕЯ‑система должна допускать возможность изменения своих знаний, зависящих от специфики рассматриваемой предметной области. Процесс извлечения знаний из некоторого источника и передачи их ЕЯ‑системе называют приобретением знаний.  Различают два способа приобретения знаний: настройку и адаптацию.

Настройка применяется при начальном развертывании системы на конкретном объекте или при значительных ее изменениях. Адаптация заключается в оперативном приобретении знаний ЕЯ‑системой в процессе решения задачи. Инициатором адаптации является система.

 

Контрольные вопросы

 

1. Дайте определение понятия «искусственный интеллект».

2. Перечислите системы искусственного интеллекта.

3. Перечислите основные проблемы искусственного интеллекта.

4. Приведите примеры компьютерных программ, в которых используются системы искусственного интеллекта.

 

 

Глава 10

Экспертные системы

 

Назначение и структура экспертных систем

 

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

Целесообразность использования экспертных систем. ЭС составляют самую существенную часть систем искусственного интеллекта, они моделируют действия человека‑эксперта при решении задач в узкой предметной области: составление базы знаний и их накопление. В настоящее время появились области практической деятельности, в которых без элементов ЭС невозможно обойтись. Традиционная обработка данных не соответствует нашим схемам представления. Создание систем БД – это попытка задать представление логических связей между данными. Выполняемая экспертом обработка знаний строится на базе огромных запасов информации, представленных в самой различной форме. При этом часть информации может быть неполной. Процесс, с помощью которого эксперт собирает, синтезирует и преобразует исходные знания, часто непонятен. Чтобы автоматизировать этот процесс, надо уметь представлять типичные подходы, применяемые экспертом при решении различных задач. Традиционные методы представления не справляются с подобной задачей.

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

Знания об объектах и их взаимоотношениях позволяют провести классификацию объектов. Рассмотренный тип значений называют декларативными значениями. Второй тип значений – правила. Правила используют для представления какого‑либо процесса обработки знаний. Эксперты применяют правила и процедуры, непонятные для неспециалистов. Зачастую сам эксперт не в состоянии осознанно понять процесс обработки знаний.

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

– классы и отношения между классами;

– правила;

– управляющая структура.

Типы экспертных систем. По функциональному назначению ЭС можно разделить на следующие типы:

1. Мощные ЭС, рассчитанные на узкий круг пользователей. К ним относятся системы управления сложным технологическим оборудованием, таким, как ЭС ПВО. Такие системы обычно работают в реальном масштабе времени.

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

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

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

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

– формализованные (точные);

– неформализованные (неточные).

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

ЭС обладают следующими особенностями:

– алгоритм решения неизвестен заранее и строится самой ЭС в процессе решения;

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

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

Знания и их представление. Если рассматривать знания с точки зрения решения задач, их удобно разделить на две большие категории: факты и эвристику.

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

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

Знания можно разбить на факты и правила. В данном случае под фактами понимаются знания типа «"А" – это "А‑определение"». Они хранятся в базах данных.

Под правилами подразумеваются знания типа «Если…, то…». Существуют и так называемые метазнания (знания о знаниях). Это понятие необходимо для управления базой знаний, логическим выводом и обучением. Знания обычно имеют классификацию, характерную не только для фактов, но и для правил. Обобщая знания, используемые в науке, их можно представить в следующей последовательности:

– процедурные (закрытые);

– конечный автомат;

– программа;

– скрипт;

– семантическая сеть;

– фрейм (прототип);

– графы;

– формальная спецификация;

– исчисления предикатов;

– теоремы, правила записи;

– продукционные системы;

– предложения на естественном языке;

– декларативные (открытые).

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

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

– классифицирующие;

– функциональные;

– сценарии.

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

Инструменты построения экспертных систем. В настоящее время существует очень много средств для построения ЭС. Они отличаются:

– способом представления знаний;

– механизмами получения решений;

– интерфейсами общения с пользователями;

– размерами разрабатываемых баз знаний;

– используемым оборудованием и его стоимостью.

Наиболее широко применяют следующие средства построения ЭС:

символьные языки (LISP, SMALLTALK), ориентированные на создание ЭС и систем искусственного интеллекта. Содержат минимальные специальные средства для создания ЭС. С их помощью можно осуществлять обычное программирование;

языки инженерных знаний (PROLOG, OPS‑5) – языки высокого уровня, ориентированные на построение ЭС. Включают в себя, кроме способов представления знаний, встроенный механизм поиска и вывода. Требуют привлечения инженера по знаниям и программиста;

системы автоматической разработки экспертных систем (ART, TIMM), ориентированные на знания. Содержат несколько разнородных средств представления знаний, богатый набор организации интерфейсов, встроенный механизм вывода;

оболочки экспертных систем  (EMYCIN, ЭКСПЕРТ). Составляют 50–60 % всех ЭС. Трудозатраты, связанные с созданием на них конкретных систем, минимальны, так как они представляют собой пустую ЭС. Необходимо, чтобы область знаний подходила к данной оболочке.

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

ЭС работает в двух режимах:

– в режиме приобретения знаний (определение, модификация, дополнение);

– в режиме решения задач.

На рис. 21 приведена структура идеальной ЭС.

Рис. 21. Структура идеальной ЭС

 

В режиме решения задач данные о задаче обрабатываются «пользовательским интерфейсом» и после соответствующей кодировки передаются в блоки ЭС. Результаты обработки полученных данных поступают в модуль «советов и объяснений» и после перекодировки на язык, близкий к естественному, выдаются в виде советов, объяснений и замечаний. Если ответ непонятен, пользователь может потребовать от ЭС объяснить, как он получен.

В разработке ЭС (рис. 22) участвуют:

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

инженер‑когнитолог  – специалист по разработке ЭС. Выявляет совместно с экспертом структурированность знаний, осуществляет выбор инструментального средства, программирует стандартные функции, которые будут применяться в правилах ЭС;

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

Рис. 22. Участники создания ЭС

 

В использовании ЭС участвуют:

конечный пользователь  – имеет возможность только использовать ЭС;

клерк  – наделен полномочиями добавлять, модифицировать базу знаний ЭС.

Способы описания знаний. При разработке ЭС наибольшее применение нашли следующие способы описания знаний:

– логические модели;

– сетевые модели;

– продукционные модели;

– фреймовые модели.

Наиболее популярны фреймовые и продукционные модели представления знаний.

Логические модели. В основе их описания лежит формальная система с четырьмя элементами:

 

М = {Т,Р,А,В},

 

где

Т – множество базовых элементов различной природы с соответствующими процедурами;

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

А – подмножество множества Р, состав которого называется аксиомами. Процедура П(А) дает ответ на вопрос о принадлежности к множеству А;

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

 

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

Сетевые модели (рис. 23). К сетевым моделям относятся знания, формально задаваемые в следующем виде:

 

Н = {I, C1, С2…, Сп, G},

 

где

I – множество единиц информации;

C1, С2…, С п – множество типов связи между информационными единицами;

G – задание связи из данного набора.

Рис. 23. Работа сетевой модели

 

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

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

где

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

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

А => В – основной элемент продукции, называемый ядром. Под ним понимаются выражения типа: «Если А, то В». Сложная конструкция: «Если А, то В1, иначе В2»\

Р – условие применения ядра продукции. Обычно Р представляется логическим выражением. Если выражение Р ложно, то ядро не может быть исполнено. Например, выражением «Р А В» можно кодировать следующее сообщение: «Наличие денег: „Если хочешь купить вещь X“, то „Заплати в кассу ее стоимость“»;

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

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

– подавляющая часть знаний может быть представлена в виде продукций;

– системы продукции являются модульными: удаление или добавление продукций приводит к изменению остальных продукций;

– при необходимости системы продукций могут реализовывать сложные алгоритмы;

– наличие в продукциях указания на сферу применения позволяет эффективно реализовать память, сокращая время поиска необходимой информации;

– объединение систем продукций с сетевыми представлениями позволяет создавать мощные ЭС;

– параллельность и асинхронность работы систем продукций делает их наиболее подходящими для ЭВМ новой архитектуры (наличие нескольких процессоров).

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

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

– имени фрейма;

– имени слота (значения слота);

– управления каждого слота и самого фрейма;

– содержания каждого слота.

Представление знаний в форме фреймов впервые было разработано М. Минским в 1975 году. Фрейм относится к психологическим понятиям, касающимся нашего восприятия. По структуре он представляет собой иерархию отношений вида «абсолютное – конкретное». Сложные объекты представляются комбинацией нескольких фреймов, образующих фреймовую сеть.  На самом верхнем уровне фрейма представлена фиксированная информация – факт, который обычно считается истинным (имя фрейма).  На последующих уровнях расположено множество так называемых слотов, которые обязательно должны быть заполнены конкретными значениями и данными.

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

Основные свойства фреймов:  

1. В базовом типе запоминаются только наиболее важные объекты данного предмета, на основании которого строятся фреймы.

2. В процесс сопоставления фреймов и объектов реальности обязательно задаются цели сопоставления. При этом:

– вначале выбирается базовый фрейм;

– если в каком‑то слоте возникла ошибка, то этому слоту (атрибуту) присваивается новое значение;

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

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

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

Сеть и описание фреймов.  Иерархическая структура основывается на отношениях абстрактной конкретности. Кроме абстрактной конкретности, при построении фреймов используют отношение «часть – целое», которое позволяет объекты нижнего уровня показать частью объектов верхнего уровня. Имя фрейма – уникальное имя в сети фреймов. Имя слота – уникальное имя во фрейме.

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

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

Демон – процедура, автоматически запускаемая при выполнении некоторого условия. Запуск осуществляется при обращении к соответствующему слоту.

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

– с помощью демона;

– с помощью механизма наследования.

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

– фреймовое представление позволяет описывать сложные знания больших объемов и управлять ими на основе описания концептуальных объектов;

– в целях увеличения гибкости системы декларативные и процедурные знания концептуальных объектов комбинируют;

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

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

Где можно встретить фреймы? Практически везде, где используют компьютер:

– при организации доменных имен в сети Internet;

– при создании открытой архитектуры;

– в классах языков программирования;

– в создании многозадачности;

– в организации способов доступа от виртуальных устройств (адресации) компьютера к физическим.

 


Дата добавления: 2018-10-26; просмотров: 636; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!