Adaptasi ucapan

Saat melakukan permintaan deteksi intent, Anda dapat memberikan konteks ucapan secara opsional 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 entity dan frasa pelatihan yang relevan 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:

  1. Buka konsol Dialogflow ES
  2. Pilih agen Anda di dekat bagian atas menu sidebar kiri
  3. Klik tombol setelan di samping nama agen
  4. Pilih tab Speech
  5. Scroll ke bagian Tingkatkan Kualitas Pengenalan Ucapan
  6. 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 memanfaatkan fitur ini. Bagian berikut menjelaskan cara meningkatkan pengenalan ucapan dengan perubahan tertentu pada frasa pelatihan, konteks, dan entity agen Anda.

Frasa dan konteks pelatihan

  • Jika Anda menentukan frasa pelatihan dengan frasa seperti "hidung tersumbat", ucapan pengguna akhir yang terdengar mirip akan dikenali dengan andal sebagai "hidung tersumbat" dan bukan "stuff he knows".
  • Jika sesi memiliki konteks aktif, adaptasi ucapan otomatis akan memberikan bias terbesar pada frasa pelatihan intent yang semua konteks inputnya 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 condong ke frasa pelatihan intent tanpa konteks input.

  • Jika Anda memiliki parameter wajib yang memaksa Dialogflow masuk ke perintah pengisian slot, adaptasi ucapan otomatis akan sangat condong ke entity yang sedang diisi.

Dalam semua kasus, adaptasi ucapan otomatis hanya membiaskan pengenalan ucapan, bukan membatasinya. Misalnya, meskipun Dialogflow meminta parameter yang diperlukan kepada pengguna, pengguna tetap 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 mengatakan "I want two", 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 entity kustom untuk nama produk atau layanan yang ditawarkan oleh perusahaan Anda, dan pengguna akhir menyebutkan istilah ini dalam suatu utterance, istilah tersebut akan lebih mungkin dikenali. Frasa pelatihan "Saya suka Dialogflow", dengan "Dialogflow" dianotasikan sebagai entity @product, akan memberi tahu adaptasi ucapan otomatis untuk membiaskan "Saya suka Dialogflow", "Saya suka Cloud Speech", dan semua entri lainnya dalam entity @product.

  • Sangat penting untuk menentukan sinonim entity 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", "dialogue flow", "dialogue builder", "Speaktoit", "speak to it", "API.ai", "API dot AI". Ini adalah sinonim yang baik 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 bersifat ambigu. Misalnya, "Saya ingin dua paket isi enam belas" dapat berarti 2 jumlah paket isi 16, atau 216 jumlah paket. Adaptasi ucapan dapat membantu memperjelas kasus ini jika Anda menyiapkan entity dengan nilai yang dieja:
    • Tentukan entity quantity dengan entri:
      zero
      one
      ...
      twenty
    • Tentukan entity product atau size 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 tunggal one untuk menyederhanakan logika fulfillment Anda.

Entity Regexp

Entity 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 entity dari input teks, hanya ekspresi tertentu yang akan memberi tahu adaptasi ucapan otomatis agar bias terhadap urutan alfanumerik atau digit yang dieja saat mengenali ucapan.

Dalam entity 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 tangkapan atau non-tangkapan ()
  • Tidak boleh mencoba mencocokkan karakter khusus atau tanda baca seperti: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |

Entri ini dapat memiliki himpunan karakter [] dan pengukur pengulangan seperti *, ?, +, {3,5}.

Lihat Contoh.

2. Persyaratan definisi parameter

Tandai entity ekspresi reguler sebagai parameter intent yang diperlukan, sehingga dapat dikumpulkan selama pengisian slot. Hal ini memungkinkan adaptasi ucapan otomatis untuk sangat bias terhadap pengenalan urutan, alih-alih 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 entity ekspresi reguler 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, entity 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 memperoleh 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 ekspresi reguler

Dukungan bawaan adaptasi ucapan otomatis untuk entity 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 membangun agen dengan entity 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 Anda untuk frasa pelatihan atau pencocokan entity tertentu, Anda tidak boleh langsung menguji pencocokan dengan ucapan suara pertama dalam percakapan. Anda hanya boleh menggunakan input suara atau peristiwa untuk seluruh percakapan sebelum pencocokan yang ingin Anda uji. 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 Cloud Speech untuk memastikan 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 diambil dalam satu giliran terkait langsung dengan kualitas audio input Anda. Misalnya, jika integrasi Anda beroperasi pada audio panggilan telepon, Anda harus mengaktifkan model ucapan yang ditingkatkan untuk mengenali urutan alfanumerik yang lebih panjang dari empat atau lima karakter, atau urutan digit yang lebih panjang dari 10 karakter. Jika Anda telah mengikuti semua panduan 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 parameter lain yang dikumpulkan seperti tanggal, nama, atau nomor telepon untuk memungkinkan kecocokan yang tidak lengkap. Misalnya, selain meminta nomor pesanan pengguna, minta juga nomor teleponnya. Sekarang, saat webhook mengkueri database Anda untuk mengetahui status pesanan, webhook 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-tengah sehingga bot dapat mengonfirmasi saat Anda melanjutkan. Baca tutorial ini untuk mengetahui detail selengkapnya.