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 terstruktur dan dapat diprediksi agar berfungsi dengan baik, sehingga penggunaan antarmuka ini menjadi 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 keinginan pengguna akhir, berdasarkan bahasa alami yang mereka gunakan.
Misalnya, pertimbangkan permintaan pengguna sederhana seperti "Bagaimana ramalan cuaca hari ini?". Pengguna akhir lainnya mungkin juga bertanya:
- "Bagaimana cuaca saat ini?"
- "Berapa suhu di San Francisco besok?"
- "Bagaimana cuaca pada tanggal 21?"
Bahkan dengan pertanyaan sederhana ini, Anda dapat melihat bahwa pengalaman percakapan sulit diterapkan. Menginterpretasikan dan memproses bahasa alami memerlukan parser bahasa yang sangat kuat. Dialogflow menangani hal ini untuk Anda, sehingga Anda dapat memberikan pengalaman percakapan berkualitas tinggi kepada pengguna akhir.
Agen
Agen Dialogflow agen adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir. Agen ini adalah modul natural language understanding yang memahami nuansa bahasa manusia. Dialogflow menerjemahkan teks atau audio pengguna akhir selama percakapan menjadi data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda mendesain dan membangun agen Dialogflow untuk menangani jenis percakapan yang diperlukan untuk sistem Anda.
Agen Dialogflow mirip dengan agen manusia di pusat panggilan. 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, yang gabungan intent tersebut 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. Pencocokan 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 ramalan cuaca. Jika pengguna akhir mengatakan "Bagaimana ramalannya?", Dialogflow akan mencocokkan ekspresi pengguna akhir tersebut dengan intent ramalan. Anda juga dapat menentukan intent untuk mengekstrak informasi berguna dari ekspresi pengguna akhir, seperti waktu atau lokasi untuk ramalan cuaca yang diinginkan. Data yang diekstrak ini penting agar sistem Anda dapat melakukan kueri cuaca untuk pengguna akhir.
Intent dasar berisi hal berikut:
- Frasa pelatihan: Ini adalah contoh frasa untuk apa yang mungkin dikatakan pengguna akhir. Saat ekspresi pengguna akhir menyerupai salah satu frasa ini, Dialogflow akan mencocokkan intent. Anda tidak perlu menentukan setiap contoh yang mungkin, karena machine learning bawaan Dialogflow akan memperluas daftar Anda dengan frasa lain yang serupa.
- Tindakan: Anda dapat menentukan tindakan untuk setiap intent. Saat intent dicocokkan, 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 akan memberikan nilai yang diekstrak dari ekspresi pengguna akhir sebagai parameter. Setiap parameter memiliki jenis, yang disebut jenis entity, yang menentukan dengan tepat cara data diekstrak. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk menjalankan logika tertentu atau menghasilkan respons.
- Respons: Anda menentukan respons teks, ucapan, atau visual untuk dikirimkan ke pengguna akhir. Respons ini dapat memberikan jawaban kepada pengguna akhir, meminta informasi lebih lanjut kepada pengguna akhir, atau mengakhiri percakapan.
Diagram berikut menunjukkan alur dasar untuk pencocokan intent dan respons terhadap pengguna akhir:
Entity
Setiap parameter intent memiliki jenis, yang disebut jenis entity, yang menentukan dengan 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 sayuran 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 maksud "warnanya". Demikian pula, agar Dialogflow dapat menangani ekspresi pengguna akhir seperti itu, konteks harus diberikan agar intent dapat dicocokkan dengan benar.
Dengan menggunakan konteks, Anda dapat mengontrol alur percakapan. Anda dapat mengonfigurasi konteks untuk intent dengan menetapkan konteks input dan output, yang diidentifikasi berdasarkan nama string. Saat intent dicocokkan, konteks output yang dikonfigurasi untuk intent tersebut akan menjadi aktif. Saat 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 korannya.
-
Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent
CheckingInfo. Intent ini memiliki konteks outputchecking, sehingga konteks tersebut menjadi aktif. - Agen meminta pengguna akhir untuk memberikan jenis informasi yang diinginkan tentang rekening korannya.
- Pengguna akhir merespons dengan "saldo saya".
-
Dialogflow mencocokkan ekspresi pengguna akhir ini dengan intent
CheckingBalance. Intent ini memiliki konteks inputchecking, yang harus aktif agar intent ini dapat dicocokkan. IntentSavingsBalanceyang serupa 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 koran.
Intent tindak lanjut
Anda dapat menggunakan intent tindak lanjut untuk otomatis menetapkan konteks 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 pada giliran percakapan sebelumnya. Anda juga dapat membuat beberapa tingkat intent tindak lanjut bertingkat.
Dialogflow menyediakan banyak intent tindak lanjut yang telah ditentukan sebelumnya 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, 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.
Pada umumnya, Anda harus menggunakan Konsol Dialogflow untuk membangun agen, tetapi Anda juga dapat menggunakan Dialogflow API untuk membangun agen untuk skenario lanjutan.
Interaksi pengguna dengan integrasi
Dialogflow terintegrasi dengan banyak platform percakapan populer seperti Asisten Google, Slack, dan Facebook Messenger. Jika ingin membangun agen untuk salah satu platform ini, Anda harus menggunakan salah satu dari banyak integrasi opsi. 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 guna 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 dengan 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 tindakan tertentu oleh sistem Anda atau respons dinamis, Anda harus mengaktifkan fulfillment untuk intent tersebut. Jika intent tanpa fulfillment yang diaktifkan dicocokkan, 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 akan digunakan jika layanan webhook Anda gagal. Diagram berikut menunjukkan alur pemrosesan untuk fulfillment.
- Pengguna akhir 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 intent yang cocok, tindakan, parameter, dan respons yang ditentukan untuk intent tersebut.
- Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
- Layanan Anda mengirimkan a respons webhook pesan ke Dialogflow. Pesan ini berisi respons yang harus dikirimkan ke pengguna akhir.
- Dialogflow mengirimkan respons ke pengguna akhir.
- 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 berinteraksi langsung dengan Dialogflow API untuk setiap giliran percakapan guna mengirim ekspresi pengguna akhir dan menerima pencocokan intent. Diagram berikut menunjukkan alur pemrosesan saat berinteraksi dengan API.
- Pengguna akhir mengetik atau mengucapkan ekspresi.
- Layanan Anda mengirimkan ekspresi pengguna akhir ini ke Dialogflow dalam pesan permintaan deteksi intent.
- 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 tersebut.
- Layanan Anda melakukan tindakan sesuai kebutuhan, seperti kueri database atau panggilan API eksternal.
- Layanan Anda mengirimkan respons ke pengguna akhir.
- Pengguna akhir melihat atau mendengar respons.