Tindakan Percakapan tidak akan digunakan lagi pada 13 Juni 2023. Untuk mengetahui informasi selengkapnya, lihat Penghentian Action Percakapan.

Jenis

Jenis memungkinkan Anda mengonfigurasi mesin NLU (natural language understanding) untuk mengekstrak data terstruktur dari input pengguna. Anda dapat menggunakan jenis dalam situasi berikut:

  • Dalam intent, Anda dapat menganotasi frasa pelatihan dengan jenis untuk membuat slot. Saat pengguna mengucapkan sesuatu yang cocok dengan slot, mesin NLU mengekstraknya sebagai parameter yang diketik, sehingga Anda dapat memprosesnya dalam scene.

  • Dalam tahap pengisian slot scene, Anda dapat menentukan beberapa slot yang Anda berikan kepada pengguna sebelum dapat beralih atau keluar dari scene.

  • Dalam tahap kondisi scene, Anda dapat mendasarkan logika pada apakah parameter memiliki nilai spesifik yang ditentukan dalam suatu jenis.

Jenis khusus

Jenis kustom memungkinkan Anda membuat spesifikasi jenis sendiri untuk memberi tahu NLU agar menetapkan kumpulan nilai ke satu kunci. Anda dapat menentukan jenis dengan berbagai cara:

  • Kata dan sinonim memungkinkan Anda memetakan beberapa nilai ke satu kunci, yang disebut entri. Jenis dapat berisi satu atau beberapa entri. Jika memilih opsi ini, Anda juga dapat mengaktifkan setelan NLU berikut:
    • Aktifkan pencocokan fuzzy - Fitur ini memungkinkan entri dengan lebih dari satu kata dicocokkan, bahkan saat kata tersebut diucapkan dalam urutan yang berbeda.
    • Menerima nilai yang tidak diketahui - Jika Anda tidak dapat menentukan semua kemungkinan nilai, pemroses bahasa dapat menerima kata atau frasa yang tidak dikenal berdasarkan input dan data pelatihan intent, seperti item yang mungkin ditambahkan ke daftar bahan makanan.
  • Ekspresi reguler memungkinkan jenis untuk mencocokkan nilai menggunakan pola ekspresi reguler berdasarkan standar RE2 Google.
  • Teks bentuk bebas memungkinkan jenis untuk mencocokkan apa pun yang dikatakan pengguna. Dengan menganotasi intent dengan jenis ini, Anda dapat menggunakan semua input sebagai parameter yang dapat Anda transfer ke NLU Anda sendiri.

Jenis sistem

Jenis sistem memungkinkan Anda menganotasi dan mengekstrak data terkenal dari input pengguna menggunakan data dan nilai pelatihan yang disediakan sistem. Jenis sistem berikut didukung:

Type Deskripsi
actions.type.DateTime Berisi tanggal, waktu, dan zona waktu berdasarkan setelan perangkat pengguna. Tersedia untuk pengisian slot dan anotasi frasa pelatihan.
actions.type.Date Hanya berisi tanggal. Hanya tersedia untuk pengisian slot.
actions.type.Time Berisi waktu saja. Hanya tersedia untuk pengisian slot.
actions.type.Number Jenis Number cocok dengan nomor ordinal dan kardinal.

Penggunaan DateTime, Date, dan Time

Jenis ini berperilaku berbeda bergantung pada tempat Anda menggunakan jenis dan input pengguna yang cocok dengan jenis tersebut.

Menggunakan dengan intent

Menganotasi frasa pelatihan dalam intent hanya mendukung jenis DateTime. Input pengguna tidak harus cocok dengan keseluruhan nilai DateTime. Misalnya, jika pengguna hanya memberikan tahun, parameter sesinya mungkin terlihat seperti ini:

"date_time": {
  "year": 2019
}

Penggunaan dengan pengisian slot

Pengisian slot mendukung DateTime, Date, dan Time.

  • Jika jenis slot adalah DateTime, Asisten akan meminta pengguna hingga nilai penuh diberikan.
  • Jika jenis slot adalah Date, Asisten akan meminta pengguna hingga nilai tanggal diberikan. Saat dikumpulkan, parameter yang Anda terima adalah DateTime lengkap dengan waktu yang ditetapkan ke 00.00.
  • Jika jenis slot adalah Time, Asisten akan meminta pengguna hingga nilai waktu diberikan. Saat dikumpulkan, parameter yang Anda terima adalah objek DateTime lengkap dengan tanggal yang ditetapkan ke tanggal saat ini.

Misalnya, pengguna di Los Angeles mengatakan, "Ok Google, buat pengingat untuk 15 Januari 2024 pukul 8 malam". Jika DateTime diekstrak sebagai bagian dari proses pengisian slot, parameter lengkapnya mungkin terlihat seperti ini:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

Menggunakan dengan kondisi

Kondisi hanya mengizinkan penggunaan angka dan string, sehingga penggunaan parameter DateTime tingkat atas akan menghasilkan hasil False untuk kondisi tersebut. Contoh:

  • $session.params.my_dateTime.day > 5 adalah kondisi yang valid, karena nilai day berupa angka dan didukung.
  • $session.params.my_dateTime > "01-01-2010" adalah kondisi yang tidak valid, karena objek 'DateTime' tingkat atas bukan berupa angka atau string.

Penggantian jenis runtime

Penggantian jenis runtime memungkinkan Anda membuat atau mengubah jenis dalam fulfillment secara dinamis. Fitur ini memungkinkan Anda menambahkan atau mengganti spesifikasi jenis saat runtime. Misalnya, Anda dapat memeriksa sumber data backend untuk memuat item menu harian ke dalam jenis fulfillment Anda.

Lihat panduan webhook untuk mengetahui informasi selengkapnya tentang cara membuat penggantian jenis.