چالشهای تشخیص گفتار فارسی و راهحلهای مهندسی آن
ساخت یک سامانه تشخیص گفتار فارسی (Speech-to-Text) که در محصول واقعی کار کند، بسیار فراتر از «اجرای یک مدل» است؛ پیچیدگیهای خط و زبان فارسی، وضعیت داده و الزامهای استقرار، هر کدام مجموعهای از تصمیمهای مهندسی خاص خود را میطلبند — و در همین جزئیات است که یک دمو به محصولی قابل اتکا تبدیل میشود.
تیم فنی شوکا · ۱۹ مرداد ۱۴۰۵ · زمان مطالعه: ۸ دقیقه
چرا گفتار فارسی برای موتورهای تشخیص دشوار است
بیشتر مدلهای تشخیص گفتار روی زبان انگلیسی توسعه و سنجیده میشوند؛ اما فارسی مجموعهای از ویژگیهای خطی و گفتاری دارد که پیچیدگی را به تمام بخشهای زنجیره تشخیص منتقل میکند:
- نیمفاصله (ZWNJ): در فارسی بسیاری از واژهها با نیمفاصله نوشته میشوند («میخواهم»، «خواهم رفت»). همین نویسه «نامرئی»، مرز واژهها را برای مدل مبهم میکند و خروجی ممکن است واژه را با فاصله کامل یا بدون فاصله بنویسد.
- همزه و حروف عربی: شکلهای مختلف همزه («ئ»، «ؤ»، «أ») و تفاوت «ی/ک» فارسی با «ي/ك» عربی باعث میشود دیکته خروجی ناپایدار باشد؛ حتی وقتی گفتار بهدرستی شناسایی شده است.
- نبود اعراب: فارسی نوشتاری معمولاً بدون حرکت است؛ از روی متن نمیتوان تلفظ دقیق برخی واژهها را تعیین کرد و مدل باید از بافت جمله تصمیم بگیرد.
- همآواها (homophones): واژههایی با تلفظ یکسان و نوشتار متفاوت، مانند «خواست» و «خاست»، سیستم را مجبور میکنند املای درست را بر اساس بافت برگزیند؛ هر اشتباه در فهم بافت، به خطای املایی در خروجی تبدیل میشود.
- واژهسازی پیوندی (agglutinative): فارسی با افزودن پسوندها و تکواژها واژه میسازد («میرفتم»، «رفتهاند»، «خانههایشان»). فهرست واژگان عملاً باز است و مدل باید ترکیبهای جدید را هم بهدرستی بنویسد.
- گفتاری در برابر نوشتاری: فاصله میان صورت محاورهای و نوشتاری زیاد است («میخوام» در برابر «میخواهم»)؛ مدلی که فقط با متن رسمی آموزش دیده باشد، در برابر گفتار طبیعی دچار خطا میشود.
- دوزبانگی فنی و واژههای خارج از فهرست (OOV): در گفتار فنی، اصطلاحات انگلیسی به میان میآیند و نام افراد، برندها و واژههای تخصصی معمولاً در داده آموزش دیده نشدهاند؛ این دسته بیشترین نرخ خطا را دارد.
مشکل داده
مدل تشخیص گفتار، هر معماری پیچیدهای که داشته باشد، به داده وابسته است؛ و اینجا فارسی در مقایسه با انگلیسی محدودیت جدی دارد:
- کمبود پیکرههای باز فارسی: حجم پیکرههای صوتی و متنی آزاد فارسی در مقایسه با انگلیسی بسیار کوچکتر است و بخش قابلتوجهی از داده موجود نیز به متن رسمی رسانهای نزدیک است، نه گفتار طبیعی.
- هزینه برچسبگذاری: تهیه متن دقیق (transcription)، برچسبهای نقطهگذاری، تشخیص گوینده و نشانهگذاری نویز، کار انسانی پرهزینهای است و برای حجمهای تجاری، همین هزینه مهمترین مانع به حساب میآید.
- پوشش لهجه و گویش: فارسی معیار با لهجههای تهرانی، مشهدی، اصفهانی و گویشهای محلی تفاوت آوایی دارد؛ دادهای که این تنوع را پوشش ندهد، نرخ خطای ناهمواری در بین گویندگان ایجاد میکند.
- صدای واقعی: گفتار مرکز تماس، جلسه و محیط میدانی با نویز پسزمینه، صحبت همزمان، کیفیت تلفن و میکروفون نامناسب همراه است؛ داده استودیویی این شرایط را ندارد.
- تنوع گوینده: جنس صدا، سرعت گفتار، سن و حالتهای احساسی گویندهها در عمل بسیار متنوعتر از آن است که در یک مجموعه داده آزمایشی دیده میشود.
مهندسی پیشپردازش و نرمالسازی
بخش بزرگی از کیفیت یک سامانه تشخیص گفتار فارسی، بیرون از خود مدل و در لایههای پیش و پس از آن شکل میگیرد:
- نرمالسازی متن: یکسانسازی «ی/ک» فارسی در برابر «ي/ك» عربی، استانداردسازی ارقام و نویسههای لاتین و مدیریت درست نیمفاصله در خروجی، از نخستین گامهای اجباری برای فارسی است.
- بازگردانی نقطهگذاری و حروف بزرگ (punctuation and capitalization restoration): متن خام تشخیص بدون نقطه و حروف بزرگ است؛ بازگردانی آنها برای خوانایی و برای پردازشهای بعدی مانند خلاصهسازی و تحلیل احساسات ضروری است.
- تشخیص فعالیت صوتی (VAD): جدا کردن بخشهای دارای گفتار از سکوت و نویز، هم در کاهش تأخیر و هم در کیفیت خروجی اثر مستقیم دارد.
- پردازش جریانی در برابر دستهای: در مرکز تماس معمولاً خروجی جریانی (streaming) و زنده لازم است، در حالی که بایگانی فایلهای صوتی میتواند بهصورت دستهای (batch) پردازش شود؛ معماری این دو حالت متفاوت است.
- برچسب زمانی (timestamp): ثبت زمان شروع و پایان هر بخش از گفتار برای همگامسازی متن با صدا و جستجو در مکالمات بلند لازم است.
- تشخیص گوینده (speaker diarization): در مکالمات چندنفره، تفکیک «چه کسی چه گفت» پیشنیاز تحلیلهای بعدی است و معمولاً بهصورت مستقل از تشخیص گفتار انجام میشود.
ارزیابی و معیارها
تا وقتی نتوانید درستی سامانه را اندازه بگیرید، نمیتوانید آن را بهبود دهید؛ اما معیارهای رایج وقتی درباره فارسی صحبت میکنیم، نیاز به بازبینی دارند.
- WER و CER: معیار متداول نرخ خطای واژه (WER) برای زبانهای پیوستهنویس مانند فارسی گمراهکننده است؛ یک جابهجایی نیمفاصله یا تفاوت «ی/ک» میتواند یک واژه کامل را خطا شمرده شود. نرخ خطای نویسه (CER) که هر نویسه را جداگانه میشمارد، تصویر دقیقتری از خطای املایی بهویژه در مورد نیمفاصله و «ی/ک» ارائه میدهد.
- اندازهگیری روی متن نرمالشده: پیش از محاسبه معیار باید متن خروجی نرمال شود؛ در غیر این صورت بخش بزرگی از خطای محاسبهشده به تفاوت نوشتار مربوط است و ربطی به درستی تشخیص ندارد.
- گمراهکننده بودن داده تمیز: ارزیابی روی گفتار خواندهشده و استودیویی، عددی بهتر از عملکرد واقعی نشان میدهد؛ همان سامانه در گفتار خودبهخودی مرکز تماس یا جلسه — پر از تردید، تکهکلام، قطع جمله و نویز — نرخ خطای بهمراتب بالاتری دارد.
- مجموعه آزمون دامنهمحور: برای یک محصول واقعی، ارزیابی باید روی مجموعهای انجام شود که همان توزیع داده تولیدی را داشته باشد: همان لهجه، همان موضوع و همان نوع ضبط. بدون این کار، «دقت روی کاغذ» تضمینی برای «دقت در عمل» نیست.
استقرار در محصول واقعی
آخرین حلقه زنجیره، استقرار در محصول است؛ جایی که محدودیتهای دنیای واقعی تصمیمهای معماری را تعیین میکنند:
- بودجه تأخیر (latency budget): در کاربردهای زنده، خروجی باید در بازه زمانی چند ثانیهای در دسترس باشد؛ اندازه مدل، سختافزار و نحوه پردازش باید با این بودجه هماهنگ شوند.
- محدودیت منابع: مدلهای بزرگتر معمولاً دقت بهتری دارند اما حافظه و پردازش بیشتری میطلبند؛ انتخاب باید با توجه به سختافزار موجود و هزینه مقیاسپذیری انجام شود.
- حریم خصوصی و استقرار داخلی: داده صوتی سازمانها اغلب حساس است؛ استقرار روی زیرساخت خصوصی (on-premises) و جداسازی دادهها بین مشتریان، در بسیاری از پروژهها شرط غیرقابل مذاکره است.
- پایش و انحراف (monitoring drift): توزیع گفتار ورودی — لهجه، موضوع، کیفیت صدا — در طول زمان تغییر میکند؛ بدون پایش مستمر معیارها و نمونهگیری از خروجی، کیفیت بهآرامی افت میکند بدون آن که کسی متوجه شود.
جمعبندی
تشخیص گفتار فارسی یک مسئله تکبعدی نیست؛ از ویژگیهای خطی و آوایی زبان گرفته تا نبود داده مناسب، از نرمالسازی و معیارهای ارزیابی تا الزامهای استقرار، هر حلقه از زنجیره در کیفیت نهایی اثر میگذارد. مدلی که روی داده تمیز عملکرد خوبی دارد، بدون توجه به این لایهها در میدان عمل شکست میخورد؛ و برعکس، توجه به همین جزئیات مهندسی است که یک سامانه تشخیص گفتار را از یک دمو به یک محصول قابل اتکا تبدیل میکند — محصولی که در مرکز تماس و جلسه واقعی، همان دقتی را نشان میدهد که روی کاغذ وعده داده شده است.
در فناوری و توسعه شوکا، راهکار تبدیل گفتار فارسی به متن را با همین نگاه مهندسی طراحی کردهایم؛ در راهکار تشخیص گفتار شوکا تمرکز ما بر تبدیل گفتار فارسی به متن برای استفاده در فرآیندهای سازمانی، پشتیبانی از فایلهای صوتی بارگذاریشده، آمادهسازی متن برای انتقال به سامانهها و فرآیندهای بعدی و تشخیص گوینده در گفتوگوهای چندنفره است.
با دادههای صوتی سازمان خود چالش دارید؟ جلسه شناخت رایگان شوکا در دسترس شماست.
درخواست مشاوره