Halaman ini menjelaskan setelan tindakan dan parameter untuk intent dan cara penggunaannya saat intent dicocokkan saat runtime.
Di mana data ini dapat ditemukan
Saat membangun agen, cara yang paling umum adalah menggunakan Konsol Dialogflow ES (buka dokumentasi, buka konsol). Petunjuk di bawah berfokus pada penggunaan konsol. Untuk mengakses data tindakan dan parameter:
- Buka Dialogflow ES Console.
- Pilih agen.
- Pilih Intent di menu sidebar kiri.
- Pilih intent.
- Scroll ke bawah ke bagian Tindakan dan parameter.
Jika Anda membuat agen menggunakan API, bukan konsol, lihat Referensi intent. Nama kolom API mirip dengan nama kolom konsol. Petunjuk di bawah menyoroti perbedaan penting antara konsol dan API.
Tindakan
Kolom action adalah kolom praktis sederhana yang membantu menjalankan logika di layanan Anda.
Saat membangun agen, Anda dapat menyetel kolom ini ke teks apa pun yang menurut Anda berguna.
Saat intent dicocokkan saat runtime, Dialogflow akan memberikan nilai tindakan ke permintaan webhook fulfillment Anda atau respons interaksi API. Fungsi ini dapat digunakan untuk memicu logika tertentu di layanan 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 cara data diekstrak secara tepat. Tidak seperti input mentah pengguna akhir, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk menjalankan beberapa logika atau menghasilkan respons.Saat membuat agen, Anda dapat mengontrol cara data diekstrak dengan menganotasi bagian frasa pelatihan dan mengonfigurasi parameter terkait.
Daftar berikut menampilkan kolom konfigurasi parameter. Contohnya ditampilkan untuk frasa pelatihan "reservasi ruang pada hari Selasa", dengan "Selasa" dianotasikan.
- Wajib: Centang kotak ini jika parameter diperlukan untuk melengkapi intent. Lihat bagian Pengisian slot dengan parameter yang diperlukan di bawah.
- Nama Parameter:
Nama yang mengidentifikasi parameter.
Contoh:
date
. - Entity:
Jenis entity
yang terkait dengan parameter.
Contoh:
@sys.date
. - Nilai:
Pada umumnya, nilai ini ditetapkan ke referensi parameter seperti
$parameter-name
, yang digunakan sebagai placeholder untuk nilai yang diekstrak selama runtime. Namun, kolom ini juga dapat digunakan untuk memilih nilai alternatif. Lihat bagian Parameter value dan referensi parameter di bawah. Contoh:$date
. - Is List: Centang kotak ini jika nilai harus ditampilkan sebagai daftar. Lihat bagian Parameter daftar di bawah.
- Perintah: Pertanyaan bahwa agen akan bertanya kepada pengguna akhir apakah parameter ini tidak diberikan. Kolom ini hanya digunakan jika kolom Wajib dicentang. Lihat bagian Pengisian slot dengan parameter yang diperlukan di bawah.
- Nilai default: Nilai ini adalah nilai default untuk parameter saat pengguna akhir tidak memberikan nilai. Untuk mengubah nilai default dengan konsol, Anda harus mengarahkan kursor ke baris parameter dan mengklik menu di sebelah kanan.
Saat intent dicocokkan saat runtime, Dialogflow akan menyediakan data parameter ke permintaan webhook fulfillment Anda atau respons interaksi API. Parameter ini disediakan sebagai pemetaan dari nama parameter ke nilai parameter.
Saat membangun agen, respons Anda dapat menyertakan parameter value. Lihat Nilai parameter dan referensi parameter di bawah.
Mencantumkan parameter
Saat membuat agen dengan konsol, mencentang opsi Adalah Daftar akan mengonfigurasi parameter sebagai daftar. Daftar dapat berisi beberapa elemen. Misalnya, agen pemesanan produk mungkin mengharapkan ekspresi pengguna akhir berikut:
- "Saya ingin apel"
- "Saya ingin apel dan jeruk"
- "Saya ingin apel, jeruk, dan pisang"
Saat menganotasi frasa pelatihan dengan parameter daftar, frasa Anda dapat berisi satu atau beberapa contoh parameter, dan Anda menganotasi setiap contoh secara terpisah:
Setelah Anda menganotasi setidaknya dua kata atau frasa dengan parameter yang sama dalam satu frasa pelatihan, opsi Adalah Daftar akan otomatis diaktifkan. Jika Anda menonaktifkan opsi ini, tetapi mempertahankan anotasi yang sama, Is List akan otomatis dicentang lagi setelah Anda membuka halaman dengan anotasi ini.
Di agen multibahasa, opsi Adalah Daftar tidak khusus bahasa.
Nilai parameter dan referensi parameter
Referensi parameter adalah variabel yang menyimpan parameter value yang diekstrak saat runtime. Saat membuat agen, Anda dapat menggunakan referensi parameter dalam respons intent, perintah parameter, dan kolom Value parameter.
Misalnya, Anda dapat menggunakan $parameter-name
dalam respons intent.
Saat Dialogflow merespons pengguna,
Dialogflow akan mengganti referensi parameter tersebut
dengan parameter value yang diekstrak saat runtime.
Ini berguna untuk merangkum informasi yang diberikan oleh pengguna akhir.
Misalnya, respons intent Anda bisa terlihat seperti:
"Oke, saya memesan kamar untuk Anda pada $date".
Referensi parameter dasar
Untuk mereferensikan parameter value yang diekstrak oleh entity terkait, gunakan format berikut:
$parameter-name
Misalnya,
jika nama parameternya adalah date
,
Anda dapat mereferensikannya sebagai $date
.
Referensi parameter untuk nilai asli
Ketika cocok dengan entity tertentu, teks sering kali dikonversi menjadi teks yang lebih mudah untuk diproses. Misalnya, kata "apel" dalam ekspresi pengguna akhir dapat diekstrak sebagai "apel" untuk entitas buah. Untuk mereferensikan parameter value persis seperti yang ditulis atau diucapkan oleh pengguna akhir, gunakan format berikut:
$parameter-name.original
Misalnya, jika nama parameter adalah date
, Anda dapat mereferensikan nilai asli sebagai $date.original
.
Referensi parameter untuk tanggal yang ambigu
Jika suatu parameter dikaitkan dengan entity sistem @sys.date
, dan pengguna akhir memberikan tanggal tidak lengkap (tidak menentukan bulan, hari, dan tahun), Dialogflow akan mencocokkan tanggal terdekat di masa mendatang.
Namun, Anda juga dapat mengambil variasi tanggal ini.
Anda dapat mengambil pencocokan sebagian eksplisit,
dengan Dialogflow mengganti bagian yang tidak diketahui dengan U
menggunakan format berikut:
$parameter-name.partial
Anda dapat mengambil tanggal terdekat di masa lalu menggunakan format berikut:
$parameter-name.recent
Misalnya, jika tanggal hari ini adalah 11 Agustus 2021, nama parameter Anda adalah date
, dan pengguna mengucapkan "13 Agustus":
Referensi parameter | Nilai terselesaikan |
---|---|
$tanggal | 2021-08-13 |
$date.partisi | UUUU-08-13 |
$date.recent | 2020-08-13 |
Referensi parameter untuk entity gabungan
Entity gabungan adalah entity yang berisi sub-entitas lain. Untuk mereferensikan nilai sub-entity parameter, gunakan format berikut:
$parameter-name.sub-entity-name
Misalnya, jika nama parameter adalah move
, dan nama sub-entity adalah direction
, Anda dapat mereferensikan nilai sub-entitas sebagai $move.direction
.
Referensi parameter untuk konteks aktif
Konteks dapat berfungsi sebagai penyimpanan sementara untuk parameter value. Untuk mereferensikan parameter value yang diperoleh dari konteks aktif, gunakan format berikut:
#context-name.parameter-name
Misalnya, jika nama parameter adalah room
, dan reservation
adalah konteks aktif, Anda dapat mereferensikan nilai parameter sebagai #reservation.room
.
Referensi parameter untuk parameter peristiwa
Untuk mereferensikan parameter event, gunakan format berikut:
#event-name.parameter-name
Misalnya, jika nama parameter adalah duration
, dan nama peristiwanya adalah alarm
, Anda dapat mereferensikan parameter peristiwa sebagai #alarm.duration
.
kolom Parameter Value
Referensi parameter di kolom Nilai parameter memiliki signifikansi khusus.
Konten di kolom ini menentukan nilai yang di-resolve untuk $parameter-name
dalam respons intent dan perintah parameter.
Dialogflow memproses data parameter dalam urutan berikut:
- Ekstrak nilai parameter dari ekspresi pengguna akhir menggunakan entitas terkait.
- Selesaikan konten untuk kolom Nilai parameter.
- Tetapkan
$parameter-name
ke konten kolom Nilai parameter yang di-resolve. Jika kolom Value tidak disetel ke$parameter-name
, nilai$parameter-name
akan direset ke sesuatu yang lain. - Menyelesaikan konten untuk respons intent dan perintah parameter.
Berikut beberapa contoh untuk menggambarkan efek pengurutan ini untuk ekspresi pengguna akhir "Saya ingin membeli kemeja kecil".
Lokasi referensi parameter | Konten yang dikonfigurasi | Konten yang diselesaikan |
---|---|---|
Kolom Nilai parameter | $ukuran | S |
Respons intent | Anda memilih ukuran: $size | Anda memilih ukuran: S |
Lokasi referensi parameter | Konten yang dikonfigurasi | Konten yang diselesaikan |
---|---|---|
Kolom Nilai parameter | $size.original | kecil |
Respons intent | Anda memilih ukuran: $size | Anda memilih ukuran: kecil |
Lokasi referensi parameter | Konten yang dikonfigurasi | Konten yang diselesaikan |
---|---|---|
Kolom Nilai parameter | $ukuran | S |
Respons intent | Anda memilih ukuran: $size.original | Anda memilih ukuran: kecil |
Pengisian slot dengan parameter yang diperlukan
Saat membangun agen, Anda dapat menandai parameter sebagai wajib diisi. Intent tidak selesai hingga pengguna akhir memberikan data untuk setiap parameter yang diperlukan ini.
Saat intent dicocokkan saat runtime, agen Dialogflow akan terus mengumpulkan informasi dari pengguna akhir hingga pengguna akhir menyediakan data untuk setiap parameter yang diperlukan. Proses ini disebut pengisian slot.
Dialogflow tidak mengirim permintaan webhook fulfillment hingga mengumpulkan semua data yang diperlukan dari pengguna akhir, kecuali webhook untuk pengisian slot diaktifkan.
Dialogflow mengirimkan respons interaksi API untuk setiap langkah pengisian slot. Untuk setiap respons pengisian slot ini, intent dan tindakan akan sama, dan parameter yang dikumpulkan sejauh ini akan disediakan.
Saat membuat agen, Anda memberikan perintah yang akan digunakan agen untuk mendapatkan data parameter dari pengguna akhir. Anda juga dapat memberikan variasi perintah, sehingga agen tidak selalu mengajukan pertanyaan yang sama.
Misalnya, pertimbangkan bahwa agen toko pakaian Anda memiliki intent dengan parameter yang diperlukan untuk:
- jenis pakaian
- quantity
- ukuran
- color [warna]
Menyelesaikan intent mungkin terlihat seperti berikut:
Pengguna: Saya ingin membeli kaus.
Agen: Berapa jumlah yang Anda mau?
Pengguna: 3
Agen: Warna apa yang Anda inginkan?
Pengguna: Hitam
Agen: Ukuran apa?
Pengguna: Sedang
Agen: Oke, itu adalah tiga kaus hitam ukuran sedang
Jika pengguna akhir menyediakan data untuk lebih dari satu parameter dalam satu ekspresi, Dialogflow akan mengumpulkan data yang disediakan dan terus meminta data yang hilang. Misalnya, pengguna akhir mungkin mengatakan "Saya ingin membeli tiga kaus hitam". Dialogflow akan menanyakan ukuran kepada pengguna.
Mengurutkan parameter
Saat membuat agen, Anda dapat mengurutkan parameter, yang menentukan urutan saat agen meminta data yang hilang kepada pengguna akhir.
Saat mem-build agen dari konsol, mengarahkan kursor ke parameter akan menampilkan ikon urutkan ulang di sebelah kanan. Anda dapat menarik ikon ini untuk mengubah posisi parameter dalam daftar.
Referensi parameter dalam prompt
Saat membuat agen,
Anda dapat menggunakan referensi parameter dalam perintah,
tetapi hanya untuk parameter wajib sebelum perintah.
Misalnya, jika parameter color
berada sebelum parameter quantity
,
Anda dapat menggunakan perintah berikut untuk parameter quantity
:
How many $color t-shirts would you like to buy?
Batalkan pengisian slot
Ketika pengguna akhir mengucapkan frasa keluar seperti "Batal", "Hentikan", "Sudah cukup", dll., agen membalas dengan "Oke, dibatalkan" dan menghapus konteks pengisian slot.
Jika Anda menggunakan API, kolom DetectIntentResponse.queryResult.cancelsSlotFilling
ditetapkan ke true
saat pengisian slot dibatalkan.
Untuk mengetahui informasi selengkapnya,
lihat dokumentasi detectIntent
untuk
jenis
Sessions
.