Делаем своего первого чат-бота. Как создать чат бота.

Решение: Четко определите задачи, которые должен решать чатбот, запишите алгоритм и последовательность действий. Протестируйте чат-бот с помощью фокус-группы и соберите отзывы о том, что работает хорошо, а что нужно изменить. Усовершенствуйте виртуального помощника

Как создать чат-бота во ВКонтакте: проработка сценария и выбор конструктора

В этой статье маркетолог SendPulse Дарина Сорокина рассказывает о том, как чат-боты помогают бизнесу и на что следует обратить внимание при создании виртуального помощника.

Рынок чат-ботов растет и растет быстро. Компании используют виртуальных помощников для автоматизации продаж и общения с клиентами, а также для снижения нагрузки на службу поддержки и отдел маркетинга. По данным исследования Oracle, 80% предпринимателей планируют использовать чат-боты для своего бизнеса в 2020 году.

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

Впервые запускаете рекламу во ВКонтакте?

Мы организуем бесплатные кампании, чтобы вы могли начать! Заполните короткую форму и внесите депозит в размере 10 000 рублей или более. Деньги будут использованы на рекламу

Существует несколько чат-ботов, которые обычно можно разделить по следующим параметрам:

  • Например, ВКонтакте, Telegram, Facebook Messenger.
  • Цель В зависимости от цели, чатбот может быть советником, администратором, помощником или гидом.
  • Технические возможности. Чатботы работают с помощью кнопок, команд или искусственного интеллекта. Существуют так называемые гибридные роботы, которые сочетают в себе и команды, и кнопки.

Примеры чат-ботов во ВКонтакте

Давайте рассмотрим конкретные примеры того, как чат-боты помогают бизнесу.

«Сберкот».

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

Чатбот от концептуального художника

Бот Дмитрия Коклюшкина рассказывает об авторе, курсах и специальных предложениях. Пользователи также могут просмотреть галерею работ студента и узнать об условиях оплаты. Какой бы шаг ни выбрал пользователь, он может вернуться к нему в любое время. Это помогает пользователю эффективно взаимодействовать с роботом и менять свой выбор при необходимости.

«TurBot».

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

«Раундспит».

Чатбот службы доставки еды «Сувлаки» в Кирове показывает абонентам меню и стоимость блюд. Когда клиент принимает решение, бот перенаправляет его на веб-сайт для оформления заказа.

«Чатбот Лиза в Эрмитаже».

Но не все чат-боты продают что-то, представляют компанию или отвечают на вопросы клиентов. Существуют также развлекательные роботы и роботы-экскурсоводы. Одним из примеров является чат-бот Hermitage. Он организует персональную экскурсию для каждого посетителя: погружает его в небольшое приключение, рассказывая при этом об экспонатах галереи.

Конструктор HubSpot предлагает большие возможности для самостоятельного создания чатбота. В нем есть CRM-система, инструменты управления клиентами и контентом, сервисы автоматизации продаж и маркетинга для интернет-магазина.

Первая строка

В консоли можно не только писать код, но и экспортировать результаты. Давайте начнем с создания простой программы, которая выводит на консоль слово «Hello!». Для этого используйте команду console.log(‘Hello!’),

введите его в консоль и нажмите Enter:

Чат-бот: пишем первую строку кода

Поздравляем, вы только что написали свою первую программу на компьютере! Все очень просто: компьютер просто говорит «Hello!». Но имейте в виду, что вас научили так говорить. Попробуйте научить его другим словам.

Если вы напишете много команд, вы получите многострочное сообщение:

Здесь мы начали создавать нашего чатбота, который уже поприветствовал нас на консоли. Теперь мы хотим сделать так, чтобы мы также могли что-то сказать ему. Для этого нам нужны переменные.

Переменные

Переменная — это ячейка в памяти компьютера, в которой можно что-то хранить и изменять. Дело в том, что компьютер нуждается в обновлении: «Здесь данные не изменятся, а здесь изменятся, поэтому выделите немного памяти». И система выделит достаточно памяти для хранения того, что должно быть сохранено в переменной. Вы можете записать новое значение в переменную или проверить, что уже есть в ней.

Чтобы сообщить компьютеру, что вы хотите создать переменную, вы должны сказать ему слово var, за которым следует имя переменной. В следующей строке, например, создается имя переменной и вставляется слово «code»:

Название может быть практически любым, лишь бы оно начиналось с буквы. Переменные не могут быть названы по-русски, а только буквами латинского алфавита. Мы могли бы использовать imya или zovut, но программисты считают, что чем проще имя, тем лучше.

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

