فهرست مطالب
- WER نسبت مجموع جایگزینیها، حذفها و درجها به تعداد واژههای متن مرجع است؛ هر چه کمتر، بهتر.
- در فارسی، نیمفاصله، املای چندگانه و اعداد میتوانند WER را بدون خطای واقعی بالا ببرند؛ نرمالسازی پیش از محاسبه ضروری است.
- عدد WER روی دادهٔ آزمون عمومی، لزوماً روی تماسهای واقعی شما تکرار نمیشود؛ ارزیابی باید روی دادهٔ خود سازمان انجام شود.
وقتی سازمانی میخواهد موتور تبدیل گفتار به متن انتخاب کند، اولین پرسش این است: «دقتش چقدر است؟» پاسخ استاندارد این پرسش، معیاری به نام نرخ خطای واژه یا WER (Word Error Rate) است. اما نرخ خطای واژه عددی است که اگر درست محاسبه و درست تفسیر نشود، میتواند گمراهکننده باشد؛ بهویژه برای زبان فارسی و گفتار تلفنی.
نرخ خطای واژه (WER) چطور محاسبه میشود؟
برای محاسبهٔ نرخ خطای واژه، متن خروجی موتور (فرضیه) با متن درستی که انسان پیاده کرده (مرجع) مقایسه میشود. سه نوع خطا شمرده میشود:
- جایگزینی (S): واژهای بهجای واژهٔ درست نوشته شده است.
- حذف (D): واژهای از متن مرجع در خروجی نیامده است.
- درج (I): واژهای اضافه در خروجی آمده که در مرجع نیست.
فرمول WER چنین است:
WER = (S + D + I) ÷ N
که در آن N تعداد واژههای متن مرجع است. همترازی دو متن با الگوریتم فاصلهٔ ویرایشی (Levenshtein) در سطح واژه انجام میشود تا کمترین تعداد خطا به دست آید.
یک مثال فارسی
| متن | جمله |
|---|---|
| مرجع | سفارش من هنوز به دستم نرسیده است |
| خروجی موتور | سفارش من هنوز دستم نرسیده هست |
در این مثال، «به» حذف شده (یک حذف) و «است» به «هست» تبدیل شده (یک جایگزینی). متن مرجع ۷ واژه دارد؛ پس WER برابر است با ۲ ÷ ۷، یعنی حدود ۲۹ درصد. اما معنای جمله کاملاً حفظ شده است؛ این نکتهای است که در تفسیر WER اهمیت زیادی دارد.
نکته: WER میتواند از ۱۰۰ درصد هم بیشتر شود، چون درجها محدودیتی ندارند. برای همین WER را «درصد دقت» تعبیر نکنید؛ «۱۰ درصد WER» لزوماً به معنای «۹۰ درصد دقت» نیست.
چالشهای نرخ خطای واژه در زبان فارسی
چند ویژگی نوشتاری فارسی باعث میشود WER بدون وجود خطای واقعی بالا برود:
| چالش | مثال | راهحل پیش از محاسبه |
|---|---|---|
| نیمفاصله و فاصله | «میشود» در برابر «می شود» یا «میشود» | یکسانسازی نیمفاصلهها در مرجع و خروجی |
| حروف عربی و فارسی | «ي» و «ی»، «ك» و «ک» | تبدیل همه به حروف استاندارد فارسی |
| اعداد | «دوازده» در برابر «۱۲» یا «12» | یکسانسازی همه به یک شکل پیش از مقایسه |
| املای چندگانه | «اطاق» و «اتاق»، «هیئت» و «هیأت» | فهرست معادلها در نرمالسازی |
| گفتار محاورهای | «میخوام» در برابر «میخواهم» | تعیین قاعدهٔ واحد برای پیادهسازی مرجع |
اگر این نرمالسازیها انجام نشود، دو موتور با کیفیت یکسان ممکن است WER بسیار متفاوتی بگیرند؛ فقط به این دلیل که یکی «۱۲» مینویسد و دیگری «دوازده».
گفتار تلفنی: چرا عددها متفاوت میشوند
WER یک موتور روی مجموعههای آزمون عمومی، که اغلب جملههای خواندهشده با میکروفون خوب هستند، معمولاً بسیار بهتر از WER همان موتور روی تماسهای واقعی مرکز تماس است. دلایل اصلی:
- صوت تلفنی با نرخ نمونهبرداری ۸ کیلوهرتز و فشردهسازی کدک منتقل میشود.
- گفتار تماسگیرندگان محاورهای، همراه با مکث، تکرار و جملات ناتمام است.
- نویز محیط، لهجهها و همپوشانی صحبت دو طرف وجود دارد.
- واژگان تخصصی سازمان، نام محصولات و اعداد طولانی در دادههای عمومی کم است.
به همین دلیل، عددی که روی یک مجموعهٔ آزمون عمومی اعلام میشود، معیار مقایسهٔ اولیه است، نه وعدهٔ عملکرد روی تماسهای شما.
معیارهای مکمل نرخ خطای واژه
| معیار | تعریف | کاربرد |
|---|---|---|
| CER (نرخ خطای نویسه) | همان فرمول WER در سطح حرف | کمتر تحت تأثیر مرز واژهها و نیمفاصله است |
| دقت اعداد و کدها | سهم شمارهها و کدهایی که پس از نرمالسازی کاملاً درست ثبت شدهاند | برای احراز هویت، کد رهگیری و ثبت تیکت تعیینکننده است |
| دقت کلیدواژهها | تشخیص درست واژههای مهم سازمان مثل نام محصولات | کیفیت جستوجو و تحلیل مکالمات را نشان میدهد |
| دقت تشخیص نیت | درستی برداشت از خواستهٔ تماسگیرنده، صرفنظر از خطاهای جزئی واژه | برای IVR گفتاری مهمتر از WER است |
| تأخیر (Latency) | فاصلهٔ پایان گفتار تا آمادهشدن متن | برای کاربردهای برخط مثل دستیار اپراتور اهمیت دارد |
برای یک کاربرد مشخص، معیاری که مستقیماً به نتیجهٔ کار مربوط است، از WER کلی مهمتر است. یک خطای واژه در «است/هست» برای تحلیل احساس اهمیتی ندارد، اما یک رقم اشتباه در کد رهگیری، کل فرایند را خراب میکند.
روش درست ارزیابی یک موتور روی دادهٔ سازمان
- نمونهگیری نماینده: نمونهای از تماسهای واقعی از صفها، ساعات و انواع مختلف تماس انتخاب کنید؛ نه فقط تماسهای باکیفیت.
- رعایت محرمانگی: نمونهها را روی زیرساخت سازمان پردازش و دسترسی را محدود کنید.
- پیادهسازی مرجع: بخشی از نمونهها را با دستورالعمل یکسان (نیمفاصله، اعداد، محاوره) بهدست انسان پیاده کنید.
- نرمالسازی یکسان: مرجع و خروجی همهٔ موتورها را با قواعد یکسان نرمال کنید.
- محاسبهٔ چند معیار: WER، CER، دقت اعداد و دقت کلیدواژههای سازمان را جداگانه گزارش کنید.
- تفکیک نتایج: نتایج را به تفکیک کیفیت خط، صف و نوع تماس ببینید تا نقاط ضعف مشخص شود.
نکتهٔ اجرایی: اگر موتور برای سازمان شما تنظیم (Fine-tune) میشود، دادهٔ آزمون را از دادهٔ آموزش جدا نگه دارید. ارزیابی روی همان تماسهایی که موتور با آنها آموزش دیده، عددی خوشبینانه و غیرواقعی میدهد.
جمعبندی
WER معیار استاندارد و مفید مقایسهٔ موتورهای تشخیص گفتار است، به شرط آنکه با نرمالسازی درست، روی دادهٔ نماینده و در کنار معیارهای مکمل محاسبه شود. برای تصمیم دربارهٔ یک موتور، مهمترین عدد، دقت آن روی تماسهای واقعی سازمان شما و در کاربرد مشخص شماست.
در پایلوت موتور تبدیل گفتار به متن فارسی sena-asr، دقت را با همین روش روی نمونه تماسهای خود سازمان میسنجیم و پیش از هر تعهد گزارش میدهیم. برای آشنایی با پیشینهٔ این فناوری، تاریخچهٔ تشخیص گفتار خودکار را هم ببینید.




