В семи томах том Представление знаний (Структуры данных)




НазваниеВ семи томах том Представление знаний (Структуры данных)
страница1/30
Дата27.11.2012
Размер4.54 Mb.
ТипДокументы
  1   2   3   4   5   6   7   8   9   ...   30
А.А. Красилов


ИНФОРМАТИКА


В СЕМИ ТОМАХ


Том 4. Представление знаний

(Структуры данных)





Москва

1997 - 2003


ИНФОРМАТИКА


Том 1. Основы информатики

(Введение в информатику)


Том 2. Информатика смысла

(Машинная лингвистика)


Том 3. Концептуальная информатика

(Толковый словарь по информатике)


Том 4. Представление знаний

(Структуры данных)


Том 5. Основания информатики

(Теоретические основы)


Том 6. Методы информатики

(Изобретание, проектирование,

разработка и сопровождение)


Том 7. Интеллектуальные системы

(Системы решения проблем)


Альберт Александрович Красилов


УДК ....................


Аннотация


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


The informal description of representation of knowledge of various kinds in language of professional prose is stated. The description is given in full conformity with a formal statement of language in volume 2. The basic purpose of a statement consists in the practical explanatory of methods of formalization of the knowledge, not demanding studying of formal languages or all formal bases of logic programming, but only on the basis of language of professional prose. Brought examples serve as fragments of prototypes of records of knowledge and the inquiries intended for founders of tasks and inquiries to base of knowledge, for direct users Intelsys.

(www.translate.ru)


ОГЛАВЛЕНИЕ


0. Введение

0.1. Общие соображения о представлении знаний

0.2. Шаги формализации в работе со знаниями

0.3. Шаги в исследованиях пользователя с применением Интеллсист

0.4. Шаги в технологии интеллектуального программирования

Глава 1. Предметная область

1.1. Наборы данных

1.2. Классы констант

1.2.1. Символьные данные.

1.2.2. Истинностные данные

1.2.3. Целочисленные данные

1.2.4. Вещественные данные

1.2.5. Агрегатные данные. База данных.

1.2.6. Даты

1.2.7. Время

1.2.8. Последовательности

1.2.9. Ссылочные данные

1.2.10. Программные данные

1.3. Абстрактные величины

1.4. Множества данных, описание пользовательского типа

1.4.1. Символьный тип

1.4.2. Логические и перечислимые типы

1.4.3. Числовые типы

1.4.4. Индексируемые типы

1.4.5. Именуемые типы

1.4.6. Табличные типы

1.4.7. Ссылочный тип

1.4.8. Типы множеств

1.4.9. Типы последовательностей

1.4.10. Типы подпрограмм и записи алгоритмов

1.4.11. Тип абстрактных величин

1.5. Классы величин и их значения

1.5.1. Описание понятия

1.5.2. Пользовательские типы

1.5.3. Описание метапонятия

1.5.4. Описание синонима

1.5.5. Описание отношения. Декартовое произведение

1.5.6. Описание исключения

1.5.7. Описание операции

1.5.8. Описание правила

1.5.9. Описание подстановки

1.5.10. Описание масштаба

1.6. Классы предметных данных

1.7. Другие классы данных

Глава 2. Проблемная область

2.1. Алфавиты или словари операций

2.2. Классы операций

2.3. Базовые операции

2.4. Стандартные операции

2.5. Прикладные операции

2.6. Классы графических операций

2.7. Классы предметных операций

Глава 3. Лексиконы

3.1. Классы словарей

3.2. Словарь символов

3.3. Словарь слов

3.4. Словарь терминов

3.5. Представление словарей

3.6. Словарь графических фигур

3.7. Представление баз знаний

Глава 4. Представление фраз

4.1. Построение фраз

4.2. Константы

4.3. Имена

4.4. Общие утверждения

4.5. Использование функций

4.6. Операции преобразования

4.6.1. Преобразование данных к заданному типу

4.6.2. Квалификация типа

4.6.3. Масштабирование типа

4.6.4. Преобразование подстановкой

4.7. Атрибуты величин

Глава 5. Представление знаний (логика простыми словами)

5.1. Элементарное знание

5.2. Простое и сложное знание

5.3. Множество смыслов

5.4. База знаний. Файловая структура СУБЗ

5.5. Применения СиГ

5.5.1. О теории веры

5.5.2. Знания в теории веры и представление их для обработки

5.5.3. Постановка цели обработки знаний

5.5.4. Классы графов представления текстов

5.5.5. БД для хранения знаний, представленных по СиГ

5.5.6. Об алгоритмах обработки знаний

5.5.7. Заключительные суждения

5.6. Об использовании Интеллсист в реальном времени

5.7. Нетекстовые знания

5.7.1. Массивы, таблицы, записи, рисунки и телекадры

5.7.2. Графическая информатика. Основные положения и концепция

5.7.3. Свойства изображений. Классы задач

5.7.4. Конкретные задачи и методы

5.7.5. Графовая информатика

Глава 6. Представление алгоритмов и примеры задач

6.1. Языки представления алгоритмов