Вы можете увидеть текущий номер. Это внутренняя системная переменная. Строго говоря, это не переменная, но мы должны думать о ней именно так:

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

Введите var name = prompt(‘Как вас зовут?’); в консоль и посмотрите, что произойдет. Компьютер открывает окно и ждет, пока вы введете свое имя. Интерфейс выглядит нормально: Мы общаемся с компьютером не через консоль, а через эти открывающиеся окна. Мы должны написать новые команды для этого:

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

Чтобы извлечь осмысленную фразу, мы взяли начало «Hello», затем конкатенировали его со значением переменной, хранящей наше имя, со знаком плюс, а затем добавили к фразе конец с еще одним знаком плюс. Чтобы сообщить компьютеру, что мы хотим отобразить текст, а не числа, используются инвертированные запятые. Компьютер воспринимает то, что находится внутри инвертированных запятых, как текст. И выводит все именно так, как написано.

  Поисковая выдача. Что значит потерянные запросы в поисковой выдаче.

Вот то, что может пригодиться вам при создании вашего первого чатбота.

performance.now() — эта функция возвращает время в миллисекундах с момента открытия текущей страницы. Вы можете разделить это число на 1 000, чтобы узнать, сколько секунд вы просидели на странице. Если разделить это на 60 000 — сколько минут.

setTimeout() — позволяет выполнить любой код через заданный промежуток времени. Например, вы можете задать вопрос и дать ровно одну минуту на размышление, после чего появится окно для ответа.

setInterval() — аналогично предыдущему, но выполнение кода повторяется через регулярные промежутки времени, например, каждые 5 минут. Если вы хотите научить своего чатбота напоминать вам о необходимости пить воду раз в час, это подходящая команда.

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

В Yandex Workshop вы можете стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатна, поэтому вы можете попробовать то, что вам нравится. Кроме того, существуют программы по трудоустройству.

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

Для чего нужны чат-боты

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

Задачи, которые решают чат-боты, можно разделить на две большие группы:

  • Конверсия и продажи: чат-боты общаются с потенциальными и существующими клиентами и мотивируют их совершить целевое действие — заказать, купить продукт.
  • Сокращение нагрузки на службу технической поддержки и расходов. Чат-боты обрабатывают запросы, предлагают советы по типичным вопросам и помогают пользователям получить ответы немедленно.

Чат-боты особенно полезны для компаний, работающих с клиентами, которым часто требуется дополнительная информация о продукте или услуге.

Функции чатботов в различных областях:

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

Виртуальный помощник «Альфа-Банка»

Виртуальный помощник Альфа-Банка

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

Виртуальный помощник «Мегафон-ТВ»

Виртуальный помощник «Мегафон-ТВ

Страхование — помощь в заполнении форм и заявлений, консультации по программам страхования.

Виртуальный помощник «Уралсиб Страхование»

Виртуальный помощник по страхованию Уралсиб

Онлайн-покупки — указывает на предложения, принимает заказы, дает советы по доставке и местам самовывоза.

Чат-бот Sephora

Чат-бот Sephora

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

Виртуальный помощник для записи к стоматологу

Виртуальный помощник для записи на прием к стоматологу.

Туризм — Сбор предложений, рассылка текущих предложений, помощь в бронировании билетов и гостиниц.

Виртуальный помощник OneTwoTrip

Виртуальный помощник OneTwoTrip

Образование — предлагает мгновенную рассылку учебных материалов, приглашения на вебинары и размещение информации об их регистрации, скидки и промокоды для приобретения курсов.

Чат-бот с тренингами

Способы создания чат-ботов

Существует два способа создания чатбота: разработка на заказ или использование услуги по созданию чатбота.

Индивидуальная разработка

Готовое к использованию решение в нашем сервисе по созданию живых чатботов.

Может быть интегрирована с любой внешней службой

Ограничен возможностями дизайнера и сайта.

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

Может быть интегрирован с веб-чатами на сайте и внешними сервисами.

Можно переключать платформы — есть функция экспорта и импорта

Чтобы понять, какой способ подходит именно вам, необходимо смоделировать решение.

Простой чатбот — хорош, если решение линейно и не требует отношений, простой чатбот с определенным сценарием и работающий по заранее заданному алгоритму. Такой чатбот распознает заранее определенные ключевые слова и словоформы и отвечает заранее определенными сообщениями. Его можно создать с помощью Service Builder.

Примером простого чат-бота является чат-бот такси «Максим» в Telegram.

