Adaptasi ucapan

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:

  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 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 quantity dengan entri:
      zero
      one
      ...
      twenty
    • Tentukan entity product atau size dengan entri:
      sixteen pack
      two ounce
      ...
      five liter
    • Hanya sinonim entitas yang digunakan dalam adaptasi ucapan, sehingga Anda dapat menentukan entitas dengan nilai referensi 1 dan satu sinonim one untuk menyederhanakan logika pemenuhan Anda.

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 digit yang berisi 10 entri entity (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 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.