6.1.1. Общие сведения

6.1.2. Оформление обращений к готовым программам

6.1.3. Формализм языка Вызов

6.1.4. Примеры типов подпрограмм

6.2. Помеченные выражения

6.3. Решение задач, вопросов и проблем. Примеры

6.3.1. Вычислительные задачи.

6.3.2. Аналитические выкладки

6.3.3. Разработка тестов и логические задачи

6.3.4. Распознавание образов

6.3.5. Выделение признаков Определение понятий

6.3.6. Доказательство теорем Правильность высказываний

6.3.7. Синтез теорем

6.3.8. Вопросно-ответные системы

6.3.9. Лингвистические задачи

6.3.10. Учет, контроль, мониторинг и управление

6.3.11. Юридические задачи

6.3.12. Формирование законов

6.3.13. Формирование программ

6.3.14. Игровые задачи

6.3.15. Понимание ЕЯ

6.4. Формирование БД и начальных значений

6.5. Синтез программ

6.6. Применение библиотечных подпрограмм

6.7. Реализация программ и их использование

Глава 7. Структура заданий для Интеллсист

7.1. Приобретение знаний

7.2. Представление запросов

7.2.1. Утверждения

7.2.2. Анкеты

7.2.3. Шаблоны

7.3. Технология работы с инструментарием

7.4. Библиотеки знаний

7.5. Разработка баз знаний

7.5.1. Вводные положения о формировании БЗ

7.5.2. Технология создания БЗ

7.6. Ответы на запросы

7.7. Стандартное окружение

Литература

Приложения 1. Символы стандарта ASCII

Приложения 2. Зарезервированные слова

Приложение 3. Словарь стандартных терминов и синонимов

Приложение 4. Встроенные операции

Приложение 5. Ограничения версий инструментария Интеллсист


Сокращения для терминов


АП - алгоритм порождения

АР - алгоритм распознавания

БД - база данных

БЗ - база знаний

ВМ - вычислительная машина

ГЯ - граф языка

ЕЯ - естественный язык

ИИ - искусственный интеллект

ИИС - инструментарий интеллектуальной системы

ИМГР - интерпретатор машины грамматического разбора

Интеллсист - интеллектуальная система

КС - контекстно-свободный

МГР - машина грамматического разбора

МГР1 - машина грамматического разбора первого типа

МГР2 - машина грамматического разбора второго типа

МГР3 - машина грамматического разбора третьего типа

МГР4 - машина грамматического разбора четвертого типа

ММ - математическая машина

МТ - машина Тьюринга

ППП - пакет прикладных программ

СВТ - средства вычислительной техники

СеГ - семантическая грамматика

СиГ - синтаксическая грамматика

СП - синтезированная программа

СУБД - система управления базой данных

СУБЗ - система управления базой знаний

ФРАК - формульный автокод

ФЯ - формальный язык

ЭС - экспертная система

ЯЛ - язык Лейбниц

ЯПП - язык профессиональной прозы

ASCII - American Standard Code Information Interchange


0. Введение


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


0.1. Общие соображения о представлении знаний. Решение задач с помощью Интеллсист понимается в самом широком смысле, поскольку система осуществляет решение (или логический вывод решения) логического уравнения, включающего БЗ и запрос пользователя. Поэтому всегда рассматривается общая постановка поиска разрешения запроса, который может быть в частности конкретными заданием, задачей, вопросом или проблемой в соответствии с оценкой запроса пользователем. Для решения задач основными источниками информации являются БЗ и запросы, которые должны иметь внутреннее и внешнее представление знаний. Рассмотрение способов практического представления знаний - главный предмет настоящего тома. Для Интеллсист знания и запросы являются исходными данными сложной структуры, включающей числа, величины, операции, тексты, формулы или алгоритмы. Обобщая сказанное, можно утверждать, что знания и запросы являются фактографическим знанием для Интеллсист.


Основу для представления данных и знаний составляет СеГ русского языка, которая формально описана в т.2. Там же указаны все языковые средства, с которыми может столкнуться пользователь Интеллсист явно или неявно (например, для толкования языковых ошибок). Здесь рассмотрим некоторые практические (прагматические) особенности представлений, связывающие реальные и формальные представления знаний. Отличия представлений языка Лейбниц в т.т. 2 и 4 выражаются формальными и пользовательскими (неформальными) изложениями соответственно. Одна из целей настоящего тома состоит в рассмотрении способов накопления знаний, создания БД (в меньшей степени) и БЗ (в большей степени).


