Intent

Intent mewakili tugas Asisten yang memerlukan Action untuk dilakukan, seperti beberapa input pengguna yang memerlukan pemrosesan atau peristiwa sistem yang perlu Anda tangani. Anda menggunakan intent untuk membantu membuat pemanggilan dan model percakapan. Saat peristiwa ini terjadi, runtime Asisten akan mencocokkannya dengan intent yang sesuai dan mengirimkan intent ke Action Anda untuk diproses. Ada dua jenis intent utama yang dijelaskan dalam daftar berikut:

  • Intent pengguna memungkinkan Anda memperluas kemampuan Asisten untuk memahami permintaan pengguna yang spesifik untuk merek dan layanan Anda. Anda menentukan frasa pelatihan kustom dalam intent, yang kemudian akan menghasilkan model bahasa intent. Model bahasa tersebut meningkatkan NLU Asisten, sehingga meningkatkan kemampuannya untuk lebih memahami.

  • Intent sistem memiliki data pelatihan atau sinyal input non-percakapan lainnya yang ditentukan oleh Asisten. Artinya, Anda tidak perlu menentukan frasa pelatihan untuk intent ini. Asisten mencocokkan intent ini dengan cara standar, selama peristiwa sistem yang dikenal luas seperti pemanggilan utama atau saat pengguna tidak memberikan input apa pun.

Gambar 1. Skenario pencocokan intent umum. Pengguna mengucapkan sesuatu yang cocok dengan intent global. Scene terkait akan diaktifkan, dan pada akhirnya menggunakan lebih banyak input pengguna. Intent lain dicocokkan, yang bertransisi ke dan mengaktifkan scene lain.

Intent pengguna

Saat membuat Action, Anda membuat intent pengguna yang berisi frasa pelatihan, yang akan memperluas kemampuan Asisten untuk lebih memahami. Asisten menggunakan frasa pelatihan Anda untuk meningkatkan NLU-nya saat mendelegasikan permintaan pengguna ke Action Anda.

Saat hal ini terjadi, Asisten akan menjembatani komunikasi antara pengguna dan Action Anda, yang memetakan input pengguna ke intent yang memiliki model bahasa yang cocok. Asisten kemudian memberi tahu Actions Anda tentang intent yang cocok, sehingga Anda dapat memprosesnya dalam adegan.

Saat membuat intent pengguna, Anda menetapkan elemen berikut:

  • Penetapan intent global menentukan apakah runtime Asisten dapat cocok dengan intent pengguna yang ditentukan pada waktu pemanggilan serta selama percakapan. Secara default, Asisten hanya dapat mencocokkan intent pengguna selama percakapan. Hanya intent yang Anda tandai sebagai global yang memenuhi syarat untuk pemanggilan deep link.

  • Frasa pelatihan adalah contoh ucapan pengguna yang cocok dengan intent. Mesin NLU (natural language understanding) Asisten secara alami memperluas frasa pelatihan ini untuk menyertakan frasa lain yang serupa. Memberikan sekumpulan contoh berkualitas tinggi akan meningkatkan kualitas intent dan akurasi pencocokan.

  • Parameter adalah data yang diketik yang ingin Anda ekstrak dari input pengguna. Untuk membuat parameter, Anda menganotasi frasa pelatihan dengan jenis untuk memberi tahu mesin NLU bahwa Anda ingin sebagian input pengguna diekstrak. Anda dapat menggunakan jenis sistem atau membuat jenis parameter kustom Anda sendiri.

Saat mesin NLU mendeteksi kecocokan parameter dalam input pengguna, mesin ini akan mengekstrak nilai sebagai parameter yang diketik, sehingga Anda dapat menjalankan logika dengan parameter tersebut dalam scene. Jika parameter intent memiliki nama yang sama dengan slot scene, runtime Asisten akan otomatis mengisi slot scene dengan nilai dari parameter intent. Lihat dokumentasi pemetaan nilai slot untuk mengetahui informasi selengkapnya.

Parameter intent juga mendukung kecocokan "sebagian". Misalnya, jika Anda menentukan jenis DateTime dan pengguna hanya memasukkan tanggal, NLU tetap akan mengekstrak nilai sebagian sebagai parameter.

Anda mungkin ingin menggunakan NLU Anda sendiri untuk menangani semua input pengguna untuk Action. Misalnya, Anda mungkin ingin Action Anda merespons semua skenario tidak cocok selama percakapan. Untuk memastikan Anda menangkap semua input pengguna, buat intent dengan Jenis teks bentuk bebas. Namun, sebaiknya hindari penggunaan intent kustom untuk mengganti perilaku default tanpa kecocokan Asisten secara global, karena tindakan tersebut dapat berdampak negatif pada kemampuan pengguna untuk berpindah antar-Action.

Saat Anda membuat intent kustom di konsol Actions, Action Builder menyarankan intent sistem yang dapat mengisi peran yang sama dengan intent pengguna Anda. Untuk informasi selengkapnya tentang intent sistem, lihat bagian berikut.

Intent sistem

Asisten mencocokkan intent sistem berdasarkan peristiwa sistem standar. Peristiwa ini mungkin memiliki model bahasa yang ditentukan sistem seperti pengguna yang mengucapkan "pause" untuk menjeda pemutar media, atau mungkin tidak memiliki model bahasa seperti pengguna tidak memberikan input apa pun sama sekali. Karena intent ini disediakan oleh Asisten, Anda tidak perlu khawatir tentang cara pencocokannya, tetapi hanya cara menangani intent saat cocok.

