チャット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. How Tos
  5. エージェント転送の設定方法

エージェント転送の設定方法

よくある質問の1つは、チャットをBotからヒューマンエージェントに転送する方法です。これは、Botがカスタマーサービス期間にある場合は特に必要です。チャットBotが完全に人間に置き変わることはありません。多くの場合、チャットBotが満足に答えられない、または最初からユーザーが人間と話したい/チャットしたい場合があります。この場合、チャットBotはチャットをヒューマンエージェントまたはカスタマーケア担当者へ転送する必要があります。どのようにそれを達成するのでしょうか? この記事では、Kore.aiエージェント転送を使用してライブチャットをBotに連携する方法の概要を説明します。エージェント転送のソースコードは、以下のKore.ai githubリポジトリにあります。https://github.com/Koredotcom/BotKit

概要

当社のBotはソリューション全体の中心部分です。通常のすべての機能の実行の他に、当社のBotはユーザーとエージェント間のプロキシとしても機能します。

  • Bot: ユーザーがインタラクトするチャットBot。
  • ユーザー:ユーザーとは このBotを使用する顧客です。
  • エージェント:エージェントとはユーザーとチャットする人間です。エージェントにもチャットウィンドウが必要です。このために、当社はliveperson/livechatソフトウェアを使用します。

Prerequisites

  • 完全機能Bot(当社はバンキングBotを使用)。
  • Koreのgithub からBotKit SDKをダウンロードします。
  • Node.jsをダウンロードし、インストールします。BotKit SDKをSDKがインストールされている同じサーバー内で実行するにはnode.jsが必要です。
    1. https://nodejs.org/en/download/ へ移動し、Macの場合は.pkgファイルタイプとして、Windowsの場合は.msiファイルタイプとしてOSを選択します。
    2. 端末ウィンドウで、node -v コマンドを実行して、インストールとバージョン、たとえばv6.10.2を検証します。
  • テストコールバックサーバーアプリケーション。https://dl.equinox.io/ngrok/ngrok/stable からの NGROKを使用して、コールバックサーバーアプリケーションをシミュレーションします。以下は、NGROKをインストールするステップです。
    1. https://dl.equinox.io/ngrok/ngrok/stable を開きます。
    2. オペレーティングシステムのngrokファイルをダウンロードおよびインストールします。
      • WindowsへのNGROKのダウンロード:
        1. Windowsマシン32-ビットまたは64-ビット用のzipファイルをダウンロードします。
        2. 解凍して、ngrok.exe ファイルを実行し、ngrokをインストールします。
      • MacへのNGROKのダウンロード:
        1. Command+Space を押し、端末を入力し、Enter/Returnキーを押します。
        2. 以下の端末アプリをruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null 実行し、Enter/Returnキーを押します。画面でパスワードの入力を促されたら、Macのユーザーパスワードを入力して、続行してください。パスワードを入力しても画面上には表示されませんが、システムは承認しています。したがって、パスワードを入力して、ENTER/RETURNキーを押します。コマンドが終了するのを待機します。
        3. ライブエージェントソフトウェアを brew cask install ngrok
  • 実行します。LiveChatInc.com を使用します。独自のLiveChatサブスクリプションを使用、または LiveChatを今すぐ始める!にビジネスeメールを入力して、 LiveChatInc.comで30日間の無償試用アカウントをセットアップできます。サインアップして、アカウントを作成します。

