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

目次

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

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

  • 新規のカスタムインテント「GreetingIntent」

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

注:チュートリアル1の対話モデルでは、スロットを登録しません。

インテントとは

インテントは、Clovaにインテントオブジェクトを作成させるための設定項目です。インテントオブジェクトは、ユーザーの発話をもとにしてClovaによって作成され、CEKを通してExtensionサーバーに送信されます。たとえば、ユーザーが「コーヒーが欲しい」という意図を伝える場合、「コーヒーをください」や「コーヒー淹れてくれる?」と発話することが考えられます。インテントを正しく登録すると、どちらの言いかたでも、同一のインテントオブジェクト(例:OrderIntent)がExtensionサーバーに送信されます。
Clova Developer Centerの「用語および略語」の「インテント」も参照してください。

スロットとは

スロットは、1つのインテントを活用するためのプレースホルダ(仮に確保する場所)です。ユーザーの発話が、Clovaによってインテントオブジェクトに変換される際、スロット部分が抽出されて、Extensionサーバーに送信されます。たとえば「コーヒーを2つください」という発話が想定される場合は、「コーヒー」と「2つ」の部分をスロットとして設定します。このように設定すると、Extensionサーバーでスロット部分の情報を簡単に取得できます。
Clova Developer Centerの「用語および略語」の「スロット」も参照してください。

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

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

  2. [対話モデル]をクリックし、「カスタムインテント」の[+追加]をクリックします。

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

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

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

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

  4. 「新しいサンプル発話を追加してみてください。」に「こんにちは」と入力し、[+]をクリックします。

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

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

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

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

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

    テスト

  8. [テストしたい発話の内容を入力してください]に「こんにちは」と入力し、[送信]をクリックします。

    画面の左側に対話形式で、ユーザーの発話(こんにちは)とレスポンス(はい、こんにちは)が表示されます。

    また、ユーザーが発話した「こんにちは」がClovaによって解析された結果と、Extensionサーバーによる応答も表示されます。

    項目 表示
    実行されるイベント IntentRequest
    解析されたインテント GreetingIntent
    JSONのサービスリクエスト ClovaからExtensionサーバーに送信されたJSON
    サービス応答 ExtensionサーバーからClovaに送信されたJSON

    この例では、カスタムインテント「GreetingIntent」が作成されています。また、Extensionサーバー(Herokuにデプロイしたコード)によって、「GreetingIntent」に対して「はい、こんにちは。」とClovaデバイスが応答することも示しています。

  9. (チュートリアル1)こんにちは」の説明のとおりに、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") }}