Saat melakukan permintaan deteksi intent, 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 entitas yang relevan dan frasa pelatihan sebagai petunjuk konteks ucapan untuk semua permintaan deteksi intent. 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 Meningkatkan Kualitas Pengenalan Ucapan
- Aktifkan atau nonaktifkan Aktifkan Adaptasi Ucapan Otomatis
Desain agen untuk peningkatan pengenalan ucapan
Dengan mengaktifkan adaptasi ucapan otomatis, Anda dapat membuat agen dengan cara untuk memanfaatkannya. Bagian berikut menjelaskan cara pengenalan ucapan dapat ditingkatkan dengan perubahan tertentu pada frasa, konteks, dan entitas pelatihan agen Anda.
Frasa dan konteks pelatihan
- Jika Anda menentukan frasa pelatihan dengan frasa seperti "hidung tersumbat", ucapan pengguna akhir yang terdengar serupa akan dikenali dengan andal sebagai "hidung tersumbat", bukan "hal yang dia ketahui".
Jika sesi memiliki konteks aktif, adaptasi ucapan otomatis akan paling banyak membiaskan frasa pelatihan intent dengan semua konteks input aktif. Misalnya, dengan dua konteks aktif "pay-bill" dan "confirmation", semua intent berikut akan memengaruhi adaptasi ucapan otomatis: intent dengan satu konteks input "pay-bill", intent dengan satu konteks input "confirmation", dan intent dengan dua konteks input "pay-bill" dan "confirmation".
Jika sesi tidak memiliki konteks aktif, adaptasi ucapan otomatis akan paling banyak membiaskan frasa pelatihan intent tanpa konteks input.
- Jika Anda memiliki parameter yang diperlukan yang memaksa Dialogflow ke perintah mengisi slot, adaptasi ucapan otomatis akan sangat bias terhadap entitas yang diisi.
Dalam semua kasus, adaptasi ucapan otomatis hanya membiaskan pengenalan ucapan, bukan membatasinya. Misalnya, meskipun Dialogflow meminta parameter yang diperlukan kepada pengguna, pengguna masih dapat memicu intent lain seperti intent "berbicara dengan agen" tingkat atas.
Entity sistem
Jika Anda menentukan frasa pelatihan yang menggunakan entitas sistem
@sys.number
,
dan pengguna akhir mengucapkan "Saya ingin dua",
frasa tersebut dapat dikenali sebagai "to", "too", "2", atau "two".
Dengan mengaktifkan adaptasi ucapan otomatis, Dialogflow menggunakan entity @sys.number
sebagai
petunjuk selama pengenalan ucapan, dan parameter tersebut lebih cenderung
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 entitas @product, akan memberi tahu adaptasi ucapan otomatis untuk memiliki bias terhadap "Saya suka Dialogflow", "Saya suka Cloud Speech", dan semua entri lainnya dalam entitas @product.
Sangat penting untuk menentukan sinonim entitas yang bersih saat menggunakan Dialogflow untuk mendeteksi ucapan. Bayangkan Anda memiliki dua entri entity @product, "Dialogflow" dan "Dataflow". Sinonim Anda untuk "Dialogflow" mungkin adalah "Dialogflow", "alur dialog", "pembuat dialog", "Speaktoit", "speak to it", "API.ai", "API dot AI". Ini adalah sinonim yang baik karena mencakup variasi yang paling umum. Anda tidak perlu menambahkan "builder alur dialog" karena "alur dialog" sudah mencakupnya.
- Ucapan pengguna dengan entitas angka berurutan tetapi berbeda dapat menjadi ambigu.
Misalnya, "Saya ingin dua paket enam belas" mungkin berarti 2 jumlah paket 16,
atau 216 jumlah paket. Adaptasi ucapan dapat membantu membedakan kasus
ini jika Anda menyiapkan entity dengan nilai yang dieja:
- Tentukan entitas
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.
- Tentukan entitas
Entity Regexp
Entitas ekspresi reguler dapat memicu adaptasi ucapan otomatis untuk urutan alfanumerik dan angka seperti "ABC123" atau "12345" saat dikonfigurasi dan diuji dengan benar.Untuk mengenali urutan ini melalui suara, terapkan keempat persyaratan di bawah:
1. Persyaratan entri Regexp
Meskipun ekspresi reguler apa pun dapat digunakan untuk mengekstrak entitas dari input teks, hanya ekspresi tertentu yang akan memberi tahu adaptasi ucapan otomatis untuk memiringkan urutan alfanumerik atau angka yang dieja saat mengenali ucapan.
Dalam entitas regexp, 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 pengambilan atau non-pengambilan
()
- Sebaiknya jangan mencoba mencocokkan karakter khusus atau tanda baca seperti:
` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Entri ini dapat memiliki kumpulan 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 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 entitas regexp untuk anotasi frasa pelatihan intent. Hal ini memastikan bahwa parameter di-resolve sebagai bagian dari pengisian slot.
4. Persyaratan pengujian
Lihat Menguji adaptasi ucapan.
Contoh
Misalnya, entitas ekspresi reguler 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 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 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 entity regexp 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 entitas dan parameter berikut:
- Tentukan entitas
digit
yang berisi 10 entri entitas (dengan sinonim):0, 0
1, 1
...
9, 9
- Tentukan entitas
letter
yang berisi 26 entri entitas (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 pencocokan dengan ucapan suara pertama dari percakapan. Anda hanya boleh menggunakan input suara atau peristiwa untuk seluruh percakapan sebelum pencocokan yang ingin diuji. Perilaku agen Anda saat diuji dengan cara ini akan mirip 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 Ucapan Cloud 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.
- Mengidentifikasi urutan karakter yang panjang merupakan hal yang sulit. 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 untuk mengenali urutan alfanumerik yang lebih panjang dari empat atau lima karakter, atau urutan angka yang lebih panjang dari 10 karakter dengan andal.
Jika telah mengikuti semua panduan entity regexp
dan masih kesulitan untuk menangkap seluruh urutan dalam satu giliran,
Anda dapat mempertimbangkan beberapa alternatif percakapan lainnya:
- Saat memvalidasi urutan terhadap database, pertimbangkan untuk melakukan referensi silang terhadap parameter lain yang dikumpulkan seperti tanggal, nama, atau nomor telepon untuk memungkinkan pencocokan yang tidak lengkap. Misalnya, jangan hanya meminta nomor pesanan pengguna, tetapi minta juga nomor teleponnya. Sekarang, saat membuat kueri database untuk status pesanan, webhook dapat mengandalkan nomor telepon terlebih dahulu, lalu menampilkan pesanan yang paling cocok untuk akun tersebut. Hal ini dapat memungkinkan 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-tengah sehingga bot dapat mengonfirmasi saat Anda melanjutkan. Baca tutorial ini untuk mengetahui detail selengkapnya.