OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Create a Simple Bot
SKILLS
Storyboard
Dialog Tasks
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Train
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Introduction
How to Configure Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Bot Versioning
Collaborative Development
Plan Management
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Create a Simple Bot
Create a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
RELEASE NOTES

Botの構築を開始する

このセクションには、Botの作成と公開のプロセス、およびKore.ai Botビルダーツールを使用して作成されたBotの自然言語処理の有効化と使用のプロセスについて説明するトピックが含まれます。

Botビルダーを初めてご利用になる方で、当社が使用する用語や概念について詳しく知りたい場合は、Botの概念を参照してください。

ボットの構築

Kore.ai Botビルダープラットフォームにアクセスした後、以下に記載のステップで、すぐに最初のBotを構築することができます。各ステップについてはこの文書で詳述されています。

上記の各ステップについて詳しく見ていきましょう。

定義および構築

このステップは、以下の2つのサブタスクで構成されています。

  • Botの定義または設計
  • Botの構築または開発
Botの定義または設計

すべてのBotは、明確に定義されたユースケースを解決できるよう構築されなければなりません。明確に定義されたユースケースを作成するための最初のステップは、市場の要件を収集し、社内のニーズを確認することです。通常、このプロセスには、関連するすべてのビジネススポンサー、プロダクトオーナー、ビジネスアナリスト、およびBot開発者を参加させます。

Botがやるべきことについて、良いアイデアを考えましょう。各ステップの分かりやすい説明や、様々な会話の流れを示すフローチャートは、Botの開発プロセスを楽にするのに役立ちます。

詳細については、設計を参照してください。

Botの構築または開発

Botの機能と理想的なユースケースを十分に定義できたら、Bot開発者はBotタスクの設定、インテントおよびエンティティの定義、会話ダイアログの構築などのプロセスを開始します。

Botの機能およびダイアログは、前のステップで定義した仕様から自然に創出されるものです。Botに実行してもらいたいタスクのリストの確認に時間を費やすことは、非常に重要なことです。実際に開発を始める前に、Botにもたらしてほしい利点や解決してほしい問題点を準備しておくようにしましょう。そうすることで、長期的に見て確実に時間を節約することができます。

Botタイプの選択

要件に基づいて、作成するBotタイプを選択します。以下のいずれかを作成することができます。

  • 標準Bot – 会話フローにマッピングされた様々なタスクを持つ、最も一般的なタイプのBotです。
  • ユニバーサルBot – 複数の標準Botをリンクさせます。
  • スマートBot – エンタープライズ内の様々な業種で引き継ぐことができる共通機能に使用されます。

Botタイプの詳細についてはこちらを参照してください。

Botタスクの作成

Botタスクを1つ以上定義します。タスクとは、開発者がユーザーインテントを満たすためにチャットBotに実行させる単純なジョブおよび複雑なジョブの種類を指します。

様々なタスクを組み合わせることで、前のステップで設計した会話の流れ全体をマッピングすることができます。

例えば、旅行Botが実行できる最も一般的なタスクタイプは、チケットの予約、ホテルの検索、天気予報の送信であり、それぞれが異なるユーザーインテントに対応しています。

詳細については、Botタスクの定義を参照してください。

NLP用のBotのトレーニング

最高のBotは、反復プロセスを使って十分にトレーニングされています。タスクや会話フローを作成した後、Botをトレーニングすることができます。そうすることで、Botはユーザーの発話をよりよく理解することができ、エンジンはユーザーの入力に基づいて、Botのタスクまたはインテントを他のものよりも優先させることができます。

Bot開発者とビジネスアナリストは、連携し、初期トレーニングを完了するために使用されるサンプル音声やパターンを提供します。Botの導入後は社内テストやフィールドデータによってさらに強化することができます。

以下のツールは、NLPエンジンがユーザーの入力を効率的かつ正確に認識して応答できるよう、Botをトレーニングするのに役立ちます。

  • 機械学習を使ってBotをトレーニングし、発話認識を向上させます。
  • タスクまたはインテント用に別の発話、同義語、パターンを追加することで、FMエンジンおよびBotの設定を微調整することができます。
  • 中断処理、複数インテント検出などを定義することで、Botインテリジェンスを強化します。

詳細については、自然言語処理のためのBotの最適化を参照してください。

チャネルの有効化

