OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Creating a Simple Bot
SKILLS
Storyboard
Dialog Task
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
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Overview
Configuring 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
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
Versioning
Collaborative Development
PLAN & USAGE
Overview
Usage Plans
Support Plans
Invoices
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
Creating a Simple Bot
Creating a Banking Bot
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
Update Balance Task
Transfer Funds Task
RELEASE NOTES
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Creation
  6. 簡単なボットを作成する

簡単なボットを作成する

Kore.aiボットプラットフォームにサインアップしたら、次のステップはボットを作成することです。ボットを作成する前に、このリンクからボット構築の基本を確認することをお勧めします。このドキュメントに記載されているステップに従って、自分のペースでボットを構築するか、ガイド付きヘルプを使用して段階的にボット作成プロセスを実行できます。ガイド付きヘルプにアクセスするには、次のステップに従います:

  1. 有効な資格情報を使用してKore.aiボットのプラットフォームにログインします。
  2. ランディングページで、右上のヘルプアイコンをクリックします。
  3. 「ページヘルプ」ウィンドウで、ガイド付きヘルプを使用して「Hello world」ボットを構築する」の横にあるガイド付きヘルプをクリックします。
  4. ユースケースのリストが表示されます。開始をクリックして、ユースケースを続行します。
  5. このドキュメントは、ダイアログタスクボット(フライトステータスボット)であなたを支援します。

ボットの概要

このボットは、ユーザーの選択に応じて、ロサンゼルス国際空港に到着/出発するフライトステータスを提供します。このボットは次のことができます:

  • ユーザーに到着または出発について知りたいかどうかを尋ねます。
  • APIにサービスコールをして、空港を発着するフライトの詳細を取得します。
  • 到着または出発のユーザー設定に基づいてフライトナンバーを表示します。
  • ユーザーにフライトナンバーを選択するように要求します。
  • 選択されたフライトステータスの詳細を表示します。
  • エラーがあれば処理します。

ボットを構築する

標準ボットを作成できます。作成するには、次の手順に従います。

  1. あなたのKore.aiボットプラットフォームアカウントにログインします。
  2. ボットのランディングページで、右上の新しいボットをクリックし、最初から開始オプションを選択します。
  3. [新しいボットの作成]ウィンドウで、ボットの詳細を入力します
    • ボット名-あなたのボットに名前を付けます。たとえば、エアポートボット。名前がすでに使用されている場合は、何か別の名前を試してください。
    • デフォルトのボット言語ドロップダウンリストから「Japanese」を、ボットタイプドロップダウンリストから標準ボットを選択します。
  4. 作成をクリックします

ダイアログタスクを作成

ボットの作成後、ボットの概要ページに移動します。最初のステップは、インテントダイアログを追加することです。インテントダイアログは、ユーザーとボットの会話フローの最初のステップです。

  1. タスクウィジェットで、新しいタスクを追加をクリックし、ダイアログタスクを選択します。
  2. [ダイアログの作成]ページで、次の情報を入力します。
    • インテント名-インテント名を入力します。これは、ダイアログをトリガーするフレーズです。インテント名は単純で、10〜15文字以内である必要があります。たとえば、「フライトステータスの取得」です。
    •  その他のオプションで、説明やその他のダイアログ関連の詳細を追加できます。デフォルト設定のままにしておきましょう。
  3. 続行をクリックします。
  4. 会話駆動型ダイアログビルダーにアップグレードするように求められますので、アップグレードを選択します。古いダイアログビルダーの手順については、こちらを参照ください
  5. [ユーザーインテント]ウィンドウには、デフォルトで会話ビルダーパネルが表示されます。
  6. 会話ビルダーウィンドウを閉じます。ダイアログビルダーを直接使用して、ダイアログタスクを構築します。

ユーザー設定エンティティノードを作成

