本文書は機械翻訳された文書で、語彙、構文、文法に誤りが生じます。 専門家の翻訳が完了したら修正される予定です。

気になる点は、お問い合わせでお問い合わせください。

便利なサービスの提供に最善を尽くします。

目次

タスクの使用ガイド

タスク重要な概念

チェトボトを設計する際の高度な機能では、タスク機能を活用して設計することができます。

タスクを使用すると、ユーザーの質問を理解し、最適な答えを提供するだけではなく、ユーザーのポイント照会や宅配便返品ようユーザーとのインタラクティブな対話を通じて情報を収集し、収集された情報に基づいて、さらに洗練された会話をすることができます。以下は、タスクを設計するに先んじて知っておくと良い概念です。

1.スロットとエンティティ概念

しかし、タスクは良い機能にもかかわらず、非常に洗練されたエンティティの設計が必要であり、実行制約などが存在します。 まず、タスクには、ユーザーが入力する必要空欄を意味する「スロット」という概念があります。 二十頭をする状況のようチェトボトが尋ねるスロット(空白)をすべてのユーザーが満たさなければならタスクを実行するための準備が完了しているのです。

スロットは、エンティティとマッピングされています。スロットという空欄にどんな内容を入れるのか、エンティティを介して定めておくものと見ることができますよ。 もし「数量」というスロットに "1版、2版、3版"のような事前の型のデータが登録された@ピザ数量単位のエンティティがマッピングされている場合は、ユーザーの発話の中で@ピザ数量単位エンティティを分析して、 "数量「スロットという空欄に満たすされます。したがって、タスクの3つのスロットを設定した場合には、3つのスロットに入れられるエンティティも3つ定義する必要があります。

2.タスク動作

スロットをすべて満たしてタスクを実行するために不可欠なスロット(空白)がすべて満たさなければならないタスクを実行することができるので、チェトボトはスロットがすべて満たされるまで繰り返して、ユーザーに質問をします。スロットがすべて満たされた場合、チェトボトは最終的な答えを応答し、タスクを実行できるようになります。

もし設定された回数を超えるまで、ユーザーがスロットを埋めてくれなければチェトボトは、タスクを実行することができないでしょう。この場合、チェトボトは最終的な答えを応答していないされて頼む超えるメッセージを応答し、タスクの実行に失敗します。逆に、ユーザーがもうタスクを実行したくない意思を明らか場合もあると思い。タスクの終了キーワードとメッセージを設定していたならば、ユーザーがタスクの終了キーワードを発火させた場合は、スロットを満たす作業を中断することになります。

3.タスクと一般会話の間の流れ

ユーザーは、タスクのスロットを満たす過程でいくつかの疑問が発生する可能性があります。例えばピザを注文する状況で配達料はどのように策定されるか、ピザの種類は何があるのか​​、大量注文も可能など、タスクの実行中にも様々なお問い合わせがチェトボトに入ることができます。ユーザーがスロットを満たすこととは無関係発火をする場合は、しばらくのタスクから離脱して別のダイアログに割り込ま問い合わせを解決してくれた後、再びタスクに戻るように設計さすれば、よりスマートなタスク設計が可能となります。

4.前のスロットを維持

もう少し高難易度の機能で、チェトボトこの前の会話を覚えているコンテキスト機能を活用したタスク設計も可能です。 ユーザーが「「今日ソウルの天気」「を聞いた後、「明日?」と尋ねられた場合は、再度ユーザーに地域の情報を教えてもらっでしょうか?それともだけのユーザーが「ソウル」という地域情報を教えてたので、この内容をチェトボトは記憶したままで答えを与えることができますか? コンテキストに接続された前のタスクで「地域」のスロットの情報を保持してインポートすることができている場合、ユーザーに追加質問せずに、一度の会話を減らし、さらに洗練された会話が可能となります。

タスクの設計

チェトボトのサービスシナリオに基づいて一般的な会話やタスクを選択することができます。もしピザの注文や宅配便返品のように、ユーザーとのインタラクティブな対話を介して複数の情報を収集する必要がある場合、タスクを活用することをお勧めします。 以下は、タスク対話設計例です。

