Реализация алгоритма метода извлечения знаний "диалог"
Автор: Карпенко Т.А., Игрунова С.В.
Журнал: Экономика и социум @ekonomika-socium
Статья в выпуске: 1 (44), 2018 года.
Бесплатный доступ
В данной статье описана программная реализация алгоритма метода извлечения знаний «диалог», выбор средств программирования.
Метод извлечения знаний, диалог, чат-бот, база знаний
Короткий адрес: https://sciup.org/140235880
IDR: 140235880
Текст научной статьи Реализация алгоритма метода извлечения знаний "диалог"
knowledge base.
Необходимо написать программный код, реализующий блок-схему работы программы в режиме диалога. Сам диалог будет реализован в виде чат-бота.
Чат-бот (англ. chatterbot) – это компьютерная программа-собеседник, которая создана для имитации речевого поведения человека при общении с одним или несколькими собеседниками. Чат-бот может обладать своего рода искусственным интеллектом и способностью к обучению. А может быть простым эмулятором, способным адекватно реагировать на определённые слова и фразы.
Данный чат-бот реализован с среде разработки IntelliJ IDEA на языке программирования Java.
IntelliJ IDEA - интегрированная среда разработки программного обеспечения на многих языках программирования, в частности Java, JavaScript, Python, разработанная компанией JetBrains[19].
Java представляет собой объектно-ориентированный язык программирования и платформу вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java, и с каждым днем число таких веб-сайтов и приложений увеличивается[19].
На языке Java все программы являются классами. В каждом классе Java может существовать метод main, который объявляется следующим образом:
public static void main(String[] args) { new SimpleChatBot(); }
Этот метод срабатывает тогда, когда программа запускается.
Для отображения формы используем константы, каждая из которых начинается со слова final, то есть это объявление переменной которая не будет изменяться. Final string - объявление неизменяемой строки, final int -объявление неизменяемой целочисленной переменной.
final String TITLE_OF_PROGRAM = "Shatter: simple chatbet";
final int START_LOCATION = 200;
final int WINDOW_WIDTH = 350;
final int WINDOW_HEIGHT = 450;
final String CHB_AI = "AI";
final String BTN_ENTER = "Enter”;
Рисунок 3 – Объявление констант
Для того что бы работала кнопка отправки сообщения на форме, необходимо реализовать следующий программный код.
public void actionPerformed(ActionEvent event) { if (message.getText().trim()-length() > 0) { try {
StyledDocument doc = dialogue.getStyledDocument();
doc.in3ertString(doc.getLength(), str: message.getText() + "\n", new SimpleAttributeSet());
doc.insertstring(doc.getLength(), str: TITLE_OF_PROGRAM.substring(0, 9) + sbot.saylnReturn(message.getText<), ai.isSelected()) + "\n", botStyle);
} catch(Exception e) { }
} message.setText("") ;
message.requestFocusInWindow();
Рисунок 4 – Программный код для работы кнопкиДалее для работы самого диалога необходимо прописать следующийпрограммный код (рис. 3.5)
final Map
put("coffe", "Извиняюсь, но с данной темой я не работаю. Если хотите продолжить общение напишите про чай”);
put ("who", "Какой Ваш любижй тип чая?");
put("list", "Что чаще всего Вы добавляете в чай?");
Рисунок 5 – Формирование вопросов final Map
put("здорово", "hello”);
put("здравствуй”, "hello”); // who риГ(”лоблЕ\\з.*чай ", "who"); put("чай", "who”);
// coffe put(”ло6ле\\з.*кофе ", "coffe"); риг("ксфе”, "coffe");
Рисунок 6 – Формирование ответов
Для того, чтобы программа работала необходимо создать базу данных,
из которых и будут браться вопросы и возможные варианты ответа. База данных создаваться будет в программной среде Open Server.
База данных называется «dialog» с таблица «question» и «answears».
Таблица вопросов представлена на рисунке 7.

Рисунок 7 – Вид вопросов в таблице
На следующем рисунке представлена таблица возможных вариантов ответа эксперта.

Рисунок 8 – Возможные варианты ответа
В конце совершенной работы можно сделать вывод, что цель достигнута и программа реализована языком программирования java, представляющая способ извлечения и анализа данных.
Разработанная система в итоге характеризируется тем, что диалог ведется в терминах проблемной области и на выходе пользователь получает конечный результат, являющийся целью его общения с программным приложением.
Список литературы Реализация алгоритма метода извлечения знаний "диалог"
- Андерсен В. Базы данных Microsoft Access. Проблемы и решения: Практ. пособ./Пер. с англ.-М.: Издательство ЭКОМ, 2001.-384 с.
- Глухих, И. Н. Интеллектуальные информационные системы: учеб. пособие для студентов учреждений высш. проф. образования/И. Н. Глухих; М-во образования и науки Рос. Федерации, Тюм. гос. ун-т. -М.: Академия, 2012. -110 с.
- Ефимов, Е. Н. Информационные системы и технологии в экономике: учеб. пособие для студентов, обучающихся по специальностям "Мировая экономика", "Бухгалт. учет, анализ и аудит" и "Финансы и кредит"/Е. Н. Ефимов, Е. В. Ефимова, Г. М. Лапицкая; под ред. Г. М. Лапицкой. -Ростов н/Д: МарТ: Феникс, 2012. -296 с.
- Ясницкий, Л. Н. Введение в искусственный интеллект: учеб. пособие для студентов вузов, обучающихся по мат. направлениям и специальностям/Л. Н. Ясницкий. -3-е изд., стер. -М.: Академия, 2013. -175 с.
- Боженюк, А. В. Интеллектуальные интернет-технологии: учеб. для студентов вузов, обучающихся по специальности "Прикладная информатика (по обл.)" и др. специальностям/А. В. Боженюк, Э. М. Котов, А. А. Целых. -Ростов н/Д: Феникс, 2012. -382 с.