フォーム

Prev Next

Classic/VPC環境で利用できます。

フォームは、チャットボット回答時により効果的に会話を交わせるように、あらかじめ指定した選択肢の中から回答を求める会話コンポーネントを提供する機能です。ユーザーに選択肢の中から一つを選択させる会話を構成するには、マルチリンクまたはフォームを使用します。マルチリンクは、そのボタンをクリックした際に URLリンクへの移動のみ行えます。フォームはユーザーの質問に応じて選択肢型または記入型の質問を提供し、その回答に対するフィードバックで会話を続けさせます。フォームを用いると、ユーザーの選択に応じて特定の選択肢に移動したり、特定の結果を照会するなど様々な方法で活用できます。

フォームを作成し、フォームを回答に適用する方法は、次の通りです。

  • 回答の登録時、回答タイプが選択肢型回答の状態で読み込むフォーム名を入力します。
  • 回答の登録時に回答タイプが基本回答の状態である場合、入力欄に#または#2を入力します。# または#2を入力するとフォームリストが表示され、目的のフォームを選択します。または#{FormName}、#2{FormName}の形式でフォーム名を入力します。

フォームのタイプ

フォームタイプは2つあります。

  • 選択肢型フォーム: 複数の選択肢の中から1つを選択するタイプです。
  • 記入型フォーム: チャットボットの質問にユーザーが直接テキストを入力して回答を提供するタイプです。

選択肢型フォーム
選択肢型フォームは、複数の選択肢の中で1つを選択するタイプです。例えば、顧客にはい/いいえに対する回答を選択肢型フォームで作成して様々な方法で活用でき、メニューを選択する選択肢型フォームを構成できます。
選択肢型フォームには V1、V2の2つのタイプがあります。

  • V2を選択した場合、選択肢型ボタンのクリックターンが終了した後でも、スクロールして当該ターンのボタンを押すと、関連する会話に常にレスポンスします。特別なケースでない限り、V2の使用をお勧めします。
  • V1の場合、従来提供していた選択肢型フォームと同様であり、選択肢型ボタンのクリックターンが終了した後にスクロールを上げて当該ボタンをクリックすると、そのボタンの名前を再検索して回答を取得します。したがって、当該ターンが過ぎた後は、常に同じ回答を返すとは限りません。
    chatbot-chatbot-3-5_form01_ko(1)

記入型フォーム
記入型フォームは、チャットボットの質問にユーザーが直接テキストを入力して回答を提供するタイプです。記入型フォームでは、ユーザーが先に特定のテーマに対して質問すると、プリセットしておいた記入型フォームの案内文を返します。ユーザーがそれに対する回答を入力すると、チャットボットが記入型フォームの回答を返します。
記入型フォームの回答の入力時にアクションメソッドを追加できます。アクションメソッドのヘッダに、X-KAA-USERMSGを keyにして utf-8でエンコードされたメッセージが渡されます。
chatbot-chatbot-3-5_form02_ko

記入型フォームのレスポンスの流れは、次の通りです。

(特定のテーマに対する質問)ユーザー: 見積もりをお問い合わせ 
(フォームの案内文)チャットボット: 案内メールを受け取るメールアドレスを入力してください。入力された情報は担当者に伝達されます。
(ユーザーの回答)ユーザー:abc@navercorp.com 
(フォームの回答)担当者にメールアドレスを伝達しました。ありがとうございました。 

フォーム作成

選択肢型フォーム作成

選択肢型フォームを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、i_menu > Services > AI Services > CLOVA Chatbot > Domainメニューを順にクリックします。
  2. 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
  3. チャットボットビルダでフォームメニューをクリックします。
    • フォームリストが表示されます。
  4. # 入力領域に追加するフォームの名前を入力し、 [+] ボタンをクリックします。
    chatbot-chatbot-3-5_form03_ko
  5. 画面右側にフォームの追加画面が表示されたら、フォームに関する情報を入力します。