Данные (существенная часть фактов) обычно возникают в результате некоторой деятельности человека. Они представляются просто числами, знаками, в записях, таблицах или массивах. Имеются и более сложные “данные” типа выражения, программы. Знания извлекаются из книг, статей или мыслей специалистов. В печатных изданиях они обычно представляются текстами на ЕЯ, формулами, схемами или графически. Для того чтобы Интеллсист восприняла данные и знания необходима совокупность правил их представления. Общие правила представления данных и знаний выработала деятельность человека, они сведены в ЕЯ, на котором общаются специалисты, и многочисленные издания (например, книги, статьи, руководства, пособия) по каждой профессии. В разрешении запросов на основе знаний заинтересован каждый пользователь ВМ. Следовательно, средства представления фактов и знаний должны вполне соответствовать правилам ЕЯ и изданий, с которыми имеет дело пользователь. При реализации Интеллсист были наложены два ограничения на способы представления знаний: вместо СиГ рассматривается СеГ и ЕЯ ограничен только той частью, которую использует специалист данной области знаний или на стыке двух и более областей для разрешения своих профессиональных запросов, ограниченной частью является ЯПП.


Конкретную цель изложений в томе можно представить так:

  • рассмотреть по возможности широкие средства представления фактов и знаний,

  • сопоставить эти представления с известными представлениями в проблематике ИИ (например, фреймы и семантические сети)

  • и привести реальные (но небольшие) примеры из области решения задач с помощью Интеллсист.

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


При рассмотрении средств и методов представлений знаний проводится линия на пояснение работы с Интеллсист, на технологические особенности работы с фактами и знаниями. Это позволяет окунуться в средства накопления, формирования, формализации, обработки фактов и знания и толкования результатов работы Интеллсист. Каждый раз нужно иметь в виду, что факты и знания в различных областях знаний представляются средствами более широкими, нежели в ЕЯ. Действительно, массивы данных, сводные таблицы, структурные записи, операции и зависимости данных и величин, а также способы представлений с многочисленными толкованиями данных и утверждений - это примерный перечень отсутствующих в ЕЯ конструкций, но присутствующих в языках каждой специальности. Различие ЕЯ и языков профессионалов - это важное обстоятельство, используемое при передаче знаний и заданий для Интеллсист. Большое значение придается в томе примерам представлений или иллюстративному материалу, поскольку обучение на примерах является важным средством привлечения пользователей к работе с Интеллсист.


В технической литературе вопросам формализации знаний уделено большое внимание в рамках изучения ИИ [Александров78, Брябрин81, Восилюс80, Гришин82, Дюбуа90, Калиниченко90, Касаткин81, Кирсанов82, Клещев82, Кондрашина89, Коэн75, Минский78 и 79, Осуга89, Предстинт80, Предстсис89, Рыбина79, Тамм85, Хельбиг80, Хомский96, Ыйм80]. Значительное место в публикациях уделено построению ФЯ для представления знаний, что естественным образом приводит к прокрустову ложе - вкладыванию всякого знания в один определенный формализм. Это приводит создателей программ ИИ к формированию множества ФЯ. Основное возражение к существующему в ИИ подходу состоит в том, что прямому пользователю ФЯ являются недоступными. Они доступны только программистам или знаниеведам (иногда именуемым инженерами по знаниям). ЕЯ и ЯПП являются доступными любому пользователю, легко ориентирующемуся в своей области знаний. Именно с помощью этих языков он передает знания другому пользователю. Необходимо обеспечить каждого пользователя средствами ввода знаний на ЕЯ и ЯПП. О возможности такого подхода рассказывается в этом томе Информатики. Ниже рассматривается принятая последовательность шагов, приводящая к формальному представлению знаний с меньшими усилиями, чем это требуется в системах ИИ.


0.2. Шаги формализации в работе со знаниями. Еще немного об одном важном обстоятельстве. Бытующее мнение о частичной или полной невозможности формализации текстов ЕЯ необходимо поколебать, поскольку знания передаются от человека человеку именно текстами (а также числами, таблицами и др. способами). При этом человек всегда находит понимание сведений, получаемых от другого человека. Уже установилось мнение о том, что на ВМ можно передать любые сведения. Отсюда уже следует, что текстовые знания можно передавать для Интеллсист (хотя бы с помощью клавиатуры, линий связи или файлов) без потери их смысла или содержания. Действительно, ограничиваясь классической грамматикой ЕЯ сложно передать для Интеллсист знания из-за использования человеком большого контекста при принятии решений. Основным средством передачи знаний текстами для Интеллсист является СеГ ЕЯ. Настоящий том предназначен для неформального пояснения этого положения. При этом ограничимся иллюстративными примерами и пояснениями для того, чтобы выработать у пользователя Интеллсист навыки ИП. Формальные основания изложены в томе 2.


За основу общения пользователя с ВМ нами принят ЕЯ, а точнее его профессиональная часть - ЯПП. Применительно к профессиональному языку ЕЯ дополняется для обеспечения расширения средств общения с Интеллсист. Например, написание даты, которое не дается в СиГ, в ЯПП имеет самый разнообразный вид, в том числе такой, который свойствен специалистам. Необходимо зафиксировать несколько самых распространенных видов и правил записи даты, а остальные виды останутся за авторами, которые будут вынуждены обучать Интеллсист восприятию даты по его стандарту с помощью своего специального языка. В тексте тома можно прочитать еще многие данные и знания, которые требуют стандартизации для эффективного их ввода в БЗ и последующей обработки.


