Tindakan Percakapan

Action Percakapan memungkinkan Anda memperluas Asisten Google dengan antarmuka percakapan Anda sendiri yang memberi pengguna akses ke produk dan layanan Anda. Tindakan memanfaatkan mesin natural language understanding (NLU) yang canggih dari Asisten untuk memproses dan memahami input natural language, serta melakukan tugas berdasarkan input tersebut.

Ringkasan

Action Percakapan adalah objek sederhana yang menentukan titik entri (disebut sebagai pemanggilan) ke dalam percakapan:

  • Pemanggilan menentukan cara pengguna memberi tahu Asisten bahwa mereka ingin memulai percakapan dengan salah satu Action Anda. Pemanggilan Action ditentukan oleh satu intent yang cocok saat pengguna meminta Action tersebut.
  • Percakapan menentukan cara pengguna berinteraksi dengan Action setelah dipanggil. Anda akan mem-build percakapan dengan intent, jenis, adegan, dan perintah.
  • Selain itu, Action Anda dapat mendelegasikan pekerjaan tambahan ke fulfillment, yang merupakan layanan web yang berkomunikasi dengan Action Anda melalui webhook. Hal ini memungkinkan Anda melakukan validasi data, memanggil layanan web lainnya, menjalankan logika bisnis, dan banyak lagi.

Anda menggabungkan satu atau beberapa Action, berdasarkan kasus penggunaan yang penting bagi pengguna, ke dalam penampung logis yang disebut project Action. Project Action Anda berisi seluruh model pemanggilan (kumpulan semua pemanggilan), yang memungkinkan pengguna memulai dari tempat logis dalam model percakapan (semua hal yang dapat dikatakan pengguna dan semua cara yang dapat dilakukan untuk merespons pengguna).

Gambar 1. Kumpulan Action yang berfungsi sebagai titik entri ke dalam model percakapan. Intent yang memenuhi syarat untuk pemanggilan dianggap global.

Pemanggilan

Pemanggilan dikaitkan dengan nama tampilan yang mewakili merek, nama, atau persona yang memungkinkan pengguna meminta Asisten untuk memanggil Action Anda. Pengguna dapat menggunakan nama tampilan ini sendiri (yang disebut pemanggilan utama) atau dikombinasikan dengan frasa deep link opsional untuk memanggil Action.

Misalnya, pengguna dapat mengucapkan frasa berikut untuk memanggil tiga Action terpisah dalam sebuah project dengan nama tampilan "Fakta tentang Google":

  • "Ok Google, bicara dengan Fakta tentang Google"
  • "Ok Google, bicara dengan Fakta tentang Google untuk mendapatkan fakta perusahaan"
  • "Ok Google, bicara dengan Fakta tentang Google untuk mendapatkan fakta sejarah"

Pemanggilan pertama dalam contoh tersebut adalah pemanggilan utama. Pemanggilan ini dikaitkan dengan intent sistem khusus yang bernama actions.intent.MAIN. Pemanggilan kedua dan ketiga adalah pemanggilan deep link yang memungkinkan Anda menentukan frasa tambahan yang memungkinkan pengguna meminta fungsi tertentu. Pemanggilan ini berkaitan dengan intent pengguna yang Anda tetapkan sebagai global. Setiap pemanggilan dalam contoh ini memberikan titik entri ke dalam percakapan dan sesuai dengan satu Action.

Gambar 2. Contoh pemanggilan utama

Gambar 2 menjelaskan alur pemanggilan utama yang umum:

  1. Saat meminta Action, pengguna biasanya meminta Action berdasarkan nama tampilan Anda.
  2. Asisten mencocokkan permintaan pengguna dengan intent terkait yang cocok dengan permintaan tersebut. Dalam hal ini, nilainya adalah actions.intent.MAIN.
  3. Action akan diberi tahu tentang kecocokan intent dan merespons dengan perintah yang sesuai untuk memulai percakapan dengan pengguna.

Percakapan

Percakapan menentukan cara pengguna berinteraksi dengan Action setelah dipanggil. Anda membangun interaksi ini dengan menentukan input pengguna yang valid untuk percakapan Anda, logika untuk memproses input tersebut, dan perintah yang sesuai untuk merespons kembali pengguna. Gambar dan penjelasan berikut menunjukkan cara kerja pembalikan percakapan standar dengan komponen tingkat rendah percakapan: intent, jenis, adegan, dan perintah.

Gambar 3. Contoh percakapan

Gambar 3 menjelaskan arah percakapan yang umum:

  1. Saat pengguna mengatakan sesuatu, NLU Asisten akan mencocokkan input dengan intent yang sesuai. Intent dicocokkan jika model bahasa untuk intent tersebut dapat mendekati atau sama persis dengan input pengguna. Anda menentukan model bahasa dengan menentukan frasa pelatihan, atau contoh hal yang mungkin ingin dikatakan pengguna. Asisten mengambil frasa pelatihan ini dan memperluasnya untuk membuat model bahasa intent.
  2. Saat NLU Asisten cocok dengan intent, NLU Asisten dapat mengekstrak parameter yang Anda perlukan dari input. Parameter ini memiliki jenis yang terkait dengannya, seperti tanggal atau angka. Anda menganotasi bagian tertentu dari frasa pelatihan intent untuk menentukan parameter yang ingin diekstrak.
  3. Adegan lalu memproses intent yang cocok. Anda dapat menganggap scene sebagai eksekutor logika Action, melakukan tugas berat, dan menjalankan logika yang diperlukan untuk memajukan percakapan. Scene berjalan dalam loop, yang menyediakan siklus proses eksekusi fleksibel yang memungkinkan Anda melakukan berbagai hal seperti memvalidasi parameter intent, melakukan pengisian slot, mengirim perintah kembali ke pengguna, dan banyak lagi.
  4. Saat selesai dieksekusi, scene biasanya akan mengirimkan pesan kembali kepada pengguna untuk melanjutkan percakapan atau dapat mengakhiri percakapan jika sesuai.

Pemenuhan pemesanan

Selama pemanggilan atau percakapan, Action Anda dapat memicu webhook yang memberi tahu layanan fulfillment untuk melakukan beberapa tugas.

Gambar 4. Contoh percakapan

Gambar 4 menjelaskan cara menggunakan fulfillment untuk menghasilkan perintah, cara umum untuk menggunakan fulfillment:

  1. Pada titik tertentu eksekusi Action Anda dapat memicu webhook yang mengirimkan permintaan ke pengendali webhook terdaftar (layanan fulfillment Anda) dengan payload JSON.
  2. Fulfillment akan memproses permintaan, seperti memanggil REST API untuk melakukan pencarian data atau memvalidasi beberapa data dari payload JSON. Cara yang sangat umum untuk menggunakan fulfillment adalah dengan membuat perintah dinamis saat runtime sehingga percakapan Anda lebih disesuaikan dengan pengguna saat ini.
  3. Fulfillment Anda menampilkan respons kembali ke Action Anda yang berisi payload JSON. Layanan dapat menggunakan data dari payload untuk melanjutkan eksekusinya dan merespons pengguna.