チャットBotの概要
会話型ボット
Kore.ai のアプローチ
Kore.ai 会話型プラットフォーム
ボットの概念と用語
自然言語処理 (NLP)
ボットタイプ
ボットタスク
Kore.ai プラットフォームを使う
ボットビルダーのアクセス
Kore.ai ボットビルダーを使う
初めてのボット構築
ボット構築を始める
シンプルなボットを構築
ボットビルダー
標準ボットの構築
設計
開発 - 標準ボット
ストーリーボード
ダイアログタスク
ユーザーインテントノード
ダイアログノード
エンティティノード
サポートするエンティティタイプ
複合エンティティ
サポートする色
サポートする会社名
フォームノード
ロジックノード
メッセージノード
確認ノード
サービスノード
カスタム認証の実装
サービスノード用双方向 SSL
スクリプトノード
エージェント転送ノード
Webフックノード
ノードのグループ化
接続と遷移
ダイアログの管理
プロンプトエディタ
アラートタスク
アラートタスク (英語)
無視する単語 & フィールドメモリ
デジタルフォーム
デジタルビュー
知識グラフ
用語
構築
生成
ボットオントロジーのインポート/エクスポート
解析
知識の抽出
スモールトーク
自然言語
概要
機械学習
ML (機械学習) モデル
基本概念
NLP (自然言語処理) の設定 & ガイドライン
知識グラフのトレーニング
示唆
ランキング & リゾルバ
高度な NLP 設定
インテリジェンス
概要
コンテキスト管理
セッションおよびコンテキスト変数
コンテキストオブジェクト
ダイアログ管理
サブインテント
エンティティの変更
複数インテントの検出
センチメント分析 (英語)
トーン分析
センチメント管理
デフォルトの会話
デフォルトの標準レスポンス
チャネルの有効化
テスト & デバグ
ボットと会話
発話テスト
バッチテスト
会話の記録 & テスト
ボットの公開
ボットの分析
概要
ダッシュボード
カスタムダッシュボード
会話フロー
ボットメトリクス (英語)
アドバンスド トピック (英語)
ボット認証
言語管理
共同開発
IVR 統合
データ テーブル
ユニバーサル ボット
定義
構築
トレーニング
カスタマイズ
言語の有効化
スマート ボット
スマート ボットの定義
イベントベースのボットアクション
koreUtil ライブラリ
ボット設定
ボットの機能
ボット設定
PII 設定
エラーメッセージのカスタマイズ
セッションを管理する
ボット管理
ボットのバージョン
ボット変数
API ガイド (英語)
API 概要
API リスト
API コレクション
SDK (英語)
SDK 概要
SDK セキュリティ
SDK アプリ登録
Web 上の SDK チュートリアル
メッセージ形式とテンプレート
モバイル SDK プッシュ通知
メッセージ形式とテンプレート
ウィジット SDK チュートリアル
WebSocket 接続
BotKit SDK の利用
インストール
設定
イベント
機能
BotKit SDK チュートリアル - エージェント転送
BotKit SDK チュートリアル - フライト検索サンプルボット
外部 NLP エンジンの利用
ボット管理者 (英語)
ボット管理者コンソール
ダッシュボード
ユーザー管理
御社ユーザーの管理
御社グループの管理
ロールを管理
ボット管理
エンロール
ユーザーの招待
一括招待
ユーザーのインポート
AD からユーザーを同期
セキュリティ & コンプライアンス
シングル サインオンを使う
セキュリティの設定
クラウド コネクタ
分析
請求処理
How To
シンプルなボットの構築
バンキングボットの構築
送金タスク
残高の更新タスク
知識グラフを作成
知識グラフへ抽出したFAQを入力
スマート アラートのスケジュール
エージェント転送の設定
パネルやウィジットの設定
デジタル ビューの設定
デジタル フォームの設定
データをデータテーブルに追加
データテーブルのデータを更新
フォームデータをデータテーブルに追加
コンテキストの切り替え
意図を使う
インテントやエンティティのパターン
エンティティ ルール
マルチ言語なボットの動き
カスタム ダッシュボード
ボット メトリクスをフィルターするためのカスタムタグ
グローバル変数
コンテンツ変数
ボット機能を使う
ボットリリースのライフサイクル
グループノードを利用したインテントのスコーピング
Kore-Unblu インテグレーション
  1. Home
  2. Docs
  3. Bots
  4. Advanced Topics
  5. Smart Bot
  6. Defining a Smart Bot

Defining a Smart Bot

Kore.ai’s Smart Bots allow enterprises to build Bots centrally and allow various teams within the enterprise to reuse and extend the Bot configurations to suit their requirements. Smart Bots expedite the bot building process by allowing new bots to inherit the configuration and tasks of pre-defined bots.