Самообучающийся чатбот необходим, если у вас сложный продукт, если вам нужно реализовать определенные функции и хранить личные данные пользователей. Он работает на основе нейронных сетей, обрабатывает неструктурированные диалоги и естественный язык — запоминает ответы пользователей и учится на них. Такие чат-боты обычно программируются вручную.

Один из примеров — голосовой помощник «Тинькофф Банка» Олег, Siri

Как создать чат-бота в конструкторе

Существует семь этапов создания чатбота.

Этап 1: описание ЦА

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

Допустим, вы владелец кафе и хотите разработать чат-бота для своего бизнеса. Целевая аудитория — юноши и девушки в возрасте 18-25 лет, которые учатся в ближайшем университете. Для более детального анализа вашей целевой аудитории вы вводите термин портрет клиента — изображение реального посетителя вашего кафе. Вы определяете наиболее характерные черты клиентов, их проблемы, потребности и интересы. Портрет клиента: студент, 22 года. Он достигает 20 000 рублей в месяц. Он часто не успевает позавтракать и опаздывает на занятия, потому что слишком много спит. Он покупает, чтобы поднять себе настроение, утолить голод.

Этап 2: выбор платформы

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

Café by Example ориентирован на прогрессивных молодых людей, которые проводят много времени в Интернете. Поэтому их выбор — Telegram. Аудитория ближе по уровню дохода, возрасту, интересам и профессии.

Этап 3: выбор подходящего конструктора

На рынке существуют как англоязычные, так и русскоязычные сервисы, предлагающие готовые решения:

    , Onicon — веб-советники с разнообразными инструментами: от автоматических ответов на сообщения до интеграции с формами сайта;, Streamwood, Webim — популярные чат-боты для интернет-магазинов, предпринимателей и организаций;, Chatra — чат-боты с интеграцией в CRM-системы для автоматизации продаж и поддержки;, Mango Chat, ManyChat, RedHelper — для общения в мессенджерах и мобильных приложениях.
  Перевод документа PDF в PowerPoint. Как пдф перевести в презентацию

Выбирайте провайдера в зависимости от ваших задач и веб-сайта, который вы хотите использовать.

Чатбот из примера с кафе будет работать в Telegram, поэтому ManyChat будет делать

Перейдите на страницу конструктора и нажмите «Создать бота»

Перейдите на сайт продавца и нажмите «Создать бота».

Откройте Manybot в телеграме

Откройте Manybot в Telegram

Этап 4: создание персонажа бота

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

Manybot перенаправит вас на BotFather. Следуйте инструкциям и введите /newbot

Manybot перенаправит вас на BotFather. Следуйте инструкциям и введите /newbot

Придумайте название чатбота, скопируйте API и вставьте его в Manybot.

Пусть бариста Cofix общается с гостями кафе через Telegram. Он позитивный и разговорчивый, всегда может сделать комплимент или рассказать смешную шутку.

Этап 5: определение функций чат-бота

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

setTimeout() — позволяет выполнить любой код через заданный промежуток времени. Например, вы можете задать вопрос и дать ровно одну минуту на размышление, после чего появится окно для ответа.

5 сервисов для создания чат-ботов

Unisender

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

Если на чат-бота подписалось менее 500 человек, вам не придется платить за него. Платные тарифные планы начинаются от ₽990 в месяц.

Chatfuel

С помощью этого сервиса вы можете создавать ботов для Facebook*, Instagram* и онлайн-чатов. Минимальная плата составляет 붽1 119 в месяц. Существует пробная версия, позволяющая опробовать платформу: максимум 50 чатов доступны в течение 30 дней.

На Chatfuel написан тот же робот по преобразованию LEGO. Его также используют такие крупные бренды, как Adidas и Greenpeace. С помощью этой услуги вы можете создать бесшовные инструменты для продажи, квалификации и автоматизации ответов на часто задаваемые вопросы.

ManyChat

Сервис помогает создавать чат-боты и интегрировать их с другими маркетинговыми каналами, такими как электронная почта и SMS. Он предназначен для интернет-магазинов и предлагает интеграцию с Shopify. Боты способны отвечать на часто задаваемые вопросы клиентов, собирать и сегментировать контакты, показывать презентации и каталоги продукции, оформлять заказы и многое другое.

Стоимость бота составляет $15 в месяц, но есть и бесплатная версия.

Pipe.bot

