Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_6 all.docx
Скачиваний:
33
Добавлен:
13.03.2015
Размер:
338.17 Кб
Скачать

4. Применение языка пролог в области искусственного интеллекта.

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

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

В 1950 году Алан Тьюринг в статье «Вычислительная техника и интеллект» (книга «Может ли машина мыслить?») предложил эксперимент, позднее названный «тест Тьюринга», для проверки способности компьютера к «человеческому» мышлению. В упрощенном виде смысл этого теста заключается в том, что можно считать искусственный интеллект созданным, если человек, общающийся с двумя собеседниками, один из которых человек, а второй — компьютер, не сможет понять, кто есть кто. То есть в соответствии с тестом Тьюринга, компьютеру требуется научиться имитировать человека в диалоге, чтобы его можно было считать «интеллектуальным».

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

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

Пример. Создадим программу, имитирующую разговор психотерапевта с пациентом. Прообразом нашей программы является «Элиза», созданная Джозефом Вейценбаумом в лаборатории искусственного интеллекта массачусетского технологического института в 1966 году (названная в честь Элизы из «Пигмалиона»). Она была написана на языке Лисп и состояла всего из нескольких десятков строк программного кода. Эта программа моделировала методику известного психотерапевта Карла Роджерса. В этом подходе психотерапевт играет роль «вербального зеркала» пациента. Он переспрашивает пациента, повторяет его слова, позволяя ему самому найти выход из сложившейся ситуации, прийти в состояние душевного равновесия.

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

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

Наша программа будет действовать по следующему алгоритму.

  1. Попросит человека описать имеющуюся у него проблему.

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

  3. Попытается подобрать шаблон, которому соответствует введенная человеком строка.

  4. Если удалось — выдаст соответствующий этому шаблону ответ пользователю.

  5. Если подобрать шаблон не удалось — попросит продолжать рассказ.

  6. Возвращаемся к пункту 2 и продолжаем процесс.

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

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

При реализации этого предиката нам понадобится три вспомогательных предиката.

Первый предикат будет преобразовывать прописные русские буквы в строчные, а все остальные символы оставлять неизменными. У него будет два аргумента: первый (входной) — исходный символ, второй (выходной) — символ, полученный преобразованием первого аргумента.

При написании данного предиката стоит учесть, что строчные русские буквы расположены в таблице символов двумя группами. Первая группа (буквы от'а' до 'п') имеют, соответственно, коды от 160 до 175. Вторая группа (буквы от 'р' до 'я') — коды от 224 до 239.

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

Инструменты интеллектуальной обработки информации являются частью систем поддержки принятия решений (СППР).

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

Среди специальных технологий, ориентированных на аналитическую обработку информации можно выделить следующие:

  • технология хранилища данных (Data Warehouse)

  • технология оперативной аналитической обработки (OLAP) – подходит для понимания ретроспективных (обращенный к прошлому, посвященный рассмотрению прошлого.) данных.

  • технология добычи знаний (Data Mining) – опирается на ретроспективные данные для получения ответов на вопросы о будущем.

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

  • Хранилище - Предметно-ориентированный, интегрированный, привязанный ко времени и неизменяемый набор данных, предназначенный для поддержки принятия решений.

Рисунок 1 – Типичная архитектура ХД

Концепция хранилища: технология, способная удовлетворить требования СППР и базирующаяся на информации, поступающей из нескольких различных источников данных. Конечная цель создания ХД - интеграция корпоративных данных в едином репозитории, обращаясь к ко­торому пользователи могут составлять запросы, выполнять анализ данных и генерировать отчеты.

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

Пользовательские инструменты доступа к данным можно разбить на следующие основные группы:

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

  • инструменты информационной системы руководителя (Executive Information System — EIS);

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

  • средства Data Mining (добычи знаний). Добыча знаний — это процесс открытия новых осмысленных корреляций, распределений и тенденций путем переработки огромного количества информации извлеченной из хранилища данных, с использованием статистических и математических методов, а также методов искусственного интеллекта.

  • Data Mining - это процесс поддержки принятия решений, основанный на поиске в данных скрытых закономерностей (шаблонов информации).

  • Data Mining - это процесс обнаружения в сырых данных практически полезных и доступных интерпретации знаний, необходимых для принятия решений в раз­личных сферах человеческой деятельности.

  • Data Mining - это процесс выделения из данных неявной и неструктурированной информации и представления ее в виде, пригодном для использования.

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

Данные. При интеллектуальной обработке информации данные представляются как объекты, описываемые как набор атрибутов.

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

Атрибут - свойство, характеризующее объект, Например, доход человека, цена товара, температура воды и т.д.

Атрибут также называют переменной, полем таблицы, измерением, характеристикой.

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

Генеральная совокупность (population) - вся совокупность изучаемых объектов,

интересующая исследователя.

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

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

получить интересующую информацию на ее основании.

Переменные могут являться числовыми данными либо символьными.

Числовые данные, в свою очередь, могут быть дискретными и непрерывными.

Дискретные данные являются значениями признака, общее число которых конечно либо бесконечно, но может быть подсчитано при помощи натуральных чисел от одного до бесконечности. Например, продолжительность маршрута троллейбуса (количество вариантов продолжительности конечно): 10, 15, 25 мин.

Непрерывные данные - данные, значения которых могут принимать какое угодно значение в некотором интервале. Измерение непрерывных данных предполагает большую точность. Пример непрерывных данных: температура, высота, вес, длина и т.д.

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

  • номинальная - только категории (профессия)

  • порядковая - числа присваивают объектам для обозначения относительной позиции объектов (место в рейтинге),

  • интервальная (температура воды в море утром и вечером),

  • относительная - есть определенная точка

отсчета и возможны отношения между значениями шкалы (Цена на *** в супермаркете выше в 1,2 раза, чем на базаре),

  • дихотомическая - только две категории (муж, жен).

Метаданные (Metadata) - это данные о данных. В состав метаданных могут входить: каталоги, справочники, реестры.

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

Различают бизнес-метаданные и оперативные метаданные.

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

Оперативные метаданные - это информация, собранная во время работы хранилища данных. Происхождение перенесенных и преобразованных данных, статус использования данных, данные мониторинга ( статистика использования, сообщения об ошибках) и т.д.

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

6. Задачи интеллектуального анализа: классификация, кластеризация, ассоциация, последовательность, прогнозирование, определение отклонений или выбросов, оценивание, анализ связей, визуализация.

Задачи Data Mining также называют закономерностями.

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

Другими словами, предсказание категориальной зависимой

переменной (т.е. зависимой переменной, являющейся категорией) на основе выборки непрерывных и/или категориальных переменных.

Классификация может быть одномерной (по одному признаку) и многомерной (по двум и более признакам).

Кластеризация является логическим продолжением идеи классификации и заключается в том, что классы объектов изначально не предопределены. Результатом кластеризации является разбиение объектов на группы.

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

Цель кластеризации - поиск существующих структур.

Ассоциация - поиск закономерности между связанными событиями в наборе данных. Поиск закономерностей осуществляется не на основе свойств анализируемого объекта, а между несколькими событиями, которые происходят одновременно. (65 % купивших кукурузные чипсы берут также и «кока-колу», а при наличии скидки за такой комплект «колу» приобретают в 85 % случаев.)

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

Например, после покупки дома в 45% случаев в течение месяца приобретается и новая кухонная плита.

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

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

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

Оценивание - сводится к предсказанию непрерывных значений признака.

Анализ связей - нахождение зависимостей в наборе данных.

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