گفتار فارسی را دقیق‌تر متن کنید؛ WER به‌تنهایی کافی نیست

|نویسنده: تیم تحریریه QUASA|6 دقیقه مطالعه| 1
گفتار فارسی را دقیق‌تر متن کنید؛ WER به‌تنهایی کافی نیست

برای پیاده‌سازی فایل صوتی فارسی با Whisper، ابزار را نصب کنید، زبان گفتار را روی Persian بگذارید و فایل را با گزینهٔ رونویسی اجرا کنید. برای سنجش دقت، چند قطعه از ضبط‌های واقعی خود را با متنی که با گوش‌دادن تصحیح کرده‌اید مقایسه کنید؛ روان‌بودن خروجی به‌تنهایی نشان نمی‌دهد نام‌ها و اصطلاحات درست ثبت شده‌اند.

راهنمای رسمی Whisper نصب بسته، نیاز به ffmpeg و گزینه‌های خط فرمان برای انتخاب مدل، زبان و وظیفه را توضیح می‌دهد. یک مدل چندزبانه مانند small نقطهٔ شروع مناسبی برای آزمون است؛ انتخاب نهایی را به کیفیت و سرعت آن روی فایل‌های خود وابسته کنید.

Whisper را نصب و فایل فارسی را رونویسی کنید

ابتدا Python و ffmpeg را نصب کنید و با فرمان ffmpeg -version مطمئن شوید ffmpeg در محیط فرمان شناخته می‌شود. سپس python -m pip install -U openai-whisper را اجرا کنید. اگر نصب پایان یافت اما فرمان whisper پیدا نشد، بررسی کنید که همان محیط Python فعال باشد و مسیر برنامه‌های نصب‌شده در دسترس قرار گرفته باشد.

برای فایلی به نام sample.mp3، فرمان whisper sample.mp3 --model small --language Persian --task transcribe --output_format txt را اجرا کنید. گزینهٔ transcribe گفتار را به زبان اصلی پیاده می‌کند؛ translate برای ترجمهٔ گفتار به انگلیسی است. تعیین Persian نیز به‌جای تشخیص خودکار زبان، زبان غالب فایل را از ابتدا به ابزار می‌گوید. فایل متنی خروجی را همراه صوت اصلی نگه دارید تا هنگام اصلاح هر عبارت بتوانید به صدای آن برگردید.

مدل‌های دارای پسوند .en مخصوص انگلیسی‌اند؛ برای گفتار فارسی از مدل چندزبانه استفاده کنید. اگر اجرای small روی دستگاه شما کند است، base یا tiny را روی همان فایل امتحان کنید. اگر کیفیت کافی نیست، مدلی بزرگ‌تر را نیز با تنظیمات یکسان بسنجید؛ اندازهٔ مدل به‌تنهایی نتیجهٔ بهتر را برای لهجه، نام‌های خاص یا صدای محیط شما تضمین نمی‌کند.

نسخهٔ قابل‌سنجشی از صوت آماده کنید

فایل اصلی را دست‌نخورده نگه دارید و هر تغییر را روی یک نسخهٔ جدا انجام دهید. پیش از رونویسی گوش کنید که ابتدا و انتهای جمله‌ها بریده نشده باشد، صدای گوینده بیش از حد ضعیف نباشد و ضبط دچار خش ناشی از اشباع صدا نشده باشد. تبدیل قالب فایل ممکن است مشکل خواندن آن را برطرف کند، اما واژه‌ای را که در صدای بلند محیط پوشیده شده است بازیابی نمی‌کند.

در ضبط طولانی، برش‌ها را نزدیک مکث طبیعی یا تغییر گوینده قرار دهید و دو سوی هر مرز را دوباره گوش کنید. برش در میانهٔ واژه یا جمله می‌تواند هم خروجی را خراب کند و هم مقایسهٔ آن با متن مرجع را دشوار سازد. اگر کاهش نویز به کار می‌برید، نتیجهٔ رونویسی همان قطعه را پیش و پس از پردازش مقایسه کنید؛ پردازش شدید ممکن است بخشی از آواهای گفتار را نیز تغییر دهد.

برای فایل‌های چندگوینده، بخش‌های دارای گفتار هم‌زمان را در یادداشت آزمون علامت بزنید. خروجی متن ساده جای مشخص‌کردن گوینده را نمی‌گیرد و خطای این بخش‌ها را نباید با خطای جمله‌های تک‌گوینده یکی دانست. نام فایل، نسخهٔ خام یا پردازش‌شده و تنظیمات اجرا را ثبت کنید تا مقایسهٔ مدل‌ها واقعاً بر پایهٔ صوت یکسان باشد.

نمونهٔ آزمون را از کاربرد واقعی خود بردارید

چند قطعهٔ کوتاه از همان نوع فایلی انتخاب کنید که قرار است پیاده کنید: جلسه، مصاحبه، درس یا پادکست. فقط جمله‌های واضح را برندارید؛ گفتار سریع، مکث، صدای دورتر و نویز معمول محیط را نیز وارد مجموعه کنید. برای هر قطعه، متن مرجعی بنویسید که با گوش‌دادن دوباره تصحیح شده باشد. متن تولیدشده به دست خود مدل، مرجع مستقلی برای سنجش خطای همان مدل نیست.

