Dasar-dasar Dialogflow ES

Halaman ini menjelaskan dasar-dasar penggunaan Dialogflow ES. Anda harus membaca halaman ini sebelum melanjutkan ke dokumen atau panduan memulai lainnya.

Membantu pengguna berinteraksi dengan teknologi

Antarmuka komputer tradisional memerlukan input yang terstruktur dan dapat diprediksi agar berfungsi dengan baik, sehingga penggunaan antarmuka ini menjadi tidak wajar dan terkadang sulit. Jika pengguna akhir tidak dapat dengan mudah memahami input terstruktur ini, mereka akan kesulitan mengetahui apa yang harus dilakukan. Idealnya, antarmuka Anda dapat menyimpulkan apa yang diinginkan pengguna akhir, berdasarkan bahasa alami yang mereka gunakan.

Misalnya, pertimbangkan permintaan pengguna sederhana seperti "Bagaimana prakiraan cuaca hari ini?". Pengguna akhir lainnya mungkin juga bertanya:

  • "Bagaimana cuaca sekarang?"
  • "Berapa suhu di San Francisco besok?"
  • "Bagaimana cuaca pada tanggal 21?"

Bahkan dengan pertanyaan sederhana ini, Anda dapat melihat bahwa pengalaman percakapan sulit diterapkan. Menafsirkan dan memproses bahasa alami memerlukan parser bahasa yang sangat andal. Dialogflow menangani hal ini untuk Anda, sehingga Anda dapat memberikan pengalaman pengguna akhir percakapan yang berkualitas tinggi.

Agen

Agen Dialogflow adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir Anda. Ini adalah modul natural language understanding yang memahami nuansa bahasa manusia. Dialogflow menerjemahkan teks atau audio pengguna akhir selama percakapan ke data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda mendesain dan mem-build agen Dialogflow untuk menangani jenis percakapan yang diperlukan untuk sistem Anda.

Agen Dialogflow mirip dengan agen pusat layanan telepon manusia. Anda melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan pelatihan Anda tidak perlu terlalu eksplisit.

Intent

Intent mengategorikan niat pengguna akhir untuk satu giliran percakapan. Untuk setiap agen, Anda menentukan banyak intent, dengan intent gabungan yang dapat menangani percakapan lengkap. Saat pengguna akhir menulis atau mengucapkan sesuatu, yang disebut sebagai ekspresi pengguna akhir, Dialogflow akan mencocokkan ekspresi pengguna akhir dengan intent terbaik di agen Anda. Mencocokkan intent juga dikenal sebagai klasifikasi intent.

Misalnya, Anda dapat membuat agen cuaca yang mengenali dan merespons pertanyaan pengguna akhir tentang cuaca. Anda mungkin akan menentukan intent untuk pertanyaan tentang perkiraan cuaca. Jika pengguna akhir mengatakan "Bagaimana prakiraan cuacanya?", Dialogflow akan mencocokkan ekspresi pengguna akhir tersebut dengan intent perkiraan. Anda juga dapat menentukan intent untuk mengekstrak informasi yang berguna dari ekspresi pengguna akhir, seperti waktu atau lokasi untuk prakiraan cuaca yang diinginkan. Data yang diekstrak ini penting bagi sistem Anda untuk melakukan kueri cuaca bagi pengguna akhir.

Agen mengekstrak data dari ekspresi pengguna akhir yang meminta cuaca

Intent dasar berisi hal berikut:

  • Frasa pelatihan: Ini adalah contoh frasa untuk apa yang mungkin diucapkan pengguna akhir. Jika ekspresi pengguna akhir menyerupai salah satu frasa ini, Dialogflow akan mencocokkan intent. Anda tidak perlu menentukan setiap kemungkinan contoh, karena machine learning bawaan Dialogflow akan memperluas daftar Anda dengan frasa serupa lainnya.
  • Action: Anda dapat menentukan tindakan untuk setiap intent. Saat intent cocok, Dialogflow akan memberikan tindakan ke sistem Anda, dan Anda dapat menggunakan tindakan tersebut untuk memicu tindakan tertentu yang ditentukan dalam sistem Anda.
  • Parameter: Saat intent dicocokkan saat runtime, Dialogflow memberikan nilai yang diekstrak dari ekspresi pengguna akhir sebagai parameter. Setiap parameter memiliki jenis, yang disebut jenis entity, yang menentukan secara tepat bagaimana data diekstrak. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat digunakan dengan mudah untuk menjalankan beberapa logika atau menghasilkan respons.
  • Respons: Anda menentukan respons teks, ucapan, atau visual untuk ditampilkan kepada pengguna akhir. Hal ini dapat memberikan jawaban kepada pengguna akhir, meminta informasi selengkapnya kepada pengguna akhir, atau mengakhiri percakapan.

