ИММИТАЦИЯ СОЗДАНИЯ ЧАТ-БОТА В ВИЗУАЛЬНОЙ СРЕДЕ ПРОГРАММИРОВАНИЯ SCRATCH

XVIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

ИММИТАЦИЯ СОЗДАНИЯ ЧАТ-БОТА В ВИЗУАЛЬНОЙ СРЕДЕ ПРОГРАММИРОВАНИЯ SCRATCH

Михайлин Т.А. 1
1Муниципальное автономное учреждение дополнительного образования «Компьютерная школа»
Маклакова Н.Г. 1
1Муниципальное автономное учреждение дополнительного образования «Компьютерная школа»
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

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

Указанные доводы обусловили выбор темы проекта: «Имитация создания чат-бота в визуальной среде программирования Scratch».

Цель практического исследования: изучить возможности среды программирования Scratch для разработки чат-бота.

В соответствии с поставленной целью определены задачи практического исследования:

Ознакомиться с принципами работы чат-ботов;

Узнать где и какие чат-боты используются;

Разработать модель чат-бота;

Изучить технологию программирования в визуальной среде программирования Scratch;

Ознакомиться с возможностями среды программирования Scratch для разработки чат-бота;

Разработать программу, реализующую функции современного чат-бота.

Объект исследования:визуальная среда программирования Scratch.

Предмет исследования:технология создания чат-бота.

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

Этапы создания проекта:

Октябрь 2022 года

Постановка проблемы.

Сбор копилки вопросов.

Ноябрь – декабрь 2022 года

Составление модели чат-бота.

Разработка проекта в среде программирования Scratch.

Презентация проекта.

Практическая значимость проекта

Разработанный в визуальной среде программирования Scratch чат-бот, может быть использован для образовательных целей как дидактический материал для проведения занятий с детьми по теме «Край, в котором я живу» и изучения возможностей среды программирования Scratch. Проект размещен на сайте для публичного доступа по ссылке
https://scratch.mit.edu/projects/771410003

Основная часть

Язык программирования Scratch

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

Название произошло от слова scratching – техники, используемой хип-хоп-ди-джеями, которые крутят виниловые пластинки вперед-назад руками для того, чтобы смешивать музыкальные темы. Scratch создана 2007 году группой ученых Массачусетского технологического института (MIT), под руководством Митчелла Резника. Нужно отметить, что создатели Scratch спроектировали специальную среду программы, которая основана на языке Лого и конструктора Лего [1].

Секрет в том, что в Scratch нет слов (команд), которые нужно знать наизусть и уметь писать без ошибок. Писать программы в Scratch не сложнее, чем собирать конструктор Lego – команды присоединяются друг к другу как кирпичики. В Приложении 1 представлен внешний вид программы Scratch.

