Opsi entity

Ada beberapa opsi entity yang mengubah perilaku pencocokan entity dan ekstraksi data. Opsi ini telah dikonfigurasi sebelumnya untuk entity sistem, sehingga Anda tidak dapat mengubahnya untuk entity sistem. Namun, Anda dapat mengubahnya untuk entity kustom Anda sendiri. Anda dapat membuat berbagai jenis entity, bergantung pada opsi yang dipilih:

Ada opsi lain yang tidak menentukan jenis entity, tetapi memengaruhi perilaku pencocokan entity:

Dokumen ini menjelaskan setiap opsi tersebut.

Tempat menemukan data ini

Saat membuat agen, cara yang paling umum adalah menggunakan konsol Dialogflow CX. Petunjuk berikut berfokus pada penggunaan konsol. Untuk mengakses data opsi entity:

  1. Buka konsol Dialogflow CX.
  2. Pilihproyek Anda. Google Cloud
  3. Pilih agen Anda.
  4. Pilih tab Manage.
  5. Klik Entity Types.
  6. Lihat opsi berikut untuk entity yang ada (beberapa opsi ini mungkin hanya terlihat setelah memperluas Advanced options):
    • Entities only (no synonyms)
    • Regexp entities
    • Automatically add entities
    • Fuzzy matching
    • Redact in log
    • Entity exclusions

Jika Anda membuat agen menggunakan API, bukan konsol, lihat jenis EntityType. Nama kolom API mirip dengan nama kolom konsol. Petunjuk di bawah menyoroti perbedaan penting antara konsol dan API.

Pilih protokol dan versi untuk referensi EntityType:

Protokol V3 V3beta1
REST Resource EntityType Resource EntityType
RPC Antarmuka EntityType Antarmuka EntityType
C++ EntityTypesClient Tidak tersedia
C# EntityTypesClient Tidak tersedia
Go EntityTypesClient Tidak tersedia
Java EntityTypesClient EntityTypesClient
Node.js EntityTypesClient EntityTypesClient
PHP Tidak tersedia Tidak tersedia
Python EntityTypesClient EntityTypesClient
Ruby Tidak tersedia Tidak tersedia

Entity peta

Entity peta menyediakan peta dari nilai referensi ke sinonim untuk setiap nilai referensi. Setiap entri entity peta berisi satu nilai referensi dan daftar sinonim. Secara opsional, Anda juga dapat menetapkan pola DTMF untuk setiap entity.

Misalnya, setiap baris berikut adalah entri entity untuk jenis entity size:

Entity Sinonim Pola DTMF
S S, small, tiny, little
M M, medium, average
L L, large, huge, big

Perhatikan bahwa nilai referensi disertakan dalam daftar sinonim untuk setiap entri entity di atas. Agar nilai referensi cocok, nilai tersebut harus disertakan sebagai sinonim. Saat Anda pertama kali memasukkan nilai referensi dengan konsol, nilai tersebut akan otomatis ditambahkan sebagai sinonim.

Jika salah satu sinonim cocok dengan bagian input pengguna akhir, nilai referensi terkait akan diekstrak untuk kecocokan dan digunakan untuk menyelesaikan nilai parameter terkait.

Nilai referensi dapat dihilangkan dari daftar sinonim. Artinya, nilai tersebut tidak cocok dengan bagian input pengguna akhir, tetapi digunakan sebagai nilai yang diekstrak saat salah satu sinonimnya cocok. Hal ini diinginkan saat Anda menggunakan string khusus untuk nilai referensi yang tidak diketik atau diucapkan oleh pengguna akhir.

Banyak entity sistem adalah entity peta. Misalnya, entity sistem @sys.date cocok dengan input tanggal umum seperti "1 Januari 2015" atau "1 Januari 2015". Kedua input tersebut dipetakan ke nilai referensi dalam format ISO-8601: "2015-01-01T12:00:00-03:00".

Untuk membuat entity peta:

  • Menggunakan konsol, hapus centang opsi Regexp entities dan hapus centang opsi Entities only.
  • Menggunakan API, tetapkan kolom EntityType.kind ke KIND_MAP.

Menggunakan pembuatan AI untuk membuat sinonim secara otomatis

Daripada memasukkan sinonim secara manual, Anda dapat menggunakan generator AI untuk membuat sinonim secara otomatis untuk nilai referensi Anda. Untuk melakukannya, centang kotak Auto-generate X syonyms per entity saat Anda membuat nilai referensi baru. Nilai default-nya adalah 3 sinonim. Membuat lebih dari 15 sinonim sekaligus dapat menyebabkan error. Sebagai praktik terbaik, pastikan untuk mengisi kolom Description jenis entity untuk membuat sinonim yang lebih akurat untuk nilai referensi Anda.

Untuk mengetahui informasi tentang penggunaan fitur ini untuk membuat dan menerjemahkan data secara otomatis untuk bahasa non-default, lihat dokumentasi agen multibahasa

Entity daftar

Entity daftar menyediakan daftar entri entity nilai tunggal. Entity ini tidak memiliki nilai referensi dan sinonim. Misalnya, setiap baris berikut adalah entri entity untuk jenis entity material:

Nilai
fabric
wood
metal

Jika ada nilai yang cocok dengan bagian input pengguna akhir, nilai tersebut akan diekstrak untuk kecocokan dan digunakan untuk menyelesaikan nilai parameter terkait.

Banyak entity sistem adalah entity daftar. Misalnya, entity sistem @sys.color cocok dengan input warna umum seperti "merah" atau "biru". Saat warna cocok, nilai yang diekstrak tidak dipetakan ke nilai referensi apa pun. Misalnya, warna merah, seperti "merah tua" atau "merah darah", tidak dipetakan ke "merah" dan diekstrak sebagai nilai aslinya "merah tua" dan "merah darah".

