Bagikan melalui


Cara menyiapkan data pelatihan format teks tampilan untuk ucapan kustom

Layanan Azure AI Speech dapat dilihat sebagai dua komponen: pengenalan ucapan dan menampilkan pemformatan teks. Pengenalan ucapan mentranskripsikan audio ke teks leksikal, lalu teks leksikal diubah untuk menampilkan teks.

Diagram of the flow of speech recognition to lexical to display text.

Ini adalah lokal yang mendukung fitur format teks tampilan: da-DK, de-DE, en-AU, en-CA, en-GB, en-HK, en-IE, en-IN, en-NG, en-NZ, en-PH, en-SG, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, sv-SE, tr-TR, zh-CN, zh-HK.

Pemformatan teks tampilan default

Alur teks tampilan terdiri dari urutan penyusun format tampilan. Setiap penyusun sesuai dengan tugas format tampilan seperti ITN, kapitalisasi, dan pemfilteran kata-kata kokoh.

  • Normalisasi Teks Terbalik (ITN) - Untuk mengonversi teks angka formulir lisan untuk menampilkan formulir. Misalnya: "I spend twenty dollars" -> "I spend $20"
  • Kapitalisasi - Untuk nama entitas huruf besar, akronim, atau huruf pertama kalimat. Misalnya: "she is from microsoft" -> "She is from Microsoft"
  • Pemfilteran kata-kata kotor - Menutupi atau menghapus kata-kata kotor dari kalimat. Misalnya, dengan asumsi "abcd" adalah kata kotor, maka kata itu ditutupi oleh masking kata-kata kotor: "I never say abcd" -> "I never say ****"

Microsoft mempertahankan penyusun dasar alur teks tampilan untuk tugas pemrosesan tampilan tujuan umum. Anda mendapatkan penyusun dasar secara default saat menggunakan layanan Ucapan. Untuk informasi selengkapnya tentang pemformatan di luar kotak, lihat Menampilkan format teks.

Pemformatan teks tampilan kustom

Selain penyusun dasar yang dikelola oleh Microsoft, Anda dapat menentukan aturan pemformatan teks tampilan kustom untuk menyesuaikan alur pemformatan teks tampilan untuk skenario spesifik Anda. Aturan pemformatan teks tampilan kustom ditentukan dalam file pemformatan teks tampilan kustom.

  • ITN Kustom - Perluas fungsionalitas ITN dasar, dengan menerapkan model ITN kustom berbasis aturan dari pelanggan.
  • Penulisan ulang kustom - Menulis ulang satu frasa ke frasa lain berdasarkan model berbasis aturan dari pelanggan.
  • Pemfilteran kata-kata kokoh kustom - Lakukan penanganan kata-kata kocak berdasarkan daftar kata-kata kocak dari pelanggan.

Urutan alur pemformatan teks tampilan diilustrasikan dalam diagram ini.

Diagram of the display format builders.

ITN Kustom

Filosofi ITN kustom berbasis pola adalah Anda dapat menentukan output akhir yang ingin Anda lihat. Layanan Ucapan mencari tahu bagaimana kata-kata mungkin diucapkan dan memetakan ekspresi lisan yang diprediksi ke format output yang ditentukan.

Model ITN kustom dibangun dari sekumpulan aturan ITN. Aturan ITN adalah ekspresi reguler seperti string pola, yang menjelaskan:

  • Pola yang cocok dari string input
  • Format string output yang diinginkan

Aturan ITN default yang disediakan oleh Microsoft diterapkan terlebih dahulu. Output model ITN default digunakan sebagai input model ITN kustom. Algoritma yang cocok di dalam model ITN kustom tidak peka huruf besar/kecil.

Ada empat kategori pencocokan pola dengan aturan ITN kustom.

Pola dengan literal

Misalnya, pengembang mungkin memiliki item (seperti produk) bernama dengan bentuk JO:500alfanumerik . Layanan Ucapan mengetahui bahwa pengguna mungkin mengatakan bagian huruf sebagai J O, atau mereka mungkin mengatakan joe, dan bagian nomor sebagai five hundred atau five zero zero atau five oh oh five double zero, lalu membangun model yang memetakan semua kemungkinan ini kembali ke JO:500 (termasuk memasukkan titik dua).

Pola dapat diterapkan secara paralel dengan menentukan satu aturan per baris dalam file pemformatan teks tampilan. Berikut adalah contoh file pemformatan teks tampilan yang menentukan dua aturan:

JO:500
MM:760

Pola dengan kartubebas

Anda dapat merujuk ke seluruh rangkaian item alfanumerik (seperti JO:500, , JO:600JO:700) tanpa harus mengeja semua kemungkinan dalam beberapa cara.

Rentang karakter dapat ditentukan dengan notasi [...], jadi JO:[5-7]00 setara dengan menulis tiga pola.