通常エンティティノードは、ユーザーから情報を収集するために使用されます。これを使用して、到着又は出発の詳細に関するユーザーの好みをキャプチャします。

  1. ユーザーインテントノードの横にある+アイコンをクリックします
  2. エンティティ > 新しいエンティティを追加を選択します。
  3. 左側のノードパネルからエンティティをドラッグアンドドロップすることもできます。
  4. 新しく追加されたエンティティノードをクリックして、エンティティウィンドウを開きます。
  5. デフォルトでは、コンポーネントのプロパティタブが選択されています。
    1. 一般設定セクションで、次の情報を入力します:
      • 名前好み
      • 表示名好み 
      • タイプ:ドロップダウンリストから「List of Items (enumerated)」を選択します。ユーザーが選択できる値のリストを提供できます。値のリストを追加するには、
        • フィールドの横にある設定アイコンをクリックします。
        • 静的リストオプションを選択します。
        • 使用するキーと値セクションで、表示名到着出発として別々の行に入力します同義語列は自動入力されるので、そのままにしておきます。
        • 「保存」をクリックします。
        • エンティティウィンドウに戻ります。
    2. ユーザープロンプトセクションで、次のテキストを入力します: Hello {{context.session.UserContext.firstName}}! Welcome to *Los Angeles International Airport*. I can help you with flight Arrival/Departure information. Please select your preference. メモ:コンテキスト変数は、ユーザー名を取得します。また、空港名を太字で表示するためにマークダウンが使用されます。
    3. 値の一覧の表示セクションで、[はい、デフォルトメッセージにチャネル専用の標準フォーマットを使用し、利用可能な値のリストをエンドユーザーに表示します]オプションを選択します。これにより、サポートされているチャネルでボタンテンプレートとして値のリストが表示されます。
  6. エンティティウィンドウを閉じます。

サービスノードを作成