項目 説明
タイプ フォームタイプを選択
選択肢型タイプ 選択肢型タイプを選択
  • V2: V2を選択した場合、選択肢型ボタン選択の turnが終了した後にクリックしても、常に同じ button actionを実行します。レスポンスすべき button actionがない場合、失敗メッセージが表示されます。
  • V1: V1を選択した場合、既存の選択肢型機能として、button選択の turnが終了した後にクリックすると、関連付けられた button actionは実行されません。レスポンスすべきメッセージがない場合、期限切れボタンとして表示されます。
  • 例) ボタンを繰り返しクリックしないように制限する必要がある場合に活用できます。LINE Pay/NAVER Payなどの決済システムに活用でき、Entity分析による Button click動作が必要な場合に活用できます。
フォーム名 フォームの名前。変更ボタンをクリックして変更可能
ボタンタイプ フォームタイプを選択肢型で選択した場合にのみ有効になるメニュー
  • 選択肢型ボタン: ボタンが縦に並べられる。メッセンジャーごとにサポートするボタンの数が異なる
    • LINE、Facebook: 最大4個
    • NAVER TalkTalk、NAVERWORKS: 最大10個
    • Custom: 最大20個
  • Quick reply: ボタンが横に並べられる。ボタンは最大10個まで追加可能
回答 選択肢型ボタンを説明する回答を入力
ボタン
  • 選択肢型ボタンに表示する文言を入力。特定の文言の代わりにエンティティを関連付け可能
  • ユーザーがボタンをクリックしたとき、またはエンティティの代表語を入力したときに実行する操作を選択
サービス連携 連携するサービスを選択
  1. [保存] ボタンをクリックします。
参考

フォームで LINE Switcher APIまたは LINE Paymentアクションメソッドを使用する場合、統合指標に集計されません。統合指標に含めたい場合は、サービス連携の設定を行ってください。

記入型フォーム作成

記入型フォームを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、i_menu > Services > AI Services > CLOVA Chatbot > Domainメニューを順にクリックします。
  2. 希望するドメインの [ビルダを実行する] ボタンをクリックしてチャットボットビルダを実行します。
  3. チャットボットビルダでフォームメニューをクリックします。
    • フォームリストが表示されます。
  4. # 入力領域に追加するフォームの名前を入力し、 [Enter] キーを押します。
  5. 画面右側にフォームの追加画面が表示されたら、フォームに関する情報を入力します。
項目 説明
タイプ フォームタイプを選択
フォーム名 フォームの名前。[変更] ボタンをクリックして変更可能
回答 選択肢型ボタンを説明する回答
ユーザーに返す回答 ユーザーのレスポンスに応じた回答を直接入力。一般的なメッセージを入力しても構いませんが、より豊かな会話のためにはアクションメソッドや他のフォームと連携させることも可能
  • アクションメソッドを関連付けるには、$を入力した後、関連付けるアクションメソッドを関連付け
  • 他のフォームと関連付けるには、#を入力し、関連付けるフォーム名を選択
サービス連携 連携するサービスを選択
  1. [保存] ボタンをクリックします。

フォームの使用例

フォームの使用方法には、大別して3つの方法があります。

  • フォームを連続的に関連付ける
  • フォームとフォームのレスポンス情報をアクションメソッドで関連付けて会話を作成する
  • 記入型フォームでユーザーに入力してもらい、その情報をアクションメソッドで渡す

フォームを連続的に関連付ける
フォームを連続的に関連付ける方法は、ホームページでカテゴリのサブメニューを追っていく方式と同じです。この機能は、自然言語の処理とは関係なしにシナリオに沿って流れが関連付けられる単純な方式です。
例えば、3つのフォームを作成して連続的に関連付けると、各ステップごとにユーザーの選択を誘導できます。しかし、このような形でフォームを過剰に作成すると、そのシナリオをつかみづらくなるおそれがあります。そのため、チャットボットビルダでは、フォームの流れをつかみやすいように、シナリオタブでフォームの流れを追っていく機能を提供します。具体的な例は、フォーム+フォームの関連付けをご参照ください。

