대화 작업
봇이 성공적으로 생성되면 봇 요약 페이지로 이동합니다. 봇의 첫 번째 단계로 대화 작업을 추가해야 합니다. 의도 대화는 사용자와 봇 간 대화 흐름의 첫 번째 단계입니다.
- 봇 요약 페이지의 작업 위젯에서 + 새 작업을 클릭합니다.
- 목록에서 대화 작업을 선택합니다.
- 대화 생성 창에서 다음 세부 정보를 입력합니다:
- 의도 이름 필드에 이름을 입력합니다. 대화를 트리거 하는 구문입니다. 의도 이름은 간단해야 하며 3~4개 단어를 초과해서는 안 됩니다. 예: ‘잔액 가져오기‘
- 설명 필드에 설명을 입력합니다.
- 의도 필드에 고유한 발화들을 추가하여 사용자 의도 인식을 개선합니다.
- 기타 옵션 아래에서 다른 대화 관련 세부 정보를 추가할 수 있습니다. 기본 설정을 그대로 유지하겠습니다.
- 대화 기반 대화 빌더 시도 옵션을 선택합니다.
- 진행을 클릭합니다.
참고 사항: 이전 대화 빌더에 대한 지시 사항은 여기 참조
엔티티 노드
엔티티 노드는 일반적으로 사용자로부터 정보를 수집하는 데 사용됩니다. 여기서는 계좌 번호 및 계좌 유형에 대한 사용자 입력을 캡처하는 데 사용됩니다.
- 사용자 의도(잔액 가져오기) 노드 아래의 + 아이콘을 클릭합니다.
- 목록에서 엔티티를 선택하고 + 엔티티를 클릭합니다.
- 새로 생성된 엔티티 노드를 클릭하여 속성 창을 엽니다.
- 일반 설정 섹션에서 다음 세부 정보를 추가합니다:
- 이름: 계좌 번호
- 표시 이름: 계좌 번호
- 유형: 번호
- 사용자 프롬프트: 다음 텍스트를 입력하고 Enter 키를 눌러 저장합니다:
Enter the account number.
- 계좌 번호 엔티티 속성 창을 닫습니다.
- 위의 단계를 반복하여 다음과 같은 세부 사항을 가진 다른 엔티티를 추가합니다:
봇 조치 – 서비스 노드
서비스 노드를 사용하면 봇 조치 아래의 백엔드 API 호출을 할 수 있습니다. 여기서 서비스 노드는 API를 호출하여 사용자가 입력한 계좌 번호에 대한 계좌 잔액을 가져오는 데 사용됩니다. 이 튜토리얼에 대한 더미 API 설정을 찾을 수 있습니다. 다음과 같은 필드로 이 목적을 위해 특별히 생성된 모의 API를 사용하겠습니다. – 성, 이름, 주소, 도시, 국가, 우편번호, 계좌 번호, 계좌 유형, 잔액.
- 왼쪽 창에서 봇 조치 노드를 계좌 유형 엔티티 노드 아래로 드래그 앤 드롭합니다.
- 새로 생성된 봇 조치 노드가 확장됩니다. 확장되지 않았다면 + 아이콘을 클릭하여 확장
- 왼쪽 창에서 서비스 노드를 봇 조치 노드 레이아웃에 드래그 앤 드랍하거나 봇 조치 노드 레이아웃에서 + 아이콘을 클릭하고 목록에서 서비스를 선택한 다음 + 새 서비스를 클릭합니다.
- 봇 조치 노드 레이아웃에 서비스 노드가 추가됩니다.
- 서비스 노드를 클릭하여 해당 속성 창을 엽니다.
- 일반 설정 섹션에서 다음 세부 정보를 추가합니다:
- 이름: 계좌 잔액 가져오기
- 표시 이름: 계좌 잔액 가져오기
- 설명: 서비스 노드를 설명하는 설명을 입력합니다.
- 요청 정의를 클릭합니다.
- 요청 정의 페이지에서 다음 세부 정보를 입력합니다:
- 요청 유형 – GET
- 요청 URL –
https://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails?filter={{context.entities.AccountNumber}}
더미 API 서비스의 제한으로 인해 주어진 계좌 번호에 대한 기록을 가져오는 대신 필요한 계좌 번호에 대한 응답을 필터링합니다. - 이 API에는 인증 또는 헤더 매개 변수가 필요하지 않습니다.
- 테스트 요청 탭을 선택합니다.
- 샘플 컨텍스트 값 섹션에 계좌 번호를 입력합니다. API에 필요한 필터 매개 변수로, 다음 계좌 번호 02929664를 사용할 수 있습니다.
- 페이지의 왼쪽 상단에서 테스트를 클릭합니다. 테스트가 완료될 때까지 기다리면 다음과 같은 상태 코드를 얻습니다: 200.
- API 호출에 의해 반환된 레코드 배열을 볼 수 있습니다. 다음 단계에서는 JavaScript를 사용하여 값을 파싱합니다.
- 샘플 응답으로 저장을 클릭합니다.
- 페이지의 왼쪽 상단에서 저장을 클릭합니다.
- 요청 정의 페이지에서 다음 세부 정보를 입력합니다:
- 서비스 노드 속성 창에서 연결 탭을 클릭합니다.
- 서비스 속성 창을 닫습니다.
- 봇 조치 노드 옆의 – 를 클릭하여 봇 조치 노드를 축소합니다.
메시지 노드
메시지 노드에는 봇에서 사용자에게 보낸 메시지가 표시됩니다. 여기에서는 메시지 노드를 사용하여 잔액을 표시합니다.
- 왼쪽 창에서 메시지 노드를 봇 조치 노드 아래에 드래그 앤 드랍하거나 봇 조치 노드 아래에 있는 + 아이콘을 클릭합니다.
- 목록에서 메시지를 선택하고 + 새 메시지를 클릭합니다.
- 메시지를 노드를 클릭하여 해당 속성 창을 엽니다.
- 다음 세부 정보를 입력합니다:
- 이름: 잔액 메시지
- 표시 이름: 잔액 메시지
- 봇 응답: 사용자에게 보낼 표준 메시지를 정의합니다.
- 관리를 클릭합니다.
- 사용자 프롬프트 관리 페이지에서 사용자 프롬프트를 찾을 수 있습니다.
- 사용자 프롬프트를 열고 모든 채널에 대한 메시지를 파싱할 JavaScript를 정의합니다.
- 채널 섹션의 드롭다운 목록에서 모두를 선택합니다. 아래 이미지를 참조하세요.
- 메시지 섹션에서 고급 탭을 클릭합니다.
- 다음 JavaScript를 추가합니다.. JavaScript는 사용자가 입력한 대로 계좌 유형에 대해 필터링된 모든 레코드를 비교하여 잔액을 표시하도록 작성됩니다.
var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = context.GetAccountBalance.response.body[i].Balance; } } if (balance === undefined) { print ('유효하지 않은 계좌, 다시 시도하세요 '); } else { print ('계좌 잔액은 ' + balance); }
- 저장을 클릭합니다.
- 메시지 섹션에서 고급 탭을 클릭합니다.
- 관리를 클릭합니다.
- 대화 빌더로 돌아갑니다.
- 메시지 노드 속성 창에서 연결 탭을 클릭합니다.
- 속성 창을 닫습니다.
다음 단계
이제 뱅킹 봇에 잔액 가져오기 대화 작업을 추가했으므로 다음 단계는 잔액 업데이트 작업을 추가하는 것입니다. 편의를 위해 잔액 업데이트 단계가 서로 다른 문서로 나누어져 있습니다. 계속하려면 여기를 클릭하세요.
ボットの概要
これから構築しようとするボットは、基本的な銀行取引を実行します。このボットは以下のことを行います。
- ユーザーの口座番号と口座の種類に基づいて、口座残高を取得します。
- 口座残高を更新します。詳細情報については、こちらをクリックしてください。
- ユーザーアカウントから受取人アカウントへ、指定した金額を送金します。詳細情報については、こちらをクリックしてください。
ボット構築を開始し、残高取得タスクを追加しましょう。
ダイアログタスク
ボットの作成に成功すると、「ボットの概要」ページが表示されます。ボットにおける最初のステップとして、ダイアログタスクを追加する必要があります。インテントダイアログは、ユーザーとボットの会話フローの最初のステップです。
- 「ボットの概要」ページで、タスクウィジェットの+新規タスクをクリックします。
- リストからダイアログタスクを選択します。
- 「ダイアログを作成」ウィンドウで、以下の詳細を入力します。
- インテント名フィールドに名前を入力します。これは、ダイアログのトリガーとなるフレーズです。インテント名は単純で、10〜15文字以内である必要があります。例:残高取得。
- 説明フィールドに説明を入力します。
- インテントトレーニングフィールドに、ユーザーインテント認識を改善するためのユニークな発話を追加します。
- その他のオプションでは、その他のダイアログ関連の詳細を追加できます。デフォルト設定のままにしておきましょう。
- 会話駆動型ダイアログビルダーの試行 オプションを選択します。
- 続行をクリック。
メモ:旧ダイアログビルダーの操作方法については こちらをご参照ください。
エンティティノード
エンティティノードは、通常、ユーザーから情報を収集するために使用されます。ここでは、ユーザーが入力した口座番号と口座の種類をキャプチャするために使用します。
- ユーザーインテント(残高取得)ノードの下の+アイコンをクリックします。
- リストからエンティティを選択し、+エンティティをクリックします。
- 新しく作成したエンティティノードをクリックして、プロパティウィンドウを開きます。
- 一般設定セクションで、次の情報を入力します:
- 名前:AccountNumber
- 表示名:口座番号
- タイプ:番号
- ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存:
Enter the account number.
- AccountNumberエンティティプロパティウィンドウを終了します。
- 以下の詳細から、上記の手順を繰り返して、別のエンティティを追加します。
- 名前:AccountType:
- 表示名:口座の種類
- ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存:
Enter the account type.
- 値のリストを表示:「はい、デフォルトメッセージにチャネル固有の標準フォーマティングを使用し、利用可能な値のリストをエンド-ユーザーに表示する」とマークします。これで、サポートされているチャネルのボタンテンプレートに「値のリスト」が表示されます。
- タイプ:ドロップダウンリストから項目のリスト(列挙型)を選択します。
- ユーザーが選択できる「値のリスト」を提供する必要があります。
- AccountTypeエンティティプロパティウィンドウを終了します。
ボットアクション – サービスノード
サービスノードは、バックエンドのAPIコールを行うことができ、ボットアクションの下にあります。ここでは、APIを呼び出して、ユーザーが入力した口座番号の口座残高を更新するために、サービスノードを使用します。このチュートリアルでは、ダミーのAPIセットアップを紹介します。この目的のために、FirstName、LastName、住所、都市、国、郵便番号、AccountNumber、AccountType、残高の各フィールドを持つモックAPIを作成しました。
- 左側ペインから、ボットアクションノードを口座の種類エンティティノードの下にドラッグアンドドロップします。
- 新しく作成された ボットアクションノードが展開されます。ない場合は、+アイコンをクリックして展開
- 左側ペインからサービス ノードを ボットアクションノードレイアウトにドラッグアンドドロップするか、 ボットアクションノードレイアウト上で+ アイコンをクリックし、リストから サービス を選択して、新規サービスをクリックします。
- ボットアクションのノードレイアウトに サービス ノードが追加されます。
- サービス」ノードをクリックして、プロパティウィンドウを開きます。
- 一般設定セクションで、次の情報を入力します:
- 名前:GetAccountBalance
- 表示名:口座残高を取得
- 説明: サービスノードを説明するための説明を入力します。
- リクエストを定義をクリック。
- リクエストを定義ページで、以下の詳細を入力:
- リクエストのタイプ – 取得
- リクエストURL –
https://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails?filter={{context.entities.AccountNumber}}
ダミーAPIサービスの制限により、指定された口座番号の記録を取得するのではなく、必要な口座番号をフィルタリングして応答しています。 - このAPIは、認証、ヘッダーパラメータを必要としません。
- リクエストをテストタブをクリックします。
- サンプルコンテキスト値セッションにおいて口座番号を入力します。これはAPIが必要とするフィルターパラメータで、次のような口座番号 02929664を使用することができます。
- ページの右上にあるテストをクリックします。テストが完了するのを待つと、 ステータスコードが手に入ります。200。
- APIコールによって返された記録の配列を見ることができます。次のステップでは、JavaScriptを使用して値を説明します。
- サンプル応答として保存をクリックします。
- ページの右上にある 保存をクリックします。
- リクエストを定義ページで、以下の詳細を入力:
- サービスノードのプロパティウィンドウで、接続タブをクリックします。
- 「サービスプロパティ」ウィンドウを閉じます。
- クリック– ボットアクションノードを折りたたむためのボットアクションノードの横。
メッセージ ノード
メッセージノードは、ボットからユーザーへのメッセージを表示するために使用します。ここでは、メッセージノードを使用して残高を表示しています。
- 左ペインで、 メッセージ ノードを ボットアクション ノードの下にドラッグアンドドロップするか、ボットアクションノードの下にある + アイコンをクリックします。
- リストから メッセージを選択し、+新規メッセージをクリックします。
- メッセージノードをクリックして、プロパティウィンドウを開きます。
- 以下の詳細を入力します。
- 名前:BalanceMessage
- 表示名:残高メッセージ
- ボットレスポンス:ユーザーに送信する標準メッセージを定義します。
- 管理をクリックします。
- ユーザープロンプトを管理ページでは、ユーザープロンプトを確認できます。
- ユーザープロンプトを開き、全チャネルのメッセージを解析するJavaScriptを定義します。
- チャネルセクションで、ドロップダウンリストから すべて を選択します。以下の画像を参照してください。
- メッセージセクションで、詳細 タブをクリックします。
- 以下のJavaScriptを追加します。このJavaScriptは、ユーザーが入力した AccountType でフィルタリングされたすべての記録を比較し、残高を表示するように書かれています。
var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = context.GetAccountBalance.response.body[i].Balance; } } if (balance === undefined) { print ('Invalid Account, try again '); } else { print ('The Balance in your account is ' + balance); }
- 保存をクリック
- メッセージセクションで、詳細 タブをクリックします。
- 管理をクリックします。
- ダイアログビルダーに戻ります。
- メッセージノードのプロパティウィンドウで、接続タブをクリックします。
- プロパティウィンドウを終了。
次のステップ
バンキングボットに残高取得ダイアログタスクを追加したので、次のステップは残高更新タスクを追加することです。便宜上、残高更新の手順は別の文書に分けています。こちらをクリックして続ける。