Изюминка платформы в том, что боты выглядят как живые существа. Для этого используется множество технологий, например, NLP (алгоритмы естественного языка, искусственный интеллект для понимания людей). Чат-боты сервиса работают в Facebook* Messenger, Telegram, Viber, Slack, голосовых интерфейсах типа Яндекс.Алиса и других подобных платформах.

Тариф зависит от количества участников. Например, если бот имеет до 2 000 контактов, его стоимость составляет $10 в месяц.

FlowXO

Платформа позволяет создавать ботов для Slack, Facebook* Messenger и других сервисов. Доступно более 100 интеграций: от CRM до платежных систем. Конструктор довольно прост в использовании и подходит для трейдеров без навыков программирования. Виртуальные чаттеры, созданные в FlowXO, могут обрабатывать запросы и платежи в чате, собирать и сортировать данные.

Минимальная цена — $19 в месяц. Вы можете бесплатно протестировать услугу для бота с менее чем 500 подписчиками.

Больше конструкторов для создания собственных чат-ботов вы найдете в нашей отдельной статье.

Выводы

Чатботы — это не только канал продаж, но и инструмент экономии ресурсов. Вы должны рассматривать их в контексте всей работы, которую клиент может выполнить с помощью бота, различая конверсии и конверсии, связанные с обслуживанием. И измеряйте не только конверсию в продажи, но и, например, процент запросов в службу поддержки, выполненных без участия персонала. Или уменьшение количества неправильных заказов.

Чатбот = автоматизация. Чтобы запустить его, необходимо написать сценарии автоматизации и понять, где администраторов можно заменить чат-ботами.

Лучше создавать бота на основе простых скриптов. Вам не нужно создавать сложные сценарии, если вы можете автоматизировать несколько отдельных простых задач. И да: бот ≠ не обязательно должен быть. Чем меньше времени уходит на выполнение, тем быстрее вы получаете результаты.

Чатбот = забота. Контакт пользователя с ботом очень тесный. Подобно тому, как человек читает информационный бюллетень перед сном, находясь за рулем или сидя в ванной, Messenger — это личный контакт. Поэтому необходимо подумать о полезности энергии, тоне общения и заботе о клиенте. Лучше сделать меньше, но по хорошо продуманным сценариям. Используйте переменные, чтобы запомнить имя клиента и другие атрибуты: местоположение, дату рождения, историю заказов.

Робот может зарабатывать деньги, если он работает для собственного потребления. Не нужно рассматривать этот инструмент только как канал продаж. Это может быть решением для опросов клиентов, общения с сотрудниками, обучения и синхронизации работы отделов. 24% компаний используют чат-ботов для обслуживания клиентов.

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

Chatfuel

Chatfuel предлагает инструменты для автоматизации общения с подписчиками и прямых продаж. Также можно перехватывать переписку реальных администраторов. Разработчики обещают клиентам читаемость сообщений на уровне 80% и коэффициент кликабельности на уровне 10%.

Они предлагают бесплатную версию, но их чатбот может общаться максимум с 50 людьми, что недостаточно для создания канала продаж.

Если вы платите $10 в месяц, вы можете увеличить количество подписчиков и иметь полную функциональность. Дальнейшее увеличение стоимости подписки до $120 приводит к увеличению числа подписчиков до 5 000.

Botkit

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

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

  Как найти свое объявление на Юле. Как на юле найти свое объявление о продаже?

Код Botkit Chatbot Builder предоставляется бесплатно, но за разработку конкретного решения вам придется заплатить по индивидуальной цене.

SAP Conversational AI

Этот конструктор чатботов можно использовать практически во всех популярных мессенджерах и даже непосредственно в социальных сетях. Кроме того, боты на базе SAP Conversational AI могут работать на сайтах интернет-магазинов и быть интегрированы в их CRM.

Работа чат-ботов, созданных в Builder, в основном сосредоточена на управлении диалогами. Кроме того, SAP Conversational AI имеет модуль самообучения, который позволяет ему со временем понимать все больше и больше распространенных фраз клиентов.

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

На начальном этапе вы можете работать с продюсером бесплатно. Выполнив определенное количество действий, вы должны перейти на тарифный план, стоимость которого начинается от 300 евро в месяц.

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

Как создать чат-бота в Telegram

Чат-бот — это канал для персонализированного общения с клиентами, способ автоматизировать взаимодействие с клиентами, освободить персонал службы поддержки, автоматизировать продажи и даже собрать данные о соискателе для рекрутера.