フォームとフォームのレスポンス情報をアクションメソッドで関連付けて会話を作成する
ユーザーの選択に応じてアクションメソッドを実行する会話を構成できます。
例えば、「今日の天気を教えて」という質問に#{都市選択}というフォームを提供するように設計し、ソウルを選択すると${weather}というアクションメソッドを実行して回答を返すシナリオを構成できます。このシナリオを実装する例は、フォーム+アクションメソッドの組み合わせ例をご参照ください。

記入型フォームでユーザーに入力してもらい、その情報をアクションメソッドで渡す
記入型でユーザーに入力してもらい、その情報で次のターンにつなげるシナリオを構成できます。
例えば、「お客様のご意見をお聞かせください」というチャットボットの質問に#{お客様のご意見}という記入型フォームを提供するように設計し、顧客が意見を残すと${customerVoc}というアクションメソッドを実行してユーザーからのすべての入力を Backend Serviceに渡し、サーバのレスポンスに応じてお客様に案内するというシナリオを構成できます。このシナリオを実装する例は、フォーム+アクションメソッドの関連付け: 記入型フォームをご参照ください。

フォーム+フォームをつなげる

決められたシナリオでユーザーの選択を導いていく場合には、フォームを連続してつなげたり、フォームから会話につなげることができます。このシナリオではユーザーにサービスのお勧めを求められた場合、お勧めサービス項目を選択肢型フォームで構成し、ユーザーが選択肢型フォームをクリックするとそのサービスページに直接移動する構成です。
フォームとフォームを関連付ける方法は、次の通りです。

  1. 事前タスクを完了します。
    • ゲームサービスフォームの作成
    • モバイルとウェブサービスフォームの作成
  2. チャットボットビルダでフォームメニューをクリックします。
  3. フォームの名前を入力し、 [Enter] キーを押します。
    • フォーム名: お勧めサービス
  4. フォームの作成画面が表示されたら、情報を入力します。
    • タイプ: 選択肢型
    • ボタンタイプ: 選択肢型ボタン
    • 回答: 「ご希望のサービスタイプを選択してください」と入力
    • ボタン: 任意のボタン名を入力し、テキスト回答を選択
  5. テキスト回答領域に関連付けるフォームを#{フォーム名}形式で入力します。
    • # {お勧めサービス}フォームの場合、#{ゲームサービス}フォームや#{モバイルとウェブサービス}フォームを入力して呼び出し可能
  6. [保存] ボタンをクリックします。

例)
chatbot-chatbot-3-5_ex01_ko(1)

フォーム+会話の関連付け

フォームに会話を関連付けることができます。例えば、#{モバイルとウェブサービス}フォームで「モバイルサービス」の会話や「ウェブサービス」の会話を呼び出すことができます。
フォームと会話を関連付ける方法は、次の通りです。

  1. 事前タスクを完了します。
    • モバイルサービス会話の作成
    • ウェブサービス会話の作成
  2. チャットボットビルダでフォームメニューをクリックします。
  3. フォームの名前を入力し、 [Enter] キーを押します。
    • フォーム名: お勧めサービス
  4. フォームの作成画面が表示されたら、情報を入力します。
    • タイプ: 選択肢型
    • ボタンタイプ: 選択肢型ボタン
    • 回答: 「ご希望のサービスタイプを選択してください」と入力
    • ボタン: 任意のボタン名を入力し、会話に関連付けを選択
  5. 関連付ける会話を選択します。
    • 登録されていない会話名を入力すると、その会話名で新しい会話が作成されます。
  6. [保存] ボタンをクリックします。

例)
chatbot-chatbot-3-5_ex02_ko(1)

フォーム+アクションメソッドの関連付け: 選択肢型フォーム

ユーザーが「今日の天気を教えて」と質問すると、#{都市選択}というフォームを提供し、ユーザーが都市を選択すると${weather}というアクションメソッドを実行して回答を返すシナリオです。

chatbot-chatbot-3-5_ex03_ko

