Saat melakukan permintaan deteksi maksud, Anda dapat secara opsional memberikan konteks ucapan untuk memberikan petunjuk kepada pengenal ucapan. Petunjuk ini dapat membantu pengenalan dalam status percakapan tertentu.
Adaptasi ucapan otomatis
Fitur adaptasi ucapan otomatis meningkatkan akurasi pengenalan ucapan agen Anda dengan otomatis menggunakan status percakapan untuk meneruskan frasa pelatihan dan entity yang relevan sebagai petunjuk konteks ucapan untuk semua permintaan deteksi maksud. Fitur ini diaktifkan secara default.
Mengaktifkan atau menonaktifkan adaptasi ucapan otomatis
Untuk mengaktifkan atau menonaktifkan adaptasi ucapan otomatis:
- Buka konsol Dialogflow ES
- Pilih agen Anda di dekat bagian atas menu sidebar kiri
- Klik tombol setelan settings di samping nama agen
- Pilih tab Speech.
- Scroll ke bagian Tingkatkan Kualitas Pengenalan Ucapan
- Aktifkan atau nonaktifkan Aktifkan Adaptasi Ucapan Otomatis
Desain agen untuk peningkatan pengenalan ucapan
Dengan mengaktifkan adaptasi ucapan otomatis, Anda dapat membangun agen dengan cara yang memanfaatkannya. Bagian berikut menjelaskan cara meningkatkan kualitas pengenalan ucapan dengan melakukan perubahan tertentu pada frasa pelatihan, konteks, dan entitas agen Anda.
Frasa dan konteks pelatihan
- Jika Anda menentukan frasa pelatihan dengan frasa seperti "hidung tersumbat", ucapan pengguna akhir yang terdengar serupa akan dikenali secara andal sebagai "hidung tersumbat", bukan "stuff he knows".
Jika sesi memiliki konteks aktif, adaptasi ucapan otomatis akan cenderung menggunakan frasa pelatihan intent yang semua konteks inputnya aktif. Misalnya, dengan dua konteks aktif "pay-bill" dan "confirmation", semua maksud berikut akan memengaruhi adaptasi ucapan otomatis: maksud dengan satu konteks input "pay-bill", maksud dengan satu konteks input "confirmation", dan maksud dengan dua konteks input "pay-bill" dan "confirmation".
Jika sesi tidak memiliki konteks aktif, adaptasi ucapan otomatis akan cenderung menggunakan frasa pelatihan intent tanpa konteks input.
- Jika Anda memiliki parameter wajib yang memaksa Dialogflow untuk mengisi slot perintah, adaptasi ucapan otomatis akan sangat cenderung ke entitas yang diisi.
Dalam semua kasus, adaptasi ucapan otomatis hanya memengaruhi pengenalan ucapan, bukan membatasinya. Misalnya, meskipun Dialogflow meminta parameter yang diperlukan kepada pengguna, pengguna tetap dapat memicu intent lain seperti intent "bicara dengan agen" tingkat teratas.
Entity sistem
Jika Anda menentukan frasa pelatihan yang menggunakan @sys.number
entitas sistem
,
dan pengguna akhir mengatakan "Saya mau dua",
frasa tersebut dapat dikenali sebagai "dua", "2", "dua", atau "dua".
Dengan adaptasi ucapan otomatis diaktifkan, Dialogflow menggunakan entity @sys.number sebagai
petunjuk selama pengenalan ucapan, dan parameter lebih mungkin
diekstrak sebagai "2".
Entity kustom
Jika Anda menentukan entitas kustom untuk nama produk atau layanan yang ditawarkan oleh perusahaan Anda, dan pengguna akhir menyebutkan istilah ini dalam ucapan, istilah tersebut lebih mungkin dikenali. Frasa pelatihan "Saya suka Dialogflow", dengan "Dialogflow" dianotasi sebagai entity @product, akan memberi tahu adaptasi ucapan otomatis untuk memilih "Saya suka Dialogflow", "Saya suka 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, yaitu "Dialogflow" dan "Dataflow". Sinonim untuk "Dialogflow" mungkin adalah "Dialogflow", "alur dialog", "pembuat dialog", "Speaktoit", "speak to it", "API.ai", "API dot AI". Sinonim ini bagus karena mencakup variasi yang paling umum. Anda tidak perlu menambahkan "the dialogue flow builder" karena "dialogue flow" sudah mencakupnya.
- Ucapan pengguna dengan entitas angka yang berurutan tetapi berbeda dapat menimbulkan ambiguitas.
Misalnya, "Saya ingin dua paket enam belas" dapat berarti 2 jumlah paket 16,
atau 216 jumlah paket. Adaptasi ucapan dapat membantu memperjelas kasus ini jika Anda menyiapkan entitas dengan nilai yang dieja:
- Tentukan entitas
quantitydengan entri:zeroone...twenty - Tentukan entity
productatausizedengan entri:sixteen packtwo ounce...five liter - Hanya sinonim entitas yang digunakan dalam adaptasi ucapan, sehingga Anda dapat menentukan entitas dengan nilai referensi
1dan satu sinonimoneuntuk menyederhanakan logika pemenuhan Anda.
- Tentukan entitas
Entity Regexp
Entitas ekspresi reguler dapat memicu adaptasi ucapan otomatis untuk urutan alfanumerik dan digit seperti "ABC123" atau "12345" jika dikonfigurasi dan diuji dengan benar.Untuk mengenali urutan ini melalui suara, terapkan keempat persyaratan di bawah:
1. Persyaratan entri ekspresi reguler
Meskipun ekspresi reguler apa pun dapat digunakan untuk mengekstrak entitas dari input teks, hanya ekspresi tertentu yang akan memberi tahu adaptasi ucapan otomatis untuk memberikan bias pada 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
atau\s, meskipun\s*dan\s?diizinkan - Tidak boleh berisi grup pengambilan atau non-pengambilan
() - Tidak boleh mencoba mencocokkan karakter khusus atau tanda baca seperti:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Entri ini dapat memiliki set karakter []
dan pengukur 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 sangat condong ke pengenalan urutan, bukan mencoba mengenali maksud dan urutan secara bersamaan. Jika tidak, "Di mana paket saya untuk ABC123" mungkin salah dikenali sebagai "Di mana paket saya 4ABC123".
3. Persyaratan anotasi frasa pelatihan
Jangan gunakan entitas ekspresi reguler untuk anotasi frasa pelatihan maksud. Hal ini memastikan bahwa parameter diselesaikan sebagai bagian dari pengisian slot.
4. Persyaratan pengujian
Lihat Menguji adaptasi ucapan.
Contoh
Misalnya, entitas 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 mencocokkan input seperti "ABC 123" berkat aturan
asli yang memungkinkan adanya 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 disesuaikan 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 ekspresi reguler bervariasi menurut bahasa.
Periksa Token class ucapan
untuk bahasa yang didukung $OOV_CLASS_ALPHANUMERIC_SEQUENCE dan $OOV_CLASS_DIGIT_SEQUENCE.
Jika bahasa Anda tidak tercantum, Anda dapat mengatasi batasan ini. Misalnya, jika Anda ingin ID karyawan yang terdiri dari tiga huruf diikuti dengan tiga digit dikenali secara akurat, Anda dapat membuat agen dengan entity dan parameter berikut:
- Tentukan entity
digityang berisi 10 entri entity (dengan sinonim):0, 01, 1...9, 9 - Tentukan entitas
letteryang berisi 26 entri entitas (dengan sinonim):A, AB, B...Z, Z - Tentukan entity
employee-idyang berisi satu entri entity (tanpa sinonim):@letter @letter @letter @digit @digit @digit - Gunakan
@employee-idsebagai parameter dalam frasa pelatihan.
Menguji adaptasi ucapan
Saat menguji kemampuan adaptasi ucapan agen Anda untuk frasa pelatihan atau kecocokan entity tertentu, Anda tidak boleh langsung menguji kecocokan dengan ucapan suara pertama dalam percakapan. Anda hanya boleh menggunakan input suara atau peristiwa untuk seluruh percakapan sebelum kecocokan yang ingin Anda uji. Perilaku agen Anda saat diuji dengan cara ini akan serupa dengan perilaku dalam percakapan produksi sebenarnya.
Batasan
Batasan berikut berlaku:
- Adaptasi ucapan tidak tersedia untuk semua kombinasi bahasa dan model ucapan. Lihat halaman dukungan bahasa Cloud Speech-to-Text untuk memverifikasi apakah "adaptasi model" tersedia untuk kombinasi model ucapan dan 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 merupakan tantangan. Jumlah karakter yang direkam dalam satu giliran terkait langsung dengan kualitas audio input Anda.
Misalnya, jika integrasi Anda beroperasi pada audio panggilan telepon, Anda perlu
mengaktifkan model ucapan yang ditingkatkan agar dapat
mengenali urutan alfanumerik yang lebih panjang dari empat atau lima
karakter, atau urutan digit yang lebih panjang dari 10 karakter secara andal.
Jika Anda telah mengikuti semua pedoman entity ekspresi reguler
dan masih kesulitan menangkap seluruh urutan dalam satu giliran,
Anda dapat mempertimbangkan beberapa alternatif yang lebih bersifat percakapan:
- Saat memvalidasi urutan terhadap database, pertimbangkan untuk melakukan referensi silang terhadap parameter lain yang dikumpulkan seperti tanggal, nama, atau nomor telepon untuk memungkinkan kecocokan yang tidak lengkap. Misalnya, selain hanya meminta nomor pesanan pengguna, minta juga nomor teleponnya. Sekarang, saat webhook Anda mengkueri database untuk status pesanan, webhook tersebut dapat mengandalkan nomor telepon terlebih dahulu, lalu menampilkan pesanan yang paling cocok untuk akun tersebut. Hal ini dapat menyebabkan Dialogflow salah mendengar "ABC" sebagai "AVC", tetapi tetap menampilkan status pesanan yang benar untuk pengguna.
- Untuk urutan yang sangat panjang, pertimbangkan untuk mendesain alur yang mendorong pengguna akhir untuk menjeda di tengah sehingga bot dapat mengonfirmasi saat Anda melanjutkan. Baca tutorial ini untuk mengetahui detail selengkapnya.