Язык изложения в томе характеризуется той особенностью, что здесь всюду использованы специальные информатические и математические термины (тип, функция, процедура, множество и т.п., их немного), которые имеют свои аналоги или синонимы в различных областях знаний (набор, зависимость, действие, собрание). Это может вызвать отрицательную реакцию читателя, не знакомого с информатикой, но предположительно в совершенстве знакомого со своим ЯПП и, в особенности, со своим лексиконом. У пользователя всегда имеется возможность введения своих синонимов. Материал тома пишется для смягчения такого неприятия терминологии информатики и для установления взаимопонимания. Для этого каждое не очень или совсем не знакомое понятие расшифровывается постепенно и последовательно до момента использования общеупотребительных терминов (см. также т.3 - Терминологический словарь). Заметим, что каждая БЗ сопровождается терминологическим словарем конкретной области знаний. Именно такую одну из основных ролей играет содержание тома, роль толкователя информатических терминов. Некоторые термины так и останутся непонятыми, такой термин и не будет использоваться в практической работе с Интеллсист. Вполне возможно, что в язык конкретной специальности не включены некоторые термины СеГ и их интерпретации. Без них можно решать задачи, поскольку в СеГ развит аппарат синонимии. Например, школьник младших классов не имеет представления о кванторах существования. Это обстоятельство не будет препятствовать применению Интеллсист для решения его задач, в которых надо найти значение неизвестной величины. Термины кванторов имеют синонимы и в ЕЯ.


Общий порядок работы с Интеллсист зафиксирован в меню инструментария, предусмотрен весь набор конкретных и самых разнообразных порядков набора данных и текстов знания без привлечения средств, описанных в ФЯ Лейбниц. В данном случае разнообразие полезно для выполнения различных по значимости и объему заданий (от решения школьной задачи до создания программ решения проблем управления). Общий порядок складывается из конкретных шагов действий с инструментарием и в сопровождении подсказок (по всякому поводу). Практика работы с инструментарием Интеллсист подскажет эффективный метод (порядок) использования ее для решения задач. Простыми задачами являются, например задачи диагностики, при решении которых осуществляется заполнение готовой анкеты (ответами на вопросы) и запуск Интеллсист на решение, или задачи, сформулированными по шаблону. Сложные задачи решаются через формализацию знаний, шаги которой перечислены ниже. Они позволяют понять сложность процессов формализации и в общих чертах порядок работ в ИП. Проанализировав шаги формализации можно подойти к выводу о том, что они являются вполне приемлемыми.


Первым шагом (формализации знаний) при работе с Интеллсист является создание терминов (пользовательских понятий). В соответствии с описанием СеГ весь передаваемый для Интеллсист текст состоит из терминов, которые должны включаться в лексикон БЗ. Каждый термин может быть операндом (терманд - термин операнда) или операцией (термация - термин операции). Совокупность первых определяют предметную область, вторых - проблемную область. Все термины и составляют лексикон, в который включаются стандартные, базовые, пользовательские, временные и порождаемые термины. Работы с каждым сортом терминов различаются незначительно. Создать термин – это значит сформировать имя понятия (написание или наименование термина) и его характеристики. Работа по созданию и ввода терминов ведется по меню инструментария. Необходимо учитывать, что имеются стандартные термины, известные в ЕЯ, и термины, используемые в БЗ (базовые термины). С ними необходимо предварительно ознакомиться, пока отсутствует опыт работы с Интеллсист или пока область знаний не совсем знакома. Если работа по применению Интеллсист находится в начальной стадии или область знания хотя бы частично неизвестна, то можно начать с автоматизированного изучения текстов знаний на предмет построения лексикона. Можно использовать автоматический анализ текста на терминологический состав, что предусмотрено в Интеллсист. Он может помочь пользователю в выборе подходящих терминов, согласованных с текстами знаний. Заметим, что

  1. термины чаще всего не создаются (не изобретаются как в ФЯ идентификаторы), но используются те, которые имеются в ЕЯ или «технической» литературе данной области знания,

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

Например, все марки автомобилей надо внести в таблицу “автомобиль”, а их марки помещаются в некотором столбце этой таблицы, имена всех людей невозможно представить терминами, их надо поместить в таблицу “человек” или «ФИО». Помещение некоторых терминов в таблицы представляет собой частный пример формализации. Первый шаг ориентирован на начальный анализ знаний для выбора или построения имен понятий.


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


Вторым шагом (формализации знаний) при работе с Интеллсист является создание или выбор известных наборов (множеств) значений или смыслов каждого понятия. Всевозможные потенциальные значения терминов группируются в типы данных, которые и составляют один из разделов лексикона и предметной области. Как было сказано слово «тип» имеет синонимы в ЕЯ - это, например слова «набор» или «множество данных», которые допустимы в качестве значений некоторого термина. Имеются стандартные, определяемые в БЗ, пользовательские или временные типы данных, определяемые в запросе. Если стандартные типы данных не удовлетворяют постановке запроса, то пользователь сам создает новые типы данных. Конечно, некоторые новые типы данных могут содержаться в БЗ. Поэтому перед созданием своих типов данных необходимо посмотреть на типы в БЗ. Конечно, пользователь должен привыкнуть к понятиям тип целый, тип вещественный или тип логический (или они ему заведомо известны). Вначале он должен обратиться к справке для ознакомления со стандартными типами или со способами построения нестандартных типов данных. В качестве образцов представления типов можно рассмотреть типы данных, содержащихся в БЗ. Для создания пользовательских типов имеются средства создания массивов, таблиц, записей или их комбинации типа массив записей, а также функций и процедур. Второй шаг формализации связан с формированием важной части предметной и проблемной областей - используемых типов данных. Наиболее трудной работой на втором шаге является выбор или формирование типа допустимых для понятия данных (значений). Как и на первом шаге, второй шаг существенно упрощается при использовании заказной или покупной БЗ.


