Принцип работы:
Система представляет собой Чат Бот для Telegram.
Пользователь подключается к нему по ссылке, которая будет анонсирована компанией. Бот выполнен по каскадной схеме, которая после нескольких действий от пользователя приводит его к постоянному меню. Для идентификации сотрудника после подключения осуществляется интеграция с сервисом Google Таблицы и чат-бот проверяет в Таблице по сотрудникам по ID пользователя, подключался ли пользователь к чат-боту ранее, чтобы узнать минимальные сведения о нем: ФИО и нужно ли пользователю проходить адаптационный тренинг. В следующих релизах возможно расширение сохраняемой информации, например, сведений о должности и линейном менеджере пользователя, чтобы использовать эти сведения для работы. Если ID пользователя нет в таблице, то чат-бот просит пользователя ввести свое ФИО. Если ФИО в таблице сотрудников не найдено, то пользователь переходит в демо-версию чат-бота без возможности связаться со специалистом и без доступа к корпоративным документам. В этом случае пользователю предлагается связаться с HR-специалистом без помощи чат-бота, чтобы HR-специалист внес данные пользователя в таблицу сотрудников. Данная проверка необходимо для обеспечения конфиденциальности данных компании и сотрудников. Если пользователь опознан системой и найден в таблице сотрудников, то в зависимости от статуса (новичок/не новичок) он переходит либо в адаптационный тренинг, либо чат-бот начинает работать в режиме вопрос-ответ.
Если в системе данных о пользователе нет, чат-бот переходит в режим Демо. В этом режиме есть доступ только для общих демо-материалов.
3.В режиме адаптационного тренинга пользователю последовательно выводятся ссылки на документы, взяты из Таблицы по адаптации. После каждого шага выводятся 3 кнопки, которые убираются после нажатия и приводят к следующим действиям чат-бота:
“Я всё изучил” > чат-бот выводит следующий шаг адаптации или завершает адаптацию “Посмотрю потом” > чат-бот сохраняет информацию о непройденном шаге в Таблицу адаптации и выводит кнопки “Я всё изучил”, “Есть вопросы” “Есть вопросы” > чат-бот предлагает пользователю ввести вопрос и отправляет этот вопрос специалисту, ответственному за данный шаг с информацией, с указаниями данных пользователя и названием документа По завершению адаптационного тренинга чат-бот поздравляет пользователя, записывает в Таблицу по сотрудникам, что пользователь прошел адаптационный тренинг и с согласия пользователя уведомляет об этом HR-специалиста.
Затем чат-бот переходит в режим вопрос-ответ. Встроенный классификатор может распознавать вопросы пользователей, написанные в разных вариантах, а также с ошибками, по следующим и другим темам:
Как получить налоговый вычет? Каковы условия испытательного срока? Можно ли работать удаленно? Как забронировать переговорку? Какие есть виды страхования? Когда начисляется зарплата? Как подать заявление об увольнении? Как заказать справку о доходах? Как получить копии трудовых документов? Как получить расчетный лист? Как получить справку с места работы? Полный список тем и вопросов указаны в Техническом задании.
В чат-боте предусмотрена возможность вызова справки о работе чат-бота и обращения к HR-специалисту пользователем разными способами.
В чат-боте предусмотрен алгоритм работы с нераспознанными вопросами пользователя. Если чат-бот не может распознать вопрос пользователя 3 раза подряд, то с согласия пользователя отправляет сообщение HR-специалисту. Если после этого чат-бот все еще не может распознать вопрос пользователя, то он выводит следующее сообщение “Извините, я так и не понял вас. Подождите ответа специалиста, пожалуйста. Также вы можете выбрать что-нибудь из меню внизу. либо посмотрите на примеры вопросов: [5 случайных вопросов, на которые может ответить чат-бот]”.
С начала работы чат-бота снизу справа от строки ввода сообщений прикреплена кнопка “Главное меню”, при нажатии на которую выводятся кнопки:
“Что ты умеешь?” (выводится описание того, что умеет делать чат-бот с 5 вариантами вопросов, на которые может ответить чат-бот) “Начать адаптацию сначала” (чат-бот начинает выводить адаптационный тренинг с первого шага) “Продолжить адаптацию” (чат-бот начинает выводить адаптационный тренинг с первого непройденного шага) “Неправильный ответ чат-бота” (чат-бот сохраняет информацию о последней вопросе и ответе в Таблицу для отладки) “Связаться с HR-специалистом” (чат-бот предлагает пользователю написать свой вопрос и отправляет его HR-специалисту) “Узнать свой id” (чат-бот выводит выводит уникальный номер пользователя в Telegram) Формат таблиц (GoogleSheets), с которыми интегрирован чат-бот
В Базе данных хранится следующая информация на трех разных вкладках:
Таблица по адаптации: вкладка Adaptation. Заполняется представителем Заказчика (HR-специалистом) совместно с Разработчиком перед внедрением чат-бота. Может обновляться либо самим Заказчиком, либо Разработчиком по необходимости. Таблица состоит из следующих колонок: “Номер шага адаптации” (чат-бот выводит информацию последовательно и запонимает этот номер, если пользователь прервал прохождение тренинга) “Название документа” (выводится пользователю при прохождении тренинга, если информация в колонке “Описание, которое выводит бот” не заполнено, а также присылается специалисту, если у пользователя возникли вопросы по материалу) “Тип данных” (возможные варианты: “ссылка”, “доступ”. Информация пока не используется, но может быть полезна в следующих релизах) “Описание, которое выводит бот” (выводится пользователю при прохождении тренинга) “Ссылка на документ” (выводится пользователю при прохождении тренинга. Если информация не заполнена, чат-бот предлагает пользователю обратиться к HR-специалисту для заполнения данных) “Ответственный (к кому обращаться за помощью)” (специалист, которому пользователь может задать вопрос по документу. Если поле не заполнено, вопрос направляется к HR-специалисту. Возможные варианты: “hr” - HR-специалист, “lmanager” - линейный менеджер пользователя, “it” - IT-специалист, “accountant” - бухгалтер. Необходимо удостовериться, чтобы в коде чат-бота были указаны id для всех этих категорий. В версии MVP id для линейного менеджера нигде не указано, поэтому при необходимости обращения к линейному менеджеру чат-бот предлагает пользователю обратиться к нему самостоятельно) “Ключевые слова” (информация пока не используется, но может быть полезна в следующих релизах, например, для поиска нужного документа по ключевым словам) “Дата добавления” (информация необходима, чтобы отслеживать, ссылается ли чат-бот на актуальный документ) Таблица по сотрудникам: вкладка Employee. Цель таблицы: обеспечить доступ к данных только сотрудникам компании. Частично заполняется представителем Заказчика (HR-специалистом) совместно с Разработчиком перед внедрением чат-бота. Может обновляться либо самим Заказчиком, либо Разработчиком по необходимости. “User Id” (уникальный номер пользователя в Telegram. Чат-бот самостоятельно заполняет это поле при установки пользователем чат-бота, если в Талице сотрудников указано фИО пользователя) “ФИО” (Фамилия Имя Отчество пользователя. Заполняется HR-специалистом. Пользователь сможет полноценно работать с чат-ботом только, когда HR-специалист внес его ФИО в эту таблицу) “NickName” (никнейм пользователя в Telegram. Чат-бот самостоятельно заполняет это поле при установки пользователем чат-бота, если в Талице сотрудников указано фИО пользователя) “Пройден адаптационный тренинг” (Чат-бот самостоятельно заполняет это поле по информации, предоставленной пользователем. Возможные варианты: “да”, “нет”. Информация обновляется автоматически чат-ботом с “нет” на “да”, если пользователь завершил прохождение адаптационного тренинга) “Отложенный шаг адаптационного тренинга” (Чат-бот самостоятельно заполняет это поле в случаях, если при прохождении тренинга, пользователь нажал кнопку “Посмотрю потом”, либо если пользователь не завершил прохождение тренинга и не появлялся в системе больше 24 часов) “Должность” (информация пока не используется, но может быть полезна в следующих релизах) “Линейный менеджер” (информация пока не используется, но может быть полезна в следующих релизах ,например, для того, чтобы пользователь мог обращаться к линейному менеджеру через чат-бота) Таблица для отладки: вкладка Wrong_answers. Нужна для отладки, отлавливания неточных или неверных ответов чат-бота. Таблица заполняется чат-ботом автоматически, если пользователь счел ответ чат-бота ошибочным и хочет, чтобы это было исправлено в следующих релизах. Для того, чтобы чат-бот внес данные об ошибочном ответе в таблицу, пользователю надо набрать команду /wrong или нажать на соответствующую кнопку Меню сразу после ошибочного ответа чат-бота. В этом случае чат-бот сохранит в таблицу следующую информацию: “Последний вопрос человека” “Последний ответ чатбота” “Проапдейчено?” (заполняется технической поддержкой)