Intent sistem juga menggantikan kebutuhan untuk membuat intent pengguna untuk tindakan yang sering diperlukan, seperti YES dan NO. Intent sistem dilatih untuk semua lokalitas, sehingga Anda dapat lebih mudah mengimplementasikan pengalaman yang konsisten bagi pengguna dalam berbagai bahasa. Intent sistem juga dapat ditetapkan sebagai intent global.

Intent sistem diberi versi. Anda dapat menggunakan versi tertentu dari intent sistem selama versi tersebut didukung oleh Asisten. Jika Action menggunakan versi intent sistem yang tidak didukung, intent sistem tersebut akan otomatis diupdate ke versi yang didukung.

Daftar intent

Intent Deskripsi
actions.intent.MAIN Setiap project Action harus berisi pemanggilan utama default ini, yang terikat dengan nama tampilan Anda. Pengguna mengucapkan frasa seperti "Ok Google, bicara dengan <nama tampilan>" untuk memanggil Action.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Intent ini dicocokkan saat pengguna mengucapkan sesuatu yang tidak dapat dicocokkan dengan intent dalam Action Anda. Anda dapat menetapkan setiap permintaan ulang dan pesan keluar pada intent akhir.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Intent ini dicocokkan jika tidak ada input dari pengguna setelah 8 detik. Anda dapat menetapkan permintaan ulang satu per satu untuk setiap intent dan pesan keluar pada intent akhir.

actions.intent.CANCEL Intent ini dicocokkan saat pengguna ingin keluar dari Action Anda selama percakapan, seperti pengguna yang mengatakan, "I want to quit".
actions.intent.MEDIA_STATUS_FINISHED Intent ini dicocokkan dan dikirim ke Action Anda saat pengguna menyelesaikan pemutaran media atau langsung ke bagian media berikutnya.
actions.intent.MEDIA_STATUS_PAUSED Intent ini dicocokkan dan dikirim ke Action Anda saat pengguna menjeda pemutaran media dalam respons media.
actions.intent.MEDIA_STATUS_STOPPED Intent ini dicocokkan dan dikirim ke Action Anda saat pengguna menghentikan atau keluar dari pemutaran media dari respons media.
actions.intent.MEDIA_STATUS_FAILED Intent ini dicocokkan dan dikirim ke Action Anda saat pemutar respons media gagal diputar.
actions.intent.YES

Intent ini dicocokkan saat pengguna memberikan respons afirmatif untuk Action Anda.

actions.intent.NO

Intent ini dicocokkan saat pengguna memberikan respons negatif untuk Action Anda.

actions.intent.REPEAT

Intent ini akan dicocokkan saat pengguna meminta Action untuk mengulangi respons terakhir. Permintaan untuk mengulangi ditangani secara otomatis oleh Asisten jika intent sistem tidak diaktifkan di agen. Dengan mengaktifkan intent sistem ini, Anda dapat mengubah cara penanganan permintaan berulang, serta respons.

actions.intent.PLAY_GAME Intent ini akan dicocokkan saat pengguna meminta untuk bermain game. Dengan intent ini, Anda dapat ikut serta dalam pemanggilan implisit (pemanggilan tanpa menggunakan nama tampilan) yang disediakan oleh Actions on Google.

Menambahkan dukungan untuk bahasa lain

Intent sistem tertentu, seperti YES, NO, dan NO_MATCH, hanya didukung dalam bahasa Inggris.Guna menambahkan dukungan untuk bahasa lain, Anda harus membuat intent pengguna yang cocok dengan intent sistem tersebut. Intent baru harus ditangani dalam kode Anda dengan cara yang sama seperti intent sistem yang telah diimplementasikan.

Misalnya, anggap Anda mengembangkan tindakan baru dan telah menerapkan intent sistem YES. Intent sistem YES hanya didukung dalam bahasa Inggris, tetapi Anda juga ingin aplikasi mendukung interaksi dalam bahasa Jerman dan Jepang. Untuk mendukung bahasa tambahan, buat intent yang menyertakan frasa pelatihan untuk bahasa Jerman dan Jepang, lalu terapkan penanganan yang Anda gunakan untuk intent sistem YES.

Pelajari lebih lanjut cara membuat intent pengguna.

Pelajari lebih lanjut cara melokalkan intent pengguna.

Hasil tidak ada yang cocok

Jika respons pengguna tidak cocok dengan salah satu intent Anda, Asisten akan mencoba menangani input tersebut. Perilaku ini memudahkan pengguna mengubah Action di tengah percakapan. Misalnya, pengguna bertanya, "Film apa yang diputar minggu ini?", lalu mengubah konteks di tengah percakapan: "Bagaimana cuacanya besok?" Dalam contoh ini, karena "Bagaimana cuaca besok?" bukanlah respons valid untuk percakapan yang dipicu oleh perintah awal, Asisten secara otomatis mencoba menangani kecocokan dan memindahkan pengguna ke percakapan yang sesuai.

Jika Asisten tidak dapat menemukan Action yang tepat yang cocok dengan input pengguna, pengguna akan melanjutkan dalam konteks Action Anda.

Karena Asisten dapat mengganggu Action Anda untuk merespons skenario tanpa kecocokan yang valid, jangan gunakan intent sistem NO_MATCH untuk memenuhi kueri pengguna. Anda hanya boleh menggunakan intent NO_MATCH untuk meminta ulang pengguna.