Diagram berikut menunjukkan alur dasar untuk pencocokan intent dan merespons pengguna akhir:

Agen dan intent yang menangani ekspresi pengguna akhir

Entity

Setiap parameter intent memiliki jenis, yang disebut jenis entity, yang menentukan secara tepat cara data dari ekspresi pengguna akhir diekstrak.

Dialogflow menyediakan entity sistem yang telah ditentukan sebelumnya yang dapat mencocokkan banyak jenis data umum. Misalnya, ada entity sistem untuk mencocokkan tanggal, waktu, warna, alamat email, dan sebagainya. Anda juga dapat membuat entity kustom sendiri untuk mencocokkan data kustom. Misalnya, Anda dapat menentukan entity vegetable yang dapat mencocokkan jenis sayuran yang tersedia untuk dibeli dengan agen toko bahan makanan.

Konteks

Konteks Dialogflow mirip dengan konteks bahasa alami. Jika seseorang mengatakan kepada Anda "warnanya oranye", Anda memerlukan konteks untuk memahami apa yang dimaksud dengan "warnanya". Demikian pula, agar Dialogflow dapat menangani ekspresi pengguna akhir seperti itu, Dialogflow harus diberi konteks agar dapat mencocokkan intent dengan benar.

Dengan menggunakan konteks, Anda dapat mengontrol alur percakapan. Anda dapat mengonfigurasi konteks untuk intent dengan menetapkan konteks input dan output, yang diidentifikasi dengan nama string. Saat intent dicocokkan, konteks output yang dikonfigurasi untuk intent tersebut akan aktif. Meskipun konteks apa pun aktif, Dialogflow lebih cenderung mencocokkan intent yang dikonfigurasi dengan konteks input yang sesuai dengan konteks yang saat ini aktif.

Diagram berikut menunjukkan contoh yang menggunakan konteks untuk agen perbankan.

Diagram pengguna yang berinteraksi dengan intent dan konteks.
  1. Pengguna akhir meminta informasi tentang rekening giro mereka.
  2. Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent CheckingInfo. Intent ini memiliki konteks output checking, sehingga konteks menjadi aktif.
  3. Agen menanyakan jenis informasi yang diinginkan pengguna akhir tentang rekening giro mereka.
  4. Pengguna akhir merespons dengan "saldo saya".
  5. Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent CheckingBalance. Intent ini memiliki konteks input checking, yang harus aktif untuk mencocokkan intent ini. Intent SavingsBalance serupa mungkin juga ada untuk mencocokkan ekspresi pengguna akhir yang sama saat konteks savings aktif.
  6. Setelah sistem Anda melakukan kueri database yang diperlukan, agen akan merespons dengan saldo rekening giro.

Intent tindak lanjut

Anda dapat menggunakan intent tindak lanjut untuk menetapkan konteks secara otomatis untuk pasangan intent. Intent tindak lanjut adalah turunan dari intent induk terkait. Saat Anda membuat intent tindak lanjut, konteks output akan otomatis ditambahkan ke intent induk dan konteks input dengan nama yang sama akan ditambahkan ke intent tindak lanjut. Intent tindak lanjut hanya dicocokkan jika intent induk dicocokkan dalam giliran percakapan sebelumnya. Anda juga dapat membuat beberapa tingkat intent tindak lanjut bertingkat.

Dialogflow menyediakan banyak intent tindak lanjut standar untuk balasan umum pengguna akhir seperti "ya", "tidak", atau "batal". Anda juga dapat membuat intent tindak lanjut sendiri untuk menangani balasan kustom.

Konsol Dialogflow

Dialogflow menyediakan antarmuka pengguna web yang disebut Konsol Dialogflow (kunjungi dokumentasi, buka konsol). Anda menggunakan konsol ini untuk membuat, mem-build, dan menguji agen.

