Наибольшей эффективности современные интеллектуальные системы достигают при реализации их как интегрируемых систем, объединяющих различные модели и методы представления и оперирования знаниями, а также механизмы приобретения (извлечения) знаний из различных источников.
Актуальность данной темы заключается в том, что извлечение данных может происходить путем простого диалога, не требующий никаких дополнительных знаний.
Данная работа посвящена реализации метода извлечения знаний диалог.
Объектом курсовой работы является метод извлечение знаний «диалог». Предметом курсовой работы является извлечение знаний методом «диалог».
Целью курсовой работы является изучение метода извлечения знаний «диалог», создание программной системы автоматизирующей данную методику и закрепление знаний, полученных в процессе изучения дисциплины «Интеллектуальные информационные системы».
Достижение указанной цели будет осуществляться путем решения следующих основных задач:
Описание предметной области.
Раскрытие понятий «метод извлечения данных», изучение коммуникативных методов с акцентом на метод «диалог».
Формализация метода диалога.
Разработка программного приложения.
Практическая значимость данной темы заключается в приобретении навыков формирования и извлечения знаний путем выбранного метода извлечения знаний.
Разработанная система должна характеризироваться тем, что диалог ведется в терминах проблемной области и на выходе пользователь получает конечный результат, являющийся целью его общения с программным приложением.
Структура курсовой работы включает в себя следующие разделы: введение, теоретическую часть, а именно описание предметной области и описание метода извлечения знаний, формализацию метода диалог, компьютерную реализацию метода и заключение.
Во введении обосновывается актуальность избранной проблемы, ее практическая значимость, определяется логическая последовательность выполнения задач, а так же что является объектом и предметом курсовой работы.
Теоретическая часть делится на две главы. В первой описывается выбранная предметная область, во второй описывается выбранный метод извлечения данных.
В разделе формализация метода описывается проектирование метода в виде графиков, алгоритмов, дерева иерархии.
Раздел компьютерная реализация делится еще на два раздела, в которых описывается разработка самой системы и в итоге ее тестирование.
В заключении курсовой работы следует описать выводы, полученные студентом на этапах разработки системы.
Данная курсовая работа написана 23 страницы, содержит 16 рисунков, 23 используемых источников, и 1 приложение на 6 страниц.
Предметной областью данной работы является выбор чая. Что бы понять, о чем в дальнейшем будет идти речь, проведем общую характеристику нашей предметной области.
Чай - напиток, получаемый варкой, завариванием и/или настаиванием листа чайного куста, который предварительно подготавливается специальным образом.В строгом смысле слова, чай – это напиток из листьев чайного куста и только его[21].
При выборе чая главными критериями являются:
чистый и натуральный вкус, без примесей
Сильный природный аромат при заваривании, который долго сохраняется в пустой горячей чашке;
многогранность оттенков вкуса (различные «медовые», «ореховые», «цветочные», «молочные» оттенки в зависимости от сорта);
ярко выраженное послевкусие, которое держится довольно продолжительное время;
способность завариваться многократно при традиционном китайском заваривании, - чай должен выдерживать как минимум 6 проливов, а зачастую и гораздо больше;
оздоровительное влияние на организм вообще и пищеварительную систему в частности. только качественный и настоящий чай по-настоящему полезен для здоровья!;
эффект расслабления, прилива энергии или другие - в зависимости от сорта чая и индивидуального восприятия (подробнее о действии чая - в этой статье)
Можно ли рассчитывать, что компьютер когда-либо сможет извлекать знания из текста на естественном языке?
Тема извлечения знаний привлекает внимание учёных как в Европе, так и во всём мире. Изучением данной темы занимаются У. Файяд, Г. Пятетский-Шапиро, Т. Гаврилова, Л. Григорьев, П. Смит, Дж. Сейферт, В. Фроли, Ц. Матеус, Е. Монк, Б. Вагнер, С.Хааг и др[10].
Data Mining переводится как «добыча» или «раскопка данных». Нередко рядом с Data Mining встречаются слова «обнаружение знаний в базах данных» (knowledge discovery in databases) и «интеллектуальный анализ данных». Их можно считать синонимами Data Mining. Возникновение всех указанных терминов связано с новым витком в развитии средств и методов обработки данных [5].
Многообразие задач, ситуаций и источников знаний обусловило появление большого количества методов извлечения, приобретения и формирования знаний. Первый класс образуют коммуникативные методы, которые ориентированы на непосредственный контакт инженера по знаниям с экспертом (источником знаний), второй класс — текстологические методы, основанные на приобретении знаний из документов и специальной литературы.
Метод диалог относится к коммуникативным методам.
Диалог - самостоятельный или дополнительный метод исследования, применяемый с целью получения необходимой информации или разъяснения того, что не было достаточно ясным при наблюдении. Диалог проводится по заранее намеченному плану с выделением вопросов, требующих выяснения[7].
Квалифицированная подготовка к диалогу помогает аналитику стать истинным драматургом, т.е. запланировать гладкое течение процедуры извлечения знаний: приятное впечатление в начале беседы с переходом к профессиональному контакту через пробуждение интереса и завоевание доверия эксперта. Для поддержания желания специалиста продолжать беседу полезны бывают «поглаживания» (в терминологии Э. Берна), т.е. подбадривающие собеседника фразы-вставки: «Я Вас понимаю...», «...это очень интересно» и т. п. Так, в одном из исследований по технике ведения профессиональных журналистских диалогов экспериментально доказано, что одобрительное и поощрительное «хмыканье» интервьюера увеличивает длину ответов респондента. При этом одобрение должно быть искренним, как показал опрос интервьюеров Института демоскопии Германии: «Лучшая уловка — это избегать всяких уловок: относиться к опрашиваемому с истинным человеколюбием, не с наигранным, а с подлинным интересом». Чтобы разговорить собеседника, можно сначала рассказать о себе, о своей работе и т.д[7].
Достоинства метода: гибкость, обратная связь, возможность изменения сценария и формы сеанса.
Недостатки метода: требует от аналитика высочайшего напряжения, отсутствие формальных методик проведения, трудность протоколирования результатов.
В свободном диалоге важно выбрать правильный темп или ритм беседы: без больших пауз, так как специалист может отвлечься, но и без «гонки», иначе оба участника быстро утомляются и нарастает напряженность; кроме того, некоторые люди говорят и думают медленно. Умение чередовать разные темпы, напряжение и разрядку в беседе существенно влияет на результат[12].
Подготовка к диалогу, так же, как и к другим активным методам извлечения знаний, включает составление плана проведения сеанса, в котором необходимо предусмотреть следующие стадии:
Начало беседы (знакомство, создание у специалиста предприятия «образа» аналитика, объяснение целей и задач работы).
Диалог по извлечению знаний.
Заключительная стадия (благодарность за потраченное время, подведение итогов, договоренность о последующих встречах).
Диалог предполагает:
уникальность каждого партнера и их принципиальное равенство друг другу;
различие и оригинальность их точек зрения;
ориентацию каждого на понимание и на активную интерпретацию его точки зрения партнером;
ожидание ответа и его предвосхищение в собственном высказывании;
взаимную дополнительность позиций участников общения, соотнесение которых и является целью диалога».
Диалог как метод может быть представлен формализованным и неформализованным. Формализованный диалог предполагает, как стандартизированную постановку вопросов и регистрацию ответов на них, что позволяет быстро группировать и анализировать полученную информацию так и неформализованный диалог предполагает проводить по не жестко стандартизированным вопросам, что дает возможность последовательно ставить дополнительные вопросы, исходя из сложившейся ситуации. В ходе диалога этого вида, как правило, достигается более тесный контакт между исследователем и респондентом, что способствует получению наиболее полной и глубокой информации.
В данном примере будет использоваться неформализованный диалог. Первая часть блок-схемы работы программы в режиме диалога представлена в виде дерева иерархии на рисунке 2.1, а продолжение дерева иерархии представлено на рисунке 2.2. Проектирование дерева иерархии выполнялось в графическом редакторе Microsoft Visio.
Microsoft Visio — векторный графический редактор, редактор диаграмм и блок-схем для Windows. Это мощное решение для создания диаграмм, которое позволяет упростить и связать информацию, а также поделиться ей. Microsoft Visio обладает мощным интерфейсом со множеством опций для создания собственных методов организации информации[23].
Оно идеально подходит для ИТ-специалистов, разработчиков и аналитиков (например, связанных с бизнес-процессами, кадрами и управлением), которым требуется интерпретировать, обновлять и передавать сложную информацию о процессах, инфраструктуре и приложениях[23].
Visio предоставляет мощные средства для создания графических диаграмм и работы с данными без художественных или технических навыков. Создаете ли вы организационную диаграмму, сетевую диаграмму или диаграмму процессов, вы можете получить нужное изображение с помощью готовых фигур.
Рисунок 1 – Первая часть дерева иерархии диалога
Рисунок 2 – Вторая часть дерева иерархии диалога
Диалог - самостоятельный или дополнительный метод исследования, применяемый с целью получения необходимой информации или разъяснения того, что не было достаточно ясным при наблюдении. Диалог проводится по заранее намеченному плану с выделением вопросов, требующих выяснения.
Необходимо написать программный код, реализующий блок-схему работы программы в режиме диалога. Сам диалог будет реализован в виде чат-бота.
Чат-бот (англ. chatterbot) – это компьютерная программа-собеседник, которая создана для имитации речевого поведения человека при общении с одним или несколькими собеседниками. Чат-бот может обладать своего рода искусственным интеллектом и способностью к обучению. А может быть простым эмулятором, способным адекватно реагировать на определённые слова и фразы.
Данный чат-бот реализован с среде разработки IntelliJ IDEA на языке программирования Java.
IntelliJ IDEA - интегрированная среда разработки программного обеспечения на многих языках программирования, в частности Java, JavaScript, Python, разработанная компанией JetBrains[19].
Java представляет собой объектно-ориентированный язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java, и с каждым днем число таких веб-сайтов и приложений увеличивается[19].
Первым шагом необходимо реализовать интерфейсную оболочку. Для этого импортируем три библиотеки: java.awt, java.awt.event, javax.swing, они необходимы для того чтобы работала графика.
На языке Java все программы являются классами. В каждом классе Java может существовать метод main, который объявляется следующим образом:
public static void main(String[] args) { new SimpleChatBot(); }
Этот метод срабатывает тогда, когда программа запускается.
Для отображения формы используем константы, каждая из которых начинается со слова final, то есть это объявление переменной которая не будет изменяться. Final string - объявление неизменяемой строки, final int - объявление неизменяемой целочисленной переменной.
Рисунок 3 – Объявление констант
Для того что бы работала кнопка отправки сообщения на форме, необходимо реализовать следующий программный код.
Рисунок 4 – Программный код для работы кнопки
Далее для работы самого диалога необходимо прописать следующий программный код (рис. 3.5)
Рисунок 5 – Формирование вопросов
Рисунок 6 – Формирование ответов
Для того, чтобы программа работала необходимо создать базу данных, из которых и будут браться вопросы и возможные варианты ответа. База данных создаваться будет в программной среде Open Server.
База данных называется «dialog» с таблица «question» и «answears». Таблица вопросов представлена на рисунке 7.
Рисунок 7 – Вид вопросов в таблице
На следующем рисунке представлена таблица возможных вариантов ответа эксперта.
Рисунок 8 – Возможные варианты ответа
После разработки необходимо протестировать программу.
После написания программы необходимо выполнить тестирование всех ее исходных вариантов. Так как предметной областью является тема выбора чая, то при выборе других вариантов программа, в данном случае, не сможет продолжить диалог.
Рисунок 9 – Вариант выбора другой тематики
Далее выберем все же тематику чая и ответим на заданный вопрос, что любим чай. После этого программа пойдет по другому алгоритму и перейдет к следующему вопросу.
Так как чай может быть в пакетированном или листовом виде, то в следующем вопросе «В каком виде предпочитаете пить чай?», мы, предположим, напишем, что предпочитаем пакетированный чай. Тогда программа задаст следующий вопрос связанный с пакетированным чаем.
Рисунок 10 – Вариант выбора пакетированного чая
Далее будет обобщенный вопрос «В какой упаковке покупаете чай?» и разветвленный вопрос «Какой страны производителя чая Вы предпочитаете?». Напишем, что Китай, тогда система задаст следующий вопрос. Исходя из ответа вопрос будет звучать следующим образом «Какой китайский производитель чая Вам больше всего нравится?» (рис. 11).
Рисунок 11 – вариант выбора китайского производителя
Суть метода в том, что бы анализировать диалог и прийти к какому-то результату, поэтому в конце система задает вопрос «Хотите вывести отчет?». Ответив «да», система выведет результат (рис. 12).
Рисунок 12 – Согласие на вывод отчет
В случае если эксперт ответит «нет», то система завершит диалог (рис. 13).
Рисунок 13 – завершение диалога
Рассмотрим другой вариант развития событий. К примеру, мы выбрали зеленый чай, из добавок предпочитаем лимон и завариваем чай в листья, то есть листовой (рис.14).
Далее напишем в каком виде предпочитаем чай, в какой упаковке покуем чаще чай, после который последует разветвленный вопрос, про производителя, где напишем, что предпочитаем производителя Россию (рис.15).
Рисунок 14 – Вариант выбора листового чая
Рисунок 15 – Выбор производителя
Далее по желанию мы можем вывести отчет. В нашем варианте, мы написали, что хотим вывести отчет (рис.16).
Рисунок 16 – вывод результата диалога
Задачей программной реализации было реализовать одно разветвление дерева иерархии по предметной области.
Таким образом программа анализирует введенный ответ и на основе его конструирует следующий вопрос, и в итоге выводи отчет по желанию эксперта.
ЗаключениеТаким образом, интеллектуальная информационная система - это компьютерная модель интеллектуальных возможностей человека в целенаправленном поиске, анализе и синтезе текущей информации об окружающей действительности для получения о ней новых знаний и решения на этой основе различных жизненно важных задач.
Целью курсовой работы являлось изучение метода извлечения знаний «диалог», создание программной системы автоматизирующей данную методику и закрепление знаний, полученных в процессе изучения дисциплины «Интеллектуальные информационные системы».
Для ее достижения были решены следующие задачи:
Была описана предметная область и метод извлечения знаний «диалог».
Было разработано дерево иерархии по предметной области, для упрощения реализации программы.
Реализована программа языком программирования java, представляющая способ извлечения и анализа данных.
Было совершено подробное тестирование программы.
Разработанная система в итоге характеризируется тем, что диалог ведется в терминах проблемной области и на выходе пользователь получает конечный результат, являющийся целью его общения с программным приложением.
В данной работе были подробно описаны все этапы, которые необходимо реализовать на пути к получению программной системы – компьютерной реализации метода извлечения знаний. А также приведен подробный пример использования программы для извлечения знаний метода «диалог».
В заключении следует подвести итоги совершенной работы. Были закреплены теоретические знания, полученные в процессе изучения дисциплины «Интеллектуальные информационные системы». Предметная область была подробно описана и структурирована на разделы, был описан метод извлечения знаний, была описана формализованная модель и подробная блок-схема, было создано приложение, автоматизирующее разработанную формализованную методику.
Все требования и задачи были выполнены. Данный проект масштабируемый так как хранит в себе алгоритм работы и базу знаний.
Список использованных источниковАндерсен В. Базы данных Microsoft Access. Проблемы и решения: Практ. пособ. /Пер. с англ.— М.: Издательство ЭКОМ, 2001.—384 с.: илл.
Глухих, И. Н. Интеллектуальные информационные системы : учеб. пособие для студентов учреждений высш. проф. образования / И. Н. Глухих ; М-во образования и науки Рос. Федерации, Тюм. гос. ун-т. - М. : Академия, 2012. - 110 с.
Ефимов, Е. Н. Информационные системы и технологии в экономике : учеб. пособие для студентов, обучающихся по специальностям "Мировая экономика", "Бухгалт. учет, анализ и аудит" и "Финансы и кредит" / Е. Н. Ефимов, Е. В. Ефимова, Г. М. Лапицкая ; под ред. Г. М. Лапицкой. - Ростов н/Д : МарТ: Феникс, 2012. - 296 с.
Ясницкий, Л. Н. Введение в искусственный интеллект : учеб. пособие для студентов вузов, обучающихся по мат. направлениям и специальностям / Л. Н. Ясницкий. - 3-е изд., стер. - М. : Академия, 2013. - 175 с.
Боженюк, А. В. Интеллектуальные интернет-технологии : учеб. для студентов вузов, обучающихся по специальности "Прикладная информатика (по обл.)" и др. специальностям / А. В. Боженюк, Э. М. Котов, А. А. Целых. - Ростов н/Д : Феникс, 2012. - 382 с.