Ada juga sekumpulan item kartubebas yang dapat digunakan. Salah satunya adalah \d, yang berarti digit apa pun. Jadi JO:\d00 mencakup JO:000, JO:100, dan lainnya hingga JO:900.

Seperti ekspresi reguler, ada beberapa kelas karakter yang telah ditentukan sebelumnya untuk aturan ITN:

  • \d - cocokkan digit dari '0' hingga '9', dan keluarkan secara langsung
  • \l - cocok dengan huruf (tidak peka huruf besar/kecil) dan transduksi ke huruf kecil
  • \u - cocok dengan huruf (tidak peka huruf besar/kecil) dan transdusikan ke huruf besar
  • \a - cocok dengan huruf (tidak peka huruf besar/kecil) dan keluarkan secara langsung

Ada juga ekspresi escape untuk merujuk pada karakter yang jika tidak memiliki arti sintik khusus:

  • \\ - cocokkan dan keluarkan karakter \
  • \( dan \)
  • \{ dan \}
  • \|
  • \+dan dan \?\*

Pola dengan notasi gaya regex

Untuk meningkatkan fleksibilitas penulisan pola, konstruksi frasa seperti ekspresi reguler dengan alternatif dan penutupan Kleene didukung.

  • Frasa ditunjukkan dengan tanda kurung, seperti (...) - Tanda kurung tidak secara harfiah dihitung sebagai karakter yang akan dicocokkan.
  • Anda dapat menunjukkan alternatif dalam frasa dengan | karakter seperti (AB|CDE).
  • Anda dapat mencukupkan frasa dengan ? untuk menunjukkan bahwa frasa bersifat opsional, + untuk menunjukkan bahwa frasa tersebut dapat diulang, atau * untuk menunjukkan keduanya. Anda hanya dapat mencukupkan frasa dengan karakter ini dan bukan karakter individual (yang lebih ketat daripada kebanyakan implementasi ekspresi reguler).

Pola seperti (AB|CD)-(\d)+ akan mewakili konstruksi seperti "AB-9" atau "CD-22" dan diperluas untuk kata-kata lisan seperti A B nine dan C D twenty two (atau C D two two).

Pola dengan penggantian eksplisit

Filosofi umumnya adalah "Anda menunjukkan kepada kami seperti apa outputnya, dan layanan Ucapan mencari tahu bagaimana orang mengatakannya." Tetapi ini tidak selalu berfungsi karena beberapa skenario mungkin memiliki cara aneh yang tidak dapat diprediksi untuk mengatakan sesuatu, atau aturan latar belakang layanan Ucapan mungkin memiliki kesenjangan. Misalnya, mungkin ada pengucapan kolekual untuk inisial dan akronim - ZPI mungkin diucapkan sebagai zippy. Dalam hal ini, pola seperti ZPI-\d\d tidak mungkin berfungsi jika pengguna mengatakan zippy twenty two. Untuk situasi semacam ini, ada notasi {spoken>written}format teks tampilan . Kasus khusus ini dapat ditulis.{zippy>ZPI}-\d\d

Ini dapat berguna untuk menangani hal-hal yang aturan pemetaan Ucapan tetapi belum mendukung. Misalnya Anda mungkin menulis pola \d0-\d0 yang mengharapkan sistem memahami bahwa "-" dapat berarti rentang, dan harus diucapkan to, seperti dalam twenty to thirty. Tapi mungkin tidak. Jadi Anda dapat menulis pola yang lebih eksplisit seperti \d0{to>-}\d0 dan memberi tahunya bagaimana Anda mengharapkan tanda hubung dibaca.

Anda juga dapat meninggalkan > formulir tertulis dan berikut untuk menunjukkan kata-kata yang harus dikenali tetapi diabaikan. Jadi pola seperti {write} (\u.)+ mengenali write A B C dan output A.B.C--menjatuhkan write bagian.

Contoh ITN Kustom

Mengelompokkan digit

Untuk mengelompokkan 6 digit ke dalam dua grup dan menambahkan karakter '-' di antara mereka:

Aturan ITN: \d\d\d-\d\d\d Sampel: "cadence one oh five one fifteen" -> "cadence 105-115"

Memformat nama film

Space: 1999 adalah film terkenal, untuk mendukungnya:

Aturan ITN: Space: 1999 Sampel: "watching space nineteen ninety nine" -> "watching Space: 1999"

Pola dengan Penggantian

Aturan ITN: \d[05]{ to >-}\d[05] Sampel: fifteen to twenty -> 15-20

Penulisan ulang kustom