設計および設定

  1. Bot開発者として、Kore.ai Botビルダー – https://bots.kore.ai/botbuilder を開きます。
  2. エージェント転送を設定する必要があるBotを選択します。
  3. ダイアログタスク(サポートコールバック)開くまたは作成し、 エージェント転送ノードを追加します。
  4. 名前(LiveChat)説明を入力し、保存します。
  5. メッセージ「SDKは現在設定/サブスクリプションされていません。APIの拡張へ移動して、SDKを設定してください」が表示されます。この記事の後半でSDKの設定方法を示しますので、現在はこのメッセージは無視してください。
  6. Botビルダー画面から、API拡張 -> エージェント転送へ移動します。
  7. アプリ名セクションで、リストから既存のアプリを選択、またはアプリ作成オプションを使用して新しいアプリを作成します。
  8. BotIDクライアントID および クライアントシークレットキーを書き留めます。
  9. BotKIt SDKイベントが呼び出すアプリケーションのコールバックURLを入力します。NGROKを使用しているため、コールバックURLの取得方法を示します。
    1. 端末Windowで、ngrok を起動し、以下のコマンドを使用してポート8003を監視します。ngrok http 8003.
    2. ngrokを転送するURLをコピーします。以下のフォーマットとなります。 http://XXXXXXaa.ngrok.io
    3. コールバックURLとしてこの転送URLを使用し、保存します。注意:ngrokが再起動されると、常に転送URLが変更されます。ngrokが再起動されるたびに、コールバックURLが変更されていることを確認してください。
  10. エージェント転送はダイアログレベルで設定されます。ダイアログタスクを開き、エージェント転送ノードを開き、以下に示すように設定が保存されていることを確認できます。必須イベントは選択できます(詳細は以下を参照)。
  11. エンタープライズ要件およびライセンスの可用性に応じて、Livechat、Liveperson、Concentrix、Vayusphere などのライブエージェントソフトウェアをインストールします。LiveChatを使用しているため、エージェント転送に必要なライセンスの取得方法を知る必要があります。
    1. LiveChatアカウントにサインインします。
    2. 左のナビゲーションから設定へ移動し、チャットリンクを選択します。
    3. URLをコピーし、ライセンスコードを書き留めます。URLが https://lc.chat/now/104xx297/ の場合、ライセンスコードは 104xx297
  12. ダウンロードした BotKit SDKフォルダを開き、以下を行います。
    • 編集 livechatapi.js:
      1. 前にコピーしたBotのそれぞれのbotIdとbotNameを指定します。
      2. このJSファイルには、3つのKoreのAPI – 初期化、メッセージ送信、メッセージ取得が含まれます。必要に応じて、ヒューマンエージェント転送に記述された新しい APIは、ここに配置する必要があります。例:接続を終了する必要がある場合は、記述した終了接続 apiはlivechatapi.jsに入る必要があります。
    • 編集 config.json
      1. クライアントID、クライアントシークレットキー、実行中のそれぞれのサーバーポート、およびサードパーティのliveagentライセンスがここに入ります。
      2. クライアントId、クライアントシークレットは、イベントおよび拡張 – エージェントへの転送からコピーできます。
      3. Ngrok転送urlはインスタンスを実行中のngrokからコピーできます。コールバックurlです。これがURLエントリです。
      4. Liveagentlicenseは、Livechatのチャットリンクで指定されるコードです。

    • 編集 LiveChat.js
      • 前にコピーしたBotのそれぞれのbotIdとbotNameを指定し、保存します。
    • app.jsを編集します。
      1. 以下の行を追加します。 sdk.registerBot(require('./LiveChat.js'))
      2. サポートされていない場合は、既存のsdk.registerBotステートメントを削除します。

実行

  1. 端末ウィンドウを開き、以下のコマンドを入力してBotKit SDK を実行します。 node app.js
  2. 以下に示すように、エラーなしでサーバーを正常に実行するために欠落しているモジュールがすべてインストールされていることを確認してください。例、エラー「メソッド url-template、node-scheduleが欠落しています」が表示される場合は、Windowsの場合はコマンド npm install <module-name> 、Macの場合は sudo npm install <module-name> を使用して、上のモジュールをインストールします。
  3. ngrokおよびnode.jsサーバーが別の端末で実行されます。
  4. ユーザーがBotからチャットを始める場合、Botはコールをエージェントに転送し、メッセージをユーザーに送信します。
  5. エージェントはlivechat上でこれに関する通知を受け取ります。
  6. これで、エージェントとユーザー間の接続が確立され、会話が続行します。

イベント

注意:ユーザー、Botからメッセージを送信、エージェントに転送するために必要なイベントとメソッドは、LiveChat.JSに概要説明されています。

  1. ユーザーがメッセージを送信すると、on_user_message イベントがトリガーされ、このメッセージはsendBotMessageメソッドを使用してBotへ送信されます。
  2. Botがメッセージを送信すると on_bot_message がトリガーされ、このメッセージはSendUserMessageメソッドを使用してユーザーへ送信されます。
  3. サービスagentTransferノードがBotでトリガーされると、on_agent_transfer イベントがトリガーされます。このイベントは内部でinitChat APIをコールするconnectToAgentメソッドを使用してエージェントに接続されます。
  4. gethistory メソッド、ユーザーのBotとのチャット履歴を転送されたエージェントに送信します。
  5. scheduleJob は5秒ごとに実行され、内部で getPendingMessagesをコールするエージェントからの保留メッセージをポーリングします。
  6. getPendingMessages はエージェントからのすべての保留メッセージを取得し、ユーザーに配信します。
  7. エージェントがユーザーとのチャットをクローズすると、chat_closed がトリガーされます。
メニュー