Dialogflow Console berbeda dengan Konsol Google Cloud Platform (GCP) (kunjungi dokumentasi, buka konsol). Dialogflow Console digunakan untuk mengelola agen Dialogflow, sedangkan GCP Console digunakan untuk mengelola setelan Dialogflow khusus GCP (misalnya, penagihan) dan resource GCP lainnya.

Pada umumnya, Anda harus menggunakan Konsol Dialogflow untuk membuat agen, tetapi Anda juga dapat menggunakan Dialogflow API untuk membuat agen untuk skenario lanjutan.

Interaksi pengguna dengan integrasi

Dialogflow terintegrasi dengan banyak platform percakapan populer seperti Asisten Google, Slack, dan Facebook Messenger. Jika ingin membuat agen untuk salah satu platform ini, Anda harus menggunakan salah satu dari banyak opsi integrasi. Interaksi pengguna akhir langsung ditangani untuk Anda, sehingga Anda dapat berfokus membangun agen. Setiap integrasi menangani interaksi pengguna akhir dengan cara khusus platform, jadi lihat dokumentasi untuk platform integrasi Anda untuk mengetahui detailnya.

Fulfillment untuk integrasi

Secara default, agen Anda merespons intent yang cocok dengan respons statis. Jika menggunakan salah satu opsi integrasi, Anda dapat memberikan respons yang lebih dinamis menggunakan fulfillment. Saat Anda mengaktifkan fulfillment untuk intent, Dialogflow akan merespons intent tersebut dengan memanggil layanan yang Anda tentukan. Misalnya, jika pengguna akhir ingin menjadwalkan potong rambut pada hari Jumat, layanan Anda dapat memeriksa database dan merespons pengguna akhir dengan informasi ketersediaan untuk hari Jumat.

Setiap intent memiliki setelan untuk mengaktifkan fulfillment. Jika intent memerlukan beberapa tindakan oleh sistem atau respons dinamis, Anda harus mengaktifkan fulfillment untuk intent tersebut. Jika intent tanpa fulfillment yang diaktifkan cocok, Dialogflow akan menggunakan respons statis yang Anda tentukan untuk intent tersebut.

Saat intent dengan fulfillment yang diaktifkan dicocokkan, Dialogflow akan mengirimkan permintaan ke layanan webhook Anda dengan informasi tentang intent yang cocok. Sistem Anda dapat melakukan tindakan yang diperlukan dan merespons Dialogflow dengan informasi tentang cara melanjutkan. Jika fulfillment diaktifkan, respons statis yang Anda tentukan untuk intent hanya digunakan jika layanan webhook gagal. Diagram berikut menunjukkan alur pemrosesan untuk fulfillment.

Diagram yang menunjukkan alur fulfillment
  1. Pengguna akhir mengetik atau mengucapkan ekspresi.
  2. Dialogflow mencocokkan ekspresi pengguna akhir dengan intent dan mengekstrak parameter.
  3. Dialogflow mengirimkan pesan permintaan webhook ke layanan webhook Anda. Pesan ini berisi informasi tentang intent yang cocok, tindakan, parameter, dan respons yang ditentukan untuk intent.
  4. Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
  5. Layanan Anda mengirimkan pesan respons webhook ke Dialogflow. Pesan ini berisi respons yang harus dikirim ke pengguna akhir.
  6. Dialogflow mengirimkan respons ke pengguna akhir.
  7. Pengguna akhir melihat atau mendengar respons.

Interaksi pengguna dengan API

Jika tidak menggunakan salah satu opsi integrasi, Anda harus menulis kode yang berinteraksi langsung dengan pengguna akhir. Anda juga harus langsung berinteraksi dengan API Dialogflow untuk setiap giliran percakapan guna mengirim ekspresi pengguna akhir dan menerima kecocokan intent. Diagram berikut menunjukkan alur pemrosesan saat berinteraksi dengan API.

Diagram yang menunjukkan alur untuk API
  1. Pengguna akhir mengetik atau mengucapkan ekspresi.
  2. Layanan Anda mengirimkan ekspresi pengguna akhir ini ke Dialogflow dalam pesan permintaan deteksi intent.
  3. Dialogflow mengirimkan pesan respons deteksi intent ke layanan Anda. Pesan ini berisi informasi tentang intent yang cocok, tindakan, parameter, dan respons yang ditentukan untuk intent.
  4. Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
  5. Layanan Anda mengirimkan respons kepada pengguna akhir.
  6. Pengguna akhir melihat atau mendengar respons.