Berbicara secara umum, untuk string input, model regenerasi mencoba mengganti original phrase dalam string input dengan yang sesuai new phrase untuk setiap aturan regenerasi. Model penulisan ulang adalah kumpulan aturan penulisan ulang.

  • Aturan penulisan ulang adalah sepasang dua frasa: frasa asli dan frasa baru.
  • Dua frasa dipisahkan oleh karakter TAB. Misalnya, original phrase{TAB}new phrase.
  • Frasa asli dicocokkan (tidak peka huruf besar/kecil) dan diganti dengan frasa baru (peka huruf besar/kecil). Karakter tanda baca tata bahasa dalam frasa asli diabaikan selama kecocokan.
  • Jika ada aturan penulisan ulang yang bertentangan, aturan dengan yang lebih panjang original phrase digunakan sebagai kecocokan.

Model penulisan ulang mendukung kapitalisasi tata bahasa secara default, yang memanfaatkan huruf pertama kalimat untuk en-US seperti lokal. Ini dinonaktifkan jika fitur kapitalisasi pemformatan teks tampilan dinonaktifkan dalam permintaan pengenalan ucapan.

Tanda baca tata bahasa

Karakter tanda baca tata bahasa digunakan untuk memisahkan kalimat atau frasa, dan mengklarifikasi bagaimana kalimat atau frasa harus dibaca.

. , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ،

Berikut adalah aturan tanda baca tata bahasa:

  • Karakter tanda baca yang didukung adalah untuk tanda baca tata bahasa jika diikuti oleh spasi atau di awal atau akhir kalimat atau frasa. Misalnya, dalam . x. y (dengan spasi antara . dan y) adalah tanda baca tata bahasa.
  • Karakter tanda baca yang berada di tengah kata (kecuali zh-cn dan ja-jp) bukan tanda baca tata bahasa. Dalam hal ini, mereka adalah karakter biasa. Misalnya, . in x.y bukan tanda baca tata bahasa.
  • Untuk zh-cn dan ja-jp (lokal nonspacing), karakter tanda baca selalu digunakan sebagai tanda baca tata bahasa meskipun berada di antara karakter. Misalnya, . in 中.文 adalah tanda baca tata bahasa.

Contoh penulisan ulang kustom

Koreksi ejaan

Nama COVID-19 mungkin dikenali sebagai covered 19. Untuk memastikan bahwa COVID-19 is a virus ditampilkan alih-alih , gunakan aturan penulisan covered 19 is a virusulang berikut:

#rewrite
covered 19{TAB}COVID-19

Kapitalisasi nama

Gottfried Wilhelm Leibniz adalah seorang matematikawan Jerman. Untuk memastikan bahwa Gottfried Wilhelm Leibniz kapitalisasi, gunakan aturan penulisan ulang berikut:

#rewrite
gottfried leibniz{TAB}Gottfried Leibniz

Kata-kata kokoh kustom

Model kata-kata kotor kustom bertindak sama dengan model kata-kata kotor dasar, kecuali menggunakan daftar frasa kata-kata kotor kustom. Selain itu, model kata-kata kostum kustom mencoba mencocokkan (tidak peka huruf besar/kecil) semua frasa kata-kata kodrat yang ditentukan dalam file pemformatan teks tampilan.

  • Frasa kata-kata kodrat dicocokkan (tidak peka huruf besar/kecil).
  • Jika ada aturan frasa kata-kata kocek yang bertentangan, frasa terpanjang digunakan sebagai kecocokan.
  • Karakter tanda baca ini tidak didukung dalam frasa kata-kata kocak: . , ? 、 ! : ; ? 。 , ¿ ¡ । ؟ ، .
  • Untuk zh-CN dan ja-JP lokal, frasa kata-kata kodrat bahasa Inggris tidak didukung. Kata-kata kolektif bahasa Inggris didukung. Frasa kata-kata kokoh untuk zh-CN dan ja-JP lokal didukung.

Kata-kata kotor dihapus atau ditutupi tergantung pada pengaturan permintaan pengenalan ucapan Anda.

Setelah kata-kata kosaktan ditambahkan dalam file aturan format teks tampilan dan model kustom dilatih, itu digunakan untuk output default dalam ucapan batch ke teks dan ucapan real-time ke teks.

Contoh kata-kata kokoh kustom

Berikut adalah beberapa contoh cara menutupi kata-kata kotor dan frasa dalam file pemformatan teks tampilan.

Contoh kata kata kotor tunggal

Asumsikan xyz adalah kata-kata kolektif. Untuk menambahkannya:

#profanity
xyz

Berikut adalah sampel pengujian: Turned on profanity masking to mask xyz -> Turned on profanity masking to mask ***

Menutupi frasa kata-kata kotor

Asumsikan abc lmn adalah frasa kata-kata kolot. Untuk menambahkannya:

#profanity
abc lmn

Berikut adalah sampel pengujian: Turned on profanity masking to mask abc lmn -> Turned on profanity masking to mask *** ***

Langkah berikutnya