تخطَّ إلى المحتوى

فهم التفريغ الصوتي

ما هي نسبة خطأ الكلمات (WER) وكيف تُحسب؟

نسبة خطأ الكلمات هي مقياس دقة التفريغ. المعادلة، ومثال عربي محسوب، وكيف يغيّر توحيد الإملاء النتيجة.

فريق سكريبتوريوم ·

نسبة خطأ الكلمات (WER) هي عدد الكلمات الخاطئة في النص الآلي مقسومًا على عدد كلمات النص الصحيح. والخاطئة تعني مبدَّلة أو محذوفة أو مضافة، فالمعادلة: WER = (S + D + I) ÷ N، حيث S عدد المبدَّلة وD المحذوفة وI المضافة وN عدد كلمات النص الصحيح. كلما قلّت كان أفضل، والصفر يعني تطابقًا تامًا، وقد تزيد النسبة على 100% إن أضاف النظام كلمات كثيرة.

مثال عربي محسوب

الموضوعالنص
النص الصحيح (N = 5)ذهب الولد إلى المدرسة صباحا
النص الآليذهب الولد المدرسة صباحاً

هنا كلمة محذوفة هي «إلى» (D = 1)، وكلمة «صباحاً» بالتنوين تختلف في شكلها عن «صباحا» (S = 1)، فتكون النسبة (1 + 1) ÷ 5 = 40%. لكننا لو أزلنا علامات التشكيل (التنوين مثلًا) قبل المقارنة تتطابق الكلمتان، فتصير النسبة 1 ÷ 5 = 20%. فالنسبة نفسها تتغيّر بحسب طريقة توحيد النص، وهذا ما يجعل مقارنة رقمين بطريقتين مختلفتين مضلِّلة.

ماذا نوحّد في العربية قبل الحساب؟

  • إزالة التشكيل (الفتحة والتنوين وغيرهما).
  • توحيد صور الألف (ا وأ وإ وآ).
  • توحيد التاء المربوطة والهاء (ة وه) والياء والألف المقصورة (ي وى).
  • في قياسنا الخاص وحّدنا صور الألف والياء والتاء المربوطة وأزلنا التشكيل، وهذا مكتوب في صفحة القياس. وبدون هذا التوحيد تُحسب فروق الإملاء أخطاءً وإن لم تغيّر المعنى.

الحساب بالكود

هذه الخوارزمية كاملة. جرّبناها على المثال الإنجليزي في المقالة الإنجليزية وأعطت 0.333:

def wer(reference: str, hypothesis: str) -> float:
    ref, hyp = reference.split(), hypothesis.split()
    # d[i][j] = fewest edits to turn the first i reference words into the first j hypothesis words
    d = [[0] * (len(hyp) + 1) for _ in range(len(ref) + 1)]
    for i in range(len(ref) + 1):
        d[i][0] = i                      # i deletions
    for j in range(len(hyp) + 1):
        d[0][j] = j                      # j insertions
    for i in range(1, len(ref) + 1):
        for j in range(1, len(hyp) + 1):
            same = 0 if ref[i - 1] == hyp[j - 1] else 1   # 1 = substitution
            d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + same)
    return d[-1][-1] / len(ref)

print(wer("the cat sat on the mat", "the cat sit on mat"))   # 0.3333333333333333

ما الذي لا يقوله الرقم؟

  • الكلمة الخاطئة تُحسب خطأً واحدًا سواء كانت «في» أو اسم شخص أو مبلغ.
  • النسبة تقاس على تسجيلات بعينها؛ وتسجيلك له ضجيجه ولهجته ومفرداته.
  • النص المرجعي الذي يُقاس عليه قد يحتوي أخطاءه هو أيضًا.

كيف تقارن بين أداتين بنفسك؟

  1. اقتطع من تسجيلك مقطعًا من دقيقة إلى دقيقة ونصف، من أصعب جزء يمكنك قبوله لا من أنظف جزء.
  2. اكتب نصه الصحيح بنفسك، وهذا هو النص المرجعي.
  3. ارفع المقطع نفسه إلى كل أداة واختر العربية بيدك.
  4. وحّد النصوص كلها بالطريقة نفسها (التشكيل والهمزات وعلامات الترقيم والأرقام).
  5. احسب WER لكل أداة بالسكربت أعلاه أو بيدك، ثم انظر إلى أنواع الأخطاء، فالأسماء والأرقام أغلى من أداة عطف ناقصة.

وماذا عن نسبة خطأ الحروف؟

الفكرة نفسها لكن على الحروف بدل الكلمات، وتُستعمل خاصة في اللغات التي لا تفصل كلماتها بمسافات. تقول صفحة Whisper على GitHub إن الرسم البياني الخاص بكل لغة يستعمل نسبة خطأ الكلمات أو الحروف بحسب اللغة.

وهل هو وعد بدقة تسجيلي؟

لا. الاختبار العادل أن تأخذ دقيقة من تسجيلك وتكتب نصها الصحيح بنفسك وتجرّب به أكثر من أداة وتحسب النسبة بالطريقة نفسها. وللأرقام التي قسناها نحن مع طريقتها: قياس سرعة التفريغ ودقته. وللنسخة الإنجليزية من هذه المقالة: Word error rate.

تم التحقق بتاريخ 2026-10-26. ملف README الخاص بـ Whisper على GitHub (عبارة «word or character error rates» عن الرسم البياني لكل لغة). المعادلة والأمثلة حسابات أجريناها بأنفسنا، وأرقام قياسنا من ملف البيانات المنشور. القوائم والحدود تتغيّر؛ راجع صفحة الجهة نفسها قبل أن تعتمد على أي منها.

الأسئلة الشائعة

ما هي نسبة خطأ الكلمات؟
عدد الكلمات المبدَّلة والمحذوفة والمضافة في النص الآلي مقسومًا على عدد كلمات النص الصحيح.
هل يمكن أن تزيد النسبة على 100%؟
نعم، إن أضاف النظام كلمات كثيرة ليست في النص الصحيح.
لماذا تتغيّر النسبة بتغيير الإملاء؟
لأن «صباحا» و«صباحاً» كلمتان مختلفتان للحاسوب ما لم نوحّد النص قبل المقارنة.
ما نسبة الخطأ المقبولة؟
لا حد واحد. يتوقف على اللغة والتسجيل والغرض؛ قارن الأدوات على الصوت نفسه وبالتوحيد نفسه.

جرِّب تفريغ ملف

مجاني لملفك الأول، بلا حساب.

صفحات ذات صلة