Третьим шагом (формализации знаний) при работе с Интеллсист является создание собственно лексикона понятий (терминологического словаря) данной области знаний, служащий расширением стандартной или базовой его частей. Смысл термина, фразы или текста выражается значением. Определения терминов составляют основу знаний, они включают выбранные термины и их характеристики: тип значений, текущее значение (текущий смысл), сорт термина, текст описательного определения понятия. К характеристике система автоматически присоединяет дату создания термина. В лексикон входят стандартные понятия из СеГ, языка Лейбниц и из стандартных или введенных БЗ. В лексикон входят понятия из БЗ для отрасли или области знаний, чисто пользовательские понятия из запросов и некоторые создаваемые системой понятия. Меню инструментария автоматически предлагает пути формирования всех характеристик терминов. С помощью справочной подсистемы можно получить подсказку или расшифровку смысла той или иной характеристики.


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


Пятый шаг (формализации знаний) связан с формированием и отладкой текстов записей знаний и запросов. Шаг так и именуется вводом и отладкой знаний и запросов. Ввод знаний выполняется специалистами (или знаниеведами). Пользователю знаниями не очень рекомендуется выполнять эту работу, он должен воспользоваться готовой БЗ (покупной или подготовленный специалистами по конкретному знанию). Пятый шаг является ответственным, подход к нему должен быть тонким, тщательным, длительным и по возможности объективным. Отладка знаний - сложный процесс, поскольку он сталкивается с тринадцатью классами ошибок. Достаточно просто обнаружить и исключить синтаксические, прагматические и другие сорта ошибок из числа первых восьми. Для этого достаточно вспомнить правила СеГ. Сложнее обстоит дело со смысловой отладкой знаний. Это новая деятельность в информатике. Противоречия, зависимость и неполнота знаний - вот главные ошибки, которые могут возникнуть в работе со знаниями. Интеллсист обеспечивает разработчика БЗ хорошими средствами автоматического обнаружения и локализации таких классов ошибок. В связи с отладкой знаний и обнаружением ошибок повторно реализуются некоторые или все предыдущие шаги. Эти действия шага формализации необходимо и рекомендуется рассматривать автономно от общего перечисления шагов.


Вторая часть шага - ввод и отладка запросов. Запрос формально не отличается от знаний, как и различия в формулировках: что известно и что требуется найти. Чаще всего запрос представляется пользователем на ЕЯ, что может вызывать появление ошибок нарушения правил СеГ. Выбираемые из публикаций тексты могут иметь рассогласования с результатами первых трех шагов формализации либо по типам данных, либо по представлению терминов и их характеристик, либо по подбору фактического материала, либо при соединении различных фраз в единое утверждение. Это может обнаружиться еще в процессе отладки знаний и в особенности при отладке запроса. Пятый шаг может считаться завершенным, если исправлены все ошибки и представлены все недостаточные знания. В связи с отладкой запроса повторно реализуются некоторые (три первые шага) или все предыдущие шаги, поскольку в запросе обычно содержатся разделы ввода новых (или временных) терминов и их характеристик. Как обычно последовательность шагов является по существу кибернетической, с обратными информационными связями для завершения или исправления результатов предыдущих шагов. В этом суть процесса отладки текстов или данных. Например, текст знаний или запросов может оказаться вполне удовлетворительным, а сведения, введенные на первом, втором или третьем шагах - неудовлетворительны. В связи с этим процессом отладки знаний сразу следует обратить внимание на манипуляции с сохранением и восстановлением БЗ. Отладка знаний и запросов в принципе является интегральным процессом. Нельзя запускать дважды один и тот же текст (как это делается при трансляции программ, написанных на ФЯ). Появятся ошибки (например, дважды описан термин), которые могут создать тупиковую ситуацию в отладке. Поэтому до запуска на трансляцию или разрешение запроса необходимо позаботиться о восстановлении исходного или промежуточного состояния БЗ.


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


Работы на пятом шаге равномерно разбросаны по всем другим шагам по мере подключения транслятора текстов. Важно выделить и еще раз подчеркнуть факт того, что отладка знаний и запросов также инициирует обратные связи по мере появления ошибок. Интеллсист защищен от “мелких” грамматических ошибок (в смысле грамматики языка Лейбниц) ввода определений терминов, поскольку используется меню для их ввода. Интерфейс пользователя с Интеллсист ограничивает варианты ввода информации только правильными путями набора последовательностей символов. Контролирующий ФЯ вложен в меню, поэтому отпадает необходимость контроля текстов по мере его набора через окна меню. Более серьезные смысловые ошибки набора текстов по меню не выявляются.


