Как создать чат-бота с нуля на Python: подробная инструкция
Аналитики Gartner утверждают, что к 2020 году 85% взаимодействий клиентов с сервисами сведется к общению с чат-ботами. В 2018 году они уже обрабатывают около 30% операций. В этой статье мы расскажем, как создать своего чат-бота на Python.
Возможно, вы слышали о Duolingo: популярном приложении для изучения иностранных языков, в котором обучение проходит в форме игры. Duolingo популярен благодаря инновационному стилю обучения. Концепция проста: от пяти до десяти минут интерактивного обучения в день достаточно, чтобы выучить язык.
Несмотря на то что Duolingo позволяет изучить новый язык, у пользователей сервиса возникла проблема. Они почувствовали, что не развивают разговорные навыки, так как обучаются самостоятельно. Пользователи неохотно обучались в парах из-за смущения. Эта проблема не осталась незамеченной для разработчиков.
Команда сервиса решила проблему, создав чат-бота в приложении, чтобы помочь пользователям получать разговорные навыки и применять их на практике.
Поскольку боты разрабатывались так, чтобы быть разговорчивыми и дружелюбными, пользователи Duolingo практикуются в общении в удобное им время, выбирая «собеседника» из набора, пока не поборят смущение в достаточной степени, чтобы перейти к общению с другими пользователями. Это решило проблему пользователей и ускорило обучение через приложение.
Итак, что такое чат-бот?
Чат-бот — это программа, которая выясняет потребности пользователей, а затем помогает удовлетворить их (денежная транзакция, бронирование отелей, составление документов). Сегодня почти каждая компания имеет чат-бота для взаимодействия с пользователями. Некоторые способы использования чат-ботов:
- предоставление информации о рейсе;
- предоставление пользователям доступа к информации об их финансах;
- служба поддержки.
Возможности безграничны.
История чат-ботов восходит к 1966 году, когда Джозеф Вейценбаум разработал компьютерную программу ELIZA. Программа подражает манере речи психотерапевта и состоит лишь из 200 строк кода. Пообщаться с Элизой можно до сих пор на сайте.
Как работает чат-бот?
Существует два типа ботов: работающие по правилам и самообучающиеся.
- Бот первого типа отвечает на вопросы, основываясь на некоторых правилах, которым он обучен. Правила могут быть как простыми, так и очень сложными. Боты могут обрабатывать простые запросы, но не справлятся со сложными.
- Самообучающиеся боты создаются с использованием основанных на машинном обучении методов и определенно более эффективны, чем боты первого типа. Самообучающиеся боты бывают двух типов: поисковые и генеративные.
В поисковых ботах используются эвристические методы для выбора ответа из библиотеки предопределенных реплик. Такие чат-боты используют текст сообщения и контекст диалога для выбора ответа из предопределенного списка. Контекст включает в себя текущее положение в древе диалога, все предыдущие сообщения и сохраненные ранее переменные (например, имя пользователя). Эвристика для выбора ответа может быть спроектирована по-разному: от условной логики «или-или» до машинных классификаторов.
Генеративные боты могут самостоятельно создавать ответы и не всегда отвечают одним из предопределенных вариантов. Это делает их интеллектуальными, так как такие боты изучают каждое слово в запросе и генерируют ответ.
В этой статье мы научимся писать код простых поисковых чат-ботов на основе библиотеки NLTK.
Создание бота на Python
Предполагается, что вы умеете пользоваться библиотеками scikit и NLTK. Однако, если вы новичок в обработке естественного языка (NLP), вы все равно можете прочитать статью, а затем изучить соответствующую литературу.
Обработка естественного языка (NLP)
Обработка естественного языка — это область исследований, в которой изучается взаимодействие между человеческим языком и компьютером. NLP основана на синтезе компьютерных наук, искусственного интеллекта и вычислительной лингвистики. NLP — это способ для компьютеров анализировать, понимать и извлекать смысл из человеческого языка разумным и полезным образом.
Краткое введение в NLKT
NLTK (Natural Language Toolkit) — платформа для создания программ на Python для работы с естественной речью. NLKT предоставляет простые в использовании интерфейсы для более чем 50 корпораций и лингвистических ресурсов, таких как WordNet, а также набор библиотек для обработки текста в целях классификации, токенизации, генерации, тегирования, синтаксического анализа и понимания семантики, создания оболочки библиотек NLP для коммерческого применения.
Книга Natural Language Processing with Python — практическое введение в программирование для обработки языка. Рекомендуем ее прочитать, если вы владеете английским языком.
Загрузка и установка NLTK
- Установите NLTK: запустите pip install nltk.
- Тестовая установка: запустите python, затем введите import nltk.
Инструкции для конкретных платформ смотрите здесь.
Установка пакетов NLTK
Импортируйте NLTK и запустите nltk.download(). Это откроет загрузчик NLTK, где вы сможете выбрать версию кода и модели для загрузки. Вы также можете загрузить все пакеты сразу.
Предварительная обработка текста с помощью NLTK
Основная проблема с данными заключается в том, что они представлены в текстовом формате. Для решения задач алгоритмами машинного обучения требуется некий вектор свойств. Поэтому прежде чем начать создавать проект по NLP, нужно предварительно обработать его. Предварительная обработка текста включает в себя:
- Преобразование букв в заглавные или строчные, чтобы алгоритм не обрабатывал одни и те же слова повторно.
- Токенизация. Токенизация — термин, используемый для описания процесса преобразования обычных текстовых строк в список токенов, то есть слов. Токенизатор предложений используется для составления списка предложений. Токенизатор слов составляет список слов.
Пакет NLTK включает в себя предварительно обученный токенизатор Punkt для английского языка.
- Удаление шума, то есть всего, что не является цифрой или буквой;
- Удаление стоп-слов. Иногда из словаря полностью исключаются некоторые крайне распространенные слова, которые, как считается, не имеют большого значения для формирования ответа на вопрос пользователя. Эти слова называются стоп-словами (междометия, артикли, некоторые вводные слова);
- Cтемминг: приведение слова к коренному значению. Например, если нам нужно провести стемминг слов «стемы», «стемминг», «стемированный» и «стемизация», результатом будет одно слово — «стем».
- Лемматизация. Лемматизация — немного отличающийся от стемминга метод. Основное различие между ними заключается в том, что стемминг часто создает несуществующие слова, тогда как лемма — это реально существующее слово. Таким образом, ваш исходный стем, то есть слово, которое получается после стемминга, не всегда можно найти в словаре, а лемму — можно. Пример лемматизации: «run» — основа для слов «running» или «ran», а «better» и «good» находятся в одной и той же лемме и потому считаются одинаковыми.
Набор слов
После первого этапа предварительной обработки нужно преобразовать текст в вектор (или массив) чисел. «Набор слов» — это представление текста, описывающего наличие слов в тексте. «Набор слов» состоит из:
- словаря известных слов;
- частот, с которыми каждое слово встречается в тексте.
Почему используется слово «набор»? Это связано с тем, что информация о порядке или структуре слов в тексте отбрасывается, и модель учитывает только то, как часто определенные слова встречаются в тексте, но не то, где именно они находятся.
Идея «набора слов» состоит в том, что тексты похожи по содержанию, если включают в себя похожие слова. Кроме того, кое-что узнать о содержании текста можно лишь по набору слов.
Например, если словарь содержит слова {Learning, is, the, not, great} и мы хотим составить вектор предложения “Learning is great”, получится вектор (1, 1, 0, 0, 1).
Метод TF-IDF
Проблема «набора слов» заключается в том, что в тексте могут доминировать часто встречающиеся слова, которые не содержат ценную для нас информацию. Также «набор слов» присваивает большую важность длинным текстам по сравнению с короткими.
Один из подходов к решению этих проблем состоит в том, чтобы вычислять частоту появления слова не в одном тексте, а во всех сразу. За счет этого вклад, например, артиклей «a» и «the» будет нивелирован. Такой подход называется TF-IDF (Term Frequency-Inverse Document Frequency) и состоит из двух этапов:
- TF — вычисление частоты появления слова в одном тексте
TF = (Число раз, когда слово "t" встречается в тексте)/(Количество слов в тексте)
- IDF — вычисление того, на сколько редко слово встречается во всех текстах
IDF = 1+log(N/n), где N - общее количество текстов, n - во скольких текстах встречается "t"
Коэффициент TF-IDF — это вес, часто используемый для обработки информации и интеллектуального анализа текста. Он является статистической мерой, используемой для оценки важности слова для текста в некотором наборе текстов.
Пример
Рассмотрим текст, содержащий 100 слов, в котором слово «телефон» появляется 5 раз. Параметр TF для слова «телефон» равен (5/100) = 0,05.
Теперь предположим, что у нас 10 миллионов документов, и слово телефон появляется в тысяче из них. Коэффициент вычисляется как 1+log(10 000 000/1000) = 4. Таким образом, TD-IDF равен 0,05 * 4 = 0,20.
TF-IDF может быть реализован в scikit так:
from sklearn.feature_extraction.text import TfidfVectorizer
Коэффициент Отиаи
TF-IDF — это преобразование, применяемое к текстам для получения двух вещественных векторов в векторном пространстве. Тогда мы можем получить коэффициент Отиаи любой пары векторов, вычислив их поэлементное произведение и разделив его на произведение их норм. Таким образом, получается косинус угла между векторами. Коэффициент Отиаи является мерой сходства между двумя ненулевыми векторами. Используя эту формулу, можно вычислить схожесть между любыми двумя текстами d1 и d2.
Cosine Similarity (d1, d2) = Dot product(d1, d2) / ||d1|| * ||d2||
Здесь d1, d2 — два ненулевых вектора.
Подробное объяснение и практический пример TF-IDF и коэффициента Отиаи приведены в посте по ссылке.
Пришло время перейти к решению нашей задачи, то есть созданию чат-бота. Назовем его «ROBO».
Обучение чат-бота
В нашем примере мы будем использовать страницу Википедии в качестве текста. Скопируйте содержимое страницы и поместите его в текстовый файл под названием «chatbot.txt». Можете сразу использовать другой текст.
Импорт необходимых библиотек
import nltk import numpy as np import random import string # to process standard python strings
Чтение данных
Выполним чтение файла corpus.txt и преобразуем весь текст в список предложений и список слов для дальнейшей предварительной обработки.
f=open('chatbot.txt','r',errors = 'ignore')
raw=f.read()
raw=raw.lower()# converts to lowercase
nltk.download('punkt') # first-time use only nltk.download('wordnet') # first-time use only
sent_tokens = nltk.sent_tokenize(raw)# converts to list of sentences word_tokens = nltk.word_tokenize(raw)# converts to list of words
Давайте рассмотрим пример файлов sent_tokens и word_tokens
sent_tokens[:2] ['a chatbot (also known as a talkbot, chatterbot, bot, im bot, interactive agent, or artificial conversational entity) is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods.', 'such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the turing test.']
word_tokens[:2] ['a', 'chatbot', '(', 'also', 'known']
Предварительная обработка исходного текста
Теперь определим функцию LemTokens, которая примет в качестве входных параметров токены и выдаст нормированные токены.
lemmer = nltk.stem.WordNetLemmatizer() #WordNet is a semantically-oriented dictionary of English included in NLTK.
def LemTokens(tokens): return [lemmer.lemmatize(token) for token in tokens] remove_punct_dict = dict((ord(punct), None) for punct in string.punctuation) def LemNormalize(text): return LemTokens(nltk.word_tokenize(text.lower().translate(remove_punct_dict)))
Подбор ключевых слов
Определим реплику-приветствие бота. Если пользователь приветствует бота, бот поздоровается в ответ. В ELIZA используется простое сопоставление ключевых слов для приветствий. Будем использовать ту же идею.
GREETING_INPUTS = ("hello", "hi", "greetings", "sup", "what's up","hey",)
GREETING_RESPONSES = ["hi", "hey", "*nods*", "hi there", "hello", "I am glad! You are talking to me"]
def greeting(sentence): for word in sentence.split(): if word.lower() in GREETING_INPUTS: return random.choice(GREETING_RESPONSES)
Генерация ответа
Чтобы сгенерировать ответ нашего бота для ввода вопросов, будет использоваться концепция схожести текстов. Поэтому мы начинаем с импорта необходимых модулей.
from sklearn.metrics.pairwise import cosine_similarity
Этот модуль будет использоваться для поиска в запросе пользователя ключевых слов. Это самый простой способ создать чат-бота.
Определим функцию отклика, которая возвращает один из нескольких возможных ответов. Если запрос не соответствует ни одному ключевому слову, бот выдает ответ «Извините! Я вас не понимаю».
def response(user_response): robo_response=''
TfidfVec = TfidfVectorizer(tokenizer=LemNormalize, stop_words='english') tfidf = TfidfVec.fit_transform(sent_tokens) vals = cosine_similarity(tfidf[-1], tfidf) idx=vals.argsort()[0][-2] flat = vals.flatten() flat.sort() req_tfidf = flat[-2]
if(req_tfidf==0): robo_response=robo_response+"I am sorry! I don't understand you" return robo_response else: robo_response = robo_response+sent_tokens[idx] return robo_response
Наконец, мы задаем реплики бота в начале и конце переписки, в зависимости от реплик пользователя.
flag=True print("ROBO: My name is Robo. I will answer your queries about Chatbots. If you want to exit, type Bye!")
while(flag==True): user_response = input() user_response=user_response.lower() if(user_response!='bye'): if(user_response=='thanks' or user_response=='thank you' ): flag=False print("ROBO: You are welcome..") else: if(greeting(user_response)!=None): print("ROBO: "+greeting(user_response)) else: sent_tokens.append(user_response) word_tokens=word_tokens+nltk.word_tokenize(user_response) final_words=list(set(word_tokens)) print("ROBO: ",end="") print(response(user_response)) sent_tokens.remove(user_response) else: flag=False print("ROBO: Bye! take care..")
Вот и все. Мы написали код нашего первого бота в NLTK. Здесь вы можете найти весь код вместе с текстом. Теперь давайте посмотрим, как он взаимодействует с людьми:
Получилось не так уж плохо. Даже если чат-бот не смог дать удовлетворительного ответа на некоторые вопросы, он хорошо справился с другими.
Заключение
Хотя наш примитивный бот едва ли обладает когнитивными навыками, это был неплохой способ разобраться с NLP и узнать о работе чат-ботов. «ROBO», по крайней мере, отвечает на запросы пользователя. Он, конечно, не обманет ваших друзей, и для коммерческой системы вы захотите рассмотреть одну из существующих бот-платформ или фреймворки, но этот пример поможет вам продумать архитектуру бота.
Интересные статьи:
Разработка чат-бота корпоративного уровня — Azure Architecture Center
Эта эталонная архитектура описывает процесс создания чат-бота корпоративного уровня с помощью Azure Bot Framework. Все боты отличаются друг от друга, но при работе с ними важно знать ряд распространенных шаблонов, рабочих процессов и технологий. Это особенно важно для ботов, которые обслуживают корпоративные рабочие нагрузки, ведь помимо основных функций существует много рекомендаций по проектированию. В этой статье рассматриваются наиболее важные аспекты разработки и некоторые средства, которые позволяют создать надежные, безопасные и активно обучающиеся боты.
Скачайте файл Visio этой архитектуры.
Лучшие примеры служебных с открытым кодом, используемые в этой архитектуре, доступны на GitHub.
Architecture
В представленной здесь архитектуре используются следующие службы Azure. В своем боте вы можете использовать некоторые из этих служб или включить дополнительные службы.
Логика бота и взаимодействие с пользователем
- Служба Bot Framework. Эта служба подключает бота к приложению для общения, например к Кортане, Facebook Messenger или Slack. Она обеспечивает обмен данными между ботом и пользователем.
- Служба приложений Azure. В Службе приложений Azure размещается логика приложения бота.
Когнитивные и интеллектуальные возможности бота
- Распознавание речи (Luis). Служба LUIS входит в состав Azure Cognitive Services и предоставляет ботам возможность понимать естественный язык, определяя намерения пользователя и сущности.
- Поиск Azure. Поиск Azure — это управляемая служба, которая предоставляет индекс документов для быстрого поиска по ним.
- QnA Maker. QnA Maker — это облачная служба API, которая позволяет работать с данными в форме вопросов и ответов. Обычно в нее загружается частично структурированное содержимое, например список часто задаваемых вопросов. Используйте ее для создания базы знаний, позволяющей отвечать на вопросы на естественном языке.
- Веб-приложение. Если вашему боту потребуются решения искусственного интеллекта (ИИ), не предоставляемые существующими службами, вы можете реализовать собственные пользовательские службы ИИ и разместить их в формате веб-приложения. Так вы получите конечную веб-точку, к которой будет обращаться ваш бот.
Прием данных
Бот использует необработанные данные, которые ему нужно принять и подготовить. Для оркестрации этого процесса можно применить следующие варианты.
- Фабрика данных Azure. Фабрика данных координирует и автоматизирует перемещение и преобразование данных.
- Logic Apps. Logic Apps является бессерверной платформой для создания рабочих процессов, включающих приложения, данные и службы. Logic Apps предоставляет соединители данных для многих приложений, включая Office 365.
- Функции Azure. вы можете использовать функции Azure для написания пользовательского кода, который вызывается триггером , — например, при добавлении документа в хранилище blob-объектов или Cosmos DB.
Ведение журналов и мониторинг
- Application Insights. Application Insights позволяет регистрировать метрики работы бота для мониторинга, диагностики и аналитики.
- служба хранилища больших двоичных объектов Azure. Хранилище BLOB-объектов оптимизировано для хранения огромных объемов неструктурированных данных.
- Cosmos DB. Cosmos DB подходит для хранения частично структурированных данных журналов, например бесед бота.
- Power BI. Power BI позволяет создавать для бота панели мониторинга.
Безопасность и контроль
Контроль качества и улучшения
- Azure DevOps. Предоставляет множество служб для управления приложениями, в том числе для управления версиями, сборки, тестирования, развертывания и отслеживания проектов.
- VS Code — простой редактор кода для разработки приложений. Также можно использовать любую другую интегрированную среду разработки со сходными функциями.
Рекомендации по проектированию
На высоком уровне функциональные возможности чат-бота можно разделить на основные («мозг» бота) и требования окружающей среды (его «тело»). «Мозг» содержит компоненты, имеющие отношение к предметной области, в том числе логику бота и функции машинного обучения. Другие компоненты не зависят от предметной области и отвечают за нефункциональные требования, например возможности CI/CD, контроль качества и безопасность.
Прежде чем рассматривать эту архитектуру подробно, давайте разберемся с потоком данных, который проходит через каждый из ее компонентов. Поток данных включает потоки данных, которые инициируются пользователем и системой.
Поток сообщений пользователя
Проверка подлинности. Пользователи начинают взаимодействие с проверки подлинности, используя штатный механизм для выбранного канала связи с ботом. Bot Framework поддерживает различные каналы связи, включая Кортану, Microsoft Teams, Facebook Messenger, Kik и Slack. Полный список каналов вы найдете в статье Подключение бота к каналам. При создании бота с помощью службы Azure Bot канал Веб-чат настраивается автоматически. С помощью этого канала пользователям могут напрямую взаимодействовать с ботом с веб-страницы. Вы также можете подключить бота к пользовательскому приложению с помощью канала Direct Line. Удостоверение пользователя используется для управления доступом на основе ролей и для персонализации предоставляемого содержимого.
Сообщение пользователя. После проверки подлинности пользователь отправляет боту сообщение. Бот считывает это сообщение и перенаправляет его в службу распознавания речи, такую как LUIS. Этот этап позволяет получить намерения пользователя (что он хочет сделать) и сущности (объекты, которые интересуют пользователя). На их основе бот создает запрос и передает его в службу, которая отвечает за предоставление сведений, например в Поиск Azure для поиска документов, в QnA Maker для обработки часто задаваемых вопросов или в пользовательскую базу знаний. Ответы от этих служб бот использует для создания ответа. Чтобы обеспечить наилучший результат для данного запроса, Bot может выполнить несколько обратных вызовов к этим удаленным службам.
Ответ. На этом этапе бот выбирает лучший ответ и отправляет его пользователю. Если оценка достоверности наиболее подходящего ответа низкая, ответ может быть вопросом устранения неоднозначности или подтверждением того, что программа-робот не может ответить надлежащим образом.
Ведение журнала. При получении запроса пользователя или отправке ответа следует сохранять в хранилище журнала все сообщения, а также метрики производительности и любые полученные от внешних служб сообщения об ошибках. Эти журналы позднее пригодятся для диагностики проблем и улучшения системы.
Обратная связь. Еще один полезный прием — собирать от пользователей отзывы и оценки удовлетворенности. В дополнение к последнему ответу бот может отправлять пользователю запрос, чтобы оценить степень удовлетворенности полученным ответом. Такие отзывы помогают решить проблемы холодного запуска или понимания естественного языка, чтобы постоянно повышать точность ответов.
Поток данных системы
ETL. Боту для работы нужны сведения и знания, извлеченные серверной частью из необработанных данных на этапе ETL. Это могут быть структурированные (база данных SQL), частично структурированные (системы CRM, часто задаваемые вопросы) или неструктурированные данные (документы Word, PDF-файлы, веб-журналы). Подсистема ETL извлекает данные по фиксированному расписанию. Содержимое преобразовывается и обогащается, а затем передается в промежуточное хранилище данных, например в Cosmos DB или хранилище BLOB-объектов Azure.
Данные в промежуточном хранилище индексируются в Поиск Azure, чтобы поддерживать извлечение документов, загружаются в QnA Maker для создания пар «вопрос — ответ» или передаются в пользовательское веб-приложение для обработки неструктурированного текста. Также эти данные используются для обучения модели LUIS, которая извлекает намерения и сущности.
Контроль качества. Журналы бесед используются для диагностики и исправления ошибок, сбора полезных сведений об использовании бота и отслеживания общей производительности. Данные обратной связи полезны для повторного обучения моделей ИИ, которое позволяет повысить производительность бота.
Сборка бота
Прежде, чем вы напишете первую строку кода, нужно создать функциональную спецификацию, чтобы команда разработчиков хорошо понимала все ожидаемые действия бота. Эта спецификация должна включать относительно широкий список вариантов ввода пользователя и ожидаемых ответов бота по разным предметным областям. Этот документ будет бесценным руководством при разработке и тестировании бота.
Прием данных
После этого определите источники данных, которые позволят боту интеллектуально взаимодействовать с пользователями. Как упоминалось ранее, эти источники могут содержать структурированные, частично структурированные и неструктурированные наборы данных. Для начала работы мы рекомендуем один раз передать копию нужных данных в централизованное хранилище, например в Cosmos DB или службу хранилища Azure. По мере развития системы можно создать конвейер автоматического приема данных, чтобы поддерживать актуальность этих данных. Для создания конвейера автоматического приема данных можно применить Фабрику данных, Функции Azure и (или) Logic Apps. В зависимости от особенностей хранилища или схемы данных вы можете сочетать эти подходы в разных комбинациях.
При начале работы имеет смысл вручную создать все нужные ресурсы Azure с помощью портала Azure. Позднее можно подумать и об автоматизации развертывания этих ресурсов.
Основная логика бота и пользовательский интерфейс
Подготовив спецификацию и начальный набор данных, пора приступить к реализации бота. Давайте рассмотрим основную логику бота. Так называют код, который обрабатывает диалог с пользователем и содержит логику маршрутизации, устранения неоднозначностей и ведения журнала. Для начала ознакомьтесь с платформой Bot Framework, например изучите следующее:
- Основные понятия и термины этой платформы, особенно беседы, репликовые [шаги] и действия.
- Возможности службы соединителя бота, которая обрабатывает сетевое взаимодействие между ботом и каналами.
- Механизмы поддержания состояния беседы, для которых применяется хранилище в памяти или (предпочтительно) хранилище BLOB-объектов Azure или Azure Cosmos DB.
- ПО промежуточного слоя и его применение для подключения бота к внешним службам, таким как Cognitive Services.
У вас есть много возможностей для расширения взаимодействия с пользователем.
- Вы можете использовать карты для добавления кнопок, изображений, каруселей и меню.
- Бот даже может поддерживать речь.
- Вы можете внедрить бот в приложение или веб-сайт, чтобы использовать возможности этого приложения или сайта.
Чтобы приступить к работе, создайте бот с подключением к Интернету с помощью службы Azure Bot, выбрав любой из доступных шаблонов для C# и Node.js. Когда бот станет более сложным, его лучше сначала создавать локально, а затем разворачивать в Интернете. Выберите интегрированную среду разработки, например Visual Studio или Visual Studio Code, и язык программирования. Пакеты SDK доступны для следующих языков:
- C#
- JavaScript
- Java (Предварительная версия)
- Python (Предварительная версия)
В качестве отправной точки можно скачать исходный код бота, созданный в службе Azure Bot. Также вы можете выбрать любой из примеров кода, где представлены как простые боты для повторения сообщений, так и более сложные системы с интеграцией служб ИИ.
Добавьте извилин вашему боту
Для простых ботов с четко определенным набором команд можно использовать набор правил для анализа пользовательского ввода по регулярным выражениям. Этот подход отличается детерминированностью и простотой для понимания. Но если бот должен понимать намерения и сущности в сообщениях, сформулированных более естественным языком, вам помогут службы ИИ.
Служба LUIS разработана специально для понимания намерений и сущностей в сообщениях пользователя. Ее можно обучить по относительно небольшой коллекции сообщений пользователя с нужными ответами, чтобы служба смогла возвращать намерения и сущности для произвольного сообщения пользователя.
Поиск Azure может работать параллельно с LUIS. В Поиске вы можете создать индекс, поддерживающий поиск по всем подходящим данным. Бот запрашивает из этих индексов сущности, извлеченные ранее службой LUIS. Поиск Azure также поддерживает синонимы, что позволяет расширить сеть сопоставлений с правильным словом.
Служба QnA Maker также предназначена для возврата ответов на определенные вопросы. Она обычно обучается по частично структурированным данным, таким как часто задаваемые вопросы.
Бот может использовать и другие службы ИИ для расширения возможностей пользователя. Набор готовых служб ИИ в Cognitive Services (куда входят LUIS и QnA Maker) содержит службы компьютерного зрения, речи, языка, поиска и расположения. Вы также можете быстро добавлять новые функциональные возможности, например перевод на другие языки, проверку орфографии, анализ тональности, распознавание текста, отслеживание расположения и модерацию содержимого. Эти службы можно оформить как модули ПО промежуточного слоя, при подключении которых бот будет лучше и более естественно взаимодействовать с пользователем.
Кроме этого, вы можете интегрировать собственную службу ИИ. Это более сложный подход, но зато он дает полную гибкость по выбору алгоритма, режима и моделей машинного обучения. Например, вы можете реализовать собственную модель разделов и использовать такой алгоритм, как LDA, чтобы искать схожие или подходящие документы. Мы рекомендуем предоставлять пользовательское решение ИИ в виде конечной точки веб-службы и обращаться к этой точке из основной логики бота. Такую веб-службу можно разместить в Службе приложений или в кластере виртуальных машин. Машинное обучение Azure предоставляет ряд служб и библиотек, которые помогут вам при обучении и развертывании моделей.
Контроль качества и улучшения
Ведение журнала. Сохраняйте журналы всех бесед пользователей с ботом, а также базовые метрики производительности и любые ошибки. Эти журналы будут бесценным ресурсом для отладки проблем, анализа взаимодействия с пользователем и улучшения системы. Для разных типов журналов лучше выбрать разные типы хранилищ. Например, служба Application Insights удобна для веб-журналов, Cosmos DB — для бесед, а служба хранилища Azure — для полезных данных большого объема. См. дополнительные сведения о записи данных напрямую в службу хранилища Azure.
Обратная связь. Также важно понимать, насколько пользователи довольны своим взаимодействием с ботом. Сохраняя отзывы пользователей, вы сможете на основе этих данных выбрать аспекты взаимодействий для возможных улучшений и (или) повторно обучить модели ИИ для повышения производительности. Используйте обратную связь для обучения используемых моделей, например LUIS.
Тестирование. Тестирование бота включает модульные тесты, интеграционные тесты, тесты регрессии и функциональные тесты. Для тестирования мы рекомендуем сохранять реальные HTTP-ответы от внешних служб, таких как Поиск Azure или QnA Maker, чтобы воспроизводить их для тестов и избавиться от создания реальных сетевых вызовов к внешним службам.
Примечание
Чтобы быстро начать разработку по этим направлениям, ознакомьтесь с репозиторием Botbuilder Utils for JavaScript. Этот репозиторий содержит пример служебного кода для ботов, созданных с помощью Microsoft Bot Framework версии 4 и работающих на Node.js. Он содержит следующие пакеты.
Эти пакеты предоставляются в формате примеров кода для служебных программ и не предполагают никаких гарантий, обновлений или поддержки.
Вопросы доступности
При развертывании новых функций или исправлений для бота лучше всего использовать несколько сред развертывания, например промежуточную и рабочую. С помощью слотов развертывания, предлагаемых в Azure DevOps, вы сможете полностью избавиться от времени простоя. Все обновления можно будет проверить в промежуточной среде, прежде чем переключать их в рабочую среду. С точки зрения обработки нагрузки Служба приложений позволяет выполнять горизонтальное и вертикальное масштабирование вручную или автоматически. Бот размещается в глобальной инфраструктуре центров обработки данных корпорации Майкрософт, а значит для него гарантируется высокий уровень доступности, включенный в соглашение об уровне обслуживания для Службы приложений.
Вопросы безопасности
Как и любое другое приложение, бот может обрабатывать конфиденциальные данные. Это означает, что вам нужно ограничить права на вход и взаимодействие с ботом. Примените ограничение данных, к которым осуществляется доступ, на основе удостоверений или ролей пользователей. Используйте Azure AD для управления удостоверениями и доступом, а также Key Vault для управления ключами и секретами.
Рекомендации для DevOps
Мониторинг и создание отчетов
После того, как бот будет развернут в рабочей среде, команда DevOps должна поддерживать его в работоспособном состоянии. Постоянный мониторинг системы позволит убедиться, что бот работает с оптимальной производительностью. Создайте панели мониторинга на основе журналов, отправляемых в Application Insights или Cosmos DB, с помощью той же службы Application Insights, Power BI или пользовательского веб-приложения для мониторинга. Отправляйте оповещения команде DevOps при возникновении критических ошибок или снижении производительности ниже допустимого порога.
Автоматизированное развертывание ресурсов
Сам бот является частью более крупной системы, которая поддерживает его работу и снабжает его актуальными данными. Для этого нужно развернуть разные ресурсы Azure: службы оркестрации данных, например Фабрику данных; службы хранилища, например Cosmos DB и т. д. Azure Resource Manager предоставляет слой согласованного управления, доступный через портал Azure, PowerShell или Azure CLI. Чтобы обеспечить скорость и согласованность, мы рекомендуем автоматизировать развертывание с помощью одного из описанных подходов.
Непрерывное развертывание бота
Вы можете развернуть логику бота прямо из интегрированной среды разработки или с помощью командной строки, например Azure CLI. По мере усложнения бота лучше всего применить процесс непрерывного развертывания на основе одного из решений CI/CD (например, Azure DevOps), как описано в статье о непрерывном развертывании. Этот способ избавляет от трудностей при тестировании новых функций и исправлений, предоставляя среду, максимально приближенную к рабочим условиям. Также мы рекомендуем иметь несколько сред развертывания, по меньшей мере отдельные промежуточную и рабочую среды. Azure DevOps поддерживает такой подход.
Рекомендации по стоимости
Для оценки затрат используйте калькулятор цен Azure. Ниже приведены некоторые другие рекомендации.
Приложение-робот
В этой архитектуре основным драйвером затрат является служба приложений Azure, в которой размещается логика приложения Bot. Выберите уровень плана службы приложений, который лучше подходит для ваших потребностей. Вот несколько рекомендаций.
- Используйте уровни Free и Shared (Предварительная версия) для целей тестирования, так как общие ресурсы не могут масштабироваться.
- выполните рабочую рабочую нагрузку на уровнях » базовый«, » стандартный» и » Premium «, так как приложение выполняется на выделенных экземплярах виртуальной машины и выделило ресурсы, которые могут масштабироваться. Счета за планы службы приложений выставляются за секунду.
С вас будет взята плата за экземпляры в плане службы приложений, даже если приложение остановлено. Удалите планы, которые не планируется использовать в долгосрочной перспективе, например тестовые развертывания.
Дополнительные сведения см. в разделе Какова стоимость плана службы приложений?.
Прием данных
Фабрика данных Azure
В этой архитектуре фабрика данных автоматизирует конвейер приема данных. изучите ряд возможностей интеграции данных в соответствии с потребностями вашего бюджета от управляемых SQL Server Integration Services для эффективного переноса проектов SQL Server в облако (экономичный вариант), в крупномасштабные конвейеры данных без сервера для интеграции данных всех форм и размеров.
Пример см. в разделе » фабрика данных Azure». Пример анализа затрат.
Функции Azure
В этой эталонной архитектуре счета за использование функций Azure выставляются в соответствии с планом потребления. Вы платите на основе потребления ресурсов за секунду и каждый раз, когда событие запускает выполнение функции. Обработка нескольких событий в одном выполнении или пакетах может снизить затраты.
Azure масштабирует инфраструктуру, необходимую для выполнения функций по мере необходимости. Если Рабочая нагрузка мала, инфраструктура масштабируется до нуля без связанных затрат. При увеличении рабочей нагрузки Azure использует достаточную емкость для обслуживания всех потребностей. Так как вы платите за фактическое использование, управляйте точной стоимостью каждого компонента.
Logic Apps
Цены на приложения логики работают в модели с оплатой по мере использования. В Logic Apps есть модель ценообразования с оплатой по мере использования. Триггеры, действия и выполнения соединителей измеряются каждый раз при запуске приложения логики. Все успешные и неудачные действия, включая триггеры, считаются выполнением.
например, приложение логики обрабатывает сообщения 1000 в день из Azure служебная шина. Рабочий процесс, состоящий из пяти действий, будет стоить менее $6. Дополнительные сведения см. на странице с ценами на Logic Apps.
дополнительные сведения о других затратах см. в разделе «затраты» в Microsoft Azure Well-Architected Framework.
Next Steps
- ознакомьтесь с шаблоном Виртуальный помощник , чтобы быстро приступить к созданию бесед программы-роботы.
Создание и разработка чат-ботов для бизнеса — Sibdev
Заказать чат-бот для бизнеса быстрее и дешевле, чем разрабатывать полноценное мобильное приложение или веб-сервис. И если нужна автоматизация типовых взаимодействий, возможностей чат-бота будет достаточно.
Занимаемся разработкой ботов для мессенджеров и соцсетей с широким функционалом: ответы на вопросы, рассылки, поиск информации, развлечения, прием заявок, платежей и многое другое. Разрабатываем кастомные решения, ориентируясь на нужды конкретного проекта.
Можете заказать бота любого вида:
-
— Простой: работает по заранее определенному списку команд и ключевых слов. Такой бот значительно проще, требует меньше времени на разработку, но ограничен в применении. Подходит для автоматизации несложных рутинных задач, решаемых линейно.
-
— Нейросетевой: разрабатывается с использованием машинного обучения и методов понимания естественного языка. Разрабатывать такой бот дольше и сложнее, но список задач, с которыми он справляется, обширнее. Бот обучается по мере взаимодействия с пользователями. Он может выбирать ответы из готового списка, опираясь на контекст диалога, а может создавать ответы самостоятельно.
Для удобства создадим веб-панель управления. Она позволяет собирать статистику, анализировать работу чат-бота, а также управлять ботом: редактировать пункты меню, менять тексты ответов, добавлять и удалять категории товаров.
Этапы создания бота:
-
1. Изучаем специфику проекта и потребности целевой аудитории.
-
2. С учетом этих данных и ваших требований формулируем техническое задание.
-
3. Составляем схему бота, продумываем логику, разрабатываем сценарии его взаимодействия с пользователями.
-
4. Реализуем все необходимые функции — навигация, консультирование пользователей по FAQ, сбор статистики и другие.
-
5. Интегрируем по API с нужными сервисам, например, с интернет-магазином.
-
6. Тестируем и запускаем.
-
7. Если понадобится — доработаем бота после запуска.
Чат-бот для Telegram, Viber, ВКонтакте и любых других платформ разрабатываем в срок от 1 недели, в зависимости от сложности поставленных задач.
Технологии создания чат-ботов
При разработке используем технологический стек: Vue, React, Python.
Как создать чат-бота для вашего сайта
Как создать чат-бота для вашего сайта
ChatCompose является платформой чат-ботов, которая предлагает широкий спектр каналов интеграции и вариантов использования, включая чат-ботов для Интернета.
Установка чат-бота на веб-сайте вашей компании или компании покрывает многие потребности, начиная от создания потенциальных клиентов и заканчивая онлайн-бронированием. Все автоматизировано и, следовательно, позволит вам сэкономить время, оптимизировать свой сервис и сэкономить деньги. Отсюда важность знания того, как создать чат-бота для вашего сайта.
Чатбот — это текстовый (а иногда и аудио) интерфейс, который можно создать с помощью подготовленных скриптов и / или вопросов и ответов. Чат-робот может использовать искусственный интеллект для ответа на вопросы, получения заказов, автоматического выполнения задач и предоставления всех услуг, для которых он был обучен. Чатбот может творить чудеса для вашего бизнеса, если вы знаете, как создать и установить его на своем веб-сайте. И чтобы максимально использовать это решение, вот небольшой учебник.
Как создать чат-бота для вашего сайта (с ChatCompose)
Чтобы научить вас, как создать чат-бота для вашего веб-сайта, сначала определите, какие варианты использования вы хотите использовать для своего чат-бота. Хотя бот может выполнять много задач одновременно в автоматическом режиме, хорошо, что он указывает на конкретные цели для их достижения.
Те, кто хочет чат-бота на своем веб-сайте, обычно ищут варианты использования, такие как генерация лидов, резервирование и встречи и проведение опросов. Основываясь на большинстве запросов, мы объясним, как создать бота в этих случаях.
Создать потенциальных клиентов
Чатботы могут автоматизировать процесс генерации лидов. Долгое время компании и предприятия использовали более или менее сложные формы, чтобы убедить потенциальных клиентов предоставить свои данные. Тем не менее, основная информация, наиболее ценный актив, который может иметь каждая компания, работающая с клиентами, ревностно защищается людьми. Многие потенциальные клиенты с самого начала отказываются продолжать процесс, когда видят форму, будь то из-за подозрения или усталости.
Бот может собирать всю информацию, которую обычно собирает форма, но посредством разговора, который, помимо того, что он немного более тонкий, заставляет клиентов чувствовать себя лучше. Люди по своей природе любопытны и захотят продолжить общение с чатботом.
Фактически было показано, что 69% потребителей предпочитают чат-ботов для быстрого общения с брендами. Давайте рассмотрим простой пример захвата свинца с помощью бота ниже.
На предыдущем изображении задаются только самые простые вопросы, такие как имя и адрес электронной почты, однако ChatCompose позволяет редактировать сценарии, чтобы вы могли задавать вопросы, необходимые для получения любых соответствующих данных.
Чтобы назначить этот вариант использования вашему боту, вам просто нужно зайти в Chatbots> Use Cases и в кнопке Задача найти опцию Захват потенциальных клиентов или Захват данных, в зависимости от ситуации. Там вы найдете скрипт по умолчанию, который вы можете редактировать и адаптировать к потребностям вашего бизнеса.
Записаться на прием и бронирование
Важной задачей для предприятий, таких как рестораны, медицинские центры, клиники и салоны красоты, является автоматизация бронирования и встреч. Предлагая удобный и беспроблемный процесс бронирования, вы получаете более эффективное и быстрое бронирование, увеличиваете доход от бронирования и снижаете вероятность отказа клиента от покупки или услуги.
Chatbot может обрабатывать каждого из ваших клиентов одновременно, без необходимости контроля или необходимости тратить ресурсы на агента или секретаря. Давайте посмотрим на следующий пример:
На платформе ChatCompose вы можете найти скрипт по умолчанию для резервирования или встреч в Chatbots> Use Cases, затем выбирая Задачи и получая доступ к Встречам.
Также в меню «Бронирование / встречи» вы можете настроить свой календарь в соответствии с доступностью вашей компании или услуги.
Интерфейс построения сценариев позволяет вам включить компонент «Резерв» для вашего бота при создании сценариев, чтобы начать планирование собраний с указанием времени и дат, которые вы ранее отметили как доступные в этом разделе.
Пока вы создаете свой скрипт, вы можете добавить компонент Reservations, как вы видите на картинке, чтобы бот предлагал пользователю варианты резервирования во время разговора.
Таким образом, ваши клиенты не должны ждать длинных списков ожидания, чтобы связаться с кем-то из вашей команды, чтобы назначить встречу. Система отвечает за автоматизацию этого процесса и позволяет вашим пользователям выбирать назначение или бронирование в зависимости от их доступности, а также дат и времени, которые вы отметили как доступные. Chatbot будет отправлять вам сообщения по электронной почте каждый раз, когда будет сделано новое бронирование.
ChatBot может вести клиента через поток разговоров, который уменьшает трения, которые часто встречаются при бронировании какой-либо услуги. Вы также можете отвечать на вопросы клиентов, связанные с сервисом, в одном чате.
Обзоры и отзывы
Проводить опросы удовлетворенности, узнавать о перспективах продуктов или впечатлениях клиентов становится все труднее, и очень немногие клиенты заполняют их, потому что это неудобно и обычно требует перехода по ссылке. Chatbot может помочь с этой задачей, интегрируя уверенного в разговор.
Информация, которую вы можете собрать с помощью своих опросов, имеет большую ценность, помогает вам улучшать ваши продукты и услуги и готовит вас к тому, чтобы идти в ногу с клиентами как преимущество перед вашими конкурентами, лучше понимать тенденции бизнеса. Но как заставить клиента взять на себя обязательство дать нам свое мнение? Легко, через чат-ботов.
Учитывая, что большинству людей на сегодняшний день любопытно взаимодействовать с ботом и что через эти программы очень легко общаться, целесообразно установить в нашем боте компонент опроса, чтобы клиенты могли высказать свое мнение. Давайте посмотрим на пример:
На рисунке показаны места, где должны быть представлены вопросы, которые вы хотите задать своим клиентам. Например, вы бы порекомендовали наш сервис? Или вы бы купили у нас снова? Вы можете найти этот компонент в ChatBots> Use Cases, в Task, а затем в Simple Survey.
Там вы можете отредактировать скрипт по умолчанию с вопросами, которые вы хотите задать своим клиентам. Затем вы сохраняете скрипт с идентификатором и определяете, будет ли он скриптом по умолчанию, с которым ваш бот будет работать в сети.
Если опрос не является сценарием по умолчанию, но вы просто хотите, чтобы он был одной из задач, выполняемых вашим ботом, то при создании потока основного сценария вы можете интегрировать сценарий опроса, добавив </> Script компонента и выберите сценарий опроса.
Этот шаг также применяется для добавления сценария создания потенциальных клиентов в ваш основной сценарий.
Вот как боты могут стать полностью функциональными для выполнения этих задач, которые во многих случаях могут быть повторяющимися и не требуют вмешательства человека-агента. Также помните, что пользователи не хотят перенаправляться на формы или другие страницы для разрешения своих запросов.
Бот позволяет автоматически выполнять все процессы на вашем веб-сайте, не переходя на любой другой адрес или целевую страницу.
Конфигурация и установка
Настройка и установка вашего бота на вашем сайте также очень проста. Это процедура, которая займет у вас всего несколько минут. Давайте начнем с конфигурации.
Внутри платформы, в Свойствах, есть именно раздел, озаглавленный Конфигурации. В разделе «Настройки»> «Основные» вы отвечаете за наименование своего бота, создавая начальное сообщение, которое он будет сообщать пользователям на вашем веб-сайте, и название уведомления, которое будет отображаться в пузыре.
Но самое главное, что вы выбираете начальный компонент, который будет именем сценария, который вы создали для воспроизведения в разговоре с пользователем. Эти настройки могут идти более или менее так.
С другой стороны, в меню «Настройки»> «Страницы» вы можете создать новую конфигурацию для определенного URL-адреса, если вам нужны боты для отдельных страниц. Другими словами, это позволяет создавать настройки на отдельных страницах для отображения различных сообщений и компонентов / сценариев.
Таким образом, вы можете отобразить сценарий продаж на страницах продукта, сценарий поддержки на странице контактов или сценарий бронирования на странице назначения.
Наконец, в Настройки> Персонализация вы можете найти параметры дизайна вашего бота. Таким образом, вы можете определить основной цвет, цвет фона, тип шрифта и даже логотип вашей компании, если хотите. Все изменения применяются автоматически.
После того, как скрипт настроен, нужно знать, как его установить. Вариант довольно легко найти на платформе. На левой боковой панели, в Main, у вас есть опция Install, и в ней вы можете выбрать опцию Web.
Как только вы попадаете в Installation> Web, вы можете выбрать один из трех вариантов, который подходит именно вам.
Первый вариант — веб-установка . Мы предоставляем вам код, который вы можете реализовать, добавив его в HTML-код своей страницы перед закрытием тега </ head>: изменения будут отображаться на вашем сайте только после очистки кэша или использования режима инкогнито.
Тогда у вас есть установка WordPress . Все, что вам нужно сделать, это установить наш плагин на ваш сайт, созданный с помощью WordPress. Для этого у нас есть плагин с нашего сайта, вам нужно будет загрузить его в разделе плагинов> Добавить новый> Загрузить плагин. После установки плагина вы должны указать свой идентификатор пользователя, что означает, что у вас должна быть активная учетная запись ChatCompose. После ввода идентификатора вы сохраняете изменения, и ваш чат-бот должен быть виден на вашем веб-сайте так же, как вы его установили.
Наконец, есть опция установки Joomla через расширение . Эта установка также облегчается с помощью плагина. Мы предоставляем файл для установки на вашем сайте Joomla> Расширения> Управление> Установить. Тогда вам просто нужно перейти в «Расширения»> «Плагин» и выполнить поиск «создание чата», там вы можете активировать плагин или отредактировать его. Опять же, чтобы активировать плагин, вам нужно иметь идентификатор, чтобы затем сохранить изменения.
Если у вас нет учетной записи ChatCompose, вы можете создать ее здесь , так как вам потребуется доступ к нашим инструментам чат-ботов для вашего веб-сайта. Боты в настоящее время не могут полностью вытеснить людей-агентов, но они могут автоматизировать многие повторяющиеся или систематические процессы, которые будут стоить вам много ресурсов, персонала и времени.
Это были только три случая использования, наиболее часто используемые компаниями на своих веб-сайтах, но результаты можно масштабировать до такой степени, чтобы вы могли автоматизировать даже более сложные задачи.
Помните, что большинство ваших клиентов или пользователей не хотят просматривать три разные страницы, прежде чем приступить к процессу, который они, наконец, ищут. Боты заставляют пользователей связываться с тем, что они хотят, не покидая ваш сайт, только в интерфейсе разговора.
Это очень полезный сервис, особенно учитывая, что большинство людей посещают сайты со своих смартфонов. Если этим пользователям смартфонов пришлось слишком много перемещаться по сайту, чтобы найти нужный вариант, вы, скорее всего, потеряете их по пути.
Мы надеемся, что это руководство было полезным, поэтому вы не теряете больше потенциальных клиентов из-за скучных форм, ваши клиенты делают бронирование быстрее и проще, а вы можете проводить опросы более тонко и эффективно. Все с помощью вашего ChatBot.
SAP Conversational AI — создание обучающихся чат-ботов на основе нейросетей
Всё большая часть жизни становиться связана со смартфоном. Акценты всё сильнее смещаются не только на общение по телефону, но и в специализированных чатах. Будь это рабочий чат, групповой чат с друзьями или чат в интернет магазине, с продавцом. Особняком от них всех стоят чат-боты. Следуя желаниям покупателей, SAP предоставляет свой собственный сервис SAP Conversational AI.
SAP Conversational AI – это пользовательский веб-интерфейс, который служит платформой для создания и тестирования чат-ботов для вашего бизнеса и индивидуальных потребностей. Он предоставляет среду, работающую на языке node.js, в которой заложен большой функционал, с возможностью самостоятельного дополнения пользователем.
При разработке данной платформы, специалисты изначально вкладывали функции, которые смогли бы раскрыть свой потенциал не только в данный момент, но и в будущем. Как, например, масштабирование под другие платформы или уже вышеупомянутую возможность дополнять недостающие функции самостоятельно. Но чем качественно отличается чат — бот компании SAP от других сервисов?
SAP Conversational AI предоставляет уникальную комбинацию возможностей и преимуществ, которые нельзя найти на рынке:
- Облачное развертывание на серверах с мировым именем
- Мощная мультиязычная технология работы с сообщениями
- End – to – end разработка
- Настройка бота под работу в конкретной отраслевой области
- Интеграция с большим количеством платформ и с сервисами SAP «из коробки»
И что самое главное, весь потенциал возможностей доступен сразу после регистрации, что сразу позволяет представить и воплотить конечную форму чат – бота. Далее рассмотрим сам принцип, предлагаемый SAP, для создания чат – бота.
Train – Build – Connect – Monitor. Это четырёх этапная система, которая поможет быстро ввести в работу вашего чат – бота. Рассмотрим вкратце каждый этап.
- Train. На этом этапе вы тренируете вашего чат – бота создавая “намерения” (группа слов, объединённая общим смыслом), на которые в будущем будут срабатывать ваши “навыки”.
- Build. Данный этап отведен конструированию, созданию связей, написанию “навыков” и последующему тестированию.
- Connect. После окончания тестирования и выявления всех непредвиденных ситуаций, наступает время интеграции. На данный момент доступно более десятка сторонних мессенджеров (WhatsApp, Facebook Messenger и др.), веб версия и интеграция с SAP.
- Monitor. И последний по номеру, но не по значимости этап наблюдения, который в развернутой форме показывает статистику работы вашего чат-бота. Анализ статистики позволяет найти те проблемы, что оставались незамеченными на предыдущих этапах, и проявились только после общения с большим количеством людей.
И после завершения всех четырёх этапов мы получаем полноценно работающего чат-бота, интегрированного на одну или несколько платформ.
Подведём итог. Какие преимущества получает покупатель после выбора использовать чат – бота вместо реального человека?
Благодаря использованию чат – бота можно уменьшить нагрузку на персонал, оставив обработку однотипных вопросов ему, тем самым переведя ресурсы на более важные направления. В то же время предоставляя конечным пользователям обслуживание 24/7, а также более быстрые ответы нежели ответы, даваемые человеком. А в купе с интеграцией c различными сервисами, даёт большие возможности для ведения бизнеса.
Как установить или удалить чат-бот
Что такое чат-боты?
Чат-боты представляют из-себя автоматизированных помощников (виртуальных собеседников), которые реагируют на обращение к ним и отвечают в персональных или групповых чатах, помогая получить информацию в зависимости от назначения данного чат-бота.
Общение с чат-ботами происходит также, как с сотрудниками вашего Битрикс24.
По умолчанию на каждом портале присутствуют 3 чат-бота:
- Марта — виртуальный личный помощник, напоминающий о задачах, встречах и событиях календаря:
- Giphy — находит подходящее по смыслу изображение на любую тему и выводит его в чат:
- Реквизиты контрагента — помогает найти реквизиты организации или ИП по их ИНН или ОГРН и выводит их в чат:
Список всех чат-ботов
Найти всех чат-ботов в Бизнес-чате, присутствующих на портале и к которым имеет доступ сотрудник, можно, кликнув в поле Поиска и прокрутив вниз список контактов до секции Чат-боты:
Как добавить новый чат-бот
Для добавления чат-ботов на портал нужно:
- Перейти в раздел портала Маркет
- Далее в фильтре перейти в категорию Чат-боты или просто найти в поиске приложений, выбрать нужный чат-бот и нажать кнопку Установить:
- После успешной установки можно выставить права доступа сотрудников к данному чат-боту:
Как удалить чат-бот
Для удаления чат-бота с портала нужно:
- Перейти в раздел портала Приложения > Установленные, выбрать чат-бота и нажать кнопку Удалить
- Либо перейти в карточку приложения данного чат-бота и нажать кнопку Удалить:
Добавлять или удалять чат-ботов на портале может пользователь с правами Администратора Битрикс24.
Полный процесс установки и удаления приложения чат-ботов можно посмотреть на видео:
Как создать чат-бот
Вы можете расширить функционал своего Битрикс24, заказав разработку приложения чат-бота у наших партнеров или разработать чат-бот самостоятельно, а потом добавить его в свой Битрикс24.
Подробнее можно узнать в статье API Битрикс24.
Сервисы для создания чат-ботов | Startpack
Облачные платформы для разработки и запуска чат-ботов. С помощью визуальных элементов позволяют задать логику работы бота и настроить сценарии взаимодействия с пользователями. Тестируют чат-ботов на возможные ошибки в коде и логике работы. Не требуют навыков программирования для создания бота в Telegram, Facebook Messenger, ВКонтакте и других социальных сетях или мессенджерах. Организуют совместную работу при необходимости создания чат-ботов со сложной логикой или разветвлённой системой ответов.
Подбор по параметрам
SMMBOT.net Актуальная информация
Официальный конструктор чат-ботов в Instagram со встроенной CRM-системой для Instagram
Botmother Есть бесплатный тариф
Визуальный конструктор чат-ботов.
Чат-бот — современный продукт для автоматизации общения, маркетинга и практически любых бизнес-процессов.
Сервис помогает создавать бота Facebook Messenger для задач бизнеса.
Bot Kits Есть бесплатный тариф
Облачный сервис, конструктор чат-ботов, который позволяет строить чат-ботов без навыков программирования, с использованием блок-схем.
Chatfuel Есть бесплатный тариф
Конструктор чат-ботов для бизнеса.
Chatgun Есть бесплатный тариф
Конструктор чат ботов для групп Вконтакте.
Универсальная платформа, позволяющая создавать умные виртуальные ассистенты для самообслуживания сотрудников и клиентов
Конструктор ботов для бизнеса, реализующий готовые сценарии обслуживания и организации бизнес-процессов на базе шаблонов.
KitBot Есть бесплатный тариф
Сервис создания опросов/тестов/викторин с помощью конструктора, рассылки опросов и информационных уведомлений, проведения исследований и коммуникации через мессенджер.
Конструктор чат-ботов для сайта
Инструмент для создания чат-ботов и их интеграции.
Dialogflow Есть бесплатный тариф
Платформа создания решений коммуникации, для продуктов и услуг.
Recast.ai Есть бесплатный тариф
Платформа для совместного создания ботов.
Сервис для создания интеллектуальных чатботов без кодирования.
Morph.ai Есть бесплатный тариф
Сервис создания чатботов для бизнеса.
Voiceflow Есть бесплатный тариф
No-Code-инструмент для создания голосовых и чат-ботов.
Landbot Есть бесплатный тариф
Инструмент для создания чат-ботов без использования программного кода.
Webim Есть бесплатный тариф
Сервис для общения с клиентами онлайн через чат на сайте, чат-боты, мессенджеры, группы и страницы в социальных сетях, чат в мобильном приложении.
Chaport Есть бесплатный тариф
Мультиканальный онлайн-чат и чат-боты для общения с клиентами и увеличения продаж.
Единая система многоканального обмена сообщениями и создания ботов для бизнеса.
Подбор по параметрам
Как создать чат-бота: Руководство для предпринимателей 2021
Привет, я Сири, Алекса, Кортана, Мина… С новыми девушками-чат-ботами, которые оживают без перерыва, держу пари, есть множество охотников за доменами, которые массово покупают всевозможные amy.com, надеющиеся заработать золото, когда вы создадите совершенно нового чат-бота.
Я не могу обещать запоминающегося бренда, но мы можем обсудить, как создать приложение для чат-бота, увеличивая ценность вашего бизнеса.
Ключевые выводы
- Рынок чат-ботов обещает вырасти до 10 долларов.К 2026 году в мировом масштабе. Отсюда золотая лихорадка создания чат-бота среди предприятий и стартапов.
- Как сделать чат-бота способным поддерживать интеллектуальные разговоры? Используйте технологии искусственного интеллекта, такие как GPT-3 или TensorFlow.
- Три основные причины для создания чат-бота — это сбор данных о клиентах, экономия времени на обслуживании клиентов и внутренних операциях, а также обеспечение доступности вашего бренда в режиме 24/7.
- Неотъемлемой частью разработки чат-бота на базе искусственного интеллекта является обучение бота с использованием образцов и реальных данных.
- Семь шагов, которые отвечают на вопрос «Как создать чат-бота?» включают в себя выбор канала (индивидуальный или на основе мессенджера), определение наиболее подходящего технологического стека, прототипирование, проектирование пользовательского интерфейса, обучение, тестирование и развертывание бота.
Оглавление
- Обзор рынка чат-ботов
- Три причины создать чат-бота
- Типы чат-ботов
- Функции чат-бота
- Роль AI
- Стандартные vs.Индивидуальные решения
- Топ 3 платформы чат-ботов
- Как разработать чат-бота с нуля за 7 шагов
- Сколько стоит разработка чат-бота?
- Создание ботов с помощью приложений Topflight
Прежде чем мы отправимся в это увлекательное путешествие, не помешает узнать, что происходит на рынке чат-ботов в наши дни.
Настоящее и будущее чат-ботовНесмотря на то, что Facebook M, Microsoft Tay, Google Allo и несколько других интерактивных агентов уже ушли из жизни после начального безумия чат-ботов в 2016 году, многие считают, что мы находимся в эпоху возрождения чат-ботов. эпоха сегодня.
Несмотря на первоначальное разочарование ограничениями чат-бота, данные показывают, что этот рынок все еще находится в зачаточном состоянии, и около 90% сделок по финансированию происходит на ранних этапах. Согласно последнему отчету CB Insights в мире после COVID, рынок чат-ботов в настоящее время оценивается в 7,7 миллиарда долларов.
И будущее тоже выглядит многообещающим: Gartner утверждает, что к 2021 году чат-боты станут «наиболее важной парадигмой платформы» для предприятий. модель, которая находится на подъеме.
И те 11 миллиардов долларов, которые боты могут принести в виде ежегодной экономии средств для розничной торговли, банковского дела и здравоохранения к 2023 году, внезапно начинают выглядеть более реалистично. Вот несколько ошеломляющих статистических данных о разговорных ботах:
- Более 50% предприятий к 2021 году отдадут предпочтение чат-ботам над мобильными приложениями / Gartner.
- Боты будут обрабатывать транзакции электронной коммерции на 112 миллиардов долларов к 2023 году / Juniper Research.
- К 2026 году мировой рынок чат-ботов достигнет 10,08 миллиарда долларов / Globe News Wire.
Чат-боты наводняют мессенджеры
Если задуматься, мессенджер — идеальная среда для чат-бота. Что такое чат-бот, как не оцифрованный диалог между человеком и начинающим ботом?
Виртуальных агентов можно найти практически на любой платформе, включая веб и мобильные устройства, но мессенджеры — это то место, где они действительно процветают. В 2018 году в Facebook Messenger было более 300000 активных ботов, и я уверен, что Марк Цукерберг сообщит о 500000 на F8 2020.
Банковское дело, здравоохранение и розничная торговля возглавят внедрение чат-ботовCB Insights ожидает, что финансовый, медицинский и розничный секторы продолжат стимулировать рост чат-ботов в мире после COVID из-за блокировки бизнеса и мер социального дистанцирования. И с этим трудно спорить, учитывая, что обслуживание клиентов и обработка продаж являются основными вариантами использования ботов. Естественно, что и в наши дни медицинские боты широко используются.
Связано: Разработка приложений для здравоохранения в 2021 году
Прорыв в области искусственного интеллектаРазговорные агенты также становятся умнее.OpenAI, исследовательская лаборатория искусственного интеллекта, недавно выпустила новую модель изучения языка (GPT-3), которая может позволить любому чат-боту участвовать в человеческих разговорах. Эти самообучающиеся переговорные агенты могут сэкономить 2,5 миллиарда часов обслуживания клиентов для предприятий и потребителей к 2023 году.
ПлатежиПоскольку чат-боты становятся отправной точкой для ваших клиентов, чтобы узнать о ваших продуктах и услугах, обеспечивая возможность оплаты ботами кажется неизбежным.Вы можете подключить своего бота к внешнему поставщику платежей, например Stripe или Facebook Pay.
Чат-боты с голосовым управлениемРазличные отчеты и исследования показывают, что в ближайшем будущем чат-боты, вероятно, станут преимущественно голосовыми. Исследование Capgemini, проведенное в 2019 году, показало, что клиенты предпочли бы использовать голосовую связь на протяжении всего пути к покупке: от исследования продукта / услуги до оплаты и обслуживания клиентов.
Чат-боты на рабочем местеGartner считает, что к 2022 году 70% офисных сотрудников будут регулярно взаимодействовать с ботами в своей повседневной жизни.Представьте, что вы просите чат-бота на вашем рабочем месте получить отчет, полученный пару месяцев назад, вместо того, чтобы пытаться самостоятельно найти его в вашей локальной или облачной среде.
Боты с низким кодом / без кодаРост движения гражданских разработчиков не оставил без внимания индустрию ботов. Такие платформы для общения, как Engati и ManyChat, подрывают рынок, предлагая пользователям интуитивно понятные инструменты для создания интеллектуальных чат-ботов (без опыта программирования).
Три причины создать собственного чат-ботаНедавняя пандемия показала истинную ценность чат-бота. Они готовы помочь клиентам на всех площадках, даже когда стойки регистрации забиты, и лишь немногие предприятия открыты для посещения.
Причина № 1: Сделайте ваш бренд интерактивным и доступным 24 часа в сутки 7Наиболее очевидное преимущество, которого компании могут достичь с помощью Talkbot, — это сделать свои услуги доступными для клиентов по всему миру круглосуточно.Бот проведет посетителей сайта через все этапы пути к покупке или поможет им ответить на их запросы.
Чат-боты могут одновременно обрабатывать тысячи клиентов, не замедляя работу, не делая перерывов или не допуская ошибок. Более того, в процессе они становятся умнее.
Причина № 2: Извлекайте данные клиентовСпособ, которым боты становятся умнее со временем, — это анализировать вводимые пользователем данные. Вы можете использовать эти данные для оптимизации работы клиентов в Интернете и на мобильных устройствах, например, путем предоставления им информации и продуктов, которые они ищут.
Причина № 3: Оптимизация внутренних операцийЗатем вы можете развернуть чат-бота для оптимизации внутренних рабочих процессов. JP Morgan удалось сократить 360 000 часов, потраченных юристами на рассмотрение кредитных договоров, до нескольких секунд после того, как они развернули бота для обработки договоров.
Типы чат-ботовВы, наверное, сами сталкивались с несколькими ботами; когда вы просите смартфон установить будильник или посещаете веб-сайт в нерабочее время.Это разные типы ботов. Давайте рассмотрим самые популярные типы, чтобы увидеть, какой из них подходит для вашей бизнес-модели.
ИнтеллектС точки зрения разведки бывают «тупые» и умные чат-боты. Первые полагаются на правила, предлагая ответы на основе жесткого сценария, а их интеллектуальные аналоги могут поддерживать довольно интеллектуальные беседы.
- Чат-боты на основе правил
- Диалоговые боты на основе ИИ
Разговорные чат-боты полагаются на алгоритмы ИИ и машинное обучение, чтобы обрабатывать ваши вводимые данные и делать свои ответы более личными, соответствующими вашему контексту.С ботами, основанными на правилах, вы должны сами выбирать ответы или полагаться на их наилучшие предположения по ключевым словам, которые вы использовали в своем запросе.
Область примененияЕсли мы посмотрим на наиболее распространенные области обслуживания ботов, мы заметим, что они полезны в поддержке, продажах и в качестве личных виртуальных помощников. Часто можно увидеть, как чат-боты обслуживают клиентов и помогают им совершать покупки в розничном секторе.
- Виртуальные торговые представители
- Служба поддержки
- Персональный помощник
Что касается помощников, то это в основном передовые решения, предлагаемые техническими гигантами, например.g., Siri от Apple или Meena от Google. Эти виртуальные помощники имеют голосовое управление и продолжают развиваться по мере того, как узнают о вас больше.
Кто-то возразит, что они вряд ли являются чат-ботами, но если подумать — вы взаимодействуете с ними через диалоги, и, честно говоря, их компетенция является критерием для каждого диалогового бота.
ПлатформаНаконец, вы можете различать ботов в зависимости от платформы, на которой они работают. Некоторые из самых популярных мест — это службы обмена мгновенными сообщениями, такие как Facebook Messenger, WhatsApp, Telegram и Kik.
- Интернет
- Мобильные приложения
- Мессенджеры
- Существующие помощники, такие как Alexa или Google Assistant
Некоторые чат-боты существуют в виде отдельных мобильных приложений. Это часто бывает, когда вам нужно сделать немного больше, чем просто получить некоторую информацию. Чат-ботов для веб-сайтов и мессенджеров гораздо больше — именно здесь работает большинство роботов по обслуживанию клиентов и электронной коммерции.
Стоит отметить, что бот часто может существовать на всех этих платформах, чтобы охватить более широкую аудиторию.
Наконец, Siri, Alexa и другие боты с наддувом принимают форму голосовых платформ, которые пронизывают целые экосистемы. Вот последняя нейронная диалоговая модель от Google — Meena, которая скоро будет перенесена на все возможные устройства и платформы:
Связано: Выбор правильного технологического стека для вашей платформы
Функции чат-ботаЧего ваши клиенты ожидают от чат-бот? Найдите врача для консультации? Исключить предварительный диагноз? Или советы по наведению порядка в своих финансах? Siri, Alexa и им подобные устанавливают высокую планку взаимодействия с пользователем, но давайте посмотрим, что современный чат-бот может предложить пользователям.
Многоканальная бесшовная связьКлиенты ожидают, что ваш бот будет одинаково беспрепятственно взаимодействовать с вашим ботом независимо от того, где происходит взаимодействие: в браузере, мобильном приложении, мессенджере или даже внутри Google Assistant.
Богатый обмен сообщениямиВозможность отвечать изображениями и ссылками делает вашего бота более утилитарным. Эта функция особенно востребована у розничных чат-ботов, чтобы помочь покупателям найти товары.
Интеграция с внешними системамиЕсли ваш разговорный агент интегрирован с остальной частью вашей инфраструктуры, он может сэкономить вам часы работы на утомительных ручных действиях, таких как обновление CRM, балансировка счетов и т. Д.
ДействияЛучшее в чат-ботах — это отдавать им приказы, например, отправить электронное письмо или найти это старое сообщение с номером отслеживания.
Human handoffДопустим, еще бывают случаи, когда бот может быть беспомощным. Такие сценарии должны включать возможность передачи разговора агенту-человеку.
ДоступноКак и при разработке веб-приложений и мобильных приложений, при разработке бота особое внимание должно уделяться специальным возможностям: навигация с помощью клавиатуры, увеличение масштаба, поддержка программ чтения с экрана и т. Д.
БезопасностьРазумеется, чат-бот должен придерживаться передовых методов кибербезопасности, поскольку теперь он может выполнять платежи и обрабатывать PHI. Таким образом, применяются HIPAA, PCI и другие правила.
Связано: HIPAA-совместимые SDK / API для видеоконференций и обмена сообщениями
Связано: HIPAA-совместимая разработка приложений: шаги, процессы, функции
Аналитика на бэкэндеИ не в последнюю очередь , ваш бот должен накапливать данные в фоновом режиме для дальнейшего анализа, когда он общается с вашими клиентами и сотрудниками.
Роль ИИЯ уверен, что как предприниматель вы понимаете, что смысл ИИ в технологии ботов не в том, чтобы пройти тест Тьюринга. Все дело в том, чтобы обслуживать людей с нишевыми запросами, помогая им в максимально возможной степени без вмешательства человека.
Идея состоит в том, чтобы занять ваш торговый и вспомогательный персонал действительно сложными задачами.
Чего мы обычно ждем от чат-бота? Закажите нам бронирование, получите статью с часто задаваемыми вопросами, получите наши контактные данные — все это довольно просто и не требует большого количества искусственного интеллекта.Но если мы осмеливаемся поговорить с ботом, чтобы заранее диагностировать незначительное заболевание или попросить совета по финансам, нам нужно знать, что у него действительно есть ум.
В последнем случае чат-бот должен полагаться на машинное обучение, и чем больше пользователей взаимодействует с ним, тем он становится умнее. Так каждый последующий разговор становится более эффективным. Как видите, создание ботов на базе искусственного интеллекта имеет большой смысл, и это не означает, что им нужно имитировать людей.
Стандартные версии vs.Индивидуальные решенияСегодня нет недостатка в конструкторах чат-ботов, которые позволяют вам настроить готовых чат-ботов. Такие боты обычно эффективны для нишевых задач, таких как получение сведений о заказах клиентов и отображение статуса заказа или бронирование встречи со специалистом.
Когда дело доходит до создания диалоговых ботов, которые должны учитывать пользовательские данные и контекст, вам лучше создать собственное приложение, которое можно обучать с помощью образцов данных.
Мы расскажем, какой технический стек и API лучше всего подходят для идеи вашего приложения.
Расскажите подробнее Топ-3 платформы чат-ботовПлатформа чат-ботов — это набор инструментов для создания чат-ботов. Их довольно много: вы можете встретить блоги, в которых рассказывается о 175 платформах чат-ботов.
И если принять во внимание, что такие компании, как Facebook, Amazon, Microsoft и IBM также сделали свою долю в технологиях разговорного ИИ, может быть сложно выбрать платформу чат-бота, которая имеет смысл для вашего бизнеса.
Стоит отметить, что эти более крупные компании предлагают фреймворки для чат-ботов (а не платформы).Такие платформы, как Amazon Lex или IBM Watson, позволяют создавать различных текстовых и голосовых чат-ботов и продвинутых виртуальных помощников, не диктуя компонент пользовательского интерфейса. Они просто дают вам доступ к диалоговому механизму AI, который вы можете использовать по своему усмотрению. Проще говоря, они больше, чем платформы для чат-ботов.
Не пытаясь делать за вас выбор, позвольте познакомить вас с парой культовых платформ (и фреймворков) чат-ботов — каждая по-своему уникальна.
ChatfuelЭта платформа часто попадает в топ-листы благодаря своей простоте и возможности бесплатной подписки.Вам не нужны разработчики или какие-либо предварительные знания о том, как создать чат-бота с Chatfuel.
Платформы : Facebook, Instagram и Messenger.
Основные моменты : Решение без кода. Ежемесячно поддерживает более миллиарда разговоров.
Конкурс : ChattyPeople, Botsify, ManyChat.
Dialogflow CXDialogflow CX является частью Dialogflow от Google — платформы понимания естественного языка, используемой для разработки ботов, голосовых помощников и других диалоговых пользовательских интерфейсов.
Платформы : кроссплатформенность. Может использоваться с вашими пользовательскими ботами в качестве внутреннего процессора.
Особенности : Предоставляет вам возможности Google Cloud и глубокого обучения.
Competition : Lex by Amazon, Microsoft Bot Framework, IBM Watson.
RASARASA — это платформа с открытым исходным кодом для создания ботов. Как и в случае с Dialogflow, вы можете создать чат-бота с ИИ с текстовым и голосовым взаимодействием и полагаться на потенциал машинного обучения с открытым исходным кодом.
Платформы : кроссплатформенность, включая веб, мессенджеры и несколько других платформ для чат-ботов.
Основные моменты : Вам нужно будет разместить своих ботов самостоятельно. Требуются продвинутые навыки разработчика.
Конкурс : Боткит, Ботпресс.
Как разработать чат-бота с нуля за 7 шаговДавайте пройдемся по всем необходимым этапам методологии разработки чат-бота, чтобы вы могли получить целенаправленного прибыльного бота.Вот наш взгляд на разработку чат-бота с ИИ.
Шаг 1. Определите тип создаваемого вами чат-ботаЗачем вы создаете чат-бота? Чего вы помогаете достичь своим клиентам или потенциальным клиентам? Ответы на эти вопросы помогут вам выбрать тип бота. Как мы уже упоминали ранее, это может быть чат-бот на основе правил с заранее заданными ответами или продвинутый бот с поддержкой ИИ, который продолжает учиться на вводе пользователя.
Двумя наиболее популярными на сегодняшний день применениями являются поддержка (например, бот для часто задаваемых вопросов, который может получить ответы на любые вопросы) и продажи (например, сбор данных, консультации и передача данных).
Шаг 2: Выберите каналВам нужно будет следить за своими потенциальными клиентами и сделать чат-бота доступным на той платформе, с которой они наиболее удобны. Будет ли это бот, размещенный на вашем сайте, отдельное мобильное приложение или бот Facebook Messenger? Все зависит от ваших клиентов и потенциальных клиентов.
Помните, что вы можете выбрать многоканальную стратегию, и в этом случае предпочтительнее использовать один и тот же стек чат-ботов на всех платформах, в отличие от, скажем, бота по продажам, созданного с помощью Chatfuel для Messenger и использования Dialogflow для Google Assistant. и версии мобильных приложений.
Шаг 3. Выберите стек технологийКогда вы знаете, какую проблему клиента решаете, и ориентируетесь на платформы, вы можете начать выбирать стек технологий своего бота. Вы можете выбрать один из фреймворков и попросить разработчиков чат-ботов спроектировать вашего бота или поработать руками с помощью одной из платформ для создания самодельных разговорных ботов.
Когда вы выбираете фреймворк, ваш выбор, вероятно, будет определяться навыками разработчиков и доступностью открытых и сторонних библиотек для NLP (обработки естественного языка), таких как ChatterBot.Просто убедитесь, что выбранная вами библиотека или SDK хорошо интегрируется с вашими существующими программными системами.
Другие вопросы, над которыми стоит задуматься:
- Позволит ли эта технология мне перейти на голосовой чат?
- Это проприетарная библиотека или библиотека с открытым исходным кодом?
- На каком рынке сейчас находится рынок разработчиков этой технологии?
После того, как вы выбрали стек технологий, вы можете создать чат-бота, спроектировав поток разговора.Если вы сделаете это с помощью одной из платформ DIY, процесс будет почти таким же простым, как варианты ответа перетаскиванием.
Однако, если вы выбрали фреймворк (чтобы обеспечить возможности искусственного интеллекта в своем чат-боте), вам лучше нанять команду опытных разработчиков чат-ботов.
Они будут строить переднюю и серверную стороны чат-бота. Одна вещь, о которой вам не нужно беспокоиться, — это пользовательский интерфейс: диалог — это диалог; при использовании платформы для ботов в графическом интерфейсе чат-бота мало что можно изменить.
В то же время, если вы продолжите работу с фреймворком, вы можете придумать любой UX.
Шаг 5: Обучите ботаЕсли вы создали простого чат-бота на основе правил, вы можете сразу перейти к шагу 6, но если ваш бот использует ИИ, вам сначала нужно обучить его на массивном наборе данных. . По сути, вы хотите, чтобы бот понимал намерения пользователя, и это достигается путем обучения бота всем различным вариантам, которые клиенты могут просить.
В идеале этого можно добиться, обучив своего бота некоторым существующим наборам данных, таким как электронные письма, тикеты в службу поддержки и т. Д.Альтернативой является получение стороннего набора данных с информацией, которую должен знать ваш бот, например, набор данных вопрос-ответ, The NPS Chat Corpus или любой из этих 15 наборов данных чат-бота для машинного обучения.
Шаг 6. Протестируйте чат-ботаКак и в случае с любым другим программным продуктом, вы хотите, чтобы ваш бот общался с реальными людьми, чтобы увидеть, действительно ли он может им помочь. Помните, что чат-боты все еще в новинку, поэтому многие ваши клиенты будут пытаться сломать его.Поэтому лучше всего, если вы предвидите эти сценарии с изящными общими ответами, которые направят разговор к реальным целям, или с беспрепятственным откатом к человеку-агенту.
Шаг 7: Развертывание и обслуживание ботаРазвертывание чат-бота часто не занимает много времени. Вам просто нужно убедиться, что все конечные точки подключены, а бот интегрирован со всей вашей инфраструктурой, если вы используете CRM, ERP или аналогичные программные системы. После развертывания бота жизненный цикл разработки чат-бота не заканчивается.Теперь вам нужно проверить статистику и уточнить ответы, чтобы пользователи были довольны.
Сколько стоит разработка чат-бота?Вы можете бесплатно создать базового чат-бота на основе правил, но все, что хорошо масштабируется и вообще полагается на любой ИИ, будет начинаться с бюджета в 30 000 долларов или около того. Маловероятно, что вы захотите бросить вызов Alexa, Siri или другим крупным девушкам, но если вы создаете серьезного чат-бота на основе машинного обучения, затраты на разработку приложения могут значительно превысить 99 000 долларов.
Создание ботов с помощью приложений TopflightНекоторые из недавно разработанных чат-ботов включают автономное мобильное приложение SoberBuddy, доступное для iOS и Android, и бот для психического здоровья, созданный как прогрессивное веб-приложение.
Связано: Преимущества PWA перед собственными приложениями
В SoberBuddy мы унаследовали проект от предыдущей команды, которая изо всех сил пыталась превратить приложение в привлекательный, приносящий доход опыт. И поэтому нам пришлось убирать беспорядок.
Одним из важных решений, которые мы сделали, была замена архитектуры Dialogflow на настраиваемую диалоговую структуру на основе правил. Это помогло нам исключить множество ошибок и ненужных осложнений.
Сегодня мы продолжаем работать над SoberBuddy, превращая его в эффективный инструмент для групп самопомощи. Веб-интерфейс, который мы создаем на сервере, позволит администраторам групп отслеживать эффективность своих участников.
Вот пример из практики, если вы хотите узнать больше об этом проекте.
Что касается Xzevn, это разговорный бот с искусственным интеллектом, который взаимодействует с людьми, узнавая об их психическом состоянии, и рекомендует им соответствующий контент для улучшения их психического здоровья.
Если вы хотите узнать больше, здесь подробно описаны конкретные примеры использования. Также ознакомьтесь с нашей статьей о разработке приложения для психического здоровья.
Если вы думаете, что можете провести дружескую беседу о создании чат-ботов на базе ИИ, не подвергаясь осуждению, просто зарезервируйте место здесь.Мы разработчики приложений из Майами и Калифорнии и будем рады пообщаться с вами (никаких ботов по телефону, обещаю!).
Часто задаваемые вопросы
Как узнать, эффективен ли мой чат-бот?
Вам следует интегрировать его с внутренней CRM, чтобы отслеживать конверсию, или посмотреть, предлагает ли чат-бот, который вы хотите создать, аналитику на своей внутренней стороне.
В чем разница между платформами для создания чат-ботов и фреймворками?
Фреймворк предоставляет разработчикам инструменты для создания чат-бота с ИИ.Платформой может управлять человек, не имеющий опыта программирования. Кроме того, платформа чат-бота обычно представляет собой комплексное решение, которое предоставляет вам все необходимое для создания чат-бота, в отличие от фреймворка, который может содержать только движок НЛП или другие части.
Где будет находиться мой чат-бот, когда он будет построен? Это обязательно мобильное приложение?
Наконец, это может быть отдельное мобильное приложение.
Сколько времени потребуется на создание чат-бота?
Мы можем создать MVP за пару недель, а создание полноценного чат-бота с настраиваемым пользовательским интерфейсом может занять несколько месяцев.
Сколько стоит создание приложения для чат-бота?
Исходя из нашего опыта, средняя стоимость бота варьируется от 30 000 до 60 000 долларов.
X
Рассчитайте стоимость создания чат-бота
Константин КалининКонстантин работает с мобильными приложениями с 2005 года (до эры iPhone).Помогая стартапам и компаниям из списка Fortune 100 создавать инновационные приложения, обладая при этом множеством шляп (консультант, директор по доставке, владелец мобильного агентства и аналитик приложений), Константин глубоко ценит мобильные и веб-технологии. Он рад поделиться своими знаниями с партнерами Topflight.
Как сделать простого чат-бота. Менее чем за 10 минут | by Sean Batir
Менее чем за 10 минут
Поскольку за учебными материалами часто легче следить в режиме реального времени.Возможно, вы слышали о шумихе вокруг ИИ.Может быть, вы бизнес-лидер или начинающий студент. В любом случае, вы, вероятно, видели заголовки, в которых утверждалось, что «ИИ находится на подъеме», находясь на пике развития и готовых заменить людей на работе. Что ж, я позволю тебе самому судить об этом решении. В этом нежном введении к созданию прикладного чат-бота я покажу вам основные возможности, которые может создать любой здравомыслящий человек, наделенный только инструментами, предоставляемыми Dialogflow и Actions on Google.
Итак, что именно * такое * Dialogflow? Простой ответ таков: помочь людям более рационально взаимодействовать с технологиями.Например, предположим, что я спросил свою машину: «Какие кафе сегодня открыты рядом со мной?» Для более традиционных или жестко запрограммированных систем, если вопрос не был задан именно таким образом, система не смогла бы понять, что вы говорите. По крайней мере, в английском языке есть несколько способов передать одно и то же «значение» разными словами…
- «Starbucks открыт?»
- «В какие кофейни я могу пойти сегодня?»
- «Какие кафе принимают мобильные заказы?»
Нам нравится Dialogflow, потому что он может обрабатывать эти различные возможности конечного пользователя.Чтобы разбить это очень фундаментальное понимание вариативности в человеческих речевых высказываниях, я (очень) кратко рассмотрю некоторые базовые принципы Dialogflow, которые сделают остальную часть учебника более доступной, а должен предоставить вам полезную основу. для будущих взаимодействий с чат-ботами.
Теперь в Dialogflow у нас также есть объекты, известные как агенты . Эти виртуальные агенты, которые обрабатывают разговоры с конечными пользователями. Они обучаются, как и агенты колл-центра, вести ожидаемые разговоры.
Агенты учатся распознавать нечто, известное как намерение , , которое, как люди, мы, естественно, понимаем как что-то, что связано с вашей мотивацией или причиной чего-то спрашивать. Возможно, вы слышали чью-то болтовню и в глубине души думаете: «Ближе к делу!» Что ж, вы в конечном итоге можете следить за беседой, потому что постоянно оцениваете вероятность того, что чьи-то намерения были во время разговора. Точно так же намерение используется, чтобы помочь вашему виртуальному агенту взять фразу и понять, что пользователь или говорящий хочет вынести из разговора, а затем сообщить окончательный ответ агента.
Итак, в примере с кафе намерение можно описать как «Намерение найти кафе». Прежде чем вы сможете даже заказать Starbucks, агент должен знать, где найти кафе, поэтому мы просим ваш почтовый индекс при первом проходе. Оснащенный этим намерением, наш агент затем знает, какие параметры следует прослушивать, какие данные ему нужно извлечь и какие ответы или ответы агент должен дать вашему конечному пользователю. Вот некоторые примеры ответов:
- «Конечно, Starbucks открыт 0.1 миля от вас «.
- «Ресторан Philz Coffee в 2 км от вас закрыт.»
Наконец, в каждом намерении мы можем определить Entities, , которые идентифицируют ключевые фрагменты данных из высказывания пользователя, которые мы должны извлечь. Концептуально это как объекты, которые агент должен искать в разговоре, например, «дата» или «место». Возможно, типы сущностей еще более индивидуализированы, например, сущность «кофе», которая соответствует различным типам кофе (американо, мокко, латте со льдом), которые могут быть доступны для покупки у нашего агента по кофе.
Прежде чем мы перейдем к процессу, последний компонент, который следует рассмотреть, — это Dialogflow Context . Так же, как контекст имеет значение в обычных разговорах, агенты Dialogflow должны понимать контекст, чтобы соответствовать намерениям. Например, если вы случайно подошли к кому-то на тротуаре и сказали: «Хорошо, закажем мокко!», То вы, скорее всего, получите недоуменный взгляд, и этот скромный незнакомец, вероятно, скажет что-то вроде «Мм , кто ты?»
Однако, если вы устанавливаете контекст, сначала спрашивая того же незнакомца: «Эй, какие кафе открыты рядом со мной?», То вы устанавливаете «Контекст кафе-покупок».Следовательно, этот ранее сбитый с толку незнакомец мог бы ответить более нормально, если бы вы спросили: «Могу я заказать мокко?»
Последний «фундамент», который вы должны понимать для создания чат-ботов с помощью Google Assistant, — это действие . Как следует из названия, действие может быть первой точкой входа для инициирования взаимодействия с вашим помощником. Это похоже на то, когда мы начинаем разговор со словами «Привет, доктор Starbucks!» для активации нашего чат-бота Starbucks. Однако в более широком смысле Action позволяет выполнять или выполнять определенные пользователем намерения с помощью некоторой службы, приложения или логики.
Если у вас возникнут дополнительные вопросы, обращайтесь ко мне напрямую или посмотрите видео на YouTube. А пока давайте запачкаем руки!
Как создать чат-бота с Python и глубоким обучением менее чем за час | Автор: Jere Xu
И снова нам нужно извлечь информацию из наших файлов.
Вот несколько функций, которые содержат все необходимые процессы для запуска графического интерфейса пользователя и инкапсулируют их в модули. У нас есть функция clean_up_sentence () , которая очищает все введенные предложения.Эта функция используется в функции bow () , которая берет очищенные предложения и создает набор слов, которые используются для прогнозирования классов (которые основаны на результатах, которые мы получили в результате обучения нашей модели ранее).
В нашей функции pred_class () мы используем порог ошибки 0,25, чтобы избежать слишком большого переобучения. Эта функция выведет список намерений и вероятностей, их вероятность совпадения с правильным намерением. Функция getResponse () берет выведенный список, проверяет файл json и выводит наибольший ответ с наибольшей вероятностью.
Наконец, наш chatbot_response () принимает сообщение (которое будет введено через графический интерфейс чат-бота), предсказывает класс с помощью нашей функции pred_class () , помещает выходной список в getResponse () , затем выводит отклик. Мы получаем основу нашего чат-бота. Теперь мы можем что-то сказать боту, и он ответит.
А вот и самое интересное (если другие части уже не были интересными). Мы можем создать наш графический интерфейс с помощью tkinter, библиотеки Python, которая позволяет нам создавать собственные интерфейсы.
Мы создаем функцию под названием send () , которая настраивает базовые функции нашего чат-бота. Если сообщение, которое мы вводим в чат-бота, не является пустой строкой, бот выдаст ответ на основе нашей функции chatbot_response () .
После этого мы создаем окно чата, полосу прокрутки, кнопку для отправки сообщений и текстовое поле для создания сообщения. Мы размещаем все компоненты на нашем экране с простыми координатами и высотой.
Как создать мощного чат-бота за 15 минут
Если вы пытаетесь изучить , как создать чат-бота , , вы найдете много контента, ориентированного на программистов, хакеров, программистов и разработчиков.
Не знаю, как вы, но не кодирую. Я не разработчик. Не я.
И с массовым ростом чат-ботов больше не только программисты хотят создавать чат-ботов. Не только я один из непосвященных, кому, тем не менее, нужен чат-бот.
Маркетологи, владельцы бизнеса, цифровые стратеги и специалисты по контенту тоже хотят знать, как создавать чат-ботов.
Итак, если вы похожи на меня — хороши в некоторых вещах, но кодирование не входит в их число — это руководство по созданию чат-бота для вас.
Вот как создать чат-бота, даже если вы не пишете код.
Продавайте больше и удовлетворяйте клиентов с помощью чата 2.0
Обеспечьте круглосуточную поддержку на своем веб-сайте, в Facebook, Instagram, по SMS и т. Д. Без дополнительных затрат. Начните с бесплатной учетной записи, чтобы масштабировать поддержку клиентов и продажи уже сегодня!
Шаг 1. Получите конструктор чат-бота (MobileMonkey)
Во-первых, вам нужно будет использовать платформу для создания чат-ботов, такую как MobileMonkey.
При выборе конструктора чат-бота обратите внимание на следующие пять функций:
- Доступность — у вас должна быть возможность бесплатно протестировать конструктор и перейти на платный план
- Простота использования — он должен быть интуитивно понятным, быстрым и не требующим кодирования
- Мощный — Строитель должен иметь множество дополнительных функций и возможностей
- Поддержка — Убедитесь, что у платформы чат-бота есть группа поддержки, которая может вам помочь.
- База пользователей — Ищите конструктор чат-ботов, который уже используют тысячи компаний
Большинство разработчиков чат-ботов используют Facebook Messenger.Messenger — одна из наиболее широко используемых и универсальных платформ обмена сообщениями.
MobileMonkey — один из ведущих разработчиков чат-ботов и самый быстрорастущий партнер Facebook Messenger.
В оставшейся части статьи вы узнаете, как создать чат-бота с помощью MobileMonkey. Вы можете зарегистрироваться бесплатно и за считанные минуты начать создавать мощного чат-бота.
Когда вы подписываетесь на конструктор чат-бота Messenger, вы регистрируетесь через Facebook. Таким образом, вы можете автоматически подключить свою бизнес-страницу Facebook к своему чат-боту.
Все начинается прямо здесь. Как только вы зарегистрируетесь в MobileMonkey, вы окажетесь в дверях.
А теперь давайте создадим чат-бота.
Шаг 2. Подключите свою страницу Facebook к конструктору чат-бота
Затем вам понадобится ваша бизнес-страница Facebook и конструктор чат-бота, чтобы начать общаться друг с другом.
Войдите в конструктор чат-ботов (https://app.mobilemonkey.com/). На главной вкладке нажмите кнопку «Подключить страницы Facebook».
В меню выберите любые страницы Facebook, которые вы хотите подключить к платформе своего чат-бота, затем нажмите «Подключить страницы Facebook.”
Это все, что требуется для подключения вашей страницы Facebook к конструктору чат-бота.
Вам нужно только один раз подключить свою страницу в Facebook. После этого он всегда будет отображаться в главном меню.
Если вы создадите новые страницы Facebook в будущем, вам просто нужно повторить этот процесс еще раз.
3. Выберите страницу Facebook, на которой вы хотите создать чат-бота.
Если вы работаете только на одной странице в Facebook, все довольно просто.
Как бы то ни было, все, что вам нужно сделать на этом этапе, — это щелкнуть страницу Facebook, на которой вы создаете чат-бота.
Я сделаю чат-бота для моей вымышленной компании по недвижимости Unicorn Realty.
(Честно говоря. Вам понравится дом в месте под названием Unicorn Realty.)
Щелкнув нужную страницу, вы попадете на главную страницу MobileMonkey. На этой странице находится главное меню, которое включает доступ к следующему:
- Конструктор ботов — это мастерская для создания всех ваших последовательностей чат-ботов
- Реклама — здесь вы можете настроить такие вещи, как реклама в Facebook Messenger и рекламные сообщения
- Автоматизация маркетинга — это инструменты чат-бота для маркетинговых задач, таких как чаты и капельные кампании.
- Лид-магниты — Лид-магниты предлагают различные методы расширения ваших контактов в Facebook Messenger, такие как целевые страницы и автоответчики сообщений Facebook.
- Статистика аудитории. Здесь вы найдете всю аналитику по чат-ботам и аудиториям.
- Шаблоны — Хотите готовый чат-бот? Вот где их найти!
Здесь мы можем многое сделать, но мы собираемся погрузиться прямо в конструктор ботов.
4. Откройте конструктор ботов.
Когда вы начнете создавать чат-ботов, вы будете проводить много времени в конструкторе чат-ботов.
Давайте откроем и начнем осматриваться.
При открытии конструктора ботов есть два варианта — диалоги и вопросы и ответы.
Диалоги — это сердце и душа чат-ботов — они задают вопросы, предоставляют варианты, доставляют контент, в основном, все, что делает чат-бот.
Q&A включает метод обучения вашего чат-бота, что делать, когда он сталкивается с определенными ключевыми словами.Например, если клиент взаимодействует с вашим чат-ботом и упоминает цену , или стоимость , вы можете запрограммировать своего чат-бота, чтобы он отвечал с информацией о ценах.
Чтобы использовать функцию вопросов и ответов, вам нужно будет создавать диалоги, которые запускаются на основе определенных ключевых слов.
Итак, мы собираемся работать над диалогами (не с вопросами и ответами в этом посте).
5. Откройте Dialogue Bot Builder.
Когда вы впервые открываете конструктор ботов, вы увидите предварительно созданный приветственный диалог.
Это сделано для облегчения вашей жизни.
В принципе, мы могли бы остановиться на этом, а вы могли бы сказать своему боссу: «Я создал мощного чат-бота, йоу».
Это заняло максимум пять минут.
Вы, очевидно, захотите сделать немного больше, чтобы настроить вещи и сделать этого чат-бота своим собственным. Давайте посмотрим на конструктор диалогов, чтобы узнать, что к чему.
Не расстраивайтесь. На первый взгляд, конструктор чат-ботов может многое понять.
Он разделен на четыре основных раздела:
- Главное меню, которое всегда является левой боковой панелью, независимо от того, где вы находитесь в приложении.
- Список всех ваших чат-ботов.Вы можете организовать их по папкам и даже искать по всем диалогам. Чем больше вы создаете, тем это будет важнее.
- Основное место для сборки чат-бота. Здесь вы создаете свои диалоги по частям.
- В правой части экрана есть возможность протестировать своего бота в Messenger или просто скопировать ссылку. Раздел вопросов и ответов позволяет создавать подсказки по ключевым словам, чтобы открыть чат-бота.
Чтобы дать себе больше места для работы, вы всегда можете нажать на фиолетовый ползунок в правом нижнем углу.
Хорошо, пора заняться созданием настоящего чат-бота.
Я начну с нуля. У конструктора чат-бота, вероятно, уже есть приветственный диалог по умолчанию, созданный для вас.
Чтобы удалить его и начать с нуля, просто щелкайте значок корзины над любыми виджетами, пока ничего не останется. Мы делаем это с нуля!
Теперь ваш конструктор ботов должен выглядеть так. Бесплодный.
6. Добавьте виджет быстрого вопроса
Виджеты — это строительные блоки чат-бота.Итак, когда вы научитесь создавать диалоги с чат-ботами, вам придется добавлять виджеты.
Все дело в виджетах.
Всего их пятнадцать:
- Вложение — добавьте загружаемый файл к вашему чат-боту
- Атрибут — Создайте атрибут, который будет использоваться для определения аудитории или действий
- Электронная почта — Автоматически отправить электронное письмо с помощью вашего бота
- Форма — Создайте форму чат-бота для пользователя заполнить
- Gif — Добавить интересную гифку в чат-бота
- Галерея — Показать галерею изображений, товаров и т. д., с заголовками и описаниями
- Изображение — Показать изображение в чат-боте
- Список — Создать список элементов или изображений, например, с помощью меню или списка продуктов
- Навигация — Обеспечивает функциональность, которая запрашивает определенный диалог
- Тег — Добавьте тег, чтобы легко отслеживать и сортировать своих чат-ботов.
- Текст — Добавьте простой текст вашему чат-боту
- Ввод текста — Создается впечатление, что чат-бот берет несколько секунд, чтобы ввести ответ
- Видео — Добавить видео
- Zap Connection — интеграция с любым из ваших триггеров и подключений Zapier
Одним из самых универсальных виджетов является виджет быстрых вопросов.Нажмите кнопку «Быстрый вопрос», чтобы добавить его.
7. Добавьте свой быстрый вопрос с атрибутом.
Поскольку мы создаем приветственный диалог, вопрос предназначен для вовлечения пользователя в беседу.
Введите свой вопрос и добавьте атрибут. Атрибуты — это то, что конструктор ботов будет автоматически добавлять в зависимости от того, что ему известно о пользователе.
Сюда входят такие вещи, как имя пользователя, пол, часовой пояс и т. Д.
Рекомендуется персонализировать чат-бота, указав что-то вроде имени пользователя.
8. Сохраните ответ пользователя, создав новый атрибут.
MobileMonkey автоматически сохранит список этих ответов. Установите новый атрибут, нажав кнопку нового атрибута и присвоив ему имя.
9. Добавьте тип ввода для ответа пользователя.
«Тип ввода» означает, какой ответ вы хотите получить от пользователя.
У вас есть пять вариантов:
- Множественный выбор — пользователь выбирает свой ответ из вариантов, которые вы создаете.
- Текст в произвольной форме. — Пользователь может вводить все, что захочет.
- Местоположение — Пользователь может отправить свое местоположение одним касанием.
- Электронная почта — Чат-бот автоматически. заполняет ответ электронной почтой пользователя, и они нажимают, чтобы отправить его.
- Телефон — пользователь может ввести свой номер телефона, быстро нажав
В этом примере мы будем использовать множественный выбор. Множественный выбор может включать только один вариант или столько, сколько вы хотите. Чтобы ответить на быстрый вопрос, пользователи коснутся или щелкните ответ.
10. Создайте ответы с несколькими вариантами ответов.
Нажмите «Добавить ответ», чтобы начать создание ответа на вопрос с несколькими вариантами ответов.
Я люблю добавлять изображения к своим ответам. Это просто делает его более интересным.Щелкните небольшой значок изображения слева от поля ответа. Вы можете выбрать файл изображения на своем компьютере. Это изображение будет крошечным миниатюрным изображением, поэтому не добавляйте ничего особо подробного.
Введите свой ответ и создайте столько вариантов, сколько хотите.
Теперь, когда мы создали пару ответов, важно обсудить, к чему мы это приведет.
Каждый ответ, очевидно, приведет к чему-то другому. Это что-то еще — другой диалог.
По сути, вы создаете разветвленное меню, в котором одна опция открывает другой диалог или диалог.
Давайте взглянем на нашего чат-бота, чтобы увидеть, как он работает.
Присоединяйтесь к сегодняшнему вебинару с Ларри Кимом!
(Или зарегистрируйтесь для бесплатного воспроизведения)
Узнайте все о НОВЫХ инструментах от MobileMonkey до 10-кратного взаимодействия с Instagram с автоматизацией обмена сообщениями.
11.Периодически проверяйте своего чат-бота.
Щелкните в правом верхнем углу и нажмите кнопку «Проверить диалог».
(Если вы свернули правое меню, просто щелкните фиолетовую стрелку в правом нижнем углу, чтобы открыть его.)
Обычно я открываю Messenger на телефоне, чтобы протестировать чат-бота как на мобильном устройстве, так и на компьютере.
Пока все выглядит хорошо.
А теперь пора создать второй диалог, чтобы обсудить эти варианты.
12.Начать дополнительный диалог.
Я собираюсь пройти через это намного быстрее, так как теперь вы имеете представление об основах создания ботов и о том, как добавлять виджеты.
Чтобы создать новый диалог, просто нажмите «добавить диалог» в меню диалога.
Первое, что вам нужно сделать, это назвать свой диалог.
После добавления имени вы возвращаетесь к созданию диалога с нуля.
Мой диалог поможет пользователю связаться с агентом.
Во-первых, я собираюсь показать красивую картинку, чтобы привлечь внимание пользователя и вызвать некоторый визуальный интерес. Я выбрал виджет «изображение».
Далее я подтверждаю, что пользователь хочет связаться с агентом.
Это быстрый вопрос, на который есть один ответ — «да». Я делаю это просто для того, чтобы получить подтверждение того, что пользователь хочет пойти по этому пути. (Это может устранить удары по шинам и потерю времени.)
Затем я добавляю еще один быстрый вопрос и выбираю тип ввода как электронная почта.
Затем я использую виджет набора текста. Это будет имитировать набор текста в течение двух секунд.
Затем я получаю номер телефона пользователя. Вы можете сделать это с помощью быстрого вопроса с телефоном в качестве типа ввода.
СоветPro: тип ввода электронной почты и телефона — волшебство. Чтобы получить номер телефона или адрес электронной почты, требуется обычно утомительный процесс.
Чтобы передать свой драгоценный номер телефона, все, что нужно сделать пользователю, это нажать на предварительно заполненное поле со своим номером.Нажмите. Бум.
Добавьте к этому тот факт, что вы находитесь в диалоговом виджете, пользователи чувствуют себя намного более комфортно, предоставляя информацию, которая могла бы быть не такой доступной, если бы они, скажем, заполняли форму на целевой странице.
Теперь я добавляю гифку с помощью виджета gif.
Затем еще один быстрый вопрос об их коммуникативных предпочтениях. Тип ввода множественный, потому что есть два возможных ответа — телефон или электронная почта.
А теперь, чтобы завершить разговор, я хотел бы сказать пару слов о следующих шагах.
Но сначала — еще гифки!
Для этого я снова использую виджет быстрых вопросов. Единственный вариант ответа: «Звучит хорошо!» чтобы дать пользователю понять, что он согласен с предстоящим общением с агентом.
Вот и все, ребята.
Хотите покататься на нем?
Попробуйте чат-бота здесь.
(Не волнуйтесь. У нас нет никаких гнусных планов по краже вашего адреса электронной почты и номера телефона, поскольку это фиктивный бот.Только в образовательных целях!)
Я только что создал надежного, мощного, привлекающего клиентов и приносящего доход чат-бота за пятнадцать минут.
Вы можете делать то же самое.
Как создать чат-бота
и вышеВот что вам нужно знать о создании чат-ботов.
Это только начало.
Существуют десятки инструментов чат-бота, виджет чат-бота на веб-сайте, средство создания рекламы в Facebook Messenger, инструменты автоматизации Messenger, инструменты для создания списков и десятки тысяч интеграций.
Огромный потенциал чат-ботов поражает воображение.
Этот маленький чат-бот, который мы создали в нашем примере упражнения, — это лишь часть того, что вы можете делать с чат-ботами.
Если вы хотите узнать больше о потенциале чат-ботов, попробуйте библиотеку шаблонов MobileMonkey.
У нас есть коллекция готовых шаблонов (100% бесплатных), которые займут пятнадцать минут времени создания чат-бота и сократят его до пяти или около того.
Как создать чат-бота: следующие важные шаги
Продавайте больше и удовлетворяйте клиентов с помощью чата 2.0
Обеспечьте круглосуточную поддержку на своем веб-сайте, в Facebook, Instagram, по SMS и т. Д. Без дополнительных затрат. Начните с бесплатной учетной записи, чтобы масштабировать поддержку клиентов и продажи уже сегодня!
Что вам нужно делать дальше?
Три вещи:
- Создайте своего первого чат-бота сегодня после регистрации в MobileMonkey.
- Обсудите и узнайте о чат-ботах с другими энтузиастами. Присоединяйтесь к MobileMonkey Island, нашей группе в Facebook, состоящей из 40 тысяч маркетологов и предпринимателей, готовых поддержать вас.
- Повысьте эффективность своего маркетинга с помощью Chatbot University, бесплатного учебного пособия по чат-ботам и области обучения для маркетологов в чате.
Как создать чат-бота — в комплекте с образцом кода!
Взгляды автора полностью принадлежат ему (за исключением маловероятного случая гипноза) и не всегда могут отражать взгляды Моза.
Вы заняты и (в зависимости от эффективного таргетинга на ключевые слова) вы пришли сюда в поисках чего-нибудь, чтобы сэкономить месяцы на процессе обучения созданию собственного чат-бота.Если вы уверены, что вам это нужно, и просто хотите получить инструкции, перейдите к разделу «Что делает мой бот». Если вам нужна предыстория , почему вы должны создавать для таких платформ, как Google Home, Alexa и Facebook Messenger, читайте дальше.
Зачем мне это читать?
Вы помните, когда не было необходимости в веб-сайте? Когда большинство советов посмеются над ценностью ведения страницы в Facebook? Теперь Gartner сообщает нам, что к 2020 году клиенты будут управлять 85% своих отношений с брендами без взаимодействия с людьми, а такие публикации, как Forbes, говорят, что причиной являются чат-боты.
Сейчас ситуация такая же, как и каждый раз, когда разрабатывается новая платформа: если у вас нет чего-то, к чему ваши клиенты могут получить доступ, вы предоставляете эту среду своим конкурентам. На данный момент автоматическое присутствие в Google Home или Slack может не быть центральным для вашей стратегии, но те, кто заявляет о себе сейчас, могут доминировать над ним в будущем.
Проблема раз . Конечно, было бы идеально быть везде и все время, чтобы ваш бренд был активен на каждой платформе.Но также было бы идеальным поспать по крайней мере четыре часа в сутки или перестать покрывать клавиатуру трехдневным чили кон карне, пока мы едим поспешный обед в перерывах между двумя проектами Next Big Things. Здесь вам повезло в двух отношениях;
- Когда мы разрабатываем чат-приложения, нам не нужно беспокоиться о таких вещах, как красивый пользовательский интерфейс, потому что все это речь или текст. Это не значит, что вам не нужно беспокоиться о пользовательском опыте, поскольку есть правила (и искусство) для создания хорошего разговора взад и вперед.Amazon на самом деле предлагает солидные призы за выдающиеся примеры.
- Я провел последние шесть месяцев, прорабатывая шаги от полного незнания до создания распространяемого чат-бота, а я отдаю вам всю свою работу. В этом посте я разбиваю каждый из уровней сложности, от отсутствия кода взад и вперед до управления учетными данными пользователей и сеансами, которые растягиваются на несколько дней или месяцев. Я также включаю полный код, который вы можете адаптировать и разбирать по мере необходимости. Я прокомментировал каждую часть кода, объясняя, что он делает, и при необходимости ссылаясь на ресурсы.
Я написал больше о ценности интерактивных персональных помощников в блоге Distilled, поэтому в этом посте больше не будет сосредоточено внимание на том, почему вам следует разрабатывать чат-ботов. Вместо этого я поделюсь всем, что узнал.
Что делает мой созданный с нуля бот
С тех пор, как я начал исследовать чат-ботов, меня особенно интересовал ответ на один вопрос: Что нужно для того, чтобы иметь небольшой опыт программирования, чтобы создать одно из этих чат-приложений с нуля? К счастью, у меня есть прямой доступ к человеку, практически не имеющему опыта (до февраля я понятия не имел, что такое Python).Итак, я приступил к разработке собственного бота со следующими жесткими условиями:
- Это должно было иметь какое-то реальное приложение. Это не должно было быть критичным для бизнеса, но необходимо учитывать основные потребности пользователей.
- Он должен был легко распространяться среди непосредственных предполагаемых пользователей и иметь разумные возможности для дальнейшего распространения (в лучшем случае модификации, а не полное переписывание).
- Он должен быть достаточно гибким , чтобы вы, читатель, могли взять бесплатный код и сделать из своего собственного чат-бота .
- Необходимо было адаптировать скелет процесса для гораздо более сложных бизнес-задач.
- Он должен был быть бесплатным, , но мог иметь возможность платить за расширение или облегчение жизни.
- Он должен был отправить сообщение , подтверждающее, что важные шаги были выполнены.
В результате получилась программа Vietnambot, которая взаимодействует со Slack, платформой лингвистической обработки API.AI и Google Таблицами, используя асинхронную обработку в реальном времени и собственную базу данных для хранения учетных данных пользователей.
Если это ничего не значило для вас, не волнуйтесь — я немного определю эти вещи, а код, который я предоставляю, одержимо комментируется с объяснениями. Следует помнить, что все это делается для того, чтобы записывать заказы на еду для нашего любимого вьетнамского ресторана в общую таблицу Google, что, вероятно, позволяет ежегодно экономить десятки секунд рабочего времени компании Distilled.
Это заведомо приземленное, но задумано как шаблон для гораздо более сложных взаимодействий. Идея состоит в том, хотите ли вы писать туда-сюда без кода, просто через API.AI; простая программа Python, которая получает информацию, делает что-то и отправляет ответ; или что-то, что выходит за рамки ограничений платформ лингвистической обработки для выполнения сложных взаимодействий в пользовательских сеансах, которые могут длиться несколько дней, этот пост должен дать вам некоторые части головоломки и указать на другие.
Что такое API.AI и для чего он используется?
API.AI — это интерфейс лингвистической обработки. Он может принимать текст или речь, преобразованную в текст, и выполнять большую часть понимания за вас.Вы можете увидеть мою публикацию Distilled для получения более подробной информации, но, по сути, он берет фразу «Меня зовут Робин, и я хочу лапшу сегодня» и разбивает ее на такие компоненты, как:
- Намерение: food_request
- Действие: process_food
- Имя: Робин
- Еда: лапша
- Время: сегодня
Эта настройка означает, что у вас есть надежда на ответ на сотни тысяч способов, которыми ваши пользователи могли бы сказать то же самое.Вам решать, получит ли API.AI сообщение и сразу же ответит пользователю, или получит ли он сообщение от пользователя, классифицирует его и отправит в ваше приложение, а затем ждет ответа от вашего приложения, прежде чем отправить ответ вашего приложения обратно. пользователю, который сделал исходный запрос. В своей простейшей форме платформа имеет набор интеграций в один клик и не требует абсолютно никакого кода .
Я перечислил возможные уровни сложности ниже, но стоит помнить о некоторых жестких ограничениях, которые применяются к большинству этих сервисов.Они не могут ничего запомнить за пределами пользовательского сеанса, который автоматически завершится примерно через 30 минут, они должны делать все через так называемые запросы POST и GET (то, что вы можете игнорировать, если не используете код), и если вы выполните выберите, чтобы он запрашивал информацию у вашего приложения, прежде чем он ответит пользователю, вы должны сделать все и ответить в течение пяти секунд.
Что еще?
Slack: Платформа обмена текстовыми сообщениями, предназначенная для работы (или для отвлечения людей от работы).
Google Таблицы: Мы все это знаем, но на всякий случай это Excel онлайн.
Асинхронная обработка: В большинстве случаев одна программа может выполнять одно действие за раз. Даже если он просит другую программу сделать что-то, обычно он просто останавливается и ждет ответа. Асинхронная обработка — это то, как мы задаем вопрос и продолжаем, не дожидаясь ответа, возможно, получая этот ответ позже.
База данных: Опять же, вероятно, вы это знаете, но если нет: наш код будет использовать Excel (отличается от Google Sheet).
Heroku: Платформа для запуска кода в Интернете. (Важное примечание: я не работаю на Heroku, и они мне не платили. Я не могу сказать, что это лучшая платформа, но она может быть бесплатной, и на данный момент я наиболее знаком с).
Насколько это просто?
Этот график не совсем научный, и он сделан с точки зрения человека, который многое из этого узнает впервые, поэтому вот приблизительная разбивка:
Этикетка | Функциональность | Время, которое мне потребовалось |
---|---|---|
1 | Вы настраиваете диалог исключительно через API.AI или аналогичный, внешний код не требуется. Например, отвечая на заданные вопросы о контактных данных или времени работы. | За полчаса до распределяемого прототипа |
2 | Программа, которая получает информацию от API.AI и использует эту информацию для обновления правильных ячеек в таблице Google (но не может запоминать имена пользователей и не может использовать более медленную интеграцию с Google Таблицами) | Несколько недель до распространяемого прототипа |
3 | Программа, которая запоминает имена пользователей после их установки и записывает их в Google Таблицы.API.AI ограничивает время обработки пятью секундами, поэтому не может использовать более медленную интеграцию с Google Таблицами и может работать ненадежно, когда приложение должно загружаться из спящего режима, потому что это занимает несколько секунд вашего выделения * | Несколько недель на последнем прототипе |
4 | Программа, которая запоминает данные пользователя и управляет соединением между API.AI и выбранной нами платформой (в данном случае Slack), чтобы она могла выйти из пятисекундного окна обработки. | Еще несколько недель после последнего прототипа (не считая времени, необходимого для переписывания существующих структур для работы с этим) |
* В бесплатном плане Heroku, когда ваше приложение не использовалось в течение 30 минут, оно переходит в спящий режим. Это означает, что при первой активации требуется некоторое время, чтобы запустить процесс, что может стать проблемой, если у вас есть короткое окно для действий. Вы можете обойти это, (неправильно) используя бесплатную «службу мониторинга работоспособности», которая время от времени отправляет запросы, чтобы ваше приложение не спало.Если вы выберете этот метод, чтобы избежать использования всего распределения бесплатных часов Heroku к концу месяца, вам необходимо зарегистрировать свою карту (бесплатно, это просто дает вам дополнительные часы) и запускать это приложение только на счет. Кроме того, существует множество компаний, которые готовы взять ваши деньги, чтобы поддерживать ваше приложение в рабочем состоянии.
В оставшейся части этого поста я собираюсь разбить каждый из этих ключевых шагов и либо дать обзор того, как вы могли бы этого достичь, либо указать вам направление, где вы можете это найти.Код, который я вам даю, — это Python, но если вы можете получать и отвечать на запросы GET и POST, вы можете делать это практически в любом желаемом формате.
1. Создайте свой разговор
Диалог — это уже само по себе искусство. Джонатан Сил, директор по стратегии в Mando и член аналитического центра искусственного интеллекта Британской ассоциации интерактивных медиа, выступил с отличными докладами на эту тему. Пол Пангаро также говорил о разговоре как о чем-то большем, чем интерфейс в нескольких средах.
Ваш первый шаг — создать блок-схему разговора. Напишите свой идеальный разговор, а затем напишите, как человек может сбиться с пути и как вы с ним справитесь. Затем зайдите в Интернет, найдите существующих чат-ботов и сделайте все возможное, чтобы их сломать. Записывайте самые сложные, тупые и бессмысленные ответы, какие только сможете. Взаимодействуйте с ними, как если бы у вас было шесть бокалов вина и вы пытаетесь заказать набор для гравировки с лимоном, взаимодействуйте с ними, как если бы вы обнаружили на своей карте плату за гравировщик с лимоном, который вы определенно не покупали, и вы бледный общайтесь с ними, как со скучающим подростком.На каждом этапе записывайте, что вы пытались сделать, чтобы их сломать, и каков был ответ, а затем примените это к своему потоку. Затем попросите кого-нибудь еще , чтобы попытаться прервать ваш поток. Не давайте им никакой информации, кроме ответов, которые вы записали (даже то, для чего бот предназначен), откажитесь отвечать на любой ввод, который вы не записали, и посмотрите, как это получится. Дэвид Лоу, главный евангелист Amazon Alexa, часто описывает ценность распечатки сценария и тестирования двусторонней беседы.Помимо того, что он помогает избежать пробелов, он также покажет вам, где вы сбрасываете огромный объем информации о пользователе.
В то время как «лучшие практики» для чат-ботов все еще разрабатываются, общая идея заключается в том, что не стоит притворяться, что ваш бот — это человек. Скажите честно, что это бот — пользователи все равно узнают. Точно так же невероятно неприятно открывать чат и не знать, что сказать. На текстовых платформах начните с приветственного сообщения, в котором ясно, что вы бот, и приведите примеры того, что вы можете делать.На таких платформах, как Google Home и Amazon Alexa, пользователи будут ожидать наличия программы, но бит «Что я могу сделать» по-прежнему достаточно важен, чтобы ваш бот не был одобрен без этой фазы открытия.
Я включил образец разговора для Вьетнамбота в конце этого поста как один из способов приблизиться к нему, хотя, если у вас есть идеи для альтернативных разговорных структур, мне было бы интересно прочитать их в комментариях.
Последний совет по разговорам: Уловка здесь состоит в том, чтобы найти органические способы управления возможными входами и подготовки к неожиданным входам.При этом команда евангелистов Alexa привела пример ужасного пользовательского опыта, когда приложение банка сообщило: «Если вы хотите продолжить, скажите девять ». Довольно часто ключом является вопросов , а не инструкций .
2. Создайте диалог в API.AI
API.AI содержит довольно много документации, объясняющей, как создавать программы, поэтому я не буду останавливаться на отдельных этапах.
Ключевые моменты, которые необходимо понять:
Вы создаете агентов ; каждая — это, по сути, отдельная программа. Агенты распознают намерений , которые являются просто способами инициирования определенного ответа . Если кто-то говорит правильные вещи в нужное время , они соответствуют установленным вами критериям, подпадают под намерение и получают предварительно установленный ответ .
правильных вещей, которые сказать, включены в раздел « Пользователь говорит » (снимок экрана ниже). Вы устанавливаете точные фразы или списки опций в качестве необходимых входных данных.Например, пользователь может написать «Конечно, я [любое имя]» или «Конечно, я [любая температура]». Вы можете настроить одно намерение для name-is, которое соответствует «Конечно, я [имя-имя]», и другое намерение для температуры, которое соответствует «Конечно, я [температура]», и в зависимости от того, использует ли ваш пользователь записывает имя или температуру в этом последнем блоке, вы можете активировать либо «name-is», либо «temperature-is» intent .
«Правильное время» определяется контекстами . Контексты помогают определить, будет ли активировано намерение , но также создано определенными намерениями . Ниже приведен снимок экрана с примером взаимодействия. В этом примере пользователь говорит, что хотел бы поехать в отпуск. Это активирует праздничное намерение и устанавливает праздничный контекст , который вы можете видеть в контекстах ввода ниже. После этого наш сервис автоматически ответит на вопрос «куда бы вы хотели пойти?» Когда наш пользователь говорит «The», а затем любое местоположение, он активирует наше намерение праздничного местоположения , потому что оно соответствует как контексту , так и тому, что говорит пользователь . Если, с другой стороны, пользователь изначально сказал: «Я хочу пойти в театр», это могло бы активировать намерение Theater , которое установило бы театральный контекст — поэтому, когда мы спрашиваем «в каком районе театров» Вы заинтересованы в?» и пользователь говорит «[местоположение]» или даже просто «[местоположение]», мы пойдем по совершенно другому пути, предложив театры, а не отели в Риме.
Вы можете создавать беседы без использования внешнего кода, используя эти контексты .Пользователь может спросить: «В какое время вы открыты?»; вы можете установить контекст открытого запроса . В своем ответе вы можете указать время и спросить, хотят ли они, чтобы с вами связались телефонные номера. Затем вы должны создать намерение да / нет , которое соответствует заданному вами контексту, поэтому, если ваш пользователь говорит «Да», вы отвечаете номером. Это можно настроить в течение часа, но становится намного сложнее, когда вам нужно ответить на определенные части сообщения. Например, если у вас разные магазины и вы хотите дать правильный номер телефона, не записывая все возможные места, которые они могли бы указать в API.AI, вам нужно будет выполнить интеграцию с внешним кодом (см. Раздел 3).
Иногда ваши пользователи не говорят того, чего вы ожидаете. Исключая контексты, есть три очень важных способа справиться с этим:
- Почти как исследование ключевых слов — спланируйте как можно больше возможных вариантов выражения одного и того же и поместите их все в намерение
- Тест, тест, тест, тест, тест, тест, тест, тест, тест, тест , test, test, test, test, test (при запуске у каждого чат-бота будут проблемы.Продолжайте тестирование, продолжайте обновлять, продолжайте совершенствоваться.)
- Резервные контексты
Резервные контексты не имеют , пользователь говорит раздел, но может быть заключен в рамки контекстов . Они соответствуют всему, что имеет правильный контекст, но не соответствует любому из ваших пользователей, говорит . Может возникнуть соблазн использовать резервные намерения в качестве универсального решения. Рассуждения типа «Это единственное, что они скажут, так что мы будем относиться к этому так же», понятны, но они открывают огромную дыру в процессе.Запасные намерения предназначены для обеспечения безопасности в разговоре. Они действуют точно так же, как и при обычном разговоре. Если кто-то спросил, что вы хотите от чая, и вы ответили: «Я не хочу чая», и этот человек заварил чашку чая, написал слова «Я не хочу чая» на листе бумаги и приложил in, это не тот человек, с которым вы хотели бы снова общаться. Если мы используем резервные намерения для чего-либо, нам нужно поставить перед этим проверку. Если бы нам пришлось прибегнуть к этому в приведенном выше примере, говоря: «Я думаю, вы просили меня добавить , я не хочу чай в ваш чай.Это правильно?» неуклюжая и роботизированная, но это большой шаг вперед, и вы можете пройти остаток пути, совершенствуя другие части разговора.
3. Интеграция с внешним кодом
Я использовал Heroku для создания своего приложения. Используя этот отличный пример веб-перехватчика погоды, вы можете развернуть бота на Heroku за считанные минуты. Я нашел этот пример особенно полезным как нечто, что я мог бы разделить, чтобы создать свою собственную программу вызова и ответа. Веб-перехватчик погоды принимает информацию и вызывает приложение yahoo, но игнорируя эту конкретную функциональность, вам, по сути, понадобится следующее, если вы работаете на Python:
#start req = запрос.get_json print ("Запрос:") print (json.dumps (req, indent = 4)) #process, чтобы сделать свое дело и решить, какой ответ должен быть res = processRequest (req) # Ответ, который мы должны получить от processRequest (вам нужно написать код под названием processRequest и заставить его возвращать приведенный ниже пример, пример веб-перехватчика погоды, приведенный выше, является хорошим). { «речь»: «речь, которую мы хотим отправить обратно», "displayText": «отображаемый текст, который мы хотим отправить обратно, обычно соответствует речи», "источник": "название вашего приложения" } # Делаем наш ответ доступным для чтения API.AI и отправка обратно в сервис response = make_response (res) response.headers ['Content-Type'] = 'application / json' ответ на ответ # Конец
Пока вы можете получать и отвечать на подобные запросы (или в эквиваленте для языков, отличных от Python), ваше приложение и API.AI должны прекрасно понимать друг друга — что вы делаете тем временем, чтобы изменить мир или ответ полностью зависит от вас. Основной код, который я включил, немного отличается от этого, потому что он также разработан, чтобы быть промежуточным звеном между Slack и API.AI. Тем не менее, я сильно прокомментировал такие разделы, как process_food и процессы взаимодействия с базой данных, как с объяснением, так и с источниками чтения. Эти комментарии должны помочь вам сделать это самостоятельно. Если вы хотите переназначить мою программу для работы в этом пятисекундном окне, я бы забыл о файле с именем app.py и постарался скопировать целые процессы из tasks.py , вставить их в программу на основе метеороха. пример выше, и продолжайте оттуда.
Сначала я бы рекомендовал попробовать GSpread, чтобы внести некоторые изменения в тестовую электронную таблицу.Таким образом, вы получите видимую обратную связь о том, насколько хорошо работает ваше приложение (вам нужно будет пройти этапы авторизации, как они описаны здесь).
4. Использование базы данных
Базы данных довольно легко настроить в Heroku. Я выбрал надстройку Postgres (вам просто нужно аутентифицировать свою учетную запись с помощью карты; она не будет взимать с вас ничего, а затем вы просто нажимаете, чтобы установить). В разделе import моего кода я включил ссылки на полезные ресурсы, которые помогли мне понять, как запустить и запустить базу данных — например, это сообщение в блоге.
Я использовал библиотеку Python Psycopg2 для взаимодействия с базой данных. Чтобы украсть некоторые примеры использования его в коде, взгляните на раздел под названием «синхронные функции» в файлах app.py или tasks.py . Open_db_connection и close_db_connection делают именно то, что они говорят на банке (открывают и закрывают соединение с базой данных). Вы указываете check_database проверять определенный столбец для определенного пользователя, и он дает вам значение, в то время как update_columns добавляет значение в указанные столбцы для определенной записи пользователя.Там, где что-то не работает сразу, я добавил ссылки на страницы, на которых я нашел свое решение. Следует иметь в виду, что я использовал способ включения столбцов в качестве переменной, от чего Psycopg2 весьма категорически не рекомендует. Мне это пока удается, потому что я всегда пишу конкретные имена столбцов в другом месте — я просто использую этот метод в качестве сокращения.
5. Обработка вне пятисекундного окна API.AI
Надо сказать, что этот шаг существенно усложняет ситуацию.Это также затрудняет интеграцию с различными приложениями. Вместо того, чтобы щелкать переключателем для развертывания через API.AI, вам нужно написать код, который интерпретирует аутентификацию и пользовательские сообщения для каждой платформы, с которой вы интегрируетесь. Более того, платформы только для разговора, такие как Google Home и Amazon Alexa, не допускают такого обхода правил — у вас есть , чтобы сидеть в этом 5–8-секундном окне, поэтому этот метод удаляет эти параметры. Единственные причины, по которым вам нужно убрать интеграцию с API.AI бывают:
- Вы хотите использовать его для работы с платформой, с которой у него нет интеграции. В настоящее время он имеет 14 интеграций, включая Facebook Messenger, Twitter, Slack и Google Home. Он также позволяет экспортировать ваши разговоры в формат, понятный Amazon Alexa (у Amazon есть собственный аналогичный интерфейс и множество инструкций о том, как развить навык — вот пример.
- Вы обрабатываете масс информации. Я говорю о действительно больших суммах. На некоторых сайтах сравнения полетов возникли проблемы с уложением тайм-аута этих платформ, но если вы не пытаетесь обрабатывать каждую деталь для каждого полета в течение следующих 12 месяцев и это занимает более пяти секунд, вероятно, будет проще сделайте свой код более эффективным, чем работа за окном. Даже если это так, те же самые сайты сравнения рейсов решили проблему, создав процесс, который регулярно проверяет их полный набор данных и создает меньший объем информации, доступной быстрее.
- Вам необходимо отправить пользователю несколько дополнительных сообщений. При использовании интеграции API.AI это скорее вызов и ответ; вы не всегда получаете доступ к таким вещам, как токены авторизации, которые требуются некоторым платформам обмена сообщениями, прежде чем вы сможете автоматически отправлять сообщения одному из их пользователей.
- Вы работаете с другой программой, которая может работать довольно медленно, или в вашей настройке есть технические ограничения. Это относится к Vietnambot, я использовал библиотеку GSpread в своем приложении, что отлично, но может медленно извлекать большие порции данных.Более того, Heroku может занять некоторое время, чтобы начать работу, если вы не платите.
Я мог бы заплатить или исключить некоторые функции, чтобы избежать необходимости управлять этой частью процесса, но это не соответствовало бы пункту 4 в наших исходных условиях: Должна была быть возможность адаптировать скелет процесс для гораздо более сложных бизнес-кейсов . Если вы решите, что предпочтете использовать мою программу в течение этого пятисекундного окна, вернитесь к разделу 2 этого сообщения.В противном случае продолжайте читать.
Когда мы выходим из пятисекундного окна API.AI, мы должны сделать пару вещей. Первым делом нужно перевернуть процесс с ног на голову.
Чем мы занимались раньше:
Пользователь отправляет сообщение -> API.AI -> наш процесс -> API.AI -> пользователь
Что нам теперь нужно делать:
Пользователь отправляет сообщение -> наш процесс -> API.AI -> наш процесс -> пользователь
Вместо API.AI ждет, пока мы выполняем нашу обработку, мы выполняем некоторую обработку, ждем, пока API.AI классифицирует сообщение от нас, выполняет немного больше обработки, а затем отправляет сообщение пользователю.
Это применимо к Вьетнамботу:
- Пользователь говорит: «Я хочу [еду]»
- Slack отправляет сообщение моему приложению на Heroku
- Мое приложение отправляет «быстрый и уверенный» ответ 200 в Slack, чтобы предотвратить повторную отправку сообщения. Чтобы отправить ответ, мой процесс должен завершиться, поэтому перед этим он активирует вторичный процесс, используя «задачи».»
- Вторичный процесс берет текст запроса и отправляет его в API.AI, а затем возвращает ответ.
- Вторичный процесс проверяет нашу базу данных на предмет имени пользователя. Если у нас нет сохраненного, он отправляет еще один запрос в API.AI, помещая его в контекст «у нас нет имени», и отправляет сообщение нашему пользователю с просьбой указать его имя. Таким образом, когда наш пользователь отвечает своим именем, API.AI уже настроен правильно интерпретировать его, потому что мы установили правильный контекст (см. Раздел 1 этого сообщения).API.AI сообщает нам, что последнее сообщение — это имя пользователя, и мы его сохраняем. Когда у нас есть и имя пользователя, и еда (независимо от того, получили ли мы его из базы данных или только что сохранили в базу данных ), Vietnambot добавляет заказ в наш лист, вычисляет, достигли ли мы минимального заказа. на этот день и отправляет последнее сообщение об успехе.
6. Интеграция со Slack
Это не то же самое, что интеграция с другими службами обмена сообщениями, но может дать некоторое представление о том, что может потребоваться где-то еще.В Slack есть два процесса авторизации; мы будем называть одно «вызовом», а другое «аутентификацией».
Slack включает здесь инструкции для жизненного цикла приложения, но API.AI действительно дает отличные инструкции по настройке вашего приложения; В качестве первого шага создайте простой обмен данными в API.AI (не в полном продукте), перейдите к интеграции, включите Slack и выполните действия по его настройке. Как только это будет запущено и заработает, вам нужно будет изменить URL-адрес OAuth и URL-адрес событий, чтобы они были URL-адресом вашего приложения.
Благодаря пользователю github karishay, мой код приложения включает процесс для ответа на процесс запроса (который сообщит Slack, что вы настроены на получение событий) и для выполнения процесса аутентификации с использованием нашей установленной базы данных для сохранения важного пользователя жетоны. Есть также возможность сохранить их в таблице Google, если у вас еще не создана база данных. Однако будьте осторожны с этим, как с любым другим шагом, кроме первого шага — пользовательские токены дают приложению большую мощность и их необходимо тщательно охранять.
7. Асинхронная обработка
Мы запускаем наше приложение с помощью Flask, который, по сути, представляет собой целый набор кода, который мы можем использовать для решения таких задач, как получение запросов на информацию через Интернет. Для создания вторичного рабочего процесса я использовал Redis и Celery. Redis — наш «брокер сообщений»; он составляет список всего, что мы хотим, чтобы наш вторичный процесс делал. Celery просматривает этот список и заставляет наш рабочий процесс последовательно выполнять эти задачи.Redis — это записка, оставленная на холодильнике, в которой говорится, что нужно стирать и вынимать мусор, в то время как Сельдерей — сосед по дому, который стучит в дверь вашей спальни с запиской в руке и заставляет вас делать все. Я уверен, что нашему рабочему процессу не очень нравится Celery, но он действительно полезен для нас.
Здесь вы можете найти инструкции по добавлению Redis в ваше приложение в Heroku, а также советы по настройке Celery в Heroku. Сообщение в блоге Мигеля Гринберга «Использование сельдерея с Flask » также является отличным ресурсом, но при использовании точной настройки, которую он дает, приводит к конфликту с нашей базой данных, поэтому проще придерживаться версии Heroku.
До этого момента мы вызывали функции в нашем основном приложении — что угодно в форме имя_функции (аргумент_1, аргумент_2, аргумент_3) . Теперь, поставив «задачи». перед нашей функцией мы говорим: «Не делайте этого сейчас — передайте это вторичному процессу». Это потому, что мы сделали несколько вещей:
- Мы создали tasks.py , который является второстепенным процессом. По сути, это всего лишь одна большая и длинная функция, которую наш основной код сообщает для запуска.
- В tasks.py мы включили Celery в наш импорт и установили наше приложение как celery.Celery () , что означает, что, когда мы позже используем «app», мы, по сути, говорим: «это часть нашего Celery. список заданий »или, скорее,« tasks.py будет делать что-либо только тогда, когда его сосед по квартире, Сельдерей, стучит в дверь »
- Каждый раз, когда наш основной процесс запрашивает асинхронную функцию, записывая tasks.any_function_name (), мы имеем создали эту функцию в нашей вторичной программе так же, как если бы она была в том же файле.Однако в нашей вторичной программе мы использовали предисловие «@ app.task», еще один способ сказать: «Сделай wash_the_dishes , когда Сельдерей хлопает дверью и кричит wash_the_dishes (посуда, вода, тепло, обида) ».
- В нашем «procfile» (включенном как файл в мой код) мы указали наш рабочий процесс как —app = tasks.app
Все это складывается в следующий процесс:
- Основная программа выполняется до тех пор, пока не встретит асинхронную функцию.
- Основная программа отправляет сообщение Redis, в котором есть список работ, которые необходимо выполнить.Основной процесс не ждет, он просто выполняет все, что происходит после него, и в нашем случае даже завершает работу
- Часть Celery нашей рабочей программы переходит в Redis и проверяет наличие последнего обновления, она проверяет, какая функция была вызвана (потому что наши рабочие функции называются так же, как когда их вызывал наш основной процесс), он дает нашему рабочему всю информацию, чтобы начать делать это, и сообщает ему, чтобы он приступил к работе
- Наш рабочий процесс запускает действие, которое ему было сказано выполнить, затем выключается.
Как и в других упомянутых здесь темах, я включил все это в код, который я предоставил, вместе со многими источниками, используемыми для сбора информации, так что не стесняйтесь использовать процессы, которые у меня есть. Также не стесняйтесь улучшать их; как я уже сказал, ценность этого расследования заключалась в том, что я не кодировщик . Любые предложения по настройке или улучшению кода очень приветствуются.
Заключение
Как я уже упоминал во введении к этому посту, у отдельных лиц и организаций есть огромная возможность закрепиться за счет создания диалоговых взаимодействий для широкой публики.В подавляющем большинстве случаев вы можете приступить к работе от нескольких часов до нескольких дней, в зависимости от того, насколько сложными вы хотите, чтобы ваши взаимодействия были и насколько комфортно вы владеете языками кодирования. Есть некоторые камни преткновения, но, надеюсь, этот пост и мой навязчиво аннотированный код могут действовать как шаблоны и указатели, которые помогут вам встать на путь.
Возьмите мой код на GitHub
Бонус №1: диалог для моего чат-бота
Это ни в коем случае не лучший или единственный способ приблизиться к такому взаимодействию.Это сделано для того, чтобы максимально упростить взаимодействие, но мы также работаем в рамках ограничений платформы и времени, необходимого для этого. Здравый смысл заключается в том, чтобы создать поток вашего разговора, а затем продолжать тестирование до совершенства, поэтому рассматривайте этот пример макета как шаг в этом процессе. Я также рекомендую собрать одну из этих блок-схем перед запуском — в противном случае вам может потребоваться переделать кучу работы, чтобы приспособиться к лучшему движению вперед и назад.
Бонус №2: Общие вещи, которые я узнал, собирая это вместе
Как я упоминал выше, это был проект перехода от полного незнания кодирования к чуть меньшему незнанию. Я не профессиональный программист, но я обнаружил, что следующие вещи, которые я изучил, были чрезвычайно полезными, когда я только начинал.
- Все комментируйте. Вы, вероятно, увидите, что мой код граничит с чрезмерным комментированием (все, что стоит после #, является комментарием). Хотя обычно я уверен, что кто-то не захочет включать кучу ссылок на переполнение стека в свой код, я нашел заметки о том, что части кода пытались делать, и откуда я получил рассуждения, очень полезен как . Я пытался осмыслить все это.
- Распечатать все. В Python все, что находится внутри «print ()», будет распечатано в журналах приложения (см. Советы по их чтению в Heroku). Хотя печать каждого действия может означать, что вы ужасно быстро заполняете окно журнала (я начал использовать надстройку Heroku LogDNA ближе к концу, и это огромный шаг вперед с точки зрения простоты чтения и длины истории), часто Мое приложение падало из-за того, что одна конкретная функция не получала то, что ей нужно, или из-за другой глупой опечатки.Наличие в журнале полупостоянного потока действий и выходных данных означало, что я мог гораздо быстрее найти неисправность. Моим следующим шагом, вероятно, было бы предложить способ простого включения и выключения менее необходимых функций печати.
- Следующие команды : Практическая документация Heroku по созданию приложения и добавлению кода довольно хороша, но я обнаружил, что использую их все время, поэтому решил поделиться (все ниже написано в командной строке ; введите cmd в Windows или запустив Терминал на Mac):
- CD «» »[расположение файла]» »» — выберите файл, в котором находится ваш код.
- «git init» — создайте файл git для добавления в
- «git add.» — добавьте весь код из вашего файла в файл, который git разместит в сети.
- « git commit -m «[описание того, что вы делаете]» « — сохраните данные в вашем файле git
- «heroku git: remote -a [имя вашего приложения]» — выберите свое приложение как место для кода
- «git push heroku master» — отправьте свой код в выбранное приложение
- « heroku ps » — узнайте, работает ли ваше приложение или вылетело.
- « heroku logs » — извинитесь перед своей второй половиной за то, что она полностью не отвечает в течение последних десяти минут, и начните процесс обработки ваших распечаток, чтобы увидеть, что пошло не так
- POST-запросы всегда ждут ответа. Кажется действительно простым — сначала я думал, что, просто отправив запрос POST и не сказав своему приложению ждать ответа, я смогу по сути работать с горячим картофелем и не беспокоиться о том, что мне нужно закончить то, что я делал. В целом это работает не так, и это скорее символ моей наивности в программировании, чем что-либо еще.
- Если что-то действительно сложно, скорее всего, вы делаете это неправильно. Хотя я позаботился о том, чтобы большую часть работы выполнял сам (чтобы Избегайте просто передачи его очень талантливым людям в Distilled) мне посчастливилось получить действительно ценный совет.В совет выше был от Доминика Вудмана, и я должен был слушал его больше. Времена, когда я добивался наименьшего прогресса, были, когда я пытался использовать вещи так, как их нельзя было использовать. Даже когда я сломал эти стены, позже я обнаружил, что кто-то не хотел, чтобы я используйте его таким образом, потому что позже он полностью выйдет из строя. Тактическое отступление — это вариант. (Здесь я должен упомянуть, что он не единственный, кто дает бесценный совет; Остин, Том и Дункан из Команда разработчиков Distilled мне очень помогла.)
Преимущества, руководство по типам, процессы и многое другое
Каждая бизнес-система должна выполнять передачу данных для правильного решения проблем своей компании. Однако сделать это вручную непросто, поэтому здесь необходима технология автоматической интеграции. Благодаря интеграции чат-бота с внешними системами вы можете ускорить выполнение задач бота, повысить качество услуг, сэкономить средства и время и т. Д., Придумав, как создать своего собственного разговорного бота с меньшими усилиями.
С какими внешними системами вы можете взаимодействовать? Сегодня наиболее популярны взаимодействия с системами API , CRM и CMS , сервисами Google и т. Д. Давайте обсудим это.
Сегодня методы интеграции изменились, и разработчики используют Интерфейс прикладного программирования (API) для адаптации к конкретным настройкам мессенджера или веб-сайта. В ходе этого процесса они работают с двумя основными стилями API: REST и SOAP .Тем не менее, такие методы имеют разную архитектуру; они оба используют протокол HTTP. API также может выступать посредником между чат-ботом и оператором, предоставляя последнему всю необходимую информацию от клиента.
Что касается систем CRM и CSM , то это удобные и мощные инструменты взаимодействия с клиентами. Интегрируйте с ними своего недавно созданного чат-бота. Затем вы можете оптимизировать процессы сотрудничества с пользователями, быстро и просто сохраняя их данные и управляя этим контентом.
Если вы интегрируете своего бота с сервисами Google (пусть это будут Google Таблицы), вы можете поместить нужные вам данные в документ Google Таблиц, и бот будет использовать их как ответ на возможный вопрос. Например, вы можете создать напоминание о номере телефона. Таким образом, вы разместите имена и номера телефонов своих друзей в Google Таблицах, а бот покажет введенные данные на экране вашего гаджета. Вам нужно только записать имя друга, которому вы хотите позвонить.
Мы обсудили только три самых популярных взаимодействия.Но вы можете видеть, что существует множество способов создания собственного чат-бота, интегрированного с внешними системами. Вам следует проанализировать только те функции, которые вам нужны больше всего, и выбрать систему для интеграции.
Как создать чат-бота всего за 10 шагов. | Тесс Теттелин | Утро для разговоров
44% потребителей предпочитают взаимодействовать с чат-ботом, а не с человеком, одно можно сказать наверняка: чат-боты никуда не денутся. Но как создать чат-бота для своего бизнеса — такого, который на самом деле помогает решать проблемы, а не создавать новые?
Поехали!
Прежде чем вы сможете приступить к созданию своего чат-бота, вам нужно знать , почему вы его создаете .Какая здесь цель? Если вы хотите автоматизировать существующий сервис, каков его текущий опыт и как бот может помочь его улучшить? Взгляните на свои бизнес-цели: если одной из ваших целей является повышение удовлетворенности клиентов, вы можете добавить чат-бота в свою группу поддержки клиентов и позволить ему обрабатывать наиболее распространенные часто задаваемые вопросы, чтобы ваша команда могла сосредоточиться на более сложных случаях. .
После того, как вы выяснили причину вашего бота, настало время для того, что . Что именно будет делать ваш бот? Что это даст пользователю? Я не могу подчеркнуть, насколько важно выяснить это до того, как вы начнете создавать своего бота , поскольку вам нужно точно знать, что бот будет делать и почему это важно.
Вот несколько примеров использования:
- Забронировать ресторан
- Воспроизвести песню
- Найти продукты
- Порекомендовать новые продукты
- Проложить маршрут
- Забронировать рейс
- Показать местные рекламные акции
- Возврат процесса
Знайте, что вы знаете, почему и что делает ваш бот, важно понимать, где: , где будет жить ваш бот? Будет ли он интегрирован с WhatsApp? Могут ли клиенты взаимодействовать с ним через SMS, Facebook Messenger или на веб-сайте компании? Какие ограничения у каждого канала? Бот, который общается с вашими пользователями через SMS, не сможет использовать столько символов, сколько бот, который общается только через Интернет.Поэтому убедитесь, что вы понимаете свою технологию и ее ограничения.
1. 3 совета по программе голосового и чат-бота из цикла обслуживания клиентов Gartner 2020
2. Развертывание веб-чата Watson Assistant в консоли Salesforce Lightning
3. Уязвимы ли чат-боты? Рекомендации по обеспечению безопасности чат-ботов
4. Ваш путь к искусственному интеллекту — серия для разработчиков IBM
Чтобы создать индивидуальный опыт, вам нужно сделать его индивидуальным. Кто этот пользователь, который будет взаимодействовать с вашим ботом? Важно знать, чего они хотят и что чувствуют во время разговора. Какая у них предыстория? Их проблемы? Их мотивация? Насколько они знакомы с вашим бизнесом и в целом с использованием ботов? Мне нравится создавать идентификатор пользователя, который я использую при написании реальных диалогов.
Пример идентификатора пользователя для компании, которая сдает в аренду роскошные гостиничные номераЧат-бот без индивидуальности похож на плохое свидание в Tinder: они отлично смотрелись в Интернете, но как только вы начинаете с ними разговаривать, вы хотите закончить свидание, как только возможный.Просто не было связи …
Итак, как вы можете убедиться, что ваши пользователи подключаются к вашему чат-боту, и что беседа увлекательна и отражает реальное человеческое взаимодействие? Дав вашему чат-боту четкую личность .
Если можете, используйте брендинг вашей компании в качестве отправной точки и развивайте его. Я также подробно объяснил, как создать личность вашего чат-бота, в , во второй части моей серии «Дизайн беседы ».
Теперь, когда у вас есть четкое представление о том, кто общается (ваш бот и ваш идентификатор пользователя) и о чем они говорят (ваши варианты использования), пришло время написать диалоги .
«Счастливый поток» — это диалог, в котором все работает так, как должно работать . Разговор естественный и плавный, и пользователь достигает своей цели за минимально возможные шаги. Многие разработчики бесед начинают со счастливого потока, потому что это поток наименьшего сопротивления. Для написания сценария требуется минимум усилий, поскольку он не включает в себя множество неудобных сложностей, которые могут возникнуть.
Но они будут, и вы должны быть готовы к тому, когда они это сделают.Подробнее об этих крайних случаях позже.
Отличный способ написать естественный диалог — это использовать образец диалога . Попросите двух человек сесть спиной к спине и импровизировать беседу о сценарии использования, причем один играет пользователя, а другой — чат-бота. Запишите их разговор или сделайте заметки, чтобы увидеть, какие части диалога требуют дополнительной работы.
После того, как вы написали все возможные потоки, создайте визуальную блок-схему , чтобы увидеть, как пользователь будет идти от начала до конца и где он может захотеть или должен будет погрузиться в другие потоки.Существует множество отличных инструментов, которые помогут вам визуализировать эти путешествия, два моих любимых — draw.io и Creately .
Подсказка: платформа chatlayer.ai позволяет визуализировать ваши потоки прямо во время написания диалоговых окон.
Визуальный обзор различных диалогов с помощью платформы chatlayer.aiТехнология чат-ботов — это еще не способен достаточно хорошо понимать каждое высказывание пользователя, чтобы ответить правильным образом — независимо от того, насколько хорошо написан сценарий, в сложных ситуациях он, скорее всего, потерпит неудачу.
Итак, после написания счастливых потоков, напишите наиболее вероятные пути, по которым пользователь может сбиться с пути, и как вы собираетесь с этим справиться. Образец диалогового окна должен помочь вам определить эти болевые точки, как и пользовательское тестирование.
Что, если пользователь спросит вашего бота, как у него дела? Что, если они скажут боту, что им это не нравится? Что, если им нужно другое предложение? Что произойдет, если пользователь захочет заказать столик на двоих, но у одного человека аллергия на глютен, а другой не ест рыбу?
Если можете, убедитесь, что ответ вашего чат-бота стратегически направляет пользователя обратно к существующему потоку, как в примере ниже:
Хороший ответ на вопрос, выходящий за рамки, который возвращает пользователя на правильный путьКогда вы ‘ Вы закончили диалоги и создали блок-схему, пора сделать глубокий вдох.Теперь вы отправите своего маленького бота на первое испытание! 🐣
Чтобы получить первые отзывы, вы можете поделиться своим ботом с несколькими друзьями и коллегами и попросить их выполнить некоторые конкретные задачи. Например: «Включи песню», «Закажи еду» или «Верни пару джинсов». Не забудьте также задать им несколько подробных вопросов об общем опыте после:
- Личность : чувствует ли бот постоянный? Подходит ли это бренду?
- Подключение : было ли понятно, что этот бот может для вас сделать? Вы что-нибудь пропустили?
- Понимание : понял ли бот ваши вопросы и ответы? Где ты застрял?
- Отвечаем : дал ли бот точные, актуальные и ясные ответы? Было ли это разговорным?
- Управление ошибками : как бот обрабатывал ошибки? Что пошло не так? Как вы себя при этом почувствовали?
- Общий опыт : Вам понравился разговор?
Некоторые платформы также позволяют проводить тестирование удобства использования, например, chatlayer.