chatbot-03-080.png

1.会話の名前を入力してダイアログボックスを生成します。

chatbot-03-081.png

2.詳細設定会話種類]タブで、タスクを選択して、ダイアログの種類を変更できます。

chatbot-03-082.png

3.質問を登録します。 登録された質問やモデルが判断した同じような質問が認識されると、タスクが実行されます。もしユーザーの発話の中にすでにスロットを埋める情報が存在した場合、チェトボトは、スロットをまず満たしタスクを開始します。

chatbot-03-083.png

  1. スロットの情報を入力します。

チェトボトは順番にスロットを埋めていきます。しかし、チェトボトが満たすスロットの順番に関係なく、ユーザーは別の順序のスロットを応答したり、複数のスロットを応答して、一度に入力することもできます。このように満たされたスロットに対してチェトボトはもうユーザーに対応するスロットに問わず、次のスロットを埋めるように誘導されます。

  • スロットタイプ:チェックボックスをクリックして、必要なスロットと選択スロットの設定を切り替えることができます。必須スロットが満たされていないタスクは、実行に失敗しされ、最終的な回答を応答しません。一方、選択スロットは、ユーザーが情報をいっぱい与えなくてもタスクを失敗せずに実行することができます。
  • スロット名:スロットの名前を入力します。スロットの名前は、そのタスクの中で重複していない値に入力します。
  • エンティティ:スロットで受けるエンティティを選択します。ドメインエンティティとシステムエンティティの両方を活用できます。
  • 値:ユーザーが満たしたスロットの値を最終的な答えに挿入して回答することができます。満たされたスロットの値を使用するための式を入力してください。
  • 問い直す質問:スロットを埋めるために問い直す質問を入力してください。チェトボトは記載されてスロット番号順に問い直す質問を応答してスロットを埋めていきます。
  • その他の設定:スロットの詳細を設定することができます。

chatbot-03-084.png

  • 選択肢の設定:スロットを埋めるための選択肢をQuick reply形で公開することができます。最大10個の選択肢を公開することができます。
    • 代表語の選択:エンティティの代表語のリストを読み込んで選択肢として公開します。
    • テキスト入力:選択肢を直接テキストで入力して選択肢に公開します。
    • 既存の選択肢:他のタスクの選択肢を呼んで来て、選択肢として公開します。

chatbot-03-084a.png

  • スロット検証:ユーザーが応答したエンティティをスロットに埋める前に入力されたURLを使用して検証します。検証に成功した場合にのみ、スロットを埋めることができ、検証に失敗した場合には、スロットを満たしません。

  • スロット検証要求の種類です。

    {
     "userInput": "ユーザーが入力した発火です",
     "represent": "ユーザーが入力した値の代表語です",
     "filledEntity": {
       "これまで満たされたエンティティの名前1": "エンティティ1",
       "これまで満たされたエンティティの名前2": "エンティティ2"
     },
     "userKey": "ユーザー区分のためにハッシュされたキーの値です。アクションメソッドから呼び出されたときのヘッダに含まれたuserKeyと同じです"
    }
    
  • スロット検証応答形式です。

    • valid:検証成功(true)、失敗(false)かどうかです。検証に成功した値だけスロットに埋めることができます。
    • Recover:もしスロット検証に失敗した場合に問い直す回数を差し引いするかどうかを設定します。trueの場合、問い直す回数を差し引かれません。
    {
     "message": "ユーザーに応答するメッセージです。",
     "valid": true,
     "recover": false
    }
    

chatbot-03-085.png

  • 問い直す回数:問い直す質問を応答する回数を指定することができます。設定された回数チェトボトは、ユーザーにスロットを埋めるために質問を繰り返します。
  • 問い直す回数を超えメッセージ:問い直す回数が超過した場合は、代わりに応答するメッセージを入力します。必須スロットの場合問い直す回数が超過した場合、スロット充填失敗したため最終的な答えを応答しません。代わりに、入力された問い直す回数を超えメッセージを応答します。もし入力された問い直す回数を超えメッセージがない場合、現在のユーザー発火のマッチングされた回答または失敗のメッセージが応答されるようになります。

