- •1. Понятие об искусственном интеллекте и экспертных системах.
- •12. Системы продукций. Прямые и обратные системы продукции. Примеры применения. Разложимые системы продукций. Применение продукций в логических программах.
- •13. Реляционные модели. Основные определения. Реляционная алгебра. Возможности
- •Labdevices( computer, “ibm pc”, 10) labdevices( computer, “vax-11”, 2)
- •14. Метод резолюций. Резольвенты. Полнота метода. Отличие от классических схем вывода. Понятие о дизъюнктах. Демонстрация метода на примере дерева вывода.
- •19. Унификация. Подстановки. Композиция подстановок. Свойства композиции подстановок. Множество рассогласований.
- •20. Стратегии унификации. Пример дерева вывода стратегией “вглубь”.
- •21.Управление процессом решения в логической программе. Бэктрекинг. Отсечение. Повторение.
- •23. Декларативные и процедурные элементы Турбо-Пролога. Примеры применения в логической программе.
- •25.Обработка отношений в Турбо-Прологе. Примеры программирования композиций отношений.
- •26. Организация работы с файлами. Средства Турбо-Пролога для работы с файлами.
- •27. Динамические базы данных. Стандартные предикаты для работы с ними. Примеры применения.
- •Организация меню:
- •Vvod3:-makewindow(4,7,9," Расчёт выходов логической схемы ",0,0,25,80),
- •32. Отладка и трассировка логических программ.
- •34. Общение с эвм на языке, близком к естественному. Проблемы общения. Роль языков представления знаний в проблеме общения.
- •35. Структура лингвистического транслятора.
- •О озу бобщённая схема машины логического вывода.
34. Общение с эвм на языке, близком к естественному. Проблемы общения. Роль языков представления знаний в проблеме общения.
В конце 60-х сформировалось научное направление “Natural Language Processing” (Обработка на естественном языке). Сферой этого направления является исследование метода и разработка методов общения на естественном языке. Первоначально развитие привело к созданию систем редактирования, набора печатных материалов. Позже возникло направление, связанное с переводом одного естественного языка на другой. Создание перевода положило направление лингвистического направления. В области машинного перевода возникло много систем, развивалась система грамматик, язык. Развитие систем машинного перевода показывало сложность проблемы и недостаточность теории. С появлением систем искусственного интеллекта это направление получило новое развитие. В настоящее время рассматриваются 2 аспекта проблемы: лингвистическое и психолингвистическое. Интерес к подобным системам рос по мере развития искусственного интеллекта. В настоящее время в существующих системах можно отметить следующие направления:
языки меню;
анкетные языки;
языки приказов.
Для языков меню характерна следующая схема общения:
пользователь вводит тему;
система выводит меню, содержащее перечень регламентированных вариантов возможных действий;
при вызове варианта пользователь получает новое меню. Этот процесс продолжается пока пользователь не получит интересующий результат или ответ о невозможности получения ответа.
Схема общения для анкетного языка:
пользователь заполняет графы анкеты;
после получения всех данных, система может дать следующую анкету.
Очевидно, что система общения на меню и анкетах носит жёсткий запланированный сценарий общения, может быть многовариантым. Инициатива общения принадлежит системе.
Для языков приказа инициатива и сценарий общения находится в руках пользователя. Язык приказов является регламентированным языком (можно задавать непротиворечивые команды определённого формата) и даёт небольшие возможности для общения, так как инициатива жёстко закреплена за одним из участников.
Д
ля
более гибкого общения подходят языки,
близкие к естественному. В настоящее
время имеются схемы для такого общения.
Входным является подмножество ЕЯ (может быть типа языка предикатов). Процесс общения осуществляется через соответствующие блоки.
Идея общения.
пользователь дал указание
Блок диалога и указания принял и передал на лингвистический анализатор
Лингвистический анализатор должен понять и перевести эту фразу на язык, понятный компьютеру и передаёт в БдиУ
БдиУ передаёт эту фразу на компьютер
компьютер ищет ответ и
предаёт данные на лингвистический анализатор, который преобразует данные в естественную форму.
При отсутствии данных блок объяснений должен пояснить причины неудачи ответа в виде диалога. Если предложение правильное и неизвестно системе, то система должна дополняться через блок адаптации.
35. Структура лингвистического транслятора.
Систему общения на ЕЯ можно рассматривать как систему, состоящую из 2-х элементов:
анализ текста естественного языка (ЕЯ) на вычислительной системе (ВС);
анализ предложения ВС и перевод на ЕЯ.
Схема анализа:
распознавание правильно построенных предложения ЕЯ;
фиксация ошибок и исправлений;
декомпозиция предложения на фрагменты;
построение синтаксических структур предложения;
семантическая интерпретация фрагментов предложения ЕЯ во фрагменты машинного языка;
сборка фрагментов машинного языка описывающего некоторую конструкцию ситуации проблемной среды, которая представляется фразой ЕЯ.
Этот процесс перевода с ЕЯ на МЯ (наоборот) можно представить в 4 этапа:
морфологический анализ (синтез);
синтаксический анализ (синтез);
семантическая интерпретация;
проблемный анализ (проблемный семантический синтез).
Морфологический анализ - основа МА: выделение словоформ и для каждой словоформы – выделение списка пар х и у, где х – стандартная форма словоформы, у – подсписок значений грамматических признаков для данной словоформы.
Существует 2 метода МА:
декларативный – описываются все формы с морфологическими параметрами;
процедурный – описывается только основа и элементы слова (суффиксы,…)
Синтаксический анализ - задача: поиск окружения слов и связей слов и построение синтаксической структуры входного предложения на основе морфологической информации и синтаксических правил.
Семантическая интерпретация - осуществляется на основе СА и значения слов. На этом этапе определяется выбор предмета понятий и отношений.
Проблемный анализ - результат: получение фразы на МЯ по описанию ситуации проблемной области.
Проблемный семантический синтез.
преобразование текста МЯ так, чтобы его части соответствовали будущим связям. Результат: фрагменты МЯ, которые будут соответствовать фразам ЕЯ.
Семантическая интерпретация - выполняется интерпретация выданных фрагментов синтаксическими структурами ЕЯ. Определяется порядок следования фраз и выбираются лексемы (слова ЕЯ).
Синтаксический синтез - выбирается форма фраз и конкретизируется синтаксическая структура с учётом отношений между лексемами.
Морфологический синтез – выполняет обработку без учёта контекста.
Я - грамматическая система конструирования компонентов. Речь - общение (интуитивное использование Я). Я определяет формы письменного текста, а речь - формы устного.
Для текста выделяется следующая система элементов: морфемы, слова, словосочетания, предложения, связный текст (дискурс). Морфем - минимально значащая единица слова, не делимая на более простые (префиксы, корни, суффиксы, аффиксы). Слово - основная лексическая единица Я. Словосочетания - группы слов, имеющие смысловые связи. Предложение - грамматическая единица речи, выражающая некий факт реального мира с оттенком отношения говорящего. Текст - смысловые связи в предложении могут быть указаны явно и неявно по теме изложения. Представленные элементы Я образуют систему уровней. Каждому уровню соответствует своя система правил. Исторические группы правил: морфологические (законы сочетания морфем), синтаксические (законы сочетания слов и групп слов во фразах и предложениях), семантические (определяет содержание, правила определения смысла).
Набор правил всех уровней необходим для построения модели естественного Я (ЕЯ).
36. НС-грамматики (непосредственных составляющих) и их представление на Прологе.
Грамматика непосредственных составляющих. АW, АW, где А - нетерминальный символ, , W, - произвольные цепочки. Допустимо А, включая контекстно-зависимые и контекстно-независимые правила. НС-грамматика достаточна для описания фраз ЕЯ.
Но, как и любая порождающая грамматика, она содержит только правила образования, но не преобразования языковых выражений. Работа с языком представляет умение не только строить правила фразы, но и преобразовывать одну правильную конструкцию в другую. Порождающая грамматика оперирует с синтаксисом, но не оперируют с семантикой. То есть приходится вводить правила перехода от одних предложений к другим. Грамматика использует также правила трансформации. Основой их является: предположение о том, что порождение предложения целиком осуществляется в 2 этапа: порождается относительно простая синтаксическая структура, эта структура путем последовательного применения правил преобразования преобразуется в более сложную. Таким образом, трансформирующую грамматику можно представить формально в виде двух компонентов: НС грамматика, Т- компонент (трансформирующая)- образуемый правилами трансформации элементов одного структурного дерева в другое, семантически эквивалентное.
Одной из целей создания ПРОЛОГа было применение его в исследовании структуры ЕЯ и представления трансляторов.
ЕЯ НС-грамматика Пролог.
Правила НС-грамматики можно выразить в терминах компонентов ЕЯ.
Пример.
Предложение – именная группа глагольных грамматик;
Именная группа – прилагательное, сказуемое;
Именная группа – существительное;
Глагольная группа – глагольная группа.
Предложение(S)<-append(S, ГС, ГП), append(ГС,…)
ИГ(L0, L2):- прилаг(L0, L1), сущ(L1, L2)
37. Модели представления лингвистических знаний.
В качестве базы для формального описания языков - общепринятая теория грамматик Холмского. Основа: пусть В - непустое конечное множество - словарь или алфавит. В качестве символов могут быть использованы буквы, слова, геометрические образы и др. Произвольную конечную последовательность символов W называют цепочной в словаре V. Число символов в цепочном наборе называют длиной |W|. Множество цепочек в словаре W называют языком. Языки задаются грамматикой - это система правил, порождающая все цепочки данного языка и только их. Различают: 1) распознающие, 2) порождающие, 3) преобразующие формальные грамматики.
Для любой рассмотренной цепочке она решает, является ли данная цепочка правильной в языке (она может строить правильные цепочки языка).
Может построить любую правильную цепочку языка.
Для правильно построенной цепочки она строит ее отображение в виде правильной цепочки.
Рассмотрим класс 2). 2) может определить как четверку G=(T, P, N, S), где Т - конечное непустое множество символов, называемых терминальным (основным) алфавитом. N - конечное множество символов, называемых нетерминальным алфавитом (дополнительным), Р - конечное непустое множество правил вывода (правил продукции), S - начальный символ. Терминальный словарь представляет собой набор исходных символов, из которых строятся цепочки 2). Нетерминальный словарь - это набор символов, обозначающих классы исходных символов (подлежащее, группа сказуемых). Объединение N и Т полный словарь грамматики V=N Т.
Правила вывода: это конечное непустое множество двухмерных отношений , ""- "заменить на", , - цепочки в V. Последовательность цепочек , 0, 1, …, n, где N=, n>=1 называют выводом из , если для любого цепочка i+1 выводима из i. Длина вывода равна числу применений правил вывода. Начальный символ S - это выделенный нетерминальный символ, принадлежащий классу языковых объектов. При описании естественного языка в терминах теории формальных грамматик терминальные символы интерпретируются как слова или морфемы (мельчайшие элементарные части языка). Нетерминальные символы— названия классов слов. Цепочки символов интерпретируются как предложения естественного языка.
Пример: Т={a, b}, N={S, A, B} S=S
P={1. S=>aB, 2. S=>bA, 3. A=>aS, 4. A=> AA, 5. A=>a, 6. B=>bS, 7. B=>aBB, 8. B=>b}
S=>ab=>ab
S=>aB=>abS=>abbA=>abba
Пример: Т={ведёт, доставляет, контейнер, груз, машина, мощная, грузовая, большая}
N={C- сказуемое, П- подлежащее, О- определение, Д- дополнение, ГП- группа подлежащего, ГС- группа сказуемого, ПР- предложение}
S={ПР- предложение}
1) ПР=>(ГП) (ГС). 2) ГП=>(О) (П). 3) ГС=>(С) (Д). 4) О=>(большая, мощная, грузовая)
П=>(машина). 6) С=>(везет, доставляет). 7) Д=>(контейнер, груз).
ПР=>(ГП) (ГС) =>(О) (П) (ГС) =>(О) (П) (С) (Д) =>большая (П) (С) (Д) =>большая машина (С) (Д) => большая машина везет (Д) =>большая машина везет контейнер.
П
оследняя
цепочка является заключительной.
В теории формальных грамматик выделяют 4 класса языков, порождаемых 4-мя типами грамматик 0, 1, 2, 3.
Грамматика типа 0 - не накладывается никаких ограничений на правила вывода , где , - любая цепочка из полного словаря V.
1 - содержат правила , удовлетворяющие условиям =1A2, =1W2, где А - нетерминальный символ, а все остальные 1, 2, , W - цепочки из словаря V. Таким образом в этой грамматике отдельный нетерминальный символ А переходит в непустую цепочку W в контексте с 1 и 2. Контекстные или контекстно-зависимые грамматики.
2 - допустимы лишь правила вывода А=>W, где А нетерминальный символ, а W - любая непустая цепочка из V. Контекстно-свободные грамматики.
3 - правило вывода: А=>аВ, А=>b. Из нетерминального символа получается цепочка. А, В - нетерминальный символ, a, b - терминальные символы, все описания являются одиночными символами из соответствующего языка. Автоматные грамматики.
38. Архитектура обобщенной Пролог-машины и интеллектуальной вычислительной системы.
Существенное отличие логического программирования от традиционного – оно требует разработки новых алгоритмов, учитывающих особенности: логический вывод и переборный характер процедур вывода, операции унификации, отсечения и возврата, двунаправленная передача параметров в процедуре, нетрадиционные структуры данных. В настоящее время отсутствует установившееся мнение о структуре машины МЛВ. Для исследования спецификации архитектуры МЛВ используется пролог-машина Уорона. Идея абстрактной пролог-машины предполагает компиляцию пролог программы при этапах:
компиляция пролог-программы в последовательность команд абстрактной машины Уорона.
Интеграция команд с помощью универсальной ЭВМ.
Учитывается независимость предикатов процедур и замкнутость программы. Логическая программа замкнута, если для каждого её предиката тело утверждения содержит только такие литералы, для каждого из которых существует процедура с тем же именем. Программа на прологе – это множество процедур P={P1,P2,..,Pn}. Каждая процедура состоит из упорядоченного множества предложений. Процесс логического вывода – это просмотр последовательности выводов и унификаций. С помощью унификации происходит передача параметров, причём в двух направлениях. Возможен повтор для вызова процедур. Скомпилированный код программы состоит из последовательности кодов всех процедур. Коды процедур строятся независимо и содержат имена других вызываемых процедур. Структурно код скомпилированной программы состоит из двух частей – статической и динамической. Соответственно в памяти машины всегда есть две области. В статической области хранится непосредственно код программы, в динамической – информация о трассах логического вывода. Состояние трассы логического вывода – это множество элементов трассы T=<E1,E2>.
В состав программы логического вывода обычно входят команды установки режимов адресации, команды вызова предикатов, команды управления предикатов, которые выполняют подготовку регистров и стеков, управляет унификацией, выход из программы, команды отсечения, возврата, команды загрузки регистров и передачи аргументов, команды рекурсии, ветвления. Формат команд может быть традиционным. Одна из первых машин – Personal Sequential Interface machine(PSI). Она реализовывала язык KLQ – аналог Prolog. Содержала АЛУ, кеш, озу, преобразователь адресов, обрабатывала 40 разрядов. Имела стеки – локальные, глобальные, управляющие. Переменные сохраняются до выполнения бэктрекинга.
Канальный процессор
Внешняя память
Блок регистра
Шина внешнего
устройства
Блок адресов
Блок управления
Блок обработки
КЭШ
Глобальный стек
Локальный стек
Управляющий стек
Трейловый стек