サービスボットアクションノードを使用すると、バックエンドAPI呼び出しを行うことができます。ここでは、APIを呼び出すてめにサービスノードを使用し、LAX空港発着のフライトのフライト情報を取得します。このチュートリアルでは、ダミーのAPIセットアップが使用されます。

  1. 設定エンティティノードの横にある+アイコンをクリックします。
  2. ボットアクション>新しいボットアクションを追加を選択します。
  3. 一般設定セクションで、次の情報を入力します:
    • 名前フライトの詳細
    • 表示名フライトの詳細
  4. ボットアクションノードの横にある+をクリックして、ボットアクションを展開します。
  5. ボットアクションノード内から[+]をクリックします
  6. サービス>[+新しいサービスを選択します。
    • サービスノードは、バックエンドAPI呼び出し、LAX空港のフライトのフライト情報を取得するために使用されます。
  7. サービスノードをクリックしてサービスウィンドウを開きます。デフォルトでは、コンポーネントのプロパティタブが選択されています。
  8. 一般設定セクションで、次の情報を入力します:
    • 名前フライトの詳細を取得
    • 表示名フライトの詳細を取得
    • サービスの種類カスタムサービス
    • タイプWebサービス
    • サブタイプレスト
    • リクエストの定義セクションで、「リクエストの定義」をクリックします。
    • リクエストの定義ページで次の詳細を入力します。
      • リクエストタイプGET
      • リクエストURLhttp://5e85a56644467600161c6579.mockapi.io/FlightDetails このAPIは認証又はヘッダーパラメーターを必要としません。
      • テストリクエストタブをクリックします
        • 右上のテストをクリックします。
        • テストが完了すると、ステータスコード200が表示されます。
        • サンプル応答として保存をクリックします。
        • 「保存」をクリックします。

    • ダイアログビルダーに戻ります
  9. 接続セクションで、デフォルトの接続ルールボットアクションの終了に設定します
  10. サービスウィンドウを閉じます。
  11. ボットアクションノードを折りたたみます。

フライト選択エンティティノードの作成

このエンティティノードは、ユーザーがステータスの詳細を必要とするフライトナンバーを取得するためのものです。

  1. フライトの詳細ボットアクションノードの横にある+アイコンをクリックします。
  2. エンティティ > 新しいエンティティノード追加を選択します。
    • エンティティノードは、ユーザーが選択したフライトナンバーを取得するために必要です。
  3. エンティティウィンドウでは、デフォルトでコンポーネントのプロパティタブが選択されています。
  4. 一般設定セクションで、次の情報を入力します:
    • 名前フライトを選択
    • 表示名フライトを選択 
    • タイプ文字列(ユーザーは、次の手順でAPI文字列出力を値のリストに変換するカスタムスクリプトを作成できます。これは、使用するダミーAPIの要件です)
  5. ユーザープロンプトセクションで、次のテキストを入力します。 Please provide the flight number.
    • 管理:ユーザーは、Web SDKチャネルの特定のプロンプトを定義できます。
    • 管理をクリックします
    • プロンプトメッセージを追加をクリックします。
    • 新しいプロンプトメッセージウィンドウで、チャネルドロップダウンリストから[Web /モバイルクライアント]を選択します。
    • メッセージセクションで、JavaScriptタブをクリックします。
    • 次のJavaScriptを入力します。JavaScriptは、API呼び出しから出力された文字列からユーザーの好みに一致するフライトナンバーを抽出し、クイック返信フォーマットで表示します。
      var data = context.Fetchflightdetails.response.body.details;
      context.flights = [];
      context.info;
      var msg;
      for (var i = 0; i < data.length; i++)
      {
          if (context.entities.Preference == data[i].Type)
          {
              var details = {
                  "Airlines" : data[i].Airlines,
                  "FlightNo" : data[i].FlightNo,
                  "Airport" : data[i].Airport,
                  "AirportName" : data[i].AirportName,
                  "Time" : data[i].Time
              };
              context.flights.push(details);
          }
      }
      var message = {
          "type" : "template",
          "payload" : {
             "template_type" : "quick_replies",
             "text" : "Here are the flights " + context.entities.Preference + " details for Los Angeles International Airport today. Please select the flight number to see details",
             "quick_replies" : []
          }
      };
      for (i=0; i < context.flights.length; i++)
      {
         var replies = {
              "content_type":"text",
              "title" : context.flights[i].FlightNo,
              "payload" : context.flights[i].FlightNo
          };
      message.payload.quick_replies.push(replies);
      }
      return JSON.stringify(message);
  6. 「保存」をクリックします。
  7. ダイアログビルダーに戻り、エンティティウィンドウを閉じます。

スクリプトノードの作成

スクリプトノードは、ダイアログタスクでカスタムJavaScriptを作成するために使用されます。ここで、ユーザーは選択したフライトの詳細を抽出するためにスクリプトを使用できます。後で、ユーザーはこのスクリプトに更に機能を追加できます。

  1. フライトエンティティの選択ノードの横にある+アイコンをクリックします。
  2. ボットアクション> 新しいボットアクションを追加を選択します。
  3. 一般設定セクションで、次の情報を入力します:
    • 名前フライトの検証
    • 表示名フライトの検証 
  4. ボットアクションノードの横にある+をクリックして、ボットアクションを展開します。
  5. ボットアクションノード内から[+]をクリックします
  6. スクリプト> 新しいスクリプトノード追加を選択します。
  7. スクリプトウィンドウでは、デフォルトでコンポーネントのプロパティタブが選択されています。
  8. 一般設定セクションで、次の情報を入力します:
    • 名前フライトの検証
    • 表示名フライトの検証 
  9. スクリプト定義セクションで、スクリプトの定義をクリックします。
  10. [スクリプトの追加]ダイアログボックスで、次のJavaScriptをコピーします。このコードは、選択したフライトナンバーの詳細を抽出します。
    context.details;
    var x = context.flights.length;
    for (var l = 0; l < x; l++)
    {
        if (context.entities.SelectFlight == context.flights[l].FlightNo)
        {
             context.details = {
                "Airlines" : context.flights[l].Airlines,
                "FlightNo" : context.flights[l].FlightNo,
                "Airport" : context.flights[l].Airport,
                "AirportName" : context.flights[l].AirportName,
                "Time" :context.flights[l].Time
            };
            break;
        }
    }
  11. 「保存」をクリックします。
  12. 接続セクションで、デフォルトの接続ルールボットアクションの終了に設定します
  13. スクリプトウィンドウを閉じます。
  14. ボットアクションノードを折りたたみます。

メッセージノードの作成

メッセージノードは、ボットからユーザーへのメッセージを表示するために使用されます。ここで、ユーザーはメッセージノードを使用して、ユーザーの好みに合わせて適切なフライトの詳細を表示できます。

  1. フライトスクリプトの検証ノードの横にある+アイコンをクリックします。
  2. メッセージ> 新しいメッセージノード追加を選択します
  3. メッセージウィンドウでは、デフォルトでコンポーネントのプロパティタブが選択されています。
  4. 一般設定セクションで、次の情報を入力します:
    • 名前フライトの詳細
    • 表示名フライトの詳細 
  5. ボットレスポンスセクションで、次のテキストを入力します: Here are your flight details.
  6. 入力をクリックして保存します
  7. プロンプトの管理:ユーザーは、Web SDKチャネルの特定のプロンプトを定義できます。
    • 管理をクリックします。
    • ボットレスポンス管理のページで、ボットレスポンの追加をクリックします。
    • チャネルドロップダウンリストからWeb/Mobile clientを選択します。
    • メッセージセクションで、JavaScriptタブをクリックします。
    • 次のJavaScriptをコピーします。JavaScriptは、フライトの詳細を形式で表示するように作成されています。
      var message = {
       "type": "template",
       "payload": {
       "template_type": "mini_table",
       "layout": "horizontal",
       "text":"Flight " + context.entities.Preference + " Information" ,
       "elements": [
       {
       "primary":[["Flight No"], [context.details.FlightNo, "right"]],
       "additional":[["Airlines", context.details.Airlines],["From",context.details.Airport],["Time",context.details.Time],["Remarks","On Time"]]
       }
       ]
      }
      };
      print(JSON.stringify(message));
    • 「保存」をクリックします。
  1. メッセージウィンドウに戻ります。
  2. メッセージウィンドウで、接続タブをクリックします。
    • ドロップダウンリストから、デフォルトの接続を[未接続]から[ダイアログの終了]に変更します。
    • 保存をクリックします。
  3. メッセージウィンドウを閉じます。

ボットのテスト

ダイアログタスクをテストするには、右下の[ボットと会話]オプションを使用できます。

  1. 発話(インテント名)を入力してくださいフライト状況を教えてください。
  2. ボットの指示に従ってください:
    • 到着/出発を選択
    • フライトナンバーを選択
    • 表形式で表示されるフライトの詳細を参照してください。

イベントを追加

現在、ボットは開始時にユーザー入力を待っています。また、ボットは会話の開始時にユーザーをガイドできます。このために、Web / モバイル SDKから新しい接続が確立されるたびに、このタスクを開始するイベントハンドラーを追加できます。

  1. ダイアログビルダーを閉じて、ボットタスクページに移動します。
  2. 左側のナビゲーションペインから、インテリジェンス> イベントを選択します。
  3. イベントリストから、接続時イベントに対して構成をクリックします。
  4. [接続時]ウィンドウでは、デフォルトでタスクの開始オプションが選択されているので、それを保持します。
  5. ドロップダウンリストから、フライトステータスの取得タスクを選択します。
  6. 保存して有効にするをクリックします。

ボットのテスト

ダイアログタスクをテストするには、右下の[ボットと会話]オプションを使用できます。接続時イベントが構成されているため、ダイアログが自動的に開始されます。ボットの指示に従ってください:

  1. 到着/出発を選択
  2. フライトナンバーを選択する代わりに、リストに存在しない番号を手動で入力します。
  3. 申し訳ありませんが、問題が発生し、タスクを破棄しなければならなかったなどの一般的なメッセージが表示されます。再試行してください。

次の手順では、これを修正する方法を確認できます。

スクリプトノードの変更

文字列タイプはフライトの選択エンティティで使用されるため、ユーザーがリストから選択する代わりに、誤ったフライト番号を手動で入力と言ったシナリオを処理できます。これを行うには、接続に基づいて適切なメッセージを表示します。このステップでは、ユーザーエントリの検証を追加するために、前に保存したスクリプトを変更する事ができます。

  1. ダイアログビルダーページを開きます。以下のどちらかを行うことができます
  2. 左側のナビゲーションペインで、会話スキル]-> [ダイアログタスクをクリックし、フライトステータスの取得タスクを選択します。
  3. 左側のナビゲーションペインで、概要をクリックし、フライトステータスの取得タスクを選択します。
  4. フライトスクリプトの検証ノードを選択します。
  5. フライトスクリプトの検証ウィンドウのスクリプト定義セクションで、スクリプトの編集をクリックします。
  6. [スクリプトの追加]ダイアログボックスで、次のJavaScriptをコピーし、既存のコードを置き換えます。ユーザーが入力したフライトナンバーがAPIサービス呼び出しによって返されたエントリと一致したときに設定される有効なタグを追加できます。
    context.valid = false;
    context.details;
    var x = context.flights.length;
    for (var l = 0; l < x; l++)
    {
        if (context.entities.SelectFlight == context.flights[l].FlightNo)
        {
             context.valid = true;
             context.details = {
                "Airlines" : context.flights[l].Airlines,
                "FlightNo" : context.flights[l].FlightNo,
                "Airport" : context.flights[l].Airport,
                "AirportName" : context.flights[l].AirportName,
                "Time" :context.flights[l].Time
            };
            break;
        }
    }
    if (context.valid === false)
    {
        delete context.entities.SelectFlight;
    }
  7. [フライトスクリプトの検証]ウィンドウを閉じます。

条件付きフローを作成

以下は、[フライトスクリプトの検証]ノードから条件付きフローを追加する手順です。このスクリプトノードから新しいメッセージノードへの接続が新たに確立されます。これは、ボットからユーザーに対しエラーメッセージを表示し、フライトナンバーを再度選択するように促すためです。

エラーメッセージの作成

  1. [フライト検証]ボットアクションノードと[フライト詳細]メッセージノードの間の接続にカーソルを合わせます。
  2. ノードの追加ボタンが表示されたら、それをクリックします。
  3. 新しいボットメッセージノードを作成します。
    • メッセージ> 新しいメッセージノード追加を選択します。
    • メッセージウィンドウでは、デフォルトでコンポーネントのプロパティタブが選択されています。
    • 一般設定セクションで、次の情報を入力します:
      • 名前エラーメッセージ
      • 表示名エラーメッセージ 
    • ボットレスポンスセクションで、次のテキストを入力します: The Flight number entered is incorrect. Let us start again.
      • 入力をクリックして保存します
    • 接続タブをクリックします。
    • ドロップダウンリストから、デフォルトの接続を[未接続]から[フライトの選択]に変更します。
    • 保存をクリックします。
    • エラーメッセージウィンドウを閉じます。

フライトスクリプト接続の検証

  1. フライトの検証ボットアクションノードをクリックします。
  2. [フライトの検証]ボットアクションウィンドウで、接続タブをクリックします。
    • + ADD IFをクリックします。
    • IFセクションの下で、
      • コンテキストを選択します
      • IF条件として、テキストを有効として入力します
      • 演算子を等しいものとして選択します
      • 値を真値として入力します
      • この条件が真の場合、ダイアログはフライトの詳細に移動します
      • ELSEセクションの下で、
      • この条件が誤の場合、ダイアログはエラーメッセージに移動します
      • 「保存」をクリックします。
      • [フライトスクリプトの検証]ウィンドウを閉じます。

ボットのテスト

ダイアログタスクをテストするには、右下の[ボットと会話]オプションを使用できます。接続時イベントが構成されているため、ダイアログが自動的に開始されます。または、次の発話(インテント名)をいつでも試すことができます。フライトステータスを取得。ボットの指示に従ってください:

  1. 到着/出発を選択
  2. 無効な便名を入力してください。
  3. 適切なエラーメッセージが表示され、フライトナンバーをもう一度入力するように求められます。
  4. フライトナンバーの選択
  5. フライトの詳細を表形式で確認できます。

これで、最初のボットが正常に作成およびテストされました。次のステップは次のとおりです:

  • フライトのステータスを知りたいQR040のステータスは何ですか?などのさまざまなユーザーの発話に対応するようにボットをトレーニングします。これは、ボットをトレーニングすることで実現できます。
  • チャネルを有効にし、ユーザーがアクセス出来る様にボットを公開します。詳細はこちらをご確認ください
メニュー
Kore.ai Named a Leader in 2022 Gartner® Magic Quadrant™ for Enterprise Conversational AI PlatformsGet the Report