Dialogflow を使用して予約スケジューラをビルドする

医院、自動車局、修理店で、予約スケジューラを利用できると便利だと思いませんか?

この Codelab では、Dialogflow で簡単な chatbot を作成し、ワンクリックでインテグレーションしてウェブに統合します。

演習は次のように順序付けられます。

  1. Dialogflow エージェントを作成します。
  2. インテントを作成する。
  3. chatbot をテストします。
  4. ウェブ統合を有効にします。

Prerequisites

始める前に、Dialogflow で chatbot を構築するパスにある動画から紹介する Dialogflow の基本コンセプトと構造を理解しておく必要があります。

学習内容

  • Dialogflow エージェントを作成する方法
  • エージェントでインテントを作成する方法
  • インテント内でトレーニング フレーズを作成する方法
  • インテント内でレスポンスを作成する方法
  • Dialogflow エージェントをテストする方法
  • ウェブ統合の設定方法

作成するアプリの概要

  • Dialogflow でエージェントを作成して chatbot を作成する

必要なもの

  • Dialogflow コンソールにログインするためのブラウザとメールアドレス
  1. Dialogflow コンソールに移動します。
  2. いつものデータに初めて使用する場合は、メールアドレスを使用して登録します。
  3. 利用規約に同意すると、Dialogflow コンソールが表示されます。
  4. エージェントを作成するには、 をクリックし、メニューの一番下までスクロールし、[Create new agent] をクリックします。

  1. [Agent name] に「AppointmentScheduler"」と入力します。
  2. [作成] をクリックします。

Dialogflow は、エージェントの一部として次の 2 つのデフォルト インテントを作成します。

  • デフォルトのウェルカム インテントはユーザーに挨拶する
  • デフォルト フォールバック インテントは、bot が理解できないすべての質問を捕捉します。

ユーザーに挨拶する機能的な bot を作成しました。

エージェントをテストする

Dialgflow コンソールで、次のようなテストパネルを見つけます。

エージェントをテストするには、「Try it now」と話しかけて「Hi」と入力してください。エージェントは、デフォルトの Welcome インテントで定義されたデフォルトの応答メッセージで応答する必要があります。「挨拶!」と表示されています。どうすればサポートできるかレスポンスは変更できます。

ここで、「予約を設定」と入力した場合、エージェントは対応方法がわからないため、デフォルトのフォールバック インテントを開始します。これは、特定の質問を捕捉するためのインテントを作成しなかったためです。

  1. インテントを作成するには、[Intents] > [Create Intent] をクリックします。[Intent name](インテント名)に「Schedule Appointment」と入力します。

  1. [トレーニング フレーズ] をクリックして、次のフレーズを入力します。
  1. 水曜日の午後 2 時に予約を設定
  2. 明日の午後 4 時に予約が必要
  3. 予約を火曜日の午後 3 時に設定したいです。

フレーズを入力すると、timedate はシステム エンティティ @sys.date@sys.time として自動的に識別されます。

  1. [回答] までスクロールして「完了しました。いってらっしゃい。また、もっとおもしろくして、$time で $date の開催を予定しています。よろしくお願いいたします。"(ここで、ドル($)記号は、エンティティの値へのアクセスに役立ちます)。[Add Responses] をクリックします。

  1. [Save] をクリックし、木曜日に午後 4 時に予約枠を設定してエージェントをテストします。期待どおりの日時で応答が返されます。

スロットフィル

では、予約を試して予約しましょう。そのシナリオは具体性が低く、そのシナリオには対処していないため、デフォルトのフォールバック インテントで処理する必要があります。それをサポートするには、スロットフィルという機能を使用します。

スロット充填を使用すると、単一のインテントでパラメータ値収集の会話フローを設計できます。特定のパラメータ値が設定されていないと、アクションを完了できない場合に役立ちます。

次に、スロットフィルを設定します。

  1. [アクションとパラメータ] をクリックします。エンティティを必須にすると、Dialogflow は応答する前に日付と時刻を求めます。
  2. 日時は「何時にしますか」と入力します。
  3. [日付] に「日付」を入力します。
  4. [保存] をクリックします。

この時点で、Dialogflow が設定されています。Dialogflow コンソールで [Try it now] と表示されている会話を入力します。

  1. ユーザー: 「Hi」
  2. ユーザー: 「予約を設定する」
  3. チャットボット: "日付とは
  4. ユーザー: 「5 月 23 日」
  5. チャットボット: "何時に受け取りますか?
  6. ユーザー: 「午前 10 時」
  7. Chatbot: 2019-05-23 の 10:00:00 に準備しました。よろしくお願いいたします。"

Dialogflow によって、チャットボットでさまざまな統合が可能になります。chatbot のサンプル ウェブ ユーザー インターフェースを見てみましょう。

Dialogflow コンソールで [Integrations] をクリックします。

ウェブデモを有効にします。

URL をクリックしてウェブデモを開始します。

質問」と入力することでチャット インターフェースの使用を開始します。次の会話を使用します。

  1. 「Hi&\」と入力すると、chatbot は前と同じようにレスポンスを返します。
  2. 「午後 4 時に予約を設定」と入力すれば、chatbot が予約を確定して応答します。

Dialogflow に関する他の Codelab を完了する予定の場合は、このセクションをスキップして後で行ってください。

Dialogflow エージェントを削除する

  • 既存のエージェントの横にある をクリックします。

  1. [General] タブで一番下までスクロールし、[Delete This Agent] をクリックします。
  2. 表示されたダイアログで「削除」と入力し、[削除] をクリックします。

チャットボットが完成しました。

詳細

他の Dialogflow リソースを確認する。