FA-Bench، معيار مرجعي لتقييم دقة الطوابع الزمنية على مستوى الفونيم والكلمة في أدوات المحاذاة القسرية
يصعب إعادة إنتاج معظم نتائج أدوات المحاذاة القسرية. FA-Bench هو خط أساس مفتوح وموحّد. قيّمنا 30 نظامًا من حيث دقة الطوابع الزمنية على مستوى الفونيم والكلمة. قارنّا النتائج بحدود وضعها لغويون بشريون، على صوت نظيف وعلى أربعة أنواع من التدهور.
github.com/olewave/fa-bench · الورقة البحثية على arXiv
نُطلق FA-Bench، وهو معيار مرجعي مفتوح لقياس دقة الطوابع الزمنية على مستوى الفونيم والكلمة.
يصعب إعادة إنتاج معظم نتائج أدوات المحاذاة القسرية. تستخدم الأوراق البحثية مجموعات فونيمات مختلفة، وتقسيمات اختبار خاصة بها، ومقاييس تقييم خاصة بها. ولهذا نادرًا ما يقيس رقم في ورقة بحثية الشيء نفسه الذي يقيسه رقم في الورقة التالية. وهكذا يعجز الباحث في تقنيات الكلام عن إجراء دراسة استئصال (ablation) نظيفة، ويعجز مهندس Voice AI عن معرفة النظام الذي ينبغي نشره.
ينشر FA-Bench التقييم كاملًا في صورة شيفرة برمجية، بدءًا من طريقة دمج التسميات وانتهاءً بطريقة احتساب درجة كل حد. يمر كل نظام عبر خط المعالجة نفسه، ولذلك يمكن مقارنة أرقامه مباشرة بأرقام كل نظام آخر.
ما اختبرناه
قيّمنا 30 نظامًا، منها 21 نموذجًا مفتوحًا و9 واجهات API تجارية. يُشغَّل كل نظام على صوت نظيف وعلى أربع نسخ متدهورة منه، بإضافة صدى أو ضوضاء أو موسيقى أو أحاديث متداخلة. يضع كل جدول نتائج درجة الصوت النظيف ودرجات النسخ الأربع المتدهورة في صف واحد. لذلك يمكنك أن ترى مقدار الدقة التي يحتفظ بها النظام كلما ازداد الصوت صعوبة.
يعتمد التقييم على كلام مقروء من TIMIT وكلام عفوي من Buckeye. تأتي كلتا المدونتين مع حدود الفونيمات والكلمات التي صحّحها لغويون بشريون يدويًا، وهذه الحدود هي المرجع. لا يضيف FA-Bench أي توسيم خاص به. يُبقي أزمنة الحدود كما تقدمها المدونتان تمامًا، ويدمج تسميات الفونيمات في مجموعة TIMIT-39 المشتركة.
تُعرض النتائج في مسارين. في مسار النص المرجعي، يُعطى كل نظام الكلمات المرجعية، لذلك تقيس درجته التوقيت وحده. في مسار ASR، يتعرف كل نظام على الكلمات بنفسه، لذلك تُضاف أخطاء التعرف إلى أخطاء التوقيت لديه. يُرتَّب المساران بشكل منفصل.
ما وجدناه
يسجّل Olign 1.0 أعلى F1 لحدود الكلمات بين كل الأنظمة التي أُعطيت النص المرجعي. وهذا صحيح على كلتا المدونتين، بصوت نظيف وبعد إضافة الضوضاء.
F1 لحدود الكلمات عند 20 مللي ثانية، في مسار النص المرجعي. القيمة الأعلى هي الأفضل.
| النظام | اختبار TIMIT الأساسي (core-test) | اختبار Buckeye |
|---|---|---|
| نظيف / ضوضائي | نظيف / ضوضائي | |
| Olign 1.0 | 0.782 / 0.669 | 0.744 / 0.659 |
| MFA 3.4 | 0.644 / 0.624 | 0.682 / 0.583 |
| Qwen3-ForcedAligner-0.6B | 0.399 / 0.377 | 0.432 / 0.391 |
| WhisperX | 0.180 / 0.170 | 0.165 / 0.165 |
القيمة الضوضائية هي متوسط الحالات الأربع المتدهورة. مع إضافة الضوضاء، يتقلص تقدم Olign على Montreal Forced Aligner 3.4 في TIMIT من 0.138 إلى 0.045، ويتسع في Buckeye من 0.062 إلى 0.076.
الأنظمة
أدوات المحاذاة القسرية التي تُعطى النص المرجعي. BFA · Charsiu · CrisperWhisper · FALCON · MAPS · Montreal Forced Aligner 2.0 و3.4 · MMS-FA · NeMo Forced Aligner · NeuFA · Qwen3-ForcedAligner · stable-ts · TorchAudio-FA · UnitY2 · WhisperX
أنظمة ASR مفتوحة بطوابع زمنية، تتعرف على كلماتها بنفسها. Parakeet-TDT · Qwen3-ASR · TorchAudio wav2vec2 · Whisper large-v3 · Whisper-timestamped
واجهات API التجارية. Olign · Amazon Transcribe · AssemblyAI Universal 3.5 · Azure AI Speech · Deepgram Nova-3 · ElevenLabs Scribe v2 · Google Chirp 2 · IBM Watson · Speechmatics
قيّمنا أيضًا 19 سلسلة من خطوتين، تعيد فيها إحدى أدوات المحاذاة ضبط توقيت الكلمات التي أنتجها نظام ASR.
كيف نحتسب الدرجات
قبل قياس أي شيء، يجب إقران كل وحدة أنتجها النظام بوحدة في المرجع. يقرن FA-Bench بينهما بطريقتين، لأن لكل طريقة نقطة عمياء تغطيها الطريقة الأخرى.
MAE للحدود، والوسيط، والخطأ ذو الإشارة تقرن الوحدات بالتسمية أولًا. تُجرى محاذاة Levenshtein على التسميات، وتُقارَن أزمنة الأزواج التي تجدها. يحمل كل رقم فاصل ثقة 95 % بطريقة bootstrap، وبجانبه دقة العتبة عند 10 و50 و100 مللي ثانية. يخرج الفونيم غير المقترن من هذا المتوسط، لذلك لا يخسر النظام شيئًا هنا إذا تخطى فونيمًا صعبًا.
S وD وI وPER تبيّن سبب بقاء فونيم مرجعي دون إقران. يحصي S الفونيمات التي غيّر النظام تسميتها، ويحصي D الفونيمات التي لم يُخرجها قط، ويحصي I الفونيمات التي اختلقها. يظهر النظام الذي يتخطى الفونيمات الصعبة لخفض MAE في D، لذلك ليس انخفاض MAE مع ارتفاع معدل الحذف أفضل بالضرورة.
F1 للحدود عند 20 مللي ثانية يقرن بالتسمية والزمن معًا. لا يُحتسب الحد إلا إذا طابقت الوحدات على جانبيه المرجع ووقع ضمن 20 مللي ثانية، مع إدراج طرفي المقطع المنطوق. هذا هو الرقم الرئيسي. يخسر النظام الحدود المجاورة لأي فونيم يتخطاه، والاستبدال في اللحظة الصحيحة لا يحصل على أي درجة.
الضبط والاسترجاع والتجزئة الزائدة وقيمة R بحسب الزمن فقط موجودة في صفحات التفاصيل. تتجاهل هذه المقاييس التسميات، لذلك يُعدّ الحد الواقع في اللحظة الصحيحة على الكلمة الخاطئة حدًّا مكتشَفًا فيها. لا يمنحه F1 الرئيسي أي درجة.
تعرض طبقة الكلمات قيمة MAE ونفس مقياس F1 الذي يتحقق من التسميات عند 20 مللي ثانية. لا تعتمد هذه الطبقة على الفونيمات، لذلك هي الطبقة الوحيدة التي يمكن فيها تقييم نظام يُخرج الكلمات وحدها.
شغّله بنفسك
يأتي FA-Bench مع ملفات المانيفست (manifests) ووصفات التشغيل (recipes). تحصل على الصوت بنفسك. تحصل على TIMIT من LDC، وعلى Buckeye عبر التسجيل في OSU، وكل منهما بموجب ترخيصه الخاص. شغّل
fabench init وسيسألك عن مكان كل مدونة.
يمكنك التحقق من سلسلة القياس قبل أن تلمس أي صوت مرخَّص. يبني الاختبار الذاتي مدونة اصطناعية ويشغّل عليها السلسلة كاملة. تقارن كل بوابة نتيجةً بإجابة حُدِّدت مسبقًا، لذلك تفشل السلسلة المعطوبة في اجتياز البوابة.
git clone https://github.com/olewave/fa-bench && cd fa-bench
uv venv --python 3.12 .venv && . .venv/bin/activate
uv pip install -e ".[test]"
fabench selftest
fabench gates
النتائج الكاملة متاحة على GitHub لكل من كلمات TIMIT و كلمات Buckeye، مع المنهجية.
يُنشر FA-Bench بموجب ترخيص PolyForm Noncommercial 1.0.0. وهو مجاني للبحث والتدريس والدراسة الشخصية، ولأعمال المنظمات الخيرية والتعليمية ومنظمات السلامة العامة والمنظمات البيئية والحكومية. يتطلب الاستخدام التجاري ترخيصًا منفصلًا من Olewave.