For a detailed overview, click here.

This document deals with how you can create your own Smart Bots and use it within your enterprise account.

Creating a Smart Bot is similar to very similar to Creating a Standard bot and involves the following steps:

  • Creating bot,
  • Defining bot tasks,
  • Testing the bot,
  • Configuring channels,
  • Defining bot settings, and
  • Publishing.

Few of the above steps need special mention in the context of Smart Bots and are discussed in this document.

Creating a Smart Bot

  1. Open the Bot Builder.
  2. Click + New Bot.
  3. On the Create New Bot window, enter a name, and set default bot language. From the Bot Type drop-down list, select Smart Bot.
  4. It opens the Bot Tasks window of the smart bot.
  5. Define your Bot as you would any Standard Bot by adding tasks, flows, test and improve.

Configure Bot Settings

Some Bot Settings that need to be configured specially for a Smart Bot are mentioned in this section.

Setup Options for Bot Variables

Bot Variables allow you to define variables centrally and reuse them across bot definition. For example, during bot building, developers typically use staging endpoints for testing. You can set those endpoints as variables. When you export or publish the bot, you can replace such variable values with the production endpoints. Defining Bot Variables remains the same as Standard Bots. Refer here to learn how to configure the Bot Variables.

Global Variables of Smart Bots will have an additional option to define the visibility or usage of variables during inheritance:

  • Pre-Populated: Use this option to allow the child bot developers to see and edit the variable value in the Setup Variables tab while inheriting the bot.
  • Hidden: Use this option when you do not want to allow the child bot developers to see or edit the variable value while inheriting the bot. They can, however, view the name and value of the variable on the Bot Variables page after inheriting.
  • Ask on Install: Use this option to get the value of the bot variable from the child bot developer while inheriting the bot. Developers of the inherited bot cannot see the variable’s value set up in the smart bot and they cannot complete inheriting the bot without entering a value.

Smart Bot Settings

Configuration settings required to inherit the smart bot can be set from the Smart Bot Settings tab in the Bot Settings. These settings serve as an aid in the discovery, preview, and installation of the Smart Bot.

Following are the steps to configure them:

  • Hover over the side navigation panel of the bot and click Settings > Smart Bot Settings.
  • Configure the following settings:
    • Allow User to Test the Bot in Marketplace: This option allows the user to try the smart bot from the marketplace before installing it.
      • Yes, allow users to try using developer authorization: Use this option to allow the Try option for this bot, so your developers can chat with this bot by logging into your account’s marketplace.
      • No, do not enable try capability: Use this option to disallow the Try options for this bot in your account’s marketplace.
    • Smart Bot Description: Enter a description for the Smart Bot to show it in your account’s marketplace.
    • Configuration Instructions: Instructions can be given to the developers using the Smart Bot for installing the same. This should include details like the list of tasks available and their purpose, bot variables that need to be populated, and so forth. The purpose of these instructions is to ensure that the developers inheriting this bot can put it to maximum use. Developers can see these instructions while inheriting the bot. You can either upload a PDF file containing the instructions or enter it in a plain text format.
    • Configuration Instructions URL: Additionally, you can provide a URL, if any, for the configuration instructions details.
  • Save the settings.

Inheriting a Smart Bot

Bot developers can view and install a Smart Bot published within their account.

NOTE: In order for the developers to see and inherit your smart bot, you need to publish it. Refer here for details on Publishing the Bot.

Steps to  Inherit a Smart Bot

  1. Open the Bot Builder.
  2. On the top-right side of the landing page, click New Bot.
  3. Select the Install Smart Bot option. The Select Smart Bot window opens.
  4. On the Select Smart Bot window, search or scroll to the bot you want to inherit. Hover over the Smart Bot’s name and click Install.  The Configure Smart Bot window opens.
  5. The Bot Name field is auto-filled with a suffix added to the Smart Bot name. Replace it with a name of your choice.
  6. If you want to add a custom icon for the bot, select Custom Icon in the icon field and upload the file.
  7. Update Preference can be set, which decides how the updates to the parent bot are to be handled by the child bot. When there are changes to the parent bot, the updates to the child bot can be made to the published version or the in-development version of the child bot.
    1. Add bot definition updates directly to published version when available is the default setting whereby all the updates get inherited by the published version of the child bot. In case the published version is not available, then the updates are applied to the in-development version  
      Note that this setting overrides the bot setting of ‘hold all deployment requests and publishing only on explicit approval from admin’ from the Admin Console.
    2. Always add bot definition updates to the in-development version will apply the changes to the in-development version of the child bot. If the in-development version is not available it is created in the locked inheritance state. Note that if any tasks or nodes are unlocked in the in-development version the same will be applied to the published version. 
      Note: This setting can be modified later from the Advanced Settings of the child bot.
  8. Next, click the Setup Variables tab. It shows the list of variables that are configured with Pre-Populated or Ask on Install settings. Enter the values for Ask on Install variables. Optionally, make edits to Pre-Populated variables if any.
  9. The Configuration Installation file opens. Read the instructions carefully and then click Next.
  10. The child bot gets created, and the Bot Tasks page of the bot opens.

