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

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

Журнал: Экономика и социум @ekonomika-socium

Статья в выпуске: 1 (44), 2018 года.

Бесплатный доступ

В данной статье описана программная реализация алгоритма метода извлечения знаний «диалог», выбор средств программирования.

Метод извлечения знаний, диалог, чат-бот, база знаний

Короткий адрес: https://sciup.org/140235880

IDR: 140235880

Realization of the algorithm of method of extraction of knowledge "dialog"

This article describes the software implementation of the algorithm for extracting knowledge "dialogue", the choice of programming tools.

Текст научной статьи Реализация алгоритма метода извлечения знаний "диалог"

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 с.