(チュートリアル2)対話モデルを作成する

目次

チュートリアルスキルの対話モデルにインテントおよびスロットを登録して、対話モデルをビルドします。

ここでは、チュートリアルスキルの対話モデルに、以下のデータを作成します。

  • 新規のカスタムスロット「coffeeSlotType」
  • ビルトインスロット「CLOVA.NUMBER」
  • 新規のカスタムインテント「OrderIntent」

この手順のとおりに操作すると、ユーザーがClovaデバイスでチュートリアルスキルを起動してから、「コーヒーを2杯お願いします」と発話したときに、ClovaからExtensionサーバーにOrderIntentが送信されます。

インテントおよびスロットについては、チュートリアル1の「対話モデルを作成する」を参照してください。

  1. Clova Developer Centerにログインし、[スキル設定]をクリックして、「チュートリアルスキル」の[編集]をクリックします。

    チュートリアルスキルの設定画面が表示されます。

  2. [対話モデル]をクリックし、[対話モデルを編集する]をクリックします。

    「対話モデル:ダッシュボード」画面が表示されます。

  3. [GreetingIntent]をクリックし、[ゴミ箱]をクリックして、[OK]をクリックします。

    ゴミ箱

  4. 「カスタムスロットタイプ」の[+]をクリックします。

  5. 「新しいスロットタイプのタイトル」に「coffeeSlotType」と入力し、[作成]をクリックします。

  6. 「スロットの新たな代表語を入力」に「コーヒー」と入力し、[+]をクリックします。

    同様の操作で、「カフェモカ」と「カフェラテ」も代表語として登録します。

  7. [保存]をクリックします。

    カスタムスロットタイプ「coffeeSlotType」が保存されます。

  8. 「ビルトインスロットタイプ」の[+]をクリックします。

  9. [CLOVA.NUMBER]のチェックボックスをオンにして、[保存]をクリックします。

  10. 「カスタムインテント」の[+]をクリックします。

    チュートリアルスキルの「対話モデル:インテントを追加」画面が表示されます。

  11. [新規のカスタムインテントを作成]に「OrderIntent」と入力し、[作成]をクリックします。

    対話モデルにカスタムインテント「OrderIntent」が追加されます。

    注:OrderIntentは、チュートリアルのコードに書かれているインテント名です。ほかの名前を入力するとチュートリアル2が正しく動作しません。大文字と小文字は区別されます。

  12. 「新しいサンプル発話を追加してみてください。」に「コーヒーを2杯ください」と入力し、[+]をクリックします。

  13. 「コーヒーを2杯ください」の「コーヒー」をドラッグして選択します。

  14. 「新しいスロットに名前を付ける」に「coffeeType」と入力し、[+]をクリックします。

    注:coffeeTypeは、チュートリアルのコードに書かれているスロット名です。ほかの名前を入力するとチュートリアル2が正しく動作しません。大文字と小文字は区別されます。

  15. 「coffeeType」の[スロットタイプ]をクリックし、[coffeeSlotType]をクリックします。

  16. 「コーヒーを2杯ください」の「2」をドラッグして選択します。

  17. 「新しいスロットに名前を付ける」に「count」と入力し、[+]をクリックします。

    注:countは、チュートリアルのコードに書かれているスロット名です。ほかの名前を入力するとチュートリアル2が正しく動作しません。大文字と小文字は区別されます。

  18. 「count」の[スロットタイプ]をクリックし、[CLOVA.NUMBER]をクリックします。

  19. [保存]をクリックします。

    OrderIntentのサンプル発話リストが保存されます。

  20. [ビルド]をクリックします。

    対話モデルのビルドが開始されます。ビルドが終了するまでに、数分かかります。

  21. ビルドが終了したら、チュートリアルスキルの設定画面の[テスト]をクリックします。

    テスト

  22. [テストしたい発話の内容を入力してください]に「コーヒーを2杯お願いします」と入力し、[送信]をクリックします。

    画面の左側に対話形式で、ユーザーの発話(コーヒーを2杯お願いします)とレスポンス(コーヒーを2つご用意します。)が表示されます。

    ユーザーが発話した「コーヒーを2杯お願いします」がClovaによって解析された結果(Extensionサーバーに送信されたインテントおよびスロット)と、Extensionサーバーによる応答が表示されます。

    項目 表示
    実行されるイベント IntentRequest
    解析されたインテント OrderIntent
    解析されたスロット スロット名:coffeeType、解析されたスロットデータ:コーヒー
    スロット名:count、解析されたスロットデータ:2
    JSONのサービスリクエスト ClovaからExtensionサーバーに送信されたJSON
    サービス応答 ExtensionサーバーからClovaに送信されたJSON

    この例では、カスタムインテント「OrderIntent」が作成され、スロット「coffeeType」にあたる発話は「コーヒー」で、スロット「count」にあたる発話は「2」と解析されています。また、Extensionサーバー(Herokuにデプロイしたコード)によって、「OrderIntent」に対してスロットの情報も用いて「コーヒーを2つご用意します。」とClovaデバイスが応答することも示しています。

  23. [テストしたい発話の内容を入力してください]に「カフェモカを1つください」と入力し、[送信]をクリックします。

    同様のテスト結果が表示されます。これは、似たような表現の発話でも、Clovaによって正しく解析されることを表しています。

  24. (チュートリアル2)コーヒーを2杯お願いします」の説明のとおりに、Clovaデバイスと対話できることを確認します。

{{ $t("form.question.helpful") }}

{{ $t("form.question.detail") }}

{{ $t("form.question.improve") }}

{{ $t("form.info.start") }}{{ $t("form.info.link") }}{{ $t("form.info.end") }}


{{ $t("form.result.success") }}
{{ $t("form.result.error") }}
{{ $t("form.result.errorLink") }}