Реализация алгоритма метода извлечения знаний "диалог"

Автор: Карпенко Т.А., Игрунова С.В.

Журнал: Экономика и социум @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 ^NSWERS_BY_PATTEBKq = new HashMapcString, String>() {{ put("hello”, "Здравствуйте, рад Вас видеть. Давай пообщаемся? Что Вы предпочитаете пить?");

put("coffe", "Извиняюсь, но с данной темой я не работаю. Если хотите продолжить общение напишите про чай”);

put ("who", "Какой Ваш любижй тип чая?");

put("list", "Что чаще всего Вы добавляете в чай?");

Рисунок 5 – Формирование вопросов final Map PATTERNS_FOR_ANALYSIS = new HashMap() {{ // hello but("привет", "hello");

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 с.
Статья научная