このステップでは、Botの公開後にエンドユーザーがアクセスしてBotと対話できるよう、Botにチャネルを追加します。エンドユーザーは、Botが公開されて有効なチャネルに導入された後にのみ、Botと対話することができます。

チャネルとは、SMS、電子メール、モバイルアプリ、ウェブサイト、メッセージアプリなど、Botが稼働する様々なコミュニケーションプラットフォームのことを指します。Botビルダーでは、チェックボックスを選択するだけで、チャットBotのタスクを一度に設計し、20以上のチャネルに導入することができます。

詳細については、お客様のBotへのチャネルの追加を参照してください。

Botのテスト

お客様のBotを構築およびトレーニングした後、最も重要となるのはお客様のBotのNLPモデルがいかに優れているかということです。これがテストのすべてです。より良いエンドユーザー体験の提供を実現するために、計画されているすべてのメッセージチャネルでBotをテストすることを検討する必要があります。

MLおよびNLPモデルを慎重にテストして分析し、偽陽性と偽陰性に注意を払いつつ、誤って多くの矛盾する発話を使用してモデルをトレーニングしないことを徹底する必要があります。

テストは、Botを導入する前に更なるトレーニングが必要かどうかを判断するのに役立ちます。トレーニングや再トレーニングを行った後は、トレーニングモデルを見直して、変更が適切であるかどうかを判断し、それがNLPモデルを強化したか劣化させたかどうかを判断する必要があります。

Botと話すオプション、発話テスト、バッチテストは、Botのパフォーマンスをテストおよび改善するのに役立ちます。

詳細については、Botのテストを参照してください。

公開

お客様のBotが構築され、テストが十分に行われたら、お客様が選択した環境およびユーザーが利用するコミュニケーションチャネルに導入します。

導入を進める前に、主要なビジネス関係者と協力して、すべてのBotおよびBot機能を確認し、承認することをお勧めします。

Botタスクを自分のアカウント、Kore.aiスペース、または会社のアカウントに公開します。タスクを公開すると、Botの導入を確認し、承認/非承認を行うことができるBot管理者への公開リクエストが開始されます。Botがすべての関係者から承認されると、以前に有効化されたチャネルを使ってエンドユーザーに導入することができます。

詳細については、公開タスクを参照してください。

分析

Botが導入された後は、ユーザーの使用状況を継続的に監視し、反復プロセスを使って積極的な管理および改良を行うことが重要です。Botのパフォーマンスは、エンゲージメント、パフォーマンス、機能の観点から監視し、会話、およびセッションごとのメッセージ、保持、場所、ユーザーの人口統計、感情などの変数を監視して、結果を分析する必要があります。

さらに、Bot開発者とアナリストが連携して、ドロップオフポイントを特定し、タスクまたは言語の障害を検出し、会話が放棄された理由を特定し、サービスやスクリプトのパフォーマンスを監視して、BotのNLPおよび機能的パフォーマンスを向上させます。

収集したデータは、BotのNLPおよび機能的パフォーマンスを向上させるために使用する必要があります。例えば、BotがBotのインテントまたはFAQにマッピングできなかったあらゆる発話を確認し、将来的に識別できるようBotを再トレーニングします。タスクの失敗については、プロセスのどこで問題が発生したかをトラブルシューティングし、解決策を練ることができます。

優れたBotを構築することは簡単ではありませんが、適切なプラットフォーム、多少の構造、およびテストや反復を行うことへの意欲が、Botの成功に大きく貢献します。

詳細については、Botの分析を参照してください。

OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Create a Simple Bot
SKILLS
Storyboard
Dialog Tasks
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Train
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Introduction
How to Configure Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Bot Versioning
Collaborative Development
Plan Management
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Create a Simple Bot
Create a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
RELEASE NOTES

Getting Started with Building Bots

This section contains topics that describe the process of creating and publishing bots, enabling and using Natural Language Processing for your bots created using the Kore.ai Bot Builder tool.

If you are new to Bot Builder and want to familiarize with the terms and concepts we use, refer to Bot Concepts.

Build your Bot

Once you get access to the Kore.ai Bot Builder Platform, you can build your first bot within no time by following the below-mentioned steps. Each step is elaborated in detail in this document.

Let’s look at each of the above-mentioned steps in detail.

Define and Build