در این مجموعه نمونه‌ای از لهجه یا گونهٔ گفتاری مخاطبان خود، چند نام شخص و مکان، اصطلاحات کاری و جمله‌ای با واژهٔ انگلیسی در میان گفتار فارسی بگذارید. اگر فایل‌های شما شامل دری یا گفتار فارسی‌زبانان خارج از ایران است، از همان گویندگان نمونه بگیرید. املای مطلوب نام‌های خاص را از پیش در متن مرجع مشخص کنید تا اختلاف سلیقه در نوشتن نام را با خطای تشخیص گفتار اشتباه نگیرید.

پژوهش PARSA-Bench در ۱۶ وظیفه، رونویسی را در کنار تشخیص جابه‌جایی زبان و فهم شعر و موسیقی فارسی بررسی می‌کند. این‌ها وظایف یکسانی نیستند و نتیجهٔ آن‌ها را نمی‌توان به‌عنوان نمرهٔ رونویسی Whisper خواند؛ تنوعشان نشان می‌دهد یک نمرهٔ کلی برای همهٔ شکل‌های صوت فارسی پاسخ یکسانی نمی‌دهد.

WER را با قاعدهٔ ثابت حساب کنید

نرخ خطای واژه یا WER از تقسیم مجموع واژه‌های جایگزین‌شده، حذف‌شده و افزوده‌شده بر تعداد واژه‌های متن مرجع به دست می‌آید. در یک مثال فرضی، اگر مرجع ۲۰ واژه داشته باشد و خروجی دو جایگزینی، یک حذف و یک افزوده داشته باشد، WER برابر ۴ تقسیم بر ۲۰، یعنی ۰٫۲۰ است. برای چند قطعه، همهٔ خطاها را جمع کنید و بر مجموع واژه‌های مرجع تقسیم کنید؛ میانگین سادهٔ درصد قطعه‌ها به جملهٔ کوتاه و بلند وزن یکسان می‌دهد.

پیش از شمارش، قاعده‌ای ثابت برای فاصله و نیم‌فاصله، شکل «ی» و «ک»، نشانه‌گذاری و شیوهٔ نوشتن رقم‌ها تعیین کنید. همان قاعده باید بر متن مرجع و خروجی همهٔ مدل‌ها اعمال شود. نسخهٔ اصلی متن‌ها را برای بازبینی نگه دارید و نسخهٔ همسان‌سازی‌شده را برای محاسبه بسازید؛ همسان‌سازی نباید نام نادرست یا واژهٔ حذف‌شده را پنهان کند.

در جدول دقت همسان‌سازی‌شدهٔ بنچمارک PESTE، پیکربندی whisper-persian-v4-nezamisafa روی ۸۷۱ ضبطِ گفتار خوانده‌شدهٔ فارسی با WER برابر ۰٫۱۳۱۸ و دقت واژهٔ ۸۶٫۸۲٪ ثبت شده و بر پایهٔ نرخ خطای نویسه، معیار اصلی جدول، در رتبهٔ نخست است. این عدد به همان پیکربندی، مجموعهٔ آزمون و قاعدهٔ همسان‌سازی تعلق دارد؛ نتیجهٔ مدل small در فرمان بالا یا نتیجهٔ یک مصاحبهٔ نویزدار از آن به دست نمی‌آید. جداسازی واژه‌ها نیز بر WER فارسی اثر می‌گذارد، بنابراین قاعدهٔ محاسبه بخشی از نتیجه است.

خطاهای مهم را جدا از نمرهٔ کلی بازبینی کنید

کنار WER، خطاها را در گروه‌های مرتبط با کار خود ثبت کنید: نام اشخاص و مکان‌ها، عددها و تاریخ‌ها، اصطلاحات تخصصی، واژه‌های انگلیسی و گفتار هم‌زمان. ممکن است یک نام اشتباه سهم کوچکی در WER داشته باشد، اما معنای صورت‌جلسه یا متن مصاحبه را تغییر دهد. اگر خروجی برای زیرنویس است، زمان‌بندی و محل شکست جمله‌ها را نیز جدا از درستی واژه‌ها بررسی کنید.

برای مقایسهٔ مدل‌ها، همان قطعه‌ها، نسخهٔ یکسان صوت و قاعدهٔ ثابت همسان‌سازی را به کار ببرید. WER کلی را همراه خطاهای هر گروه و زمان پردازش ثبت کنید؛ سپس مدلی را برگزینید که در فایل‌های معمول شما توازن مناسب‌تری دارد. پیش از تحویل متن، بخش‌های دارای نام، عدد، تغییر زبان یا صدای نامفهوم را دوباره با صوت تطبیق دهید.

بیشتر بخوانید:

اشتراک‌گذاری:

عضویت در خبرنامه

تازه‌ترین اخبار Web3، هوش مصنوعی و رمزارز را مستقیم در صندوق ایمیل خود دریافت کنید.

0