Шестой шаг (формализации знаний) связан с формированием программ, которые представляют процедурное знание. Чаще всего процедурные знания создаются программистами и помещаются в библиотеки готовых и отлаженных подпрограмм. Здесь весьма может стать необходимой работа программиста, если отсутствует готовая программа или подпрограмма. Она может потребоваться при формировании знаний о моделировании малоизученных предметов, явлений или процессов. По закону информатики о возможности взаимного перевода одного вида знаний в другой вид знания моделирование может быть представлено текстами на ЯПП. Но при получении эффективных программ, которые будут использованы в БЗ или запросе, необходимо воспользоваться знаниями и квалификацией программистов, работающих эффективно. Эффективное моделирование касается главным образом при оснащении встроенных ВМ или при решении задач в реальном масштабе времени. Чаще всего “одиночного” пользователя не коснуться проблемы шестого шага формализации (практически этот шаг будет отсутствовать чаще, чем присутствовать). Коллективный пользователь, создающий большие проекты, может делать запросы на программы моделирования и использовать силы программистов для построения или выбора алгоритмических и программных моделей. Этот шаг формализации является сложным, он содержит все работы, которые присущи процессу разработки программ. Такая формализация может привести к потере части знаний. Поэтому этот шаг целесообразно не применять. Рекомендуется использовать процессы построения СП.


Программа может быть построена в результате запроса пользователя на ее формирование. Тогда шестой шаг расширится работами по вводу исходных данных для СП (и по ее запросу) и запуску программы на исполнение. Можно ли считать такую процедуру восьмым шагом формализации решается самим пользователем. Здесь могут обнаруживаться ошибки в исходных данных, но не в программах, построенных системой. Квалификация исходных данных может вернуть пользователя на новые циклы формализации в связи с пополнением БЗ или запроса и из-за неучтенной квалификации исходных данных для программы.


Седьмой шаг (формализации знаний) целиком связан с анализом результатов логической работы Интеллсист. Окончательный вывод о полезности результатов может сделать только сам пользователь. Седьмой шаг включает работы по выбору конечного результата, если Интеллсист вывела альтернативные ответы, по созданию окончательных отчетов о проделанной работе, за исключением тех случаев, когда итоговые отчеты предусмотрены знаниями, заложенными, например, в БЗ. Возможно, что “отчета” Интеллсист о результатах работы будет достаточно для удовлетворения поиском нового знания. В противном случае отчет исполняет либо сам пользователь, либо отчет предусмотрен как результат работы Интеллсист по специальным знаниям в БЗ “Отчетность” или по стандартной форме. Не исключено, что разрешение запроса будет частично или полностью неудовлетворительным, тогда может возникнуть необходимость ввода дополнительных фактов или знаний. В этом случае весь процесс формализации может повториться, при подключении новых терминов или их связей между собой или с фактами.


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


Каждого пользователя волнует проблема области применения Интеллсист. Действительно это важное обстоятельство. Сразу же повторимся, что область применения во многом определяется наполнением БЗ, которая является логической программой класса задач. БЗ состоит из четырех уровней. Встроенные знания являются основой для решения простых задач любой природы. Фундаментальные знания (второй уровень), которые встраиваются в каждую версию Интеллсист по требованию пользователя, обеспечивает его более важными знаниями из арсенала школы или вуза. Конечно, для пользователя нужны знания по специальности. Для этого созданы специальные БЗ (третий уровень), приобретение которых позволяет вместе со встроенными и фундаментальными знаниями решать конкретные задачи ограниченной специальностью области знания. Четвертый уровень может возникнуть при формировании знаний в самом запросе. Например, задачи выбора меню обеда не могут решаться на основе первых двух уровней знаний. Для таких задач необходимо ввести БЗ с именем, например, “Поваренная книга” или анкету, которая запрашивает запас продуктов и пожелания по меню обеда.


Можно сделать такой вывод: массовые задачи решаются на основе школьных и вузовских знаний. Для решения специальных задач необходима соответствующая БЗ. Примеры задач, решаемых на основе баз знаний (без специализированной БЗ), будут, хотя и модельно, сопровождать весь текст тома.


0.3. Шаги в исследованиях пользователя с применением Интеллсист. Кроме указанных шагов формализации знаний необходимо помнить о последовательности в проведении исследований по своей проблеме, которые должны обеспечить систематический путь к цели. Шаги исследований и формализации практически могут быть перемешаны или чередоваться с целью уточнения понятий или знаний. Анализ процессов исследования приводит к рассмотрению следующих шагов применения Интеллсист в исследованиях.


