Saat melakukan permintaan intent deteksi, Anda dapat menyediakan konteks ucapan untuk memberikan petunjuk kepada pengenal ucapan secara opsional. Petunjuk ini dapat membantu mengenali dalam status percakapan tertentu.
Adaptasi ucapan otomatis
Fitur adaptasi ucapan otomatis meningkatkan akurasi pengenalan ucapan agen Anda dengan menggunakan status percakapan secara otomatis untuk meneruskan entitas dan frasa pelatihan yang relevan sebagai petunjuk konteks ucapan untuk semua permintaan intent deteksi. Fitur ini diaktifkan secara default.
Mengaktifkan atau menonaktifkan adaptasi ucapan otomatis
Untuk mengaktifkan atau menonaktifkan adaptasi ucapan otomatis:
- Buka Dialogflow ES Console
- Pilih agen Anda di dekat bagian atas menu sidebar kiri
- Klik tombol setelan settings di samping nama agen
- Pilih tab Ucapan
- Scroll ke bagian Tingkatkan Kualitas Pengenalan Ucapan
- Aktifkan atau nonaktifkan opsi Aktifkan Adaptasi Ucapan Otomatis
Desain agen untuk peningkatan pengenalan ucapan
Dengan mengaktifkan adaptasi ucapan otomatis, Anda dapat membuat agen dengan cara memanfaatkannya. Bagian berikut menjelaskan cara pengenalan ucapan dapat ditingkatkan dengan perubahan tertentu pada frasa pelatihan, konteks, dan entitas agen Anda.
Frasa dan konteks pelatihan
- Jika Anda mendefinisikan frasa latihan dengan frasa seperti "hidung sesak", ucapan pengguna akhir yang mirip dapat dikenali sebagai "hidung sesak" dan bukan "hal-hal yang dia tahu".
Saat sesi memiliki konteks aktif, adaptasi ucapan otomatis akan sebagian besar mencondongkan ke frasa pelatihan intent tempat semua konteks input aktif. Misalnya, dengan dua konteks aktif "bayar-tagihan" dan "konfirmasi", semua intent berikut akan memengaruhi adaptasi ucapan otomatis: intent dengan konteks input tunggal "bayar-tagihan", intent dengan satu konteks input "confirmation", dan intent dengan dua konteks input "bayar-tagihan" dan "konfirmasi".
Jika sesi tidak memiliki konteks aktif, adaptasi ucapan otomatis akan cenderung mencondongkan sebagian besar ke frasa latihan intent tanpa konteks input.
- Jika Anda memiliki parameter yang diperlukan yang memaksa Dialogflow ke kotak dialog pengisian slot, adaptasi ucapan otomatis akan sangat bias terhadap entity yang diisi.
Dalam semua kasus, adaptasi ucapan otomatis hanya membiaskan pengenalan ucapan, bukan membatasinya. Misalnya, meskipun Dialogflow meminta pengguna untuk memberikan parameter yang diperlukan, pengguna masih dapat memicu intent lain seperti intent "talk to an agent" tingkat atas.
Entitas sistem
Jika Anda mendefinisikan frasa pelatihan yang menggunakan entitas sistem @sys.number
, dan pengguna akhir mengatakan "I want two", ini mungkin akan dikenali sebagai "to", "too", "2", atau "two".
Dengan mengaktifkan adaptasi ucapan otomatis, Dialogflow akan menggunakan entity @sys.number
sebagai
petunjuk selama pengenalan ucapan, dan parameter lebih mungkin
diekstrak sebagai "2".
Entitas kustom
Jika Anda menentukan entitas kustom untuk nama produk atau layanan yang ditawarkan oleh perusahaan Anda, dan pengguna akhir menyebutkannya dalam ucapan, istilah tersebut akan lebih mungkin dikenali. Frasa pelatihan "I love Dialogflow", di mana "Dialogflow" dianotasikan sebagai entitas @product, akan menyampaikan adaptasi ucapan otomatis terhadap bias untuk "I love Dialogflow", "I love Cloud Speech", dan semua entri lainnya dalam entity @product.
Sangat penting untuk menentukan sinonim entitas yang bersih saat menggunakan Dialogflow untuk mendeteksi ucapan. Bayangkan Anda memiliki dua entri entitas @product, "Dialogflow" dan "Dataflow". Sinonim Anda untuk "Dialogflow" mungkin adalah "Dialogflow", "dialogue flow", "dialogue builder", "Speaktoit", "speak to it", "API.ai", "API dot AI". Sinonim ini adalah sinonim yang baik karena mencakup variasi yang paling umum. Anda tidak perlu menambahkan "builder alur dialog" karena "alur dialog" sudah membahasnya.
- Ucapan pengguna dengan entitas angka yang berurutan tetapi berbeda bisa jadi ambigu.
Misalnya, "Saya ingin dua enam belas paket" dapat berarti 2 jumlah dari 16 paket,
atau 216 jumlah paket. Adaptasi ucapan dapat membantu membedakan kasus-kasus ini
jika Anda menyiapkan entity dengan nilai yang ejaannya:
- Tentukan entity
quantity
dengan entri:zero
one
...
twenty
- Tentukan entity
product
atausize
dengan entri:sixteen pack
two ounce
...
five liter
- Hanya sinonim entity yang digunakan dalam adaptasi ucapan, sehingga Anda dapat menentukan
entity dengan nilai referensi
1
dan sinonim tunggalone
untuk menyederhanakan logika fulfillment Anda.
- Tentukan entity
Entitas ekspresi reguler
Entity Regexp dapat memicu adaptasi ucapan otomatis untuk urutan alfanumerik dan digit seperti "ABC123" atau "12345" saat dikonfigurasi dan diuji dengan benar.Untuk mengenali urutan ini melalui suara, terapkan keempat persyaratan di bawah ini:
1. Persyaratan entri ekspresi reguler
Meskipun ekspresi reguler dapat digunakan untuk mengekstrak entity dari input teks, hanya ekspresi tertentu yang akan memberi tahu adaptasi ucapan otomatis agar bias untuk urutan alfanumerik atau digit yang dieja saat mengenali ucapan.
Dalam entitas ekspresi reguler, setidaknya satu entri harus mengikuti semua aturan berikut:
- Harus cocok dengan beberapa karakter alfanumerik, misalnya:
\d
,\w
,[a-zA-Z0-9]
- Tidak boleh berisi spasi kosong
\s
, meskipun\s*
dan\s?
diizinkan - Tidak boleh berisi grup tangkapan atau non-tangkap
()
- Tidak boleh mencoba mencocokkan karakter khusus atau tanda baca seperti:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Entri ini dapat memiliki himpunan karakter []
dan
penghitung pengulangan seperti *
, ?
, +
, {3,5}
.
Lihat Contoh.
2. Persyaratan definisi parameter
Tandai entity regexp sebagai parameter intent yang diperlukan, sehingga dapat dikumpulkan selama pengisian slot. Hal ini memungkinkan adaptasi ucapan otomatis agar sangat bias untuk pengenalan urutan, bukan mencoba mengenali intent dan urutan secara bersamaan. Jika tidak, "Where is my package for ABC123" mungkin salah dikenali sebagai "Where is my package 4ABC123".
3. Persyaratan anotasi frasa pelatihan
Jangan gunakan entity regexp untuk anotasi frasa pelatihan intent. Hal ini memastikan bahwa parameter diselesaikan sebagai bagian dari pengisian slot.
4. Persyaratan pengujian
Baca artikel Menguji adaptasi ucapan.
Contoh
Misalnya, entity regexp dengan satu entri ([a-zA-Z0-9]\s?){5,9}
tidak akan
memicu pengenal urutan ucapan karena berisi grup tangkapan.
Untuk memperbaikinya, cukup tambahkan entri lain untuk [a-zA-Z0-9]{5,9}
. Sekarang Anda akan mendapatkan manfaat dari pengenal urutan saat mencocokkan "ABC123", tetapi NLU akan tetap cocok dengan input seperti "ABC 123" berkat aturan asli yang mengizinkan spasi.
Contoh ekspresi reguler berikut disesuaikan untuk urutan alfanumerik:
^[A-Za-z0-9]{1,10}$ WAC\d+ 215[2-8]{3}[A-Z]+ [a-zA-Z]\s?[a-zA-Z]\s?[0-9]\s?[0-9]\s?[0-9]\s?[a-zA-Z]\s?[a-zA-Z]
Contoh ekspresi reguler berikut beradaptasi untuk urutan digit:
\d{2,8} ^[0-9]+$ 2[0-9]{7} [2-9]\d{2}[0-8]{3}\d{4}
Solusi Regexp
Dukungan bawaan adaptasi ucapan otomatis untuk entitas regexp bervariasi menurut bahasa.
Periksa Token class Speech untuk mengetahui bahasa yang didukung $OOV_CLASS_ALPHANUMERIC_SEQUENCE
dan $OOV_CLASS_DIGIT_SEQUENCE
.
Jika bahasa Anda tidak tercantum, Anda dapat mengatasi keterbatasan ini. Misalnya, jika Anda ingin ID karyawan yang terdiri dari tiga huruf diikuti dengan tiga digit dapat dikenali secara akurat, Anda dapat membuat agen dengan entitas dan parameter berikut:
- Tentukan entity
digit
yang berisi 10 entri entity (dengan sinonim):0, 0
1, 1
...
9, 9
- Tentukan entity
letter
yang berisi 26 entri entity (dengan sinonim):A, A
B, B
...
Z, Z
- Tentukan entity
employee-id
yang berisi satu entri entity (tanpa sinonim):@letter @letter @letter @digit @digit @digit
- Gunakan
@employee-id
sebagai parameter dalam frasa pelatihan.
Menguji adaptasi ucapan
Saat menguji kemampuan adaptasi ucapan agen untuk pencocokan frasa pelatihan atau entity tertentu, Anda tidak boleh langsung menguji kecocokan dengan ucapan suara pertama dari percakapan. Anda hanya boleh menggunakan input suara atau peristiwa untuk seluruh percakapan sebelum pencocokan yang ingin diuji. Saat diuji dengan cara ini, perilaku agen Anda akan serupa dengan perilaku dalam percakapan produksi yang sebenarnya.
Batasan
Batasan berikut berlaku:
- Adaptasi ucapan tidak tersedia untuk semua model ucapan dan kombinasi bahasa. Lihat halaman dukungan bahasa Cloud Speech untuk memverifikasi apakah "adaptasi model" tersedia untuk model ucapan dan kombinasi bahasa Anda.
- Adaptasi ucapan otomatis tidak berfungsi untuk Actions on Google (Asisten Google), karena pengenalan ucapan dilakukan oleh Actions on Google sebelum mengirim data ke Dialogflow.
- Mengenali urutan karakter yang panjang menantang. Jumlah
karakter yang ditangkap dalam satu putaran terkait langsung
dengan kualitas audio input Anda.
Misalnya, jika integrasi Anda beroperasi pada audio panggilan telepon, Anda harus mengaktifkan model ucapan yang ditingkatkan agar dengan andal mengenali urutan alfanumerik yang lebih dari empat atau lima karakter, atau urutan digit yang lebih dari 10 karakter.
Jika Anda telah mengikuti semua pedoman entitas regexp
dan masih kesulitan menangkap seluruh urutan dalam satu kesempatan,
Anda dapat mempertimbangkan beberapa alternatif yang lebih interaktif:
- Saat memvalidasi urutan terhadap database, sebaiknya lakukan referensi silang parameter lain yang dikumpulkan, seperti tanggal, nama, atau nomor telepon untuk memungkinkan kecocokan yang tidak lengkap. Misalnya, alih-alih hanya meminta nomor pesanan dari pengguna, mintalah nomor telepon mereka juga. Sekarang, saat melakukan kueri database untuk status pesanan, webhook dapat mengandalkan nomor telepon terlebih dahulu, lalu menampilkan urutan yang paling cocok untuk akun tersebut. Hal ini dapat memungkinkan Dialogflow salah mendengar "ABC" sebagai "AVC", tetapi masih menampilkan status pesanan yang benar untuk pengguna.
- Untuk urutan yang sangat panjang, sebaiknya desain flow yang mendorong pengguna akhir untuk berhenti sejenak di tengah agar bot dapat mengonfirmasi selama Anda menjalankannya. Baca tutorial ini untuk mengetahui detail selengkapnya.