Untuk membuat entity daftar:

  • Menggunakan konsol, hapus centang opsi Regexp entities dan centang opsi Entities only.
  • Menggunakan API, tetapkan kolom EntityType.kind ke KIND_LIST.

Entity komposit

Entity komposit adalah jenis entity daftar khusus. Entri entity untuk entity daftar biasanya berisi kata atau frasa sederhana, tetapi juga dapat berisi jenis entity lain. Saat jenis entity direferensikan dalam jenis entity lain, referensi tersebut disebut alias. Saat entity daftar berisi alias ke jenis entity lain, entity tersebut disebut entity komposit.

Saat membuat alias, Anda memberikan nama jenis entity yang direferensikan dan nama properti pilihan Anda. Saat entity komposit cocok saat runtime, nilai yang diekstrak akan ditampilkan sebagai objek JSON, dengan nama properti alias yang digunakan sebagai nama properti JSON. Format untuk memasukkan alias adalah:

@entity-name:property-name

Misalnya, Anda dapat membuat jenis entity place yang cocok dengan kota atau negara bagian dengan entri entity berikut:

Nilai
@sys.geo-city:city
@sys.geo-state:state

Jika input pengguna akhir berisi bagian "Nashville", jenis entity place akan cocok. Nilai yang diekstrak akan ditampilkan sebagai: {"city": "Nashville"}.

Anda juga dapat menggunakan beberapa alias entity dalam entri entity. Pertimbangkan jenis entity kustom move berikut yang berisi alias ke jenis entity direction dan jenis entity sistem @sys.number:

Jenis entity peta kustom arah:

Nilai referensi Sinonim
forward forward, forwards
back back, backward, backwards

Jenis entity daftar kustom pindah:

Nilai
@sys.number:steps steps @direction:direction

Jika entity move cocok dengan input pengguna akhir yang berisi "five steps backward", entity move akan cocok. Nilai yang diekstrak akan ditampilkan sebagai: {"steps": 5, "direction": "back"}.

Banyak entity sistem adalah entity komposit. Misalnya, entity sistem @sys.unit-currency digunakan untuk mencocokkan jumlah uang dengan nama mata uang. Entity ini cocok dengan input pengguna akhir seperti "50 euro" atau "dua puluh dolar dan lima sen". Nilai yang diekstrak akan ditampilkan sebagai objek JSON seperti: {"amount": 50, "currency": "EUR"}

Entity Regexp

Dengan entity regexp, Anda dapat memberikan ekspresi reguler untuk pencocokan. Untuk mengetahui informasi selengkapnya, lihat Entity Regexp.

Untuk membuat entity regexp:

  • Menggunakan konsol, centang opsi Regexp entities.
  • Menggunakan API, tetapkan kolom EntityType.kind ke KIND_REGEXP.

Ekspansi otomatis (menambahkan entity secara otomatis)

Anda dapat mengaktifkan ekspansi otomatis untuk jenis entity kustom. Jika diaktifkan, agen Anda dapat mengenali nilai yang belum diberikan secara eksplisit. Misalnya, pertimbangkan jenis entity daftar belanja:

Nilai
bread
butter
milk
apple
ice cream

Jika input pengguna akhir adalah "I need to buy some carrots", "carrots" akan cocok untuk jenis entity ini, meskipun tidak disediakan. Agen mengenali bahwa "carrots" secara kontekstual mirip dengan nilai lainnya.

Anda harus mengikuti praktik terbaik saat mempertimbangkan ekspansi otomatis:

  • Mengaktifkan ekspansi otomatis tidak menjamin ekstraksi entity. Untuk daftar terbatas, Anda harus memberikan daftar lengkap, bukan memberikan daftar sebagian dan mengaktifkan ekspansi otomatis.
  • Jika Anda mengaktifkan ekspansi otomatis di lebih dari satu entity, hal ini dapat menyebabkan konflik dan hasil klasifikasi yang tidak terduga.
  • Untuk memastikan kualitas ekstraksi parameter yang lebih baik, penting untuk menyediakan data pelatihan yang beragam yang mencakup semua kasus penggunaan tempat entity tertentu dapat ditemukan dalam traffic agen yang diharapkan. Jika tidak ada cukup contoh, ekspansi entity otomatis mungkin tidak berfungsi seperti yang diharapkan.

Untuk mengaktifkan ekspansi otomatis:

  • Menggunakan konsol, centang opsi Automatically add entities.
  • Menggunakan API, tetapkan kolom EntityType.autoExpansionMode ke AUTO_EXPANSION_MODE_DEFAULT.

Pencocokan fuzzy

Anda dapat mengaktifkan pencocokan fuzzy untuk entity kustom. Dengan pencocokan fuzzy yang diaktifkan, urutan kata dalam nilai atau sinonim tidak menjadi masalah. Untuk mengetahui informasi selengkapnya, lihat Pencocokan fuzzy.

Untuk mengaktifkan pencocokan fuzzy:

  • Menggunakan konsol, centang opsi Fuzzy matching.
  • Menggunakan API, tetapkan kolom EntityType.enableFuzzyExtraction ke true.

Samarkan dalam log

Jika Anda mengaktifkan penyamarkan entity, semua nilai parameter yang diekstrak saat runtime untuk jenis entity akan disamarkan saat logging.

Sebagai alternatif, Anda dapat menyamarkan parameter satu per satu.

Pengecualian entity

Anda dapat menambahkan pengecualian entity, yang merupakan frasa yang tidak boleh cocok. Misalnya, jika Anda memiliki jenis entity ukuran dengan entity giant (kata sifat), Anda dapat mempertimbangkan untuk menambahkan giants (kata benda) sebagai pengecualian.