対話コンポーネント
対話コンポーネントは、自然言語ベースのチャットボットエンジンの特性をよくご理解したうえで、必要な場面でお使いになったほうが効果的です。
対話の作成方法に慣れてきたなら、高度な機能である対話コンポーネントを活用してみてください。 対話コンポーネント機能は、チャットボットの応答でよりユーザーに配慮した応答ができるようにサポートする機能です。
NAVERクラウドプラットフォームのチャットボットは、3つの対話コンポーネントを提供します。
- エンティティ:人名、機関名、場所、日付、製品名など、ドメインに特化した単語の登録された辞書を意味します。
- アクションメソッド:外部のURLを呼び出し、その応答結果値を応答に含めて提供する機能です。
- フォーム:選択式選択肢を提供したり、記述式応答を誘導し、それによるフィードバックでシナリオを続けていく機能です。
エンティティ
エンティティとは、人名、機関名、場所、日付、製品名など、ドメインに特化した単語の登録された辞書を意味します。
エンティティには、ビルトインで登録され、全てのドメインで共通して使用可能なシステムエンティティと、作業者が直接登録して特定のドメインのみで使用可能なドメインエンティティとに分けることができます。エンティティを作成、修正、削除した後にモデルに反映するためには、ビルド又は変更された設定の適用を完了する必要があります。
① ドメインエンティティ
エンティティ作成ボタンをクリックし、エンティティを作成することができます。
- エンティティ名:エンティティ名を入力します。
- エンティティコード:当該エンティティに与えられたコードが表示されます。
- 代表語:エンティティに登録する代表語を入力します。
- 類似語:様々な表現の類似語を作成します。複数の類似語を入力する場合、コンマ(、)で区分します。
ドメインエンティティ内で重複する単語を代表語又は類似語に登録することができませんので、注意が必要です。
② システムエンティティ
- 当該ドメインで使うシステムエンティティを活性化させることができます。
- もし、タスク又は正規式質問でそのシステムエンティティを参照している場合、非活性化することができません。
③ エンティティタグ付け
登録されたエンティティは、対話の一般質問にタグ付けすることができます。エンティティを登録した後、モデルビルドが完了したなら、一般質問の記述時に、自動的に該当するエンティティがタグ付けされます。もし、手動でエンティティをタグ付けするためには、次のような方法で行われます。
- まずは、’ポテトピザ’をマウスを移動させて選択します。
- エンティティの選択ウィンドウが現れたら、タグ付けしようとするエンティティを選択します。
- 新しい代表語に追加したり、既に登録された代表語の類義語に追加することができます。
- 例えば、エンティティがない場合、エンティティの作成をクリックして新規作成します。
エンティティがタグ付けされた場合には、対話の質問にエンティティが青色で表示されます。このように、エンティティがタグ付けされた質問は、モデル学習に反映されてユーザーの発話を認識するのに役に立ちます。
アクションメソッド
アクションメソッドは、${ActionMethodName}
形式で定義され、GETとJSON(POST)、そしてLINE PAY、合わせて3種の方式を提供します。
① GET方式
GET方式は、先にアクションメソッド名を定義し、外部URLを定義します。GET方式のアクションメソッドは、URL呼び出しの結果値が応答の内容に入ります。
例えば、応答を’現在の亭子洞の気温は、${weather}°です。’と定義した場合、${weather}の値は、定義したURLを呼び出してレスポンスとして戻ってくる情報です。この値が’24’ならチャットボットは、’現在の亭子洞の気温は、24°です’と返します。
② JSON(POST)方式
JSON(POST)方式は、GET方式と同様だが、URL呼び出しにデータを含めて送ることができます。データを送る形式は、JSONです。
③ LINE PAY/ NAVER PAY
LINE PAYとNAVER PAYのアクションメソッドを使って、簡単にLINE PAY、NAVER PAYでお支払いするシナリオを構築することができます。
LINE PAY連携ガイドとNAVER PAY連携ガイドとをご参照のうえ、LINE PAY、NAVER PAYサービスを連携した後でご利用ください。
価格入力型
入力された価格でLINE PAY/NAVER PAYでの支払いを行います。価格に変動のない製品をお支払いする際に、活用することをお勧めいたします。
名前:価格入力型の場合、アクションメソッド名を直接入力しません。価格情報と商品名とを入力すると、アクションメソッド名が自動完成します。
価格情報:お支払いする価格を入力します。LINE PAYの基準通貨は円(¥)、NAVER PAYの基準通貨はウォン(₩)です。
製品名:お支払いする製品名を入力します。
API 連携型
- 入力された外部URLを呼び出して確認された価格でLINE PAY/NAVER PAYによるお支払いを行います。価格が固定されていないか、ユーザーの選択したスロット情報によって価格に変動が生じる場合に活用することをお勧めします。
- 名前:アクションメソッド名を入力します。
- URL:価格情報を確認できる外部URLを入力します。
例えば、ユーザーがコンビネーションピザのSサイズを2枚注文した場合、以下のスロット情報を外部のURLに送信します。レスポンスとして戻ってくる値が’49900’なら、チャットボットは49,900ウォンをLINE PAY/NAVER PAYを使って決済を行います。
@ピザ:コンビネーションピザ
@ピザのサイズ:Sサイズ
@ピザの枚数:2枚
フォーム
フォームは、ユーザーの質問によって、選択式及び記述式の質問を提供し、その応答によるフィードバックで対話を続けていけるようにする機能です。
フォーム名を定義すると、応答で #{FormName}
形式でコンポーネントを使用することができます。
フォームは、次の2種のタイプを提供します。
- 選択式:選択式ボタンの中から1つのボタンを選択するようにします。
例えば、お客様に確認していただくYes/Noを選択式フォームとして作ったなら、このコンポーネントを様々なケースで使うことができます。フォームを適用するためには、1)選択式応答タイプを選択してフォームを呼び出すか、2)応答の入力ウィンドウで#を入力し、フォームリストが表示されると、状況に合わせて選択して適用します。
- 記述式:チャットボットの質問に対し、ユーザーのテキスト応答を受けて応答を提供するようにします。
記述式フォームでは、先にユーザーが質問をすると、まず記述式フォームのご案内フレーズを返します。そして、ユーザの入力があれば、記述式フォームの応答をチャットボットから送ります。応答の流れは、次の通りです。
ユーザー:見積のお問い合わせ
チャットボットの応答:ご案内メールを受信するメールアドレスを入力してください。入力した情報は担当者に送信されます。
==> (FORMのご案内フレーズ)
ユーザー:abc@navercorp.com
チャットボットの応答:担当者にメールアドレスを転送しました。ありがとうございます。
==> (FORMの応答)
記述式フォームの応答が返される場合、そのメッセージにアクションメソッドが存在する場合、そのアクションメソッドのヘッダーにX-KAA-USERMSGをkeyとしてutf-8にエンコードされたメッセージが転送されます。