Первый (начальный) шаг исследований характеризуется полной или почти полной неопределенностью по данным, величинам или операциям. Область знаний считается известной пользователю. БЗ также либо известна, либо заимствована из другой области знаний, либо может быть разработана на основе имеющихся у пользователя знаний. В этих условиях можно начать применение Интеллсист с неопределенными данными, величинами или операциями (объектами). По ответам или вопросам Интеллсист на начальные запросы можно выяснить, какие объекты необходимо определить, чтобы продвинуться дальше. Теперь пользователь может осуществить уточнение своих запросов или БЗ. Судя по результатам прогона первых запросов, на первом шаге выясняются самые общие структуры объектов, уточнятся типы данных или определятся свойства некоторых из объектов. На начальном этапе исследований необходимо крайне осторожно формировать запросы. Если они будут содержать запросы на конкретные неизвестные данные или факты, то Интеллсист будет больше задавать вопросы о пополнении БЗ, чем отвечать на поставленные вопросы. Интеллсист может формировать два сорта вопросов: первый - о необходимости уточнения утверждений (о порядке выполнения операций во фразе), второй - о недостающем знании, когда Интеллсист не может выводить новые факты, в ответах системы содержатся фразы, не раскрытые с точностью до факта. Нельзя составлять запрос о решении дифференциального уравнения, если само уравнение известно только в форме закона физики. Исследователю такие ситуации известны, и необходимо вспоминать о них на начальных стадиях исследований.


На первом шаге будут решаться задачи на установление истинности утверждений, на построение информационных структур или схем, на поиск начальных характеристик понятий или на разработку аналитических методов решения конкретных задач. Едва ли стоит ожидать получение конкретных числовых результатов. Особо следует сказать для программиста. Его начальная программа или даже блок-схема программы может быть выдана в результате логического вывода. Конечно, она выполниться не может, но позволит программисту понять, как продвигать программу дальше. Заготовка программы будет записана на заказанном языке программирования.


Второй шаг исследований связан с поиском недостающего знания об объектах, которые надо извлечь из литературы, опытных или экспериментальных действий или от специалистов (консультантов). Дополнительные знания должны пополнить БЗ. Пополнение БЗ осуществляется либо непосредственно в БЗ, если она создавалась исследователем (пользователем), либо в раздел запроса, если БЗ приобретена на рынке знаний. Работа с запросами для Интеллсист должна продолжиться с новыми знаниями и с увеличивающимся набором заданий. При этом может проявиться процедура отладки знаний в связи с расширением БЗ. Набор запросов должен быть представительным, т.е. отражать всю область конкретных исследований. Недостающее знание может выводиться в процессе применения Интеллсист, если заведомо аккуратно формировать запросы. Например, если пользователю неизвестны формулы для вычисления корней квадратного уравнения, то запись уравнения в запросе с параметрическими коэффициентами приведет к получению в результате искомых формул, которые включают в себя параметры. Если пользователь забыл правила вычисления производных сложных функций, то аналитический вывод производных можно поручить Интеллсист (если используется фундаментальная БЗ) в форме запроса на применение правил дифференцирования (например, diff(F(X, Y) / G(X, Y))). В результате второго шага расширяется круг решаемых задач с получением конкретных выражений или даже числовых результатов.


Третий шаг исследований связан с переходом от представительских запросов к фундаментальным запросам самого исследования. При этом БЗ уже не пополняется существенно. Она может частично корректироваться при обязательном выполнении процедур отладки знаний. Процедура отладки реализуется автоматически. Здесь под отладкой знаний подразумеваются возможные изменения и проверка части БЗ. Если все знания отлажены, выявлены все взаимосвязи понятий и исходные данные, то можно приступать к передаче на решение конечных заданий с целью получения конкретных результатов. В лучшем случае Интеллсист выведет альтернативы совместных фактов, а в худшем - программы для вычислений (понятия в лучшем или в худшем надо понимать относительно). Процесс исследований с помощью Интеллсист также может оказаться кибернетическим. Каждый шаг не исключает повторное прохождение предыдущих шагов. Возникают циклы в исследовании проблемы пользователя. Выполнение шагов исследований может привести к выполнению шагов по формализации знаний.


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


Теперь имеется представление о практической работе над формализацией знания и последовательностью вхождения в Интеллсист и проведения исследований. Переход к регулярному исполнению запросов пользователя система может указать (и о чем сказано кратко выше) на возврат к шагам формализации или к шагам практики исследования с помощью Интеллсист. Это важно еще раз подчеркнуть, поскольку работа со знаниями имеет существенные отличия от работ с программами. Однажды составленная подпрограмма или целая программа может стать библиотечной и готовой к применению почти в любом контексте, в любой другой программной системе. Знания могут развиваться (с приобретением новых сведений о предметной или проблемной областях) и приводить к пересмотру лексикона или БЗ. Аналогичные изменения в программировании потребуют значительных затрат времени и средств. Исследование может завершиться либо получением нового знания об объектах (уточнение данных, новые определения величин или операций, выявление новых соотношений различных объектов), либо построением новых зависимостей объектов, либо созданием программы для регулярной эксплуатации с различными исходными данными. Следует обратить внимание на тот факт, что шаги формализации и шаги исследования довольно тесно связаны. Шестой и седьмой шаги формализации имеют аналоги с последующими (пятым, шестым или седьмым) шагами исследования. В этом нет ничего неожиданного, поскольку исследования продолжаются и после получения конкретных результатов разрешения последовательности запросов.


