حاسبة معدل خطأ الكلمات والحروف للعربية
الصق النص المرجعي ومخرَج التعرّف على الكلام واحصل على WER وCER وفق ست سياسات توحيد مسمّاة، مع مقارنة الكلمات. تعمل في متصفحك.
تحسب ArabicWER من Bayanat Labs معدل خطأ الكلمات (WER) ومعدل خطأ الحروف (CER) لأنظمة التعرّف على الكلام العربي وفق ست سياسات توحيد مسمّاة جنبًا إلى جنب. الصق النص المرجعي ومخرَج النظام، جملة في كل سطر، أو ارفع ملف TSV: تعرض الحاسبة النتيجة في كل سياسة، والفرق بين السياسات، ومحاذاة كلمة بكلمة تميّز كل استبدال (S) وحذف (D) وإدراج (I). واذكر السياسة مع كل رقم، مثل WER (arabicwer-1/lenient).
افتح الحاسبة · الشيفرة والمواصفة على GitHub · حالات الاختبار ودراسة الحالة على Hugging Face
يجري الحساب داخل متصفحك، فلا يُرفع نصك ولا يُخزَّن ولا يُسجَّل.
مثال محلول
تُفتح الحاسبة على 7 أزواج قصيرة، في كل زوج نوع واحد من الاختلاف بين النص المرجعي ومخرَج النظام:
| النص المرجعي | مخرَج النظام | الاختلاف |
|---|---|---|
| ذَهَبَ الوَلَدُ إِلَى المَدْرَسَةِ | ذهب الولد إلى المدرسة | حركات في النص المرجعي فقط |
| أسامة وإياد في المكتبة | اسامه واياد في المكتبه | الهمزة على الألف والتاء المربوطة |
| جلس على الكرسي | جلس علي الكرسي | الألف المقصورة مقابل الياء (على حرف جر، وعلي اسم علم) |
| مرحبا، كيف حالك؟ | مرحبا كيف حالك | الفاصلة وعلامة الاستفهام العربيتان |
| عندي ٣ كتب | عندي 3 كتب | رقم عربي مشرقي مقابل رقم غربي |
| ذهبت وأخي إلى السوق | ذهبت و أخي إلى السوق | واو العطف منفصلة |
| عندي meeting بعد الظهر | عندي Meeting بعد الظهر | حرف كبير في كلمة إنجليزية |
النتائج على مستوى المجموعة في كل سياسة:
| السياسة | WER | CER |
|---|---|---|
arabicwer-1/raw |
56.00% | 16.79% |
arabicwer-1/nfc |
56.00% | 16.79% |
arabicwer-1/dediac |
28.00% | 5.74% |
arabicwer-1/strict-orth |
24.00% | 4.92% |
arabicwer-1/bayanat-norm-v1 |
16.00% | 2.46% |
arabicwer-1/lenient |
8.00% | 0.82% |
تعطي النصوص نفسها معدل خطأ كلمات 56.00% دون توحيد و8.00% وفق سياسة lenient. لكن التوحيد المتسامح يخفي أيضًا أخطاء حقيقية (على حرف جر، وعلي اسم علم)، لذلك تعرض الحاسبة النتائج الأكثر صرامة بجانبه دائمًا.
لماذا تهم السياسة
على 100 جملة من مجموعة اختبار FLEURS للعربية المصرية (18.8 دقيقة من الصوت) نسخها نموذجان مفتوحان من Whisper، يتغيّر معدل خطأ الكلمات على مستوى المجموعة بمقدار 15.7 نقطة لنموذج whisper-large-v3-turbo، و13.4 نقطة لنموذج whisper-small بحسب السياسة وحدها:
| السياسة | whisper-large-v3-turbo |
whisper-small |
|---|---|---|
arabicwer-1/raw |
25.57% | 39.17% |
arabicwer-1/nfc |
25.57% | 39.17% |
arabicwer-1/dediac |
10.73% | 27.85% |
arabicwer-1/strict-orth |
10.52% | 27.64% |
arabicwer-1/bayanat-norm-v1 |
9.94% | 25.90% |
arabicwer-1/lenient |
9.88% | 25.79% |
يأتي معظم هذا الفرق من علامات الترقيم والحركات، إذ تختلف مخرجات النماذج عن النصوص المرجعية في الترقيم والتشكيل. وتقيس هذه الأرقام مدى تأثر النتيجة بالتوحيد على مجموعة اختبار عامة، ولا تقيس جودة النماذج.
هل أحذف التشكيل قبل حساب معدل خطأ الكلمات؟
في الغالب نعم، إذا لم يكن النص المرجعي والنظام يشكّلان بالطريقة نفسها: على جمل FLEURS نفسها (100 جملة)، أضاف إبقاء الحركات 4.55 نقطة إلى معدل خطأ الكلمات لنموذج whisper-large-v3-turbo وفق سياسة lenient. لكن صرّح بذلك: اذكر السياسة مع الرقم، مثل WER (arabicwer-1/dediac) أو WER (arabicwer-1/lenient).
كيف يُحسب
- توحّد كل سياسة النصين بمكتبة arabic-normalize مع بيانات يونيكود 18.0.0 المضمّنة، فلا تعتمد النتيجة على المتصفح ولا على إصدار Python.
- الكلمات هي سلاسل المحارف بين المسافات، ويعدّ معدل خطأ الحروف نقاط الترميز في الكلمات بعد وصلها بمسافة واحدة.
- تُحاذى الكلمات بمسافة ليفنشتاين وبقاعدة ثابتة لحسم التعادل مكتوبة في المواصفة.
WER = (S + D + I) / N، بجمع كل الأزواج قبل القسمة.- لا تتغير السياسة بعد إصدارها: أي تغيير في السلوك يصدر بمعرّف سياسة جديد، وتُعرَّف كل سياسة ببصمة SHA-256 لملفها.
تعطي الحاسبة الأرقام نفسها التي تعطيها حزمة Python على كل حالات اختبار المطابقة (160 حالة) في كل سياسة.
السياسات
| السياسة | ما تفعله | SHA-256 |
|---|---|---|
arabicwer-1/raw |
النص كما هو، مقسّمًا عند المسافات | 25a0985e81d51658 |
arabicwer-1/nfc |
صيغة يونيكود NFC فقط | 9cdd67869a6ce442 |
arabicwer-1/dediac |
حذف التشكيل | 46a6b2fb3d9475d0 |
arabicwer-1/strict-orth |
إملاء صارم: حذف التشكيل وتوحيد الأرقام | 83da6f52240c9ca5 |
arabicwer-1/bayanat-norm-v1 |
سياسة bayanat-norm-v1 من arabic-normalize، للتقييم | 413cba6fa8e40212 |
arabicwer-1/lenient |
إملاء متسامح (الافتراضي) | b097f6eac978e001 |
الاستخدام في الشيفرة البرمجية
pip install "git+https://github.com/Bayanat-Labs/arabicwer@v0.1.0"
# كل السياسات جنبًا إلى جنب مع الفرق بينها، والخيار --format html يكتب مقارنة كلمات تدعم الاتجاه من اليمين إلى اليسار
arabicwer score --tsv pairs.tsv
لم تصدر الحزمة على PyPI بعد. وإلى أن تصدر، ثبّتها من GitHub عند وسم الإصدار كما في الأمر السابق، وسيعمل الأمر pip install arabicwer بعد نشر الحزمة. ويضم ملف TSV في كل سطر معرّفًا ونصًا مرجعيًا ومخرَج النظام.
>>> import arabicwer
>>> ref, hyp = "ذهب الولد إلى المدرسة", "ذهب الولد الى المدرسه"
>>> arabicwer.wer(ref, hyp) # default policy: lenient
0.0
>>> arabicwer.wer(ref, hyp, policy="raw") # no normalisation
0.5
طريقة الإشارة
حُسبت النتيجة بسياسة
arabicwer-1/lenient(بصمة sha256 b097f6eac978…)، أداة arabicwer 0.1.0، Bayanat Labs.
@software{bayanatlabs_arabicwer_2026,
author = {{Bayanat Labs}},
title = {arabicwer: Arabic WER and CER under named, versioned normalisation policies},
version = {0.1.0},
year = {2026},
url = {https://github.com/Bayanat-Labs/arabicwer},
license = {Apache-2.0}
}
اذكر معرّف السياسة مع كل نتيجة. وسجل الإصدار، بتراخيصه وسجل تغييراته، في صفحة ArabicWER على Bayanat Labs Open.
الترخيص والتواصل
الشيفرة البرمجية: Apache-2.0. السياسات والمواصفة وحالات الاختبار ومخرجات دراسة الحالة ونتائجها: CC BY 4.0. نصوص FLEURS المرجعية: Google، بترخيص CC BY 4.0. للأسئلة والتصويبات: hello@bayanatlabs.com.
هل تحتاج إلى بيانات كلام عربية جاهزة للإنتاج وواضحة الحقوق؟
ArabicWER مجانية. أما بيانات الكلام العربية المرخّصة ومجموعات التقييم فتجدها في صفحة Bayanat Voice.