Дети с помощью Scratch познают азы программирования, участвуют в совместных проектах. Своими произведениями дети могут обмениваться с сообществом Scratch проектов (http://scratch.mit.edu) по всему миру. Scratch бесплатная оболочка, её свободно можно загрузить с сайта разработчиков, как версию для Windows, так и для Linux [2].

Особенности программы Scratch:

создана специально для детей и подростков (8-16 лет);

простой интерфейс, который позволяет легко ориентироваться в среде;

красочный дизайн помогает привлекать внимание и удерживать его;

благодаря своей элементарности может служить не только для обучения детей, но и тех взрослых, которые не знакомы с основами программирования;

является свободно распространяемым программным продуктом.

2. Описание среды программирования Scratch

Интерфейс программы спроектирован и сделан в расчёте на детей, поэтому он максимально хорошо понимается интуитивно.

В переводе с английского глагол to scratch – «царапать», «скрести», «рыть когтями». Вероятно, поэтому символ программы – весёлый кот [3].

Главная область окна программы – сцена, на ней отображаются результаты работы проекта. Чтобы на сцене что-нибудь происходило, необходимо создать спрайты – объекты. Спрайтами в Scratch называются все объекты по умолчанию. Спрайт – не только картинка, это объект, наделенный программным кодом и как следствие свойствами и способностями. Со спрайтом можно взаимодействовать как с виртуальной сущностью, отдавать ей команды и получать от нее данные. Спрайту можно менять Костюм – это внешний вид объекта. Программный код составляется для каждого спрайта отдельно, а также для сцены.

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

Поведение объекта, можно описать набором простых действий:

движение;

внешний вид;

звук;

события;

управление;

сенсоры;

операторы;

переменные;

другие блоки.

Грамматика Scratch реализована через форму блоков команд: нельзя соединить друг с другом команды, форма которых несовместима. Основная масса блоков может «ставиться друг на друга», образуя «столбик» («стопку»). Интерфейс программы представлен в Приложении 2.

3. Что такое чат-боты и где они используются

Жизнь современного ребенка уже невозможно представить без смартфонов, wi-fi и социальных сетей. Иногда, кажется, что дети познают мир не в школе или библиотеке, а в Google. Это не плохо и не хорошо, просто сейчас так устроена информационная воронка, которая имеет свойство затягивать быстро и надолго.

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

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

Чат-ботов условно можно разделить на два типа.

Простые – выдают ответ на основании ключевых слов из запроса, следуя заранее прописанному «дереву» вопросов и ответов. Такого бота может сделать даже ребенок при помощи специального конструктора.

Сложных ботов могут сделать только специалисты, знающие языки программирования (в том числе Python) и технологию NLP («обработка естественного языка»). Для такого чат-бота прописывается множество вариантов сценариев диалога, которые формируют его базу знаний. Общение с такой системой максимально приближено к естественному, потому что она способна учитывать контекст беседы и сохранять историю общения.

Исторически первым чат-ботом считается чат-бот ELIZA (Элиза), созданный Джозефом Вейценбаумом ещё в 1966 году. Программа представляла собой пародию на общение пациента с психотерапевтом. По большей части ELIZA просто перефразировала высказывания пользователя, следуя технике «активного слушания». На фразу «У меня болит голова» она отвечала «Почему вы говорите, что у вас болит голова?» и т.п.

После Элизы были и другие чат-боты. К самым известным можно отнести Perry (бот, который самостоятельно обучался в ходе диалога), и A.L.I.C.E. (программа, которая использовала технику эвристического сопоставления фразы с базой знаний).

Следующий скачок в развитии виртуальных собеседников произошел в 2011 году с появлением Siri от Apple. Умный помощник Siri общается голосом, помогает искать информацию в интернете, управляет некоторыми приложениями на смартфонах iPhone. Английский она понимает лучше, чем русский, но с простыми задачами (типа, поставить будильник, погода на завтра и т.п.) справляется.

В России тоже есть свой идол искусственного интеллекта. В 2017 году компания Яндекс представила умного помощника Алису – та же Siri, только адаптированная для русскоязычного пользователя. Виртуальный ассистент встроен в разные приложения компании, а также в Яндекс. Станцию (умная колонка) [4].

Практическая часть

Установка программы Scratch

Программа Scratch бесплатная, в ней можно работать в онлайн режиме на сайте https://scratch.mit.edu, где также можно ознакомиться с инструкциями по работе с программой или скачать офлайн версию, для установки которой достаточно пройти по ссылке https://scratch.mit.edu/download, затем нажать на кнопку «Установка», выбрать программу для своего компьютера Windows, Mac или Linux и следовать инструкциям по установке. Дождаться загрузки файла Scratch-458.0.1.exe, объемом 58.2 Мб. Теперь нужно запустить его и программа будет установлена.

Модель чат-бота

Сфера применения чат-бота – образовательный процесс, аудитория – дети в возрасте от 7 до 10 лет, область знаний «Моя Югра. Край, в котором я живу».

База вопросов:

Как дела?

Сколько тебе лет?

Столица нашего округа? (Ханты-Мансийск).

Сколько лет округу? (92 года).

Какая птица, символ нашего округа? (Белый журавль Стерх).

Коренные народы Югры? (Ханты и манси).

Какое дерево считается символом нашего округа? (Кедр).

Как называется густой лес, где растут хвойные деревья? (Тайга).

Самый старый заповедник Югры? (Малая Сосьва).

Какая река впадает в Обь? (Иртыш).

Что добывают в Югре из - под земли? (Нефть и природный газ).

Персонаж (спрайт) Кот-Бот, который будет с нами общаться.
Задачи чат-бота:

приветствие;

прощание;

ответы на вопросы.

3. Технология программирования чат-бота

Проектирование проекта начинаем с оформления фона. В Scratch есть готовые элементы, которые берем из библиотеки. Процесс создания проекта основан на базовой конструкции алгоритмов Ветвление. Все языки программирования имеют специальные операторы (команды) для того, чтобы программа могла разветвляться в зависимости от того, выполняется указанное условие или нет. Оператор ветвления называется условным оператором. В категории блоков управления есть 3 условных оператора: блоки "если ... то", "если ... то ... иначе" и блок "ждать до". Блоки ветвления применяются, когда выполнение некоторого набора команд зависит от выполнения заданного условия [5]. Внешний вид блоков ветвления представлен в Приложении 3.

3.1. Разработка кода для диалога чат-бота с пользователем.

Программируем физический объект по умолчанию – это оранжевый Кот, (он является «фирменным знаком» программы) с которым мы будем общаться. Организуем диалог между пользователем и программой. Для этого необходимо вводить данные (буква, строка, число) в соответствующее поле. Команда, позволяющая пользователю ввести данные, находится в блоке сенсоры. Она называется спросить … и ждать. Когда команда спросить … и ждать выполняется, то внизу холста появляется поле для ввода. Пользователь должен туда ввести данные и нажать Enter или галку в конце поля. После того, как команда спросить … и ждать выполнена, текстовое поле исчезает с холста.

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

Выбираем блок «Переменные», выбираем кнопку «Создать список», задаём имя нового списка «Привет», заполняем список словами приветствия:

Привет!

Здравствуйте!

Приветствую вас мой собеседник!

Очень рад Вам!

Для запуска программы необходимо выбрать блок События и выбрать команду, когда зеленый флажок нажат, тем самым создаем условия начало для нашей программы. Выбираем блок «Управление», команда повторять всегда, вставить созданный блок «Прием информации» в команду повторять всегда;

Соединяем все блоки вместе;

К блоку «Прием информации» присоединяем команду спросить … и ждать изблока сенсоры;

Добавляем условие, которое будет воспринимать фразу привет. Из блока «Управление», берем команду, если ... то ... иначе, соединяем скомандой спросить … и ждать. Из блока «Операторы» берем команду сравнение и вставляем вкоманду, если ... то ... иначе. Данная команда будет сравнивать наш ответ, в блоке «Сенсоры» берем команду ответ. Если наш ответ будет равен фразе привет, то мы вызываем блок Привет, чат - бот выбирает любую рандомным образом фразу из списка, «Привет», который был нами создан. Первая задача нашего чат-бота «Приветствие» представлена в Приложение 4.

По такому же алгоритму создается задача для чат-бота «Прощание».

Следующая задача для чат-бота «Ответы на вопросы». Кот - бот будет отвечать на вопросы, которые будем прописывать мы. Были подобраны вопросы из учебного пособия для 1 класса «Моя Югра. Край, в котором я живу»;

Формируем условие, из блока «Управление», берем команду, если ... то ... иначе, если наш ответ содержит вопросительный знак, то это вопрос;

Выбираем блок «Другие блоки» задаём имя блоку «Наши вопросы», так как вопросов одиннадцать, создаем по каждому вопросу отдельные блоки;

Настраиваем блок вопросов, на вопрос, сколько тебе лет? Кот – бот будет отвечать случайным образом, от семи до десяти, возрастная аудитория. Для этого возьмём команду объединить из блока «Операторы»;

Все последующие блоки вопросов настраиваем по алгоритму, и крепим к блоку конструкции «Наши вопросы»;

Если чат-бот не может ответить на заданный вопрос, он предлагает нам обратиться к учителю. Описание задачи для чат-бота «Ответы на вопросы» представлено в Приложение 5.

3.2. Тестирование проекта.

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

3.3. Сохранение проекта.

Для осуществления сохранения программного продукта – публикации программы на сайт http://scrаtch.mit.eduнеобходимо выполнить следующую последовательность действий:

создать учётную запись на сайте;

открыть свой проект в среде Scratch, выбрать пункт меню Файл - опубликовать на сайте, ввести необходимые данные и нажать ОК;

после загрузки проекта на сайт, он появляется в Моих проектах.

4. Выводы по использованию среды Scratch для разработки чат-бота

В процессе создания проекта были выявлены следующие проблемы:

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

Ответы на вопросы даются только те, которые прописаны в списке;

Так как наш чат-бот не обладает искусственным интеллектом – он не сможет вести диалог с пользователями на продвинутом уровне.

Поставленная гипотеза о том, что среда программирования Scratch позволяет разработать имитацию чат-бота полностью подтвердилась.

Заключение

Подводя итоги своей работы над данным проектом, необходимо отметить следующее:

Ознакомился с видео уроками для разработки чат-бота в среде программирования Scratch [6,7].

Разработал имитацию чат-бота в визуальной среде программирования Scratch.

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

Созданный проект имитация чат-бота в визуальной среде программирования Scratch, был представлен учащимся 4 класса на занятии в Компьютерной школе. Учащимся был представлен список вопросов для общения с чат-ботом, который показан в Приложении

Проект пополнит мое «портфолио» творческих разработок, им смогут воспользоваться педагоги на занятиях, а также мои друзья.

Сегодня мне нравится сам процесс программирования, но я хочу научиться программировать так, чтобы результат стал нравиться не только мне, но и моим друзьям,
а процесс был лишь способом достижения этого результата. В следующем учебном году, продолжая учиться в объединении «Студия кода "Scratch Junior"» мы будем изучать язык программирования Python, в котором я создам голосового чат-бота.

Список литературы

URL:https://педпроект.рф

URL:http://dolschool.ucoz.ru/irina/organizacija_proektnoj_dejatelnosti_v_skretch.pdf

URL: http://www.uroki-scratch.narod.ru

URL: https://progkids.com/blog/chatbot-for-kids

URL: https://www.sites.google.com/a/uvk6.info/scratch/prodvinutyj-uroven/13-vetvlenia

URL: https://yandex.ru/video/preview/12082133553450152854

URL: https://www.youtube.com/watch?v=rIM1tatwZsY

Приложение 1

Внешний вид программы Scratch

 

Приложение 2

Интерфейс программы Scratch

 

 

 

 

Приложение 3

Внешний вид блоков ветвления

 

Приложение 4

«Приветствие» чат-бота

 
 
 
 
 

Приложение 5

«Ответы на вопросы» чат-бота

 
 
 
 
 

Приложение 6

Область знаний «Моя Югра. Край, в котором я живу».

База вопросов для чата - бота:

Как дела?

Сколько тебе лет?

Столица нашего округа?

Сколько лет округу?

Какая птица, символ нашего округа?

Коренные народы Югры?

Какое дерево считается символом нашего округа?

Как называется густой лес, где растут хвойные деревья?

Самый старый заповедник Югры?

Какая река впадает в Обь?

Что добывают в Югре из - под земли?

Просмотров работы: 183