0.4. Шаги в технологии интеллектуального программирования. Такие шаги в технологии ИП в значительной мере совпадают с шагами формализации в работе со знаниями. Поэтому кратко можно повторить лишь то, что было сказано в разделе 0.2, шаги в технологии ИП сводятся или состоят главным образом из шагов процесса формализации. Здесь кратко укажем на существенные различия двух направлений в программировании.


Различие процедурного и интеллектуального программирования состоит в том, что процедурное программирование требует (если говорить по крупному) три фундаментальных работ:

- изобретание идентификаторов - условных имен величин, которые определяют в соответствии с заданием и описанием предметной и проблемной областей с ограничениями, продиктованными ФЯ программирования. Причем идентификаторы размещаются в программе по уровням с целью экономии памяти. С помощью идентификаторов решается проблема организации потоков данных.

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

- изобретание потока управления (перехода от одного потока операций к другому) или потока последовательностей операций (поток управления) в соответствии с методами решения задачи или порядком перебора вариантов. Именно ошибочность выбора потока управления является самым трудным местом в отладке программ. Здесь работа связана с формированием потоков данных и операций, построение блок-схем передачи данных и блок-схем передач управления, а также деревьев для формул или графа как модели потока.


ИП исключает изобретание идентификаторов, а использует уже известные термины, хотя и не исключается работа по изобретанию терминов в разработках БЗ или конкретных запросов. Чаще всего термины известны. Когда Интеллсист синтезирует программу, она изобретает идентификаторы автоматически, но они скрыты от пользователя. ИП почти полностью исключает работу по созданию последовательностей операций, а исходные последовательности заданы в исходной или математической постановке задачи. Таким образом, в ИП важны потоки данных и операций, выраженных во фразах или фразами, но исключается из процесса ИП изобретание потоков управления. Причем потоки операций полностью соответствуют заданию, математической постановке задачи или требованиям на решение задачи.


Указанные различия двух направлений программирования определяют различия в их технологии. В ИП главное место занимает отладка знаний, что в процедурном программировании содержится только косвенно в формальных правилах ФЯ. Технология ИП будет рассмотрена подробнее в томе 7 вместе с показом операций на терминалах ВМ.


  1   2   3   4   5   6   7   8   9   ...   30

Похожие:

В семи томах том Представление знаний (Структуры данных) iconВ семи томах том Интеллектуальные системы (Системы решения проблем)
Интеллсист, их структуры и технологии работы с инструментарием составляют центральную часть тома. Оценка возможностей Интеллсист...
В семи томах том Представление знаний (Структуры данных) iconВ семи томах том Основы информатики (Введение в информатику)
Вм на основе своих общих и профессиональных знаний без привлечения программистов для решения задач, для разрешения вопросов или проблем...
В семи томах том Представление знаний (Структуры данных) iconСобрание сочинений в семи томах 3 «Собрание сочинений в семи томах»: Время; 2008
Собрание сочинений М. М. Зощенко — самое полное издание прозы одного из крупнейших писателей-новаторов XX века. В него входят практически...
В семи томах том Представление знаний (Структуры данных) iconИнформатика в семи томах
Излагаемые методы частично модифицированы по сравнению с их оригинальным изложением для их ориентирования и усиления при использовании...
В семи томах том Представление знаний (Структуры данных) iconТеоретические вопросы к курсовой работе по дисциплине «Структуры и алгоритмы обработки данных»
Основные понятия и определения (данные, тип, структура данных, понятие логической и физической структуры, уровни представления и...
В семи томах том Представление знаний (Структуры данных) iconПрограмма междисциплинарного государственного экзамена по специальности 230105 программное обеспечение вычислительной техники и автоматизированных систем понятие дескриптора структуры данных.
Понятие дескриптора структуры данных. Статические структуры данных. Методы размещения и доступ к отдельным элементам
В семи томах том Представление знаний (Структуры данных) iconРавительство республики башкортостан академия наук республики башкортостан история башкирского народа в семи томах том V уфа гилем 2010
Российская академия наук Уфимский научный центр ■ Институт истории, языка и литературы
В семи томах том Представление знаний (Структуры данных) iconЬство республики башкортостан академия наук республики башкортостан история башкирского народа в семи томах том VI москва восточная литература 2011
Российская академия наук Уфимский научный центр Институт истории, языка и литературы
В семи томах том Представление знаний (Структуры данных) icon: 001. 8 О представлении данных и знаний для интеллектуального анализа социологических данных
Предлагаемое представление позволяет реализовать интеллектуальный анализ социологических данных в интеллектуальных системах типа...
В семи томах том Представление знаний (Структуры данных) iconВ семи томах том Информатика смысла Машинная лингвистика
Семантическая и распознающая грамматики связаны между собой как алгоритм и средства его реализации. Основой для контроля правильности...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница