Всю сознательную жизнь работаю в образовании.

В настоящее время — заместитель директора по учебно-воспитательной работе, учитель, педагог дополнительного образования школы № 509: руковожу центром цифрового образования «ИнфинITи» и Клубом интеллектуальных игр школы, веду уроки информатики и занятия дополнительного образования.
Ранее (в т.ч. по совместительству): зам. директора по информатизации школы № 509, программист СПбЦОКОиИТ, сотрудник Инспекции Комитета по образованию Санкт-Петербурга, заведующий ЦИО ИМЦ Петродворцового района, сотрудник поддержки ВКонтакте, инженер ЦИО ИМЦ Красносельского района, педагог дополнительного образования УМЦ «ИНФОБ» и лицея № 395, переводчик, индивидуальный предприниматель и проч., проч., проч.…

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

Меня можно найти: VKTelegramХабрахабрWebfolio

Позднее Ctrl + ↑
 340   2021   квизы   школа № 509

Доклад про ботов

29 октября 2020 года в Санкт-Петербургском центре оценки качества образования и информационных технологий (СПбЦОКОиИТ) состоялась XIII научно-практическая конференция «Проблемы и перспективы внедрения свободного программного обеспечения в образовательных организациях Санкт-Петербурга». В этом году — в дистанционном формате.

Одной из тематик секции «Свободно распространяемые системы управления и обучения» были «чат-боты в образовании».

Представил в докладе и статье опыт применения чат-ботов ВКонтакте в воспитательно-образовательном процессе в нашей школы на примерах кейсов ЧГК-бота и бота акции «Помним».

Слайды:

Бот для акции «Помним»

В преддверии Дня Победы ежегодно и повсеместно проходят акции в формате «Бессмертного полка».

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

Участникам акции предлагается:

  1. Скачать файл с рамкой;
  2. Наложить слой с рамкой на слой с фото в нужном порядке (да, рамка должна быть на переднем слое, т. к. у неё есть «уголочки», которые должны быть на фотографии, а не под);
  3. Добавить подписи (желательно — уместным шрифтом);
  4. Сохранить фото.

Очевидно, что для многих потенциальных участников акции выполнение алгоритма станет не такой уж тривиальной задачей: требуются навыки работы с графическими редакторами или хотя бы онлайн-сервисами аналогичного назначения. Либо использования «костылей» вроде PowerPoint’а.

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

Был реализован следующий пользовательский сценарий:

  1. Бот в сети ВКонтакте принимает в качестве входных данных фотографию, ФИО и (опционально) звание героя.
  2. Подготавливает изображение, присылает его пользователю.
  3. Предлагает пользователю выполнить публикацию в сообществе.
  4. Если пользователь соглашается, фото загружается в альбом сообщества и публикуется на стене с заранее заготовленным набором соответствующих хэштегов. Получившийся пост отправляется пользователю, который может принять решение о лайке, репосте (или каком-либо другом действии в рамках стандартного взаимодействия с соцсетью).

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

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

Вот что получилось:


Дальше — чуть-чуть технических подробностей разработки. Можете смело пропустить два следующих абзаца, если вас пугают слова и аббревиатуры PHP, API, SDK, NoSQL, «токен» или «standalone» :)

Технически взаимодействие с пользователем осуществляется через чат-бота VK, серверной частью которого является PHP-приложение, написанное с использованием официального SDK VK:

  • Для генерации изображений используются библиотеки-обёртки над GD: ImageArtist и gd-text.
  • Для хранения состояния сессии взаимодействия с пользователем используется NoSQL-хранилище Redis и его PHP-клиент Predis.
  • В целом архитектура проекта такова, что при желании можно изменить (или расширить) платформы взаимодействия с ботом на другие соцсети и/или мессенджеры, используя их API.

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

ЧГК-бот

С начала 2019 года я тренирую школьную команду по интеллектуальным играм.

С этого учебного года она разрослась до школьного Клуба интеллектуальных игр.

Для координации встреч и «онлайн-тренировок» была создана беседа ВКонтакте, где время от времени мы с ребятами практиковались «раскручивать» вопросы из Базы вопросов ЧГК. Во время каникул возникло острое желание, насколько это возможно, автоматизировать работу по выбору вопроса из базы и «зачёту» верного ответа.

Так родился бот школьного клуба интеллектуальных игр.

Методом гугления в ЖЖ-сообществе «Спортивное ЧГК» был обнаружен пост, описывающий XML API базы вопросов. Из этого поста можно было сделать сразу два вывода, один внезапнее другого:

  1. ЖЖ жив (о_0)
  2. У Базы API всё же есть.

В результате дня изучения (вспоминания давно забытого) VK API был набросан proof-of-concept бота, который умеет:

  • получать случайный вопрос из базы;
  • писать его в чат с примитивной защитой от гугления;
  • повторять его;
  • выводить ответ на этот вопрос, если игроки сдаются («сливают» вопрос);
  • читать ответы из чата;
  • засчитывать правильные ответы и то, что похоже на правильные ответы (с точностью до е/ё, кавычек и знаков препинания);
  • вести рейтинг игроков.

В перспективе планирую сделать командный режим игры с ботом и хочу научить бота читать ответы в других падежах, с предлогами и т. п. — т. е. научить анализировать русский текст.

P.S. Приходите в Клуб, попадайте в беседу, испытывайте свой интеллект на прочность! :-)

iУчитель

Рыбаков Фонд подвёл итоги Всероссийского конкурса «Школа». На конкурс было подано более 2800 заявок, и по итогам работы экспертов оглашены имена 50 победителей.

В число победителей в номинации «Я — iУчитель» вошёл единственный педагог из Санкт-Петербурга — Ваш покорный слуга, Дмитрий Иванович Серженко, заместитель директора по информатизации, учитель информатики и руководитель клуба интеллектуальных игр школы № 509. По итогам экспертной оценки у меня набрал 103.5 балла из 110 возможных, заняв пятое место в рейтинге среди всех участников конкурса.

Стать частью Сообщества с большой буквы «С» — большая честь для меня и показатель того, что я двигаюсь в верном направлении.

В конкурсе «Школа» Рыбаков Фонд объединил лучшее из трехлетней истории своих конкурсных программ «ТОПШкола» и «iУчитель», благодаря которым возникла уникальная среда для обмена опытом. Конкурс «Школа» запущен, чтобы поддержать лучшие практики школьных команд и учителей, раскрывающие потенциал ученика и преобразующие школу в центр социума. Организаторы конкурса убеждены: школа — это основа для становления личности и всего общества, именно поэтому вокруг школы должны быть сосредоточены ресурсы и усилия самых разных общественных институтов и неравнодушных граждан.

Ранее Ctrl + ↓