chatbot-03-086.png

  • 値の種類:ユーザーが満たしたスロットの値を最終的な答えや問い直す質問に呼んで使用する場合、どのように使用するかを選択することができます。
    • 代表語置換値:ユーザーが応答した値ではなく、代表語に置換した値を読み込んで使用します。代表語置換値は、事前型エンティティである場合にのみ使用可能です。
    • ユーザーの応答値:ユーザーが応答した値をそのまま読み込んで使用します。
    • 例えば、 @ピザエンティティに代表語「コンビネーションピザ」 - 類義語」のコンビネーション」、「コンビピザ」が登録されていたと仮定することができます。もし代表語置換値に設定した場合は、ユーザーが「コンビピザ」と応答してピザのスロットを満たした場合、チェトボトは最終的な答えで「コンビピザ」を注文しました。の代わりに 'コンビネーションピザ」を注文しました。と応答することができます。
    • デフォルト:デフォルトは必須スロットである場合にのみ、設定できます。ユーザーが必要なスロットを満たしていない場合に、タスクを失敗することなく、入力されたデフォルト値の代わりにスロットを埋めることができます。
    • 例えば、 @ピザ数エンティティにデフォルトで "1版」が登録されていると仮定することができます。もしユーザーがピザ数のスロットを満たしていない場合は、デフォルト値の「1版」にスロットが保存されます。

chatbot-03-087.png

  • 以前の会話のスロットを維持:スロットをすべて満たした後、コンテキストが維持された場合、チェトボトは満たされたスロット情報を削除せずに記憶して、他のタスクに利用することができます。
  • コンテキストにつながった会話に登録されたスロットのみを保持することができます。したがって維持したいスロットが登録された会話がコンテキストにつながることができるように設計する必要があります。

5.最終的な答えを登録します。

chatbot-03-088.png

  • 必須スロットがすべて満たされるチェトボトは最終的な答えを応答します。

  • この時、スロットの値の式を利用して、ユーザー発火を活用した回答を応答することができます。値を回答入力ウィンドウにそのまま入力すると、ユーザーが満たされたスロットをそのまま読み込んでチェトボトが応答します。

  • もし最終的な答えでアクションメソッドV1.0を呼び出した場合は、そのタスクで満たされたエンティティをX-KAA-USERENTITYヘッダに含めて一緒に渡します。

  • X-KAA-USERENTITYヘッダにエンティティのkeyの値を含むUTF-8でURLエンコードして配信することになるが、この時のエンコードされる前のエンティティのkeyの値は、次の形式に従います。

    "エンティティ名 = ユーザーが入力した単語"
    
  • もし最終的な答えでアクションメソッドV2.0を呼び出した場合は、そのタスクで出現したエンティティをuserInfo.taskEntitiesに入れて渡します。

    "userInfo": {
       "id": "ユーザーid",
       "key": "ユーザーKey",
       "query": "ユーザーが入力した質問",
       "entities": {
         "エンティティコード1": "ユーザーが入力した単語1",
         "エンティティコード2": "ユーザーが入力した単語2"
       },
       "taskEntities": {
         "エンチイ名1": "ユーザーが入力した単語1",
         "エンチイ名2": "ユーザーが入力した単語2"
       }
    

6.タスク終了メッセージを設定します。

タスクの進行中にユーザーがすぐに会話を中断したい状況が発生する可能性があります。しかし、ユーザーがスロットと関係のない話をしてもチェトボトはスロットを埋めるためにされて頼む質問を続けることになります。このような状況では、タスクの終了キーワードとメッセージを利用して、ユーザーは強制的にタスクを停止することができます。 chatbot-03-017g.png

  • タスクの終了メッセージ
    • ユーザーがタスクの進行途中のタスクの終了キーワードを入力した場合は、すぐにタスクを停止し、登録されたタスクの終了メッセージを応答します。
  • タスクの終了キーワード
    • タスクの終了キーワードは、タスクの進行中のみ動作します。
    • 最大10件のキーワードを登録することができ、exactで同じ質問が入力された場合にのみ動作します。

タスク設計例1:ピザの注文タスクの実行中FAQの回答を応答

1.エンティティ生成する

chatbot-03-069.png

 - ピザ、ピザのサイズ、ピザの数、飲料エンティティを作成します。

2.アクションメソッド作成

chatbot-03-072.png

- 満たされたスロット情報を込めて呼び出すアクションメソッドを作成します。

3.タスクを作成し

(1)ピザの注文の意図を持った質問を入力します。

chatbot-03-082.png

(2)前の手順で作成したピザ、ピザのサイズ、ピザの種類、飲料水エンティティを活用して、スロットを追加します。

chatbot-03-083.png

  • ピザ、ピザのサイズ、ピザ数エンティティは必須スロットに指定します。
  • 飲料エンティティは、選択スロットに指定します。
    • 問い直す質問と回数、問い直す選択肢など、複数のスロットの情報を意図したチェトボトサービスに合わせて入力します。

(3)[詳細設定]のタスクフローの設定でタスク離脱することを有効にします。

  • 今、ユーザーがタスクと関連のない言葉をようになれば、他の会話を見つけて答えを応答することができるようになります。

chatbot-03-089.png

(4)最終的な答えで、複数の選択肢の回答の種類を選択して、「はい」選択肢の回答部分に${ピザ決済}アクションメソッドを呼び出すように指定します。

chatbot-03-091.png

  1. FAQ会話作成

(1)配達料を問い合わせる意図の対話を作成して、質問と回答を入力します。

chatbot-03-090.png

(2)高度な設定のタスクフローの設定で、タスク割り込みと復帰することを有効にします。

  • 今のタスクを実行中にユーザーが配達料に関する問い合わせをすることになれば、そのダイアログにマッチングされて回答を応答した後、再びタスクに戻ることができるように設定しました。

chatbot-03-091.png

5.学習を完了した後、完成したピザの注文タスクをテストします。

chatbot-03-092.png

タスク設計例2:前のダイアログのスロットを維持して天気情報を応答

もしユーザーが「今日ソウル天気教えて」と質問してスロットをすべて満たしてチェトボトの回答を聞いたと仮定しましょう。また、ユーザーが「明日?」と尋ねた場合にチェトボトこの地域の情報を再せれば、スマートなチェトボトという印象を与えることは困難になります。したがって、以前のスロットで満たされた地域のスロットを再維持する必要がありますよ。以下は、コンテキストを活用して、以前の会話のスロットを維持するためのダイアログの例です。

1.エンティティ生成する

chatbot-03-093.png

  • 日付、都市エンティティを作成します。

2.アクションメソッド作成

chatbot-03-094.png

  • 満たされたスロットの情報を込めて呼び出すアクションメソッドを作成します。

3.タスクを作成し

(1)タスクを作成した後、Outputコンテキストに地域の天気を入力します。

chatbot-01-023.png

(2)天候を確認意図を持った質問を入力します。

chatbot-03-096.png

(3)前の手順で作成した日付、地域エンティティを活用して、スロットを追加します。

chatbot-03-097.png

- 日付、都市エンティティを必須スロットに指定します
- 問い直す質問と回数、問い直す選択肢など、複数のスロットの情報を意図したチェトボトサービスに合わせて入力します。

(4)最終的な答えで天気アクションメソッドを呼び出すように指定します。

chatbot-03-098.png

4.別のタスクを作成する

(1)新しいタスクを作成した後、Inputコンテキストに地域の天気を入力します。

chatbot-03-099.png

(2)「ソウルは?」、「ニューヨークは?」のように都市情報のみ入れた質問を入力します。

chatbot-03-100.png

(3)前の手順で作成した日付、都市エンティティを活用して、スロットを追加します。

chatbot-03-101.png

  • 日付、都市エンティティを必須スロットに指定します。
  • 問い直す質問と回数、問い直す選択肢など、複数のスロットの情報を意図したチェトボトサービスに合わせて入力します。

(4)日スロットは以前の会話のスロットを維持するように設定します。

chatbot-03-102.png

(5)最終的な答えで${天気}アクションメソッドを呼び出すように指定します。

chatbot-03-103.png

5.学習を完了した後、完成した天気タスクをテストします。

chatbot-03-104.png

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...