This step consists of two sub-tasks:

  • Define or Design the Bot
  • Build or Develop the Bot
Define or Design the Bot

Every bot must be built to solve a well-defined use case. The first step to create a well-defined use case involves gathering market requirements and assessing internal needs. Typically, you want to include all relevant business sponsors, product owners, business analysts, and bot developers in this process.

Get a good idea of what the Bot needs to do. A clear description of each step and a flow chart of the various conversation flows will go a long way in easing the process of building the Bot.

Platform Recommendations: The following steps are considered while designing a bot:

  • Understand the User Needs: To set the scope of the bot. The business sponsors, business analysts, and product owners play an important role to identify the user requirement by gathering market requirements and assessing internal needs.
  • Set the Chatbot Goals: It helps you create a well-defined use case. This involves converting the above-identified scope to a use case. It is advisable to involve the bot developer in this phase.
  • Design a Chatbot Conversation: To define chatbot behavior in every possible scenario in its interaction with the user. Simulating conversations go a long way in identifying every possible scenario.

Once the bot capabilities and ideal use case are well-defined, the bot developer can begin the process of configuring bot tasks, define intents and entities, and build the conversational dialog.

Things to keep in mind while designing a chatbot: Try to answer the following questions (some if not all):

  • Who is the target audience? Technical help bots targetted for a tech-savvy customer need a different design when compared to help bots for a layman like, say, a bank customer. Hence assessing the target audience is always important.
  • What bot persona will resonate the most with this group? This will help define how the bot talks and act in every situation.
  • What is the purpose of the bot? The goal i.e. the customer query that the bot needs to address defines the endpoint of any conversation.
  • What pain points will the bot solve? The purpose and scope of bots are set to identify what the bot addresses and when the human agent needs to take over.
  • What benefits will the bot provide for us or our customers? The main benefit of using a bot is time-saving. The user need not waste their time waiting for a human agent to be available for answering their query. You, as the business owner, need not worry about not being there to cater to all customer needs.
  • What tasks do I want my bot to perform? Simulation of user conversation helps identify the tasks that need to be catered to by the bot.
  • What channels will the bot live in? This will to some extent drive the way the bot is presented, the various options available for the chatbot is limited by the channel/medium it is used.
  • What languages should my bot speak? When catering to a multi-lingual community the language support is imperative and building the dictionary simultaneously is useful.

Build or Develop the Bot

Once your Bot’s capabilities and ideal use case are well-defined, the Bot developer begins the process of configuring bot tasks, defining intents, entities, and build the conversational dialog.

Create a Standard Bot
  1. Log in to the Bot Builder platform with valid credentials.
  2. On the landing page, click New Bot on the top-right.
  3. From the drop-down, select the Start from Scratch option.
  4. On the Create New Bot window, enter a name in the Bot Name field.
  5. Select English from the Default Bot Language drop-down list and Standard Bot from the Bot Type drop-down list.
  6. Click Create.
Select Bot Type

Based on the requirements, select the type of Bot you want to create. You can create either a

  • Standard Bot – the most common type of Bot with various tasks mapped to a conversation flow.
  • Universal Bot – to link multiple standard Bots.
  • Smart Bot – for common functionality that can be inherited by various verticals within your enterprise.

More on Bot Types.

Define Bot Tasks

After creating the Standard Bot, you are ready to define how your bot works. You can define your bot by starting with the bot tasks.

Bot capabilities and dialogs should flow naturally from the specifications you defined in the previous step. It is always valuable to take time to review the list of tasks you want the bot to perform. Ensure that it delivers on the benefits you want the bot to provide and the pain points you want it to solve, before starting actual development. This will certainly save your time in the long run.

Define one or more tasks or flows for your bot in one of the following methods:

  • On the Bot Summary page, click + New Task on the Tasks widget. This would allow you to add a Dialog or an Alert task.
  • In addition to the above-mentioned tasks, from the Conversational Skills menu on the left navigation, you can select a skill to be added by clicking the Create button on the corresponding skills page.

Skills are bot capabilities that help in catering to the end-user needs. These include dialog and alert tasks such as book a flight, get weather alerts, or respond to user queries (Knowledge Graph) or even engage the user in Small Talk.