The child bots can use the Smart Bot as is or extend the inherited functionality by adding tasks and knowledge queries, as well as localize relevant parameters using variables. The Inheritance Scenarios section below provides the list of elements that get inherited by the child bot and the conditions under which the inheritance continues or gets overridden.

Inheritance Scenarios

In a child bot, the inheritance applies in the following ways:

  • No inheritance where some elements do not get inherited by the child bot;
  • One-time inheritance wherein inheritance is a one-time process and any further changes to some bot elements in the parent smart bot will not be inherited by the child bot; and
  • Continued inheritance where changes to some bot elements in the parent smart bot will be inherited by the child bot. Update Preference settings configured at the time of bot installation or later from the Advanced Settings tab will decide which version of the child bot – published or in-development – will get the updates.

Disable Inheritance: Inheritance can be disabled at the bot level, from the Advanced Settings of the child bot using the Smart Bot Inheritance option. This option will permanently delink the child bot from the parent smart bot and should be used with caution.

The following sections show the list of bot elements with no, one-time and continuous inheritance and the actions that unlock the inheritance.

Bot Elements which are not Inherited

  • Any Configured Channels
  • Any apps created in the Smart Bot for connecting to BotKit or Web SDK

Bot Elements with One-Time Inheritance

  • Entity Synonyms
  • Bot Settings
  • Auth Profiles
  • Default Dialog

Note: While the Entity Synonyms of existing bot tasks have a one-time inheritance, the NLP entries of any new task created in the parent bot will get inherited by the child bots.

Bot Elements with Continued Inheritance

Bot Tasks inherited by the child bot have a continued inheritance which means that any published changes to the bot tasks in the parent automatically reflect in the child bot. You can override or “unlock” the continued inheritance of bot elements by editing a certain portion of them. The following table shows the list of bot elements that acquire a continued inheritance and provides the steps to unlock the inheritance.

Feature Name Unlocking of Inheritance
Dialog Tasks On the Dialog tasks page, click the lock icon against the task name, and then click Unlock.

Once unlocked, the following dialog components will stop receiving updates and should be managed by child bot developer:

  • Dialog Settings and Interruption Settings
  • Order of node connections
  • Deletion of Nodes
  • Addition of New nodes

Note: When you unlock a Dialog Task, all the Dialog Nodes are still locked until you unlock them individually. The locked nodes continue to receive updates from the parent bot.

Dialog Nodes

All Dialog node definitions except Synonyms and Patterns remain in the continued inheritance with the parent bot. To unlock the inheritance of the node:

  1. Unlock the inheritance of all the Dialog tasks using the node.
  2. Open the node and click the lock icon on the top-right corner of the node window.
  3. Click Confirm on the Confirmation Message window to unlock the node.


Note: For a node that is used by multiple tasks, you might want to unlock the inheritance for a specific task and not all tasks.

Knowledge Graph Child bots get continued inheritance of all terms, FAQs, path synonyms, term usage property, child terms, and their synonyms. You can unlock the inheritance of a Knowledge Graph at any of the first level nodes. When you click the lock icon of a first-level node and confirm unlocking it, the inheritance of the term and all its child terms becomes unlocked.

When unlocked, the following components will stop receiving updates:

  • Synonyms, class association and other term specific settings of the unlocked term and all its child terms
  • All questions and answers added either to the term or its child terms
  • Additional child-terms, additional questions can be added and managed
  • Inherited classes are always in a non-editable state

Answers can be unlocked when the associated first level term is in a locked state by editing and training the same. When an answer is unlocked:

  • Path and the question will continue to get the inheritance
  • Answers, alone,  will not get updates

Note:

  • You cannot modify inherited classes even after unlocking. However, you can duplicate the class definition by re-creating it and apply it to appropriate classes.
Language Management

Any Languages Enabled by the parent bot are inherited by the child bot. Following scenarios unlock the inheritance in the child bot:

  • Manage Language from the child bot will unlock the inheritance for the selected language.
  • Enable Language from the child bot will unlock any future inheritance for that language i.e if the parent bot enables the same language it will not be inherited by the child bot.
メニュー