В этой статье мы приводим реальные примеры чат-ботов от Oriflame, сети магазинов «Дочки-Сыночки», Skeddy и Apex Pizza. Статья также содержит пошаговое руководство по созданию конференц-бота с нуля без помощи разработчика, а также пример бота для интернет-магазина одежды.

Как создать чат-бота в Telegram

Чат-бот — это канал для персонализированного общения с клиентами, способ автоматизировать взаимодействие с клиентами, освободить персонал службы поддержки, автоматизировать продажи и даже собрать данные о соискателе для рекрутера.

В этой статье мы приводим реальные примеры чат-ботов от Oriflame, сети магазинов «Дочки-Сыночки», Skeddy и Apex Pizza. Также есть пошаговое руководство по созданию конференц-бота с нуля без помощи программиста и пример бота для интернет-магазина одежды.

Продажа товаров или услуг. Например, клиент нажимает на ссылку в сообщении бота и переходит в каталог товаров, выбирает способ доставки и оплачивает заказ в чате.

Бот Apex Pizza

Отправляйте напоминания. Например, для поздних заданий или важных событий.

Бот Skeddy

Ответы на вопросы клиентов. Например, отправлять подборки товаров с ключевым словом.

Расширяйте возможности новых сотрудников. Например, напоминание о деловых встречах или обновление контактов их коллег.

Отслеживание геолокации. Робот собирает информацию о географическом положении пользователя и может использовать эти переменные, чтобы, например, найти такси на основе местоположения собеседника.

Метод TF-IDF

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

Одним из подходов к решению этих проблем является подсчет частоты встречаемости слова не только в одном тексте, но и во всех текстах одновременно. Это компенсирует вклад, например, «a» и «the». Этот подход называется TF-IDF (Term Frequency-Inverse Document Frequency) и состоит из двух этапов:

  • TF — расчет частоты встречаемости слова в тексте.
  • IDF — расчет частоты, с которой слово встречается во всех текстах.

TF-IDF — это широко используемый вес для обработки информации и анализа текстов. Это статистическая мера, которая может быть использована для оценки важности слова для текста в наборе текстов.

Пример

Возьмем текст из 100 слов, в котором слово «телефон» встречается 5 раз. Параметр TF для слова «телефон» составляет (5/100) = 0,05.

Предположим, у нас есть 10 миллионов документов, и слово «телефон» встречается в 1 000 из них. Коэффициент рассчитывается как 1+log(10 000 000/1000) = 4. Таким образом, TD-IDF составляет 0,05 * 4 = 0,20.

TF-IDF может быть реализован в scikit следующим образом:

Коэффициент Отиаи

TF-IDF — это преобразование, применяемое к текстам для получения двух реальных векторов в векторном пространстве. Затем мы можем получить коэффициент оти любой пары векторов, вычислив произведение элементов и разделив его на произведение их норм. Это дает нам косинус угла между векторами. Коэффициент Отиая — это мера сходства между двумя векторами, которые не равны нулю. С помощью этой формулы мы можем рассчитать сходство между любыми двумя текстами d1 и d2.

Здесь d1, d2 — два ненулевых вектора.

Подробное объяснение и практический пример TF-IDF и коэффициента Отиаи см. в статье по ссылке.

Теперь пришло время решить нашу задачу — создать чатбота. Назовем его «РОБО».

Обучение чат-бота

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

Импорт необходимых библиотек

Чтение данных

Прочитаем файл corpus.txt и преобразуем весь текст в список предложений и список слов для дальнейшей предобработки.

Рассмотрим пример для файлов sent_tokens и word_tokens

Предварительная обработка исходного текста

Теперь определим функцию LemTokens, которая принимает лексемы в качестве входных параметров и выдает нормализованные лексемы.

Подбор ключевых слов

Определите приветственную копию бота. Когда пользователь звонит боту, бот звонит в ответ. ELIZA использует простой подбор ключевых слов для приветствий. Давайте воспользуемся той же идеей.

Генерация ответа

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

  • Импортируйте векторизатор TFidf из библиотеки, чтобы преобразовать набор необработанного текста в таблицу свойств TF-IDF.
  • Также импортируйте модуль коэффициента Othiai из библиотеки Scikit.

Этот модуль используется для поиска ключевых слов в запросе пользователя. Это самый простой способ создания чатбота.

Определите функцию ответа, которая возвращает один из нескольких возможных ответов. Если запрос не соответствует ни одному из ключевых слов, бот выдает ответ «Sorry! Я не понимаю тебя».

Наконец, мы помещаем строки бота в начало и конец переписки, в зависимости от строк пользователя.

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

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

Оцените статью
Бизнес блог