يحسب WER الاسم الخاطئ والرقم الخاطئ و«not» المحذوفة بالوزن نفسه الذي يحسب به «the» المحذوفة. احكم على نظام التفريغ من خلال الأخطاء التي يلتقطها، وهل تستطيع رؤية تصحيحاته، لا من خلال رقمه الرئيسي.
معدل خطأ الكلمات (WER) هو المقياس المعتمد لقياس دقة التعرّف على الكلام. خذ نصًا مرجعيًا راجعه شخص، وقارن به مخرجات الآلة كلمةً بكلمة، ثم عُدّ ثلاثة أنواع من الأخطاء: الاستبدالات (كلمة خاطئة)، والإدراجات (كلمة لم تُقَل)، والحذوفات (كلمة مفقودة). اجمعها واقسم المجموع على عدد الكلمات في النص المرجعي.
WER = (الاستبدالات + الإدراجات + الحذوفات) / عدد الكلمات في النص المرجعي
لا تتم المحاذاة بالعين المجردة. تُحاذى النصّان بأقل مسافة تحرير (مسافة ليفنشتاين، لكن مطبّقة على الكلمات لا على الحروف): من بين كل الطرق الممكنة لمطابقة مخرجات الآلة بالمرجع، يختار المُقيِّم الطريقة ذات أقل عدد من التعديلات ويحسب تلك التعديلات. ولأن الإدراجات تُحتسب، ولأن المقام هو طول المرجع، قد يتجاوز معدل خطأ الكلمات 100 بالمئة: النموذج الذي يملأ دقيقة هادئة بنص يحصل على نتيجة أسوأ من نموذج لا يكتب شيئًا.
افترض أن النص المرجعي هو «we will meet Dr Okafor at nine on Thursday»، وهي تسع كلمات، وكتبت الآلة «we will meet the doctor at nine on Tuesday». هذه ثلاثة استبدالات (Dr وOkafor وThursday) من تسع كلمات، أي معدل خطأ 33 بالمئة. ثلثا الكلمات صحيحة، ومع ذلك أنت في الاجتماع الخطأ في اليوم الخطأ. لو كانت كلمة «Thursday» وحدها خاطئة، لكانت النتيجة 11 بالمئة. ونسخة كل كلماتها صحيحة لكن فيها «um» أضافتها الآلة ولم يقلها أحد، تحصل على 11 بالمئة أيضًا، لأن الإدراج يُحتسب تمامًا كالاستبدال.
قبل العدّ، يُجرى عادةً توحيدٌ للنصّين، وتؤثر الخيارات المتّخذة هنا في النتيجة بقدر تأثير النموذج نفسه. هل «Dr» هي نفسها «Doctor»؟ هل «nine» هي نفسها «9»؟ هل تُحتسب حالة الأحرف وعلامات الترقيم؟ المُقيِّم الصارم سيعدّ «Dr» مقابل «Doctor» استبدالًا. وأغلب النتائج المنشورة تحوّل النص كله إلى أحرف صغيرة، وتزيل علامات الترقيم، وتكتب كل الأرقام بطريقة واحدة، كلمات أو أرقامًا، قبل المقارنة. لذلك فإن رقم أي مزوّد يعتمد بهدوء على موحِّد لا تستطيع رؤيته. أما اللغات التي تُكتب بدون مسافات بين الكلمات، مثل الصينية واليابانية والتايلاندية، فلا توجد فيها حدود واضحة للكلمة لتُعدّ، لذلك تُقاس بـمعدل خطأ الحروف (CER): الصيغة نفسها، لكنها تُطبَّق على الحروف.
وهذا يترتب عليه أمران. أولًا، معدل 5 بالمئة يعني كلمة من كل عشرين، أي عدة مئات من الكلمات في محادثة مدتها ساعة. وللمقارنة، يُقدَّر خطأ المفرِّغين البشريين بنحو 4 إلى 5 بالمئة في الكلام العادي، وتشير نتيجة مشهورة من عام 2017 على مجموعة تسجيلات الهاتف Switchboard إلى أن الآلة بلغت نحو 5.1 بالمئة، وإن كان كلا الرقمين يعتمد على الصوت وقواعد التقييم. ثانيًا، يعتمد الرقم كليًا على الصوت المستخدم في الاختبار: الكلام المقروء النظيف يعطي رقمًا، ولوحة ضوضائية فيها لهجات متنوعة وتداخل في الكلام تعطي رقمًا مختلفًا تمامًا. فمعدل الخطأ المعلن يصف مجموعة اختبار المزوّد بقدر ما يصف نظامه.
هذا هو العدّ. أما ما يُغفله فهو كلفة كل خطأ على القارئ.
يعامل WER كل كلمة بالتساوي. أما القرّاء فلا:
كل واحد من هذه يساوي خطأً أو خطأين في عمود WER. أما في عمود القارئ فتتراوح كلفته من لا شيء إلى اجتماع مختلف في يوم مختلف. لذا فالسؤال ليس فقط «ما معدل الخطأ؟»، بل «أي أنواع الأخطاء، وما الذي يلتقطها؟».
تلتقط عدة طبقات ما يخطئ فيه التعرّف، ويُسجَّل كل تغيير حتى يمكن فحصه وإلغاؤه. في التفريغ المباشر يحدث هذا أثناء وصول النص: يظهر كل سطر أولًا كـمسودة قد تتغير، ثم يصير نهائيًا (الترجمة المباشرة وزمن الاستجابة، بالتفصيل يشرح السبب).
بعض الأخطاء تناسب الصوت لكنها لا تناسب الجملة، مثل «their» حيث تحتاج الجملة إلى «there». يمكن اكتشاف هذه الأخطاء من السياق، ويصل التصحيح إلى القراء كتحديث مرئي (transcript.amended في واجهة API)، لا كإعادة كتابة صامتة. والسياق جيد مع الكلمات التي تستطيع الجملة توقّعها، وعاجز عمّا لا تستطيع توقعه.
الأسماء والمصطلحات التقنية هي الأخطاء التي لا يستطيع السياق إصلاحها، لأن الاسم كثيرًا ما يظهر مرة واحدة فقط، ولا يوجد حوله ما يتنبأ به. النص المُعدّ مسبقًا يحل هذه المشكلة: أعطِ النظام الكلام، أو الشرائح، أو قائمة بالأسماء والمصطلحات قبل البدء، فتتقدم كلماته على ما سمعه المحرك بشكل خاطئ. وأثناء التسجيل يتابع النص التفريغ كما يتابعه جهاز التلقين (teleprompter)، فيرى المضيف إلى أي مدى وصل المحرك. والنص المُعدّ يغطي الكلمات التي يمكن التنبؤ بها، أما الصوت الضوضائي واللهجات فتنتج الكلمات التي لا يمكن التنبؤ بها.
بعض الأخطاء لا يراها إلا شخص موجود في القاعة. تتيح التصحيحات اليدوية للمضيف إعادة كتابة أي كلمة أو سطر أثناء بقاء التفريغ مباشرًا، ويرى كل مستمع على البث التغيير. ويوجّه النظام المضيف نحو المرشحين المحتملين: الكلمات التي كان المحرك غير واثق منها يمكن تلوينها وتسطيرها، ويستطيع المضيف التنقل بين المقاطع المشكوك فيها واحدًا تلو الآخر، بدلًا من إعادة قراءة النص كله. عبر واجهة API، يسرد GET /v1/recordings/{id}/corrections تصحيحات التسجيل، وPOST /v1/corrections/{id}/revert يلغي أحدها؛ راجع مرجع واجهة API. ومع ذلك، فحتى الشخص الموجود في القاعة لا يستطيع تصحيح سطر لم يسمعه أحد.
الطبقة الأخيرة تقبل أن بعض الصوت لا يمكن استرجاعه. عندما يحصل سطر على درجة أقل من عتبة الثقة للتفريغ (confidence.hideBelow، وقيمتها الافتراضية 0.60)، يرى المستمعون عبارة "Audio unclear" مكانه بدلًا من تخمين، ولا يُقرأ ذلك السطر بصوت عالٍ أبدًا. يخسر القارئ سطرًا، لكنه لا يكسب سطرًا مختلَقًا.
الأسئلة نفسها التي شكّلت هذه الطبقات تنطبق على أي ادعاء بالدقة يصدر عن أي مزوّد، بما فيه ادعاؤنا.
قائمة قصيرة لقراءة أي ادعاء بشأن الدقة:
لا تنشر VocalStack رقم معدل خطأ داخليًا، للسبب الأول المذكور أعلاه: فهو سيصف مجموعة اختبارنا، لا صوتك. نحن نقيس الدقة باستمرار. وحين نقارن أنظمة أخرى، نستخدم المقاييس المستقلة المنشورة وأرقام المزوّدين المعلنة، لا اختبارات خاصة. والباقي يقرره صوتك أنت.