Opsi entity

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

Ada juga dua opsi yang tidak menentukan jenis entitas, tetapi memengaruhi perilaku pencocokan entitas:

Dokumen ini menjelaskan setiap opsi tersebut.

Tempat menemukan data ini

Saat membangun agen, biasanya digunakan konsol Dialogflow ES (kunjungi dokumentasi, buka konsol). Petunjuk di bawah berfokus pada penggunaan konsol. Untuk mengakses data opsi entitas:

  1. Buka konsol Dialogflow ES.
  2. Pilih agen.
  3. Pilih Entitas di menu sidebar kiri.
  4. Pilih tab Kustom untuk entitas kustom yang ditentukan untuk agen Anda atau tab Sistem untuk entitas sistem yang digunakan oleh agen Anda.
  5. Lihat opsi kotak centang berikut untuk entitas yang ada:
    • Menentukan sinonim
    • Entity ekspresi reguler (khusus entity kustom)
    • Izinkan perluasan otomatis (khusus entity kustom)
    • Pencocokan fuzzy (khusus entity kustom)

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

Entitas peta

Memetakan entity menyediakan peta dari nilai referensi ke sinonim untuk setiap nilai referensi. Setiap entri entitas peta berisi satu nilai referensi dan daftar sinonim. Misalnya, setiap baris berikut adalah entri entity untuk jenis entity size:

Nilai referensi Sinonim
S S, kecil, sangat kecil, sedikit
M M, sedang, rata-rata
L L, besar, sangat besar, besar

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

Jika ada sinonim yang cocok untuk bagian ekspresi pengguna akhir, nilai referensi terkait diekstrak untuk kecocokan dan digunakan untuk menyelesaikan nilai parameter terkait.

Nilai referensi dapat dihilangkan dari daftar sinonim. Ini hanya berarti bahwa bagian ekspresi pengguna akhir tidak cocok, 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 entitas sistem adalah entitas peta. Misalnya, entity sistem @sys.date cocok dengan input tanggal umum seperti "1 Januari 2015" atau "Satu Januari 2015". Kedua input tersebut dipetakan ke nilai referensi dalam format ISO-8601: "2015-01-01T12:00:00-03:00".

Untuk membuat entitas peta:

  • Menggunakan konsol, hapus centang pada opsi Entitas ekspresi reguler dan centang opsi Tentukan sinonim.
  • Dengan menggunakan API, tetapkan kolom kind EntityType ke KIND_MAP.

Entitas daftar

List entities menyediakan daftar entri entity nilai tunggal. Tidak memiliki nilai referensi dan sinonim. Misalnya, setiap baris berikut adalah entri entity untuk jenis entity material:

Nilai
fabric
kayu
logam

Jika ada nilai yang cocok untuk bagian ekspresi pengguna akhir, nilai tersebut diekstrak untuk pencocokan dan digunakan untuk menyelesaikan nilai parameter terkait.

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

Untuk membuat entity daftar:

  • Menggunakan konsol, hapus centang pada opsi Regexp entity dan hapus centang pada opsi Define synonyms.
  • Dengan menggunakan API, tetapkan kolom kind EntityType ke KIND_LIST.

Entity gabungan

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

Saat membuat alias, Anda memberikan nama jenis entity yang dirujuk dan nama properti pilihan Anda. Saat entity komposit dicocokkan saat runtime, nilai yang diekstrak 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 ekspresi pengguna akhir berisi bagian "Nashville", jenis entity place akan dicocokkan. Nilai yang diekstrak ditampilkan sebagai: {"city": "Nashville"}.

Anda juga dapat menggunakan beberapa alias entitas dalam entri entitas. 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
teruskan maju, maju
kembali kembali, mundur

Memindahkan jenis entitas daftar kustom:

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

Jika entitas move cocok dengan ekspresi pengguna akhir yang berisi "lima langkah mundur", entitas move akan cocok. Nilai yang diekstrak 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. String ini cocok dengan ekspresi pengguna akhir seperti "50 euro" atau "twenty dollars and five cents". Nilai yang diekstrak ditampilkan sebagai objek JSON seperti: {"amount": 50, "currency": "EUR"}

Entitas Regexp

Dengan entitas ekspresi reguler, Anda dapat memberikan ekspresi reguler untuk pencocokan. Untuk mengetahui informasi selengkapnya, lihat Entitas ekspresi reguler.

Untuk membuat entity ekspresi reguler:

  • Menggunakan konsol, centang opsi Regexp entity.
  • Dengan menggunakan API, tetapkan kolom kind EntityType ke KIND_REGEXP.

Perluasan otomatis

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

Nilai
roti
butter
susu
apel
es krim

Jika ekspresi pengguna akhir adalah "Saya perlu membeli wortel", "wortel" akan dicocokkan untuk jenis entity ini, meskipun tidak disediakan. Agen mengenali bahwa "wortel" secara kontekstual serupa dengan nilai lainnya.

Anda harus mengikuti praktik terbaik saat mempertimbangkan perluasan otomatis:

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

Untuk mengaktifkan perluasan otomatis:

  • Menggunakan konsol, centang opsi Izinkan perluasan otomatis.
  • Dengan menggunakan API, tetapkan kolom autoExpansionMode EntityType ke AUTO_EXPANSION_MODE_DEFAULT.

Pencocokan fuzzy

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

Untuk mengaktifkan pencocokan tidak persis:

  • Menggunakan konsol, periksa opsi Pencocokan fuzzy.
  • Dengan menggunakan API, tetapkan kolom enableFuzzyExtraction EntityType ke true.