You can define the following skills from Kore.ai Bot Builder:

  • Storyboard – Design engaging conversations as well as simplifies the communication between business users, conversation designers, language experts, and bot developers.
  • Dialog Tasks – Consists of multiple intents, sub-intents, and component nodes to conduct a complex conversational flow between a user and the bot.
  • Alert Tasks – Monitors a web service for events and sends a notification message to the user when the event occurs. You can use this task type for scheduled polling or near real-time notification using webhooks.
  • Knowledge Graph – Turns static FAQ pages into an intelligent, personalized conversational experience. Build a hierarchy of crucial terms, add questions to the right nodes in the hierarchy, and leave the responding to users task to the bot, thus enabling your support staff to engage with more complex tasks.
  • Small Talk – Engage the end-users in casual conversations that help socialize your bot and improves the recall rates.

Train your Bot for NLP

The best bots are well trained using an iterative process. After you develop your tasks and conversation flow, you can train your bots. Doing so allows your bots to better understand user utterances and the engine to better prioritize one Bot task or intent over another based on the user input.

Bot developers and business analysts work together to provide sample utterances and patterns that are used to complete the initial training. It can be further augmented by internal testing and field data once you deploy the bot.

The following tools help train your Bot so that the NLP engine recognizes and responds to user inputs efficiently and accurately.

  • Train the bot using Machine Learning to improve utterance recognition.
  • You can fine-tune the FM Engine and the bot’s configuration by adding additional utterances, synonyms, and patterns for a task or intents.
  • Enhance your Bot Intelligence by defining interruption handling, multi-intent detection, and more.

For more information, refer to Optimizing Bots for Natural Language Processing.

Channel Enablement

This step refers to adding channels to your Bot that end users can use to access and interact with your Bot after it is published. End users can only interact with your bots, and by extension bot tasks, after Bots are published and deployed to enabled channels.

Channels refer to various communication platforms where a bot can live such as SMS, email, mobile apps, websites, messaging apps, and more. With the Bot Builder, you can design chatbot tasks once and deploy across 20+ channels by merely selecting a checkbox.

For more information, refer to Adding Channels to your Bot.

Test your Bot

After you have built and trained your bot, the most important question that arises is how good is your bot’s NLP model? This is what testing is all about. You must consider testing your bot across all planned messaging channels for a better end-user experience.

You need to carefully test and analyze your ML and NLP models and ensure you have not inadvertently trained your models using a large number of conflicting utterances while paying close attention to false positives and false negatives.

Testing helps determine whether or not more training is needed before deploying your bot. After every round of training or retraining, you must review the training model to determine that the changes made are appropriate and to determine whether they have enhanced or deteriorated the NLP model.

Talk to Bot option, Utterance Testing, and Batch Testing helps in testing and improving the performance of the Bot.

For more information, refer to Test your Bot.

Publish

Once your bot is built and sufficiently tested, it is time to deploy it on the environment of your choice and the communication channels where users engage.

It is recommended that you work with the key business stakeholders to review and approve all bots and bot functionality before moving forward with the deployment.

Publish your bot tasks to your account, a Kore.ai space, or your company account. When you publish tasks, it initiates a publishing request to Bots Admin who can review and approve/disapprove their deployment. Once your bot is approved by all relevant parties, you can deploy to end-users through previously enabled channels.

For more information, refer to Publishing Tasks.

Analyze

Once your bot is deployed, it is important that you continually monitor how users use it and take an active role in managing and refining it using an iterative process. Your bots performance should be monitored from an engagement, performance, and functional standpoint and the results analyzed, including monitoring conversations and other variables like messages per session, retention, location, user demographics, sentiment, and more.

Furthermore, bot developers and analysts work together to identify drop-off points, uncover task or language failures, determine why conversations are abandoned, and monitor service and script performance to improve the NLP and functional performance of your bots.

The data collected must be used to improve the NLP and functional performance of your bots. For example, take a look at all the utterances that your bot was not able to map to a bot intent or FAQ and retrain the bot to identify it in the future. For task failures, you can troubleshoot where the process went wrong and come up with solutions.

Building great bots is not easy, but the right platform, a little bit of structure, and a willingness to test and iterate some more goes a long way in achieving bot success.

For more information, refer to Analyze your Bot.

Summary

To summarize, The Bot Builder provides a web-based tool with a repeatable process to design, develop, test, and deploy smart chatbots at an enterprise scale. You can do all this without the code, custom software, significant server space, or major changes to your infrastructure.