PLS یک قالبِ XML برای واژهنامهٔ تلفظ است. داشتنِ فهرستِ تلفظِ مطلوب با داشتنِ فایلی که موتورِ منتخب میپذیرد، یکسان نیست. این راهنما فایلِ اصیلِ دو مدخل و کدِ بررسیِ یک دامنهٔ محدود را میدهد؛ سازگاریِ موتور یا درستخواندهشدنِ واژهها هنوز باید جدا آزمایش شود.
واژهنامهٔ محتوایی را با قالبِ فنی جدا نگه داریم
راهنمای واژهنامهٔ تلفظ دربارهٔ انتخابِ نام و شنیدنِ آن در جمله است. اینجا مسئلهٔ فنیِ namespace، زبان، مدخل و جایگزینِ نوشتاری را کنترل میکنیم. PLS از SSML که ساختارِ یک متنِ گفتاری را توصیف میکند نیز جداست؛ پسوند XML بهتنهایی این دو را قابل جایگزینی نمیکند.
نمونهٔ ما ریشهٔ lexicon با نسخهٔ۱٫۰، namespaceرسمی PLS،alphabet=ipa وxml:lang=fa-IR دارد. هیچ phoneme در این نمونه نساختهایم؛ وجودِ alphabet به معنی اجرای تحلیلِ آوایی یا تأییدِ IPAنیست. تاریخِ توصیهنامهٔ مرجع۱۴اکتبر۲۰۰۸است، نه خبرِ تازه.
دو مدخلِ خیالیِ این فایل
در مدخلِ اول، grapheme برابر Velu و alias برابر «وِلو»است؛ در دوم D8به «دی هشت»ارجاع داده میشود. این نامها و خوانشها برای تمرین ساخته شدهاند؛ نامِ مشتری و تلفظِ تأییدشدهٔ یک برند نیستند. alias جایگزینِ نوشتاری است که پردازشگر باید بخواند؛ فونِ دقیقِ تضمینشدهٔ یک صدا نیست.
| جزء | کارِ این نمونه |
|---|---|
| lexicon | نسخه، زبان و فضای نامِ سند |
| lexeme | یک مدخلِ واژهنامه |
| grapheme | شکلِ نوشتاریِ مورد جستوجو |
| alias | جایگزینِ نوشتاریِ خواندن |
سازنده با ElementTree متنها را داخلِ عنصر میگذارد؛ رشتهٔ ورودی را به عنوانِ نشانهگذاریِ آماده نمیچسباند. فایلِ نهایی UTF-8است. کد، همان دو مدخل را پس از خواندنِ دوباره کنترل میکند.
کنترلِ محدود چه چیزی را میپذیرد؟
تابعِ بررسی فقط همین قراردادِ آموزشی را میپذیرد: یک تا۲۰مدخل، هرکدام دقیقاً یک graphemeو بعد یک aliasمتنیِ غیرخالی، بدون عنصرِ تودرتو و بدون واژهٔ تکراری. زبان و ویژگیهای ریشه باید دقیقاً با نمونه برابر باشند. ورودیِ بایتی باید UTF-8و حداکثر۴۰۹۶بایت باشد؛ DTDو اعلان entityپیش از تجزیه رد میشوند و هیچ URLیا فایلِ خارجی دریافت نمیشود.
در شش کنترل، namespaceدیگر، زبانِ دیگر، مدخلِ بدون grapheme،نسخهٔ phonemeبهجایalias،اعلانDOCTYPEوaliasخالی رد شدهاند. بعضی از این ساختارها مانند phonemeیا زبانِ دیگر میتوانند در PLSمعتبر باشند، اما بیرون از دامنهٔ تابعِ ما هستند. نامِ خروجی «قبولِ دامنهٔ محدود» است، نه گواهِ خرابیِ استانداردیِ همهٔ ورودیهای ردشده.
تجزیهٔ XML، اعتبارسنجیِ کامل و شنیدن سه کارند
کدِ این صفحه XSDیاRelaxNGرا اجرا نمیکند و تمامِ امکاناتِ PLSمانند چند تلفظ، role،ترتیبهای مجازِ متفاوت یا phonemeرا پوشش نمیدهد. well-formedبودن و قبولشدنِ این بررسیِ محلی، پشتیبانیِ موتور، اولویتِ واژهنامه یا درستیِ تلفظ را ثابت نمیکند.
برای کاربردِ واقعی، مستنداتِ همان نسخهٔ موتور و روشِ اتصالِ واژهنامه را بخوانید؛ فایلِ مجاز را روی جملههای واقعیِ مجاز، کنارِ عدد و در زمینههای مختلف بشنوید و نتیجه را به نسخهٔ صدا و واژهنامه وصل کنید. اینجا هیچ صدایی تولید یا شنیده نشده و فایلی برای سرویس بیرونی ارسال نشده است.
قدمِ بعد برای دریافتِ گفتار
اگر نیازتان تولیدِ صدای فارسی است، نمونهٔ نامهای مسئلهدار و خوانشِ مطلوب را برای درخواستِ راهاندازی اپراگو آماده کنید. این مثال پشتیبانیِ PLSیا دریافتِ مستقیمِ این XMLدر اپراگو را اعلام نمیکند؛ روشِ واقعیِ انتقالِ نیاز باید با تیم نهایی شود. برای ساختِ متنِ کنترلشده هم مرزِ ورودیِ SSML را جدا ببینید.
فایل تمرین و منبع
سازنده و بررسیِ دامنهٔ محدودِ دو alias، نه اعتبارسنج کاملِ استاندارد · XML اصیلِ دو نامِ خیالی؛ بدون خروجیِ شنیداری
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.