Чат-бот. Создай себе друга


МАСТЕР-КЛАСС
Создадим бота, который будет распознавать текстовые команды и общаться близко к "мыслящей" речи
О чем мастер-класс?
Сегодня существует множество разных голосовых виртуальных ассистентов (Google Ассистент, Алиса, Сири и др.). Их задача - помогать человеку, выполняя его голосовые команды, или разговаривать с ним, если нет другой компании.

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

Для кого этот мастер-класс?
Этот мастер-класс предназначен для родителей и детей, которые хотели бы научиться создавать чат-ботов, но не знают ни одного языка программирования
Для работы над мастер-классом понадобится:
Компьютер с доступом в интернет
Полезные материалы (ссылки и ресурсы):
Ссылка на образец чат-бота

Итак, начнем работать!



Подготовка к работе.



Прежде чем начать программировать, нужно познакомиться с программой и настроить ее
Для начала откроем сайт. Зарегистрируемся на сайте, нажав кнопку «Присоединяйся» в правом верхнем углу
1
Акцентные
2
После заполнения формы регистрации вам на E-mail придет ссылка – перейдите по ней, чтобы подтвердить регистрацию
Теперь на главной странице нажмите кнопку «Вход» и введите придуманные логин и пароль
3
Акцентные
4
Далее в левом верхнем углу нажмем кнопку «Создавай»
Открылось окно программирования Scratch. Посмотрите внимательно, на каком языке у вас все элементы – если на английском, то поменяйте его на русский: «Settings – Language – Русский»
5
Акцентные
6
Теперь давайте разберемся, из чего состоит среда программирования. Самостоятельно изучите схему
Удалим кота, нажав на значок мусорки, и выберем нового персонажа – он будет задавать вопросы. Нажмем «Выбрать спрайт» и выберем готового из библиотеки
7
Содержание ответов.



Пропишем ответы, которые будет давать чат-бот
Чат-бот будет по-разному реагировать в зависимости от того, что мы ему скажем. Разговор с ним должен напоминать диалог друзей:
  • Приветствие (бот будет отвечать разными способами)
  • Вопрос «Как дела?» (бот будет менять настроение)
  • Вопрос «Что делаешь?» (бот будет выбирать разные занятия)
  • Вопрос с ответом «да/нет» (бот будет уметь отвечать на простые вопросы)
  • Рассказ о чем-либо (остальную речь бот будет воспринимать как рассказ)
1
Создадим списки. Для этого нажмем кнопку «Создать список» во вкладке «Переменные»
2
Акцентные
3
В открывшемся окне напишем название списка и нажмем «ОК». Всего нам надо создать 5 списков (названия можно взять из предыдущего шага)
Добавим в списки содержание. Для добавления строчки, нужно в окошке списка нажать «+». Чтобы изменить размер окошка, можно нажать на «=» и потянуть
4
В содержании пишем то, что будет отвечать чат-бот – хотя бы по 3-5 ответов
5
Акцентные
6
Спрячем списки, чтобы заранее не было видно ответы – для этого снимем галочки напротив названий списков
Программирование приветствия.



Бот будет приветствовать нас один раз при старте программы
Ставим блок «Когда флажок нажат»
1
Акцентные
2
Сделаем так, чтобы бот выдавал случайные фразы из списка «Приветствие». Для этого возьмем следующие блоки
Соединим эти блоки: зеленый ставим в окошко оранжевого, а потом их вместе – в фиолетовый вместо слова «Привет»
3
Теперь фиолетовый блок будет случайным образом выбирать строчку из списка, прописанного в оранжевом блоке.
Важно: во второе окошко в зеленом блоке вписываем число, равное количеству строчек в списке
4
Программирование ответов на вопрос «Как дела?».



Эта схема ляжет в основу программирования остальных вопросов
Поставим блок «Повторять всегда», внутрь него добавим блок «Спросить и ждать». Этот блок будет запоминать то, что мы впишем и сохранять в блоке «Ответ»
1
Далее поставим блок «Если, то, иначе» (он похож на вилку)
2
Акцентные
3
Добавим условие в окошко внутри вилки. Возьмем блок «Яблоко содержит а» и в него поставим блок «Ответ». Вместо «а» впишем «как дела»
Заполняем вилку содержимым: в верхней части вставляем конструкцию, собранную по аналогии с пунктами 2 - 3, нижнюю оставляем пустой
4
Программирование ответов на вопрос «Что делаешь?».



Программа выглядит точно так же, как и для вопроса «Как дела?»
Продублируем блок «Если, то, иначе». Для этого нажмем на нем правой кнопкой мыши и выберем «Дублировать»
1
Акцентные
2
Скопированную часть поставим в пустую строчку «Иначе»
Заменим содержимое в скопированной части. Получим следующее
3
Программирование ответов на прочие вопросы.



Программируется так же, как и предыдущие вопросы
Повторяем действия из шагов 5.1-5.3. В окошке блока «Содержит» пропишем вопросительный знак. Так программа поймет, что мы задаем вопрос
1
Программирование реакций.



Во всех случаях «по умолчанию» бот будет воспринимать нашу речь как рассказ