Dialogflow を使用して予約スケジューラを構築する

1. 始める前に

病院、自動車運転免許試験場、修理工場で予約スケジューラにアクセスできたら便利だと思いませんか?

この Codelab では、Dialogflow を使用してシンプルなチャットボットを作成し、ワンクリック統合でウェブと統合します。

演習は次の順序で実施します。

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

前提条件

続行する前に、Dialogflow の基本コンセプトと構成を理解する必要があります。これらは、Dialogflow でチャットボットを構築するパスにある次の動画で確認できます。

学習内容

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

作成するアプリの概要

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

必要なもの

  • Dialogflow コンソールにログインするためのブラウザとメールアドレス

2. Dialogflow エージェントを作成する

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

3b3f9677e2a26d93.png

  1. [エージェント名] に「AppointmentScheduler」と入力します。
  2. [作成] をクリックします。

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

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

これで、ユーザーに挨拶する機能的なボットが作成されました。

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

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

3323d1bfe318688a.png

エージェントをテストするには、[Try it now] に「Hi」と入力します。エージェントは、デフォルトのウェルカム インテントで定義されたデフォルトの挨拶メッセージで応答します。「Greetings! How can I assist?」と表示されます。回答を変更できます。

5dd38f7a78d0ef69.png

ここで「set an appointment」と入力すると、エージェントは何をすればよいかわからないため、デフォルトのフォールバック インテントが開始されます。これは、その特定の質問をキャッチするインテントを作成していないためです。

3975613778643272.png

3. インテントを作成する

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

f4fdcdfc62c76c91.png

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

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

916f91a707dfc80a.png

  1. [Responses] までスクロールし、「You are all set. 「それでは、また!」などの返信にすることも、より興味深いものにするために「$date の $time に予約が完了しました。またね!」(ドル記号($)を使用すると、エンティティ値にアクセスできます)。[回答を追加] をクリックします。

c1bc071b31817b56.png

  1. [保存] をクリックし、「木曜日の午後 4 時に予約を設定して」という発言でエージェントをテストします。想定どおり、正しい日時を含むレスポンスが返されます。

スロットフィル

次に、「予定を設定して」をテストします。これはあまり具体的ではなく、このシナリオは処理されていないため、デフォルトのフォールバック インテントで処理する必要があります。これをサポートするために、スロット充填というものを使用できます。

スロット入力を使用すると、単一のインテントでパラメータ値の収集を行う会話フローを設計できます。これは、特定の一連のパラメータ値がないとアクションを完了できない場合に便利です。

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

  1. [アクションとパラメータ] をクリックします。エンティティを必須にすると、Dialogflow は応答する前に日付と時刻を尋ねます。
  2. 時間については、「What time would you like to come in?」と入力します。
  3. 日付には「What date?」と入力します。
  4. [保存] をクリックします。

d5bbdb4adb6ddfbe.png

4. チャットボットをテストする

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

  1. ユーザー: 「こんにちは」
  2. ユーザー: 「予定を設定して」
  3. Chatbot: 「いつですか?」
  4. ユーザー: 「5 月 23 日」
  5. Chatbot: 「何時にご来店されますか?」
  6. ユーザー: 「午前 10 時」
  7. Chatbot: 「2019 年 5 月 23 日午前 10 時 0 分に設定しました。またね!」

5. ワンクリック ウェブ統合を有効にする

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

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

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

27b74328cc705181.png

URL をクリックして Web Demo を起動します。d389ab871032c565.png

[Ask something] と表示されている場所に入力して、チャット インターフェースの使用を開始します。次の会話を使用します。

  1. 「Hi」と入力すると、チャットボットは以前と同じように応答します。
  2. 「明日の午後 4 時に予約して」と入力すると、チャットボットが予約を確認するレスポンスを返します。

6. クリーンアップ

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

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

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

79eb93054b2bb876.png

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

7. 完了

これで、チャットボットを構築し、チャットボット開発者になりました。

その他の情報

その他の Dialogflow リソースもご覧ください。