Halaman ini menjelaskan dasar-dasar penggunaan Dialogflow ES. Anda harus membaca halaman ini sebelum melanjutkan ke dokumen atau panduan memulai cepat lainnya.
Membantu pengguna berinteraksi dengan teknologi
Antarmuka komputer tradisional memerlukan input yang terstruktur dan dapat diprediksi agar dapat berfungsi dengan baik, yang membuat penggunaan antarmuka ini terasa tidak alami dan terkadang sulit. Jika pengguna akhir tidak dapat dengan mudah memahami input terstruktur ini, mereka akan kesulitan mencari tahu 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 ramalan cuaca hari ini?". Pengguna akhir lainnya juga dapat bertanya:
- "What's the weather like right now?"
- "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 tangguh. Dialogflow menanganinya untuk Anda, sehingga Anda dapat memberikan pengalaman percakapan berkualitas tinggi bagi pengguna akhir.
Agen
Agen Dialogflow adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir Anda. Modul ini adalah modul pemahaman bahasa alami 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 membangun agen Dialogflow untuk menangani jenis percakapan yang diperlukan sistem Anda.
Agen Dialogflow mirip dengan agen pusat panggilan manusia. Anda melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan pelatihan Anda tidak perlu terlalu eksplisit.
Intent
Intent mengategorikan maksud pengguna akhir dalam satu giliran percakapan. Untuk setiap agen, Anda menentukan banyak intent, dengan gabungan intent dapat menangani percakapan lengkap. Saat pengguna akhir menulis atau mengatakan sesuatu, yang disebut sebagai ekspresi pengguna akhir, Dialogflow akan mencocokkan ekspresi pengguna akhir dengan intent terbaik di agen Anda. Mencocokkan maksud juga dikenal sebagai klasifikasi maksud.
Misalnya, Anda dapat membuat agen cuaca yang mengenali dan merespons pertanyaan pengguna akhir tentang cuaca. Anda kemungkinan akan menentukan maksud untuk pertanyaan tentang perkiraan cuaca. Jika pengguna akhir mengatakan "What's the forecast?" (Apa perkiraan cuacanya?), Dialogflow akan mencocokkan ekspresi pengguna akhir tersebut dengan intent perkiraan. Anda juga dapat menentukan maksud Anda 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.
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 maksudnya. Anda tidak perlu menentukan setiap kemungkinan contoh, karena machine learning bawaan Dialogflow akan memperluas daftar Anda dengan frasa lain yang serupa.
- Tindakan: Anda dapat menentukan tindakan untuk setiap maksud. Saat intent cocok, Dialogflow 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 persis cara data diekstrak. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk melakukan beberapa logika atau menghasilkan respons.
- Respons: Anda menentukan respons teks, ucapan, atau visual yang akan ditampilkan kepada pengguna akhir. Hal ini dapat memberikan jawaban kepada pengguna akhir, meminta informasi lebih lanjut dari pengguna akhir, atau mengakhiri percakapan.
Diagram berikut menunjukkan alur dasar untuk pencocokan intent dan merespons pengguna akhir:
Entity
Setiap parameter intent memiliki jenis, yang disebut jenis entity, yang menentukan secara persis cara data dari ekspresi pengguna akhir diekstrak.
Dialogflow menyediakan entitas sistem yang telah ditentukan sebelumnya dan dapat mencocokkan banyak jenis data umum. Misalnya, ada entity sistem untuk mencocokkan tanggal, waktu, warna, alamat email, dan sebagainya. Anda juga dapat membuat entitas kustom sendiri untuk mencocokkan data kustom. Misalnya, Anda dapat menentukan entitas sayuran yang dapat mencocokkan jenis sayuran yang tersedia untuk dibeli dengan agen toko bahan makanan.
Konteks
Dialogflow konteks mirip dengan konteks bahasa alami. Jika seseorang mengatakan kepada Anda "mereka berwarna oranye", Anda memerlukan konteks untuk memahami apa yang dimaksud dengan "mereka". Demikian pula, agar Dialogflow dapat menangani ekspresi pengguna akhir seperti itu, Dialogflow harus diberi konteks agar dapat mencocokkan maksud dengan benar.
Dengan menggunakan konteks, Anda dapat mengontrol alur percakapan. Anda dapat mengonfigurasi konteks untuk maksud dengan menetapkan konteks input dan output, yang diidentifikasi berdasarkan nama string. Jika intent cocok, konteks output yang dikonfigurasi untuk intent tersebut akan menjadi aktif. Selama konteks 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.
- Pengguna akhir meminta informasi tentang rekening giro miliknya.
-
Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent
CheckingInfo. Intent ini memiliki konteks outputchecking, sehingga konteks tersebut menjadi aktif. - Agen bertanya kepada pengguna akhir jenis informasi yang diinginkannya tentang rekening giro miliknya.
- Pengguna akhir merespons dengan "saldo saya".
-
Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent
CheckingBalance. Intent ini memiliki konteks inputchecking, yang harus aktif agar cocok dengan intent ini. IntentSavingsBalanceserupa juga dapat ada untuk mencocokkan ekspresi pengguna akhir yang sama saat kontekssavingsaktif. - Setelah sistem Anda melakukan kueri database yang diperlukan, agen akan merespons dengan saldo rekening giro.
Intent tindak lanjut
Anda dapat menggunakan intent lanjutan untuk menyetel konteks secara otomatis untuk pasangan intent. Intent lanjutan adalah turunan dari parent intent terkait. Saat Anda membuat maksud lanjutan, konteks output akan otomatis ditambahkan ke maksud induk dan konteks input dengan nama yang sama akan ditambahkan ke maksud lanjutan. Maksud lanjutan hanya cocok jika maksud induk cocok dalam giliran percakapan sebelumnya. Anda juga dapat membuat beberapa tingkat maksud lanjutan bertingkat.
Dialogflow menyediakan banyak intent lanjutan yang telah ditentukan sebelumnya untuk balasan umum pengguna akhir seperti "ya", "tidak", atau "batal". Anda juga dapat membuat maksud lanjutan 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, membangun, dan menguji agen.
Konsol Dialogflow berbeda dengan Konsol Google Cloud Platform (GCP) (kunjungi dokumentasi, buka konsol). Konsol Dialogflow digunakan untuk mengelola agen Dialogflow, sedangkan Konsol GCP digunakan untuk mengelola setelan Dialogflow khusus GCP (misalnya, penagihan) dan resource GCP lainnya.
Dalam sebagian besar kasus, 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 Anda ingin membangun agen untuk salah satu platform ini, Anda harus menggunakan salah satu opsi integrasi yang tersedia. Interaksi langsung pengguna akhir ditangani untuk Anda, sehingga Anda dapat berfokus pada pembuatan 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 maksud yang cocok dengan respons statis. Jika menggunakan salah satu opsi integrasi, Anda dapat memberikan respons yang lebih dinamis menggunakan pemenuhan. Saat Anda mengaktifkan pemenuhan untuk intent, Dialogflow 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 Anda dan merespons pengguna akhir dengan informasi ketersediaan untuk hari Jumat.
Setiap maksud memiliki setelan untuk mengaktifkan fulfillment. Jika intent memerlukan beberapa tindakan oleh sistem Anda atau respons dinamis, Anda harus mengaktifkan pemenuhan untuk intent tersebut. Jika intent tanpa pengaktifan pemenuhan cocok, Dialogflow menggunakan respons statis yang Anda tentukan untuk intent tersebut.
Jika maksud yang fulfillment-nya diaktifkan cocok, Dialogflow akan mengirim permintaan ke layanan webhook Anda dengan informasi tentang maksud yang cocok. Sistem Anda dapat melakukan tindakan yang diperlukan dan merespons Dialogflow dengan informasi tentang cara melanjutkan. Jika pemenuhan diaktifkan, respons statis yang Anda tentukan untuk intent hanya digunakan jika layanan webhook Anda gagal. Diagram berikut menunjukkan alur pemrosesan untuk pemenuhan.
- Pengguna mengetik atau mengucapkan ekspresi.
- Dialogflow mencocokkan ekspresi pengguna akhir dengan intent dan mengekstrak parameter.
- Dialogflow mengirimkan pesan permintaan webhook ke layanan webhook Anda. Pesan ini berisi informasi tentang maksud yang cocok, tindakan, parameter, dan respons yang ditentukan untuk maksud tersebut.
- Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
- Layanan Anda mengirimkan pesan respons webhook ke Dialogflow. Pesan ini berisi respons yang harus dikirimkan kepada pengguna akhir.
- Dialogflow mengirimkan respons kepada pengguna akhir.
- Pengguna akhir melihat atau mendengar respons.
Interaksi pengguna dengan API
Jika Anda tidak menggunakan salah satu opsi integrasi, Anda harus menulis kode yang berinteraksi langsung dengan pengguna akhir. Anda juga harus berinteraksi langsung dengan API Dialogflow untuk setiap giliran percakapan guna mengirimkan ekspresi pengguna akhir dan menerima kecocokan maksud. Diagram berikut menunjukkan alur pemrosesan saat berinteraksi dengan API.
- Pengguna mengetik atau mengucapkan ekspresi.
- Layanan Anda mengirimkan ekspresi pengguna akhir ini ke Dialogflow dalam pesan permintaan deteksi maksud.
- Dialogflow mengirimkan pesan respons deteksi intent ke layanan Anda. Pesan ini berisi informasi tentang maksud yang cocok, tindakan, parameter, dan respons yang ditentukan untuk maksud tersebut.
- Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
- Layanan Anda mengirimkan respons kepada pengguna akhir.
- Pengguna akhir melihat atau mendengar respons.