Adaptasi ucapan

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:

  1. Buka Dialogflow ES Console
  2. Pilih agen Anda di dekat bagian atas menu sidebar kiri
  3. Klik tombol setelan di samping nama agen
  4. Pilih tab Ucapan
  5. Scroll ke bagian Tingkatkan Kualitas Pengenalan Ucapan
  6. 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 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.

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   atau \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.