上記のシナリオに従ってフォームを作成する方法は、次の通りです。

  1. チャットボットビルダのエンティティ > [エンティティ作成] ボタンをクリックし、都市エンティティを作成します。
    • エンティティ名: 都市を入力
    • 代表語: 「ソウル」と「ニューヨーク」を入力
    • エンティティを作成する方法は、エンティティをご参照ください。
  2. チャットボットビルダのアクションメソッド > [アクションメソッド作成] ボタンをクリックし、アクションメソッドを作成します。
    • 名前: ${weather}
    • URL: GET方式で city=都市名を渡すと現在の気温を返すように開発されているとします。呼び出し URLで渡す引数値に city=$[都市]を入力してアクションメソッドを作成します。
    • アクションメソッドの作成方法は、アクションメソッドをご参照ください。
参考

アクションメソッドをテストするために、シンプルな Serverless関数を作成しました。画面右側の [echo呼び出し] ボタンをクリックして簡単なテストを行うことができます。
例) https://chatbot.ncloud.com/api/v1/actionmethod/echo?city=$[都市]

  1. チャットボットビルダのフォームメニューでフォームを作成します。

    • フォーム名: #{都市選択}
    • フォームタイプ: 選択肢型
    • 回答: 「現在お住まいの都市を選択してください。」入力
    • ボタン: 各ボタンに都市名を入力し、テキスト回答にアクションメソッド${weather}を入力
    • ソウルを選択するか、テキストでソウルと入力すると、${weather}アクションメソッドが呼び出されます。
  2. チャットボットビルダの会話リスト > [会話作成] ボタンをクリックして会話を作成します。

    • 質問の登録領域に「今日の天気を教えて」と入力
    • 回答登録領域に#{都市選択}と入力
  3. 会話モデルビルドボタンをクリックしてビルドし、テストを完了します。

例)
chatbot-chatbot-3-5_ex04_ko(1)

フォーム+アクションメソッドの関連付け: 記入型フォーム

記入型フォームは、ユーザーが直接入力したテキストを回答として受け取って次のシナリオにつなげたり、アクションメソッドでユーザーの発話を伝達する機能です。
顧客がフィードバックで不満足を選択した場合、顧客から改善意見を受け取るシナリオの例で説明します。ユーザーの意見を受け取るアクションメソッドを先に作成し、そのアクションメソッドを活用してフォームを作成します。共通メッセージのフィードバックメニューでユーザーがフィードバックのレスポンス時に Noを選択した場合にそのフォームを実行するように設計します。
上記のシナリオに従って記入型フォームを作成する方法は、次の通りです。

  1. チャットボットビルダのアクションメソッド > [アクションメソッド作成] ボタンをクリックし、{ユーザーからの改善意見の伝達}のアクションメソッドを作成します。
    • そのアクションメソッドは、記入型フォームにレスポンスしたユーザーのメッセージを utf-8でエンコードし、アクションメソッドのヘッダに X-KAA-USERMSGを含めて渡します。
  2. チャットボットビルダのフォームメニューをクリックしてフォームを作成します。
    • フォーム名: #{ユーザーからの改善意見の伝達}
    • タイプ: 記入型
    • 回答: 「お客様、申し訳ございません。ご意見をお寄せいただければ、より一層発展するチャットボットになります。」
  3. ユーザーへの応答時の回答にアクションメソッドと一緒に顧客に伝達するメッセージを入力します。
    • '${ユーザーからの改善意見の伝達}お客様のご貴重なご意見、誠にありがとうございます。'
  4. チャットボットビルダの共通メッセージ > [フィードバック] タブでフィードバックを作成します。
    • フィードバック文言: 問題は解決しましたか?
    • Y/Nフィードバッククリック時のレスポンス: レスポンスメッセージありを選択
    • レスポンスメッセージあり > Noのボタンアクションをテキスト回答で選択し、#{ユーザーからの改善意見}の記入型フォームを入力
注意

フィードバック機能は連携されたメッセンジャーによってはサポートされない場合があります。フィードバック機能をサポートするチャネルなのか確認する必要があります。フィードバック機能がサポートされていないメッセンジャーは、NAVER TalkTalk、NAVER WORKS、Facebook、CLOVAです。