مرحبًا مجتمع إتقان
عند مباشرتي للعمل على تطوير تطبيق تصحيح التلاوة باستخدام الذكاء الاصطناعي كان أول ما فكرت به هو البحث عن النموذج المناسب لتحويل التلاوة القرآنية إلى نص مكتوب، وجدت الكثير من الخيارات خلال بحثي لكن الأمر في حالة التعرف على التلاوة صعّب علي المهمة لخصوصية التلاوة والفرق بينها وبين سائر كلامنا المنطوق.
سأستعرض في هذه المشاركة أهم النماذج مفتوحة المصدر التي يمكنها مساعدة المطورين في التعرف التلقائي على الكلام Automatic Speech Recognition -أو ASR اختصارًا- والتي تناسب تخصيصها للتعرف على التلاوات القرآنية.
أمور مهمة يجب الانتباه لها
أود التنبيه لعدة أمور مهمة قبل أن أستعرض نماذج التعرف الصوتي ASR المناسبة:
الأمر الأول هو أن النماذج الأساسية للتعرف الصوتي لا تكون مدربة في الأساس لفهم التلاوة القرآنية بشكل خاص، لذا ستحتاج لصقل أو ضبط Fine-tuning للتعرف عليها. وهنا يمكنك صقل النماذج بنفسك لكنك ستحتاج إلى توفير بيانات صوتية قرآنية دقيقة، أو يمكنك تسهيل المهمة والبحث عن نماذج سبق للمطورين صقلها ومشاركتها بترخيص مفتوح على منصات مثل HuggingFace أو AIbase وإتاحتها للاستخدام.
الأمر الثاني الذي يتوجب الانتباه له هو أن النماذج وبيانات التدريب قد لا تكون متاحة تحت ترخيص مفتوح مرن فبعضها قد يكون مجانيًا للاستعمال الأكاديمي والبحثي فقط، لذا عليك الانتباه لحقوق النشر سواء للنماذج نفسها أو للتسجيلات المستخدمة في تدريبها.
أخيرًا: من الضروري عند استخدام نموذج تعرف صوتي الانتباه لمقاييس لتقييم أداء النموذج، فمن أهم المقاييس المساعدة:
- معدل خطأ الكلمات Word Error Rate أو WER: المقياس الأساسي لأنظمة التعرف على الكلام، يقارن الكلمات التي نتجت عن النموذج بالكلمات الصحيحة، ويحسب نسبة الأخطاء.
- معدل خطأ الكلمات مع التشكيل Diacritized WER أو DW WER: وهو معدل خطأ الكلمات مع أخذ التشكيل في الاعتبار.
- معدل خطأ الأحرف Character Error Rate أو CER: يقيس الأخطاء على مستوى الأحرف لا الكلمات
- معدل خطأ الفونيمات Phoneme Error Rate أو PER: يقيس الأخطاء على مستوى الصوتيات أو مخارج الحروف وهو مهم لتحليل أخطاء التجويد
ومن الضروري للمطور المحافظة على الشفافية في دقة النموذج، خاصة عند استخدامه في التطبيقات القرآنية لما لها من خصوصية وقدسية والإشارة بوضوح إلى الدقة التي حصلت عليها. حيث تستخدم عدة
دعوني أستعرض معكم الآن مجموعة من النماذج المفيدة للتعرف على التلاوات القرآنية.
نموذج Whisper
يُعد نموذج Whisper من OpenAI خيارًا ممتازًا كنموذج أساسي للتعرف الصوتي، ويتميز بقدرته على فهم لغات ولهجات متعددة من ضمنها اللغة العربية، وهو يحافظ على دقة أداء عالية حتى إن كانت التسجيلات الصوتية غير مثالية. لذا يصلح للاستخدام كنقطة بداية قبل الانتقال لنماذج أكثر تخصصًا.
يتوفر نموذج Whisper بعدة إصدارات تختلف في الحجم وعدد المعاملات: فالنسخة tiny-base تتميز بالسرعة والخفة وتناسب الأجهزة البسيطة أو التطبيقات الفورية، والنسخة small-medium تحقق توازنًا بين السرعة والدقة وتعد الأنسب لمعظم الاستخدامات العملية، أم النسخة large فهي الأكبر والأثقل من حيث استهلاك الموارد لكنها توفر أعلى دقة وفهمًا للهجات واللغات.
بشكل عام، كلما زاد حجم النموذج ارتفعت دقته لكن على حساب السرعة والموارد، بينما النماذج الأصغر أسرع وأخف ولكن بدقة أقل، لذلك يحتاج المطور لاختيار النموذج المناسب بما يحقق التوازن بين الأداء والدقة والموارد المتاحة.
نماذج Whisper مصقولة للتعامل مع التلاوات
إلى جانب نموذج Whisper العام، هناك عدة نماذج مصقولة Fine-tuned من النموذج جرى تحسينها وتدريبها للتعامل مع التلاوة القرآنية:
- نموذج whisper-base-ar-quran هو نسخة محسّنة من Whisper-base وفرته شركة Tarteel AI وهو مخصص للتعرّف على التلاوات القرآنية باللغة العربية ودرّبته باستخدام إعدادات متقدّمة على بيئة GPU متعددة. يحقق النموذج معدل خطأ WER منخفض يساوي تقريبًا 5.75% ويعد خيارًا عمليًا يوازن بين خفة الحجم و جودة الأداء.
- whisper-tiny-ar-quran : نسخة خفيفة جدًا من Whisper-tiny تناسب الأجهزة محدودة الموارد وهو كذلك مقدم من شركة Tarteel AI ومدرب للتعرف على التلاوات القرآنية ورغم بساطته وصغر حجمه، فقد حقق دقة مقبولة بمعدل خطأ WER يقارب 7%.
- Tarbiyah Ai V1.1: نسخة من نموذج Whisper-small مخصّصة للتعرّف على التلاوة القرآنية، يتميز بقدرته على تحويل التلاوات لنصوص مكتوبة بدقة عالية على مستوى الكلمات، كما يدعم التغذية الراجعة الفورية لتقييم وتصحيح التلاوة.
نموذج wav2vec 2.0
يعتبر wav2vec 2.0 نموذجًا رائدًا طورته شركة Meta للتعرف التقائي على الكلام، صُمّم هذا النموذج للتغلب على مشكلة ندرة البيانات الموسومة (أي التسجيلات الصوتية المصحوبة بالنص الصحيح).يعتمد النموذج على أسلوب التدريب مع شبه إشراف Semi-Supervised، حيث يُدرَّب أولًا على كميات ضخمة من البيانات الصوتية غير الموسومة لاستخراج تمثيلات عامة للصوت أي كيف يبدو الصوت، النبرة، ونمط الكلام. وبعد أن يتعلم التمثيلات العامة، يتم تدريبه على بيانات موسومة قليلة، أي تسجيلات صوتية مع النص الصحيح. هذا يسمح له بالتعرف على كلمات ونصوص محددة.
يمتاز Wav2Vec 2.0 بأداء قوي ويمكن دمجه بسهولة مع نماذج لغوية متخصصة بالعربية أو بالنص القرآني لزيادة الدقة، ويتوفر بعدة نسخ تختلف في الحجم وعدد المعاملات مثل النسخة الخفيفة Wav2Vec2-Tiny المناسبة للأجهزة محدودة الموارد، ونسخة Wav2Vec2-Base متوسطة الحجم التي توازن بين الدقة والسرعة ونسخة Wav2Vec2-Large الأكبر والأدق والتي تتطلب موارد أكبر.
هناك أيضًا نموذج Wav2Vec2-BERT الذي يجمع بين تمثيلات الصوت من Wav2Vec2 والفهم لغوي من BERT، وهذا يمنحه قدرة أعلى على تفسير السياق وتقليل الأخطاء الناتجة عن الكلمات المتشابهة صوتيًا، ويناسب التطبيقات التي تتطلب دقة عالية كتطبيقات التعرف على التلاوات القرآنية.
النموذج متاح عبر Hugging Face، وتتوفر منه نسخ مدرّبة مسبقًا على بيانات متعددة اللغات، وعدة نسخ مصقولة مناسبة للتطبيقات القرآنية مثل:
نموذج Wav2vecLarge_quran_syllables_recognition المصقول للتعرف على المقاطع الصوتية Syllables في التلاوة القرآنية مع التشكيل، فقد تم تدريبه على بيانات خاصة وعلى جزء من مجموعة بيانات ترتيل Tarteel dataset بعد تنظيفها وتحويلها إلى مقاطع صوتية، وهو مدمج مع النموذج اللغوي 5-gram Language Model لزيادة دقة المخرجات.
نموذج wav2vec2-base-word-by-word-quran-asr هو نسخة مُحسّنة من wav2vec2-base مُدرَّب للتعرف على التلاوة القرآنية كلمة بكلمة بدقة عالية.
نموذج Conformer
نموذج Conformer هو نموذج حديث للتعرف على الكلام وتحويله إلى نص مكتوب. يجمع بين معالجة التفاصيل الدقيقة للصوت وفهم السياق الطويل، ليعطي نتائج دقيقة وسلسة، يفيد النموذج في التعرف التلقائي على الكلام ASR باللغة العربية، كما يمكن تخصيصه لتلاوات القرآن الكريم لتوفير أداء أدق.
يعتمد نموذج Conformer على شبكات CNN الالتفافية للتعرف على التفاصيل الصغيرة في الصوت، مثل الحروف والمقاطع الصوتية، وآلية Self-Attention لفهم السياق الكامل للكلام. أي أن النموذج لا يركز فقط على الصوت الحالي، بل يفهم كيف ترتبط الكلمات والمقاطع ببعضها داخل الجملة أو النص الطويل.
عند معالجة الصوت، يقوم النموذج أولًا بتحويله إلى طيف صوتي Spectrogram، أي صورة توضح الترددات المختلفة للصوت مع مرور الوقت. ثم تستخدم شبكات CNN لمعالجة هذه الصورة واستخراج أهم الخصائص. بعد ذلك، يستخدم المحول Transformer لفهم الترابط بين هذه الخصائص على مدى أطول، مما يزيد من دقة النص الناتج.
تتوفر عدة نماذج مصقولة للنموذج من أجل اللغة العربية من بينها:
نموذج stt_ar_fastconformer_hybrid_large_pcd_v1.0: من NVIDIA، مُدرب على اللغة العربية مع دعم الحركات وعلامات الترقيم مثل النقاط والفواصل وعلامات الاستفهام. وهو مناسب للتطبيقات التي تتطلب دقة عالية في النصوص المشكولة.
نموذج Conformer-CTC-Arabic-ASR نموذج محسن لفهم الكلام العربي وتحويله إلى نص تم تدريبه على مجموعة بيانات عربية منوعة Arabic Common Voice ويقدم أداء جيد نسبيًا مع تنوع اللهجات وظروف التسجيل.
مكتبات إضافية مفتوحة المصدر للتعرف الصوتي
بالإضافة إلى النماذج السابقة، تتوفر مكتبات ومحركات مفتوحة المصدر تفيد في التعرف الصوتي سأستعرض اثنتين منها:
مكتبة Kaldi
مكتبة Kaldi هي أداة قوية مفتوحة المصدر لتطوير أنظمة التعرف التلقائي على الكلام ASR. تستخدم على نطاق واسع في الأبحاث الأكاديمية والمشاريع التي تتطلب دقة عالية وتحكمًا كاملًا في النماذج.
بالنسبة للغة العربية، تدعم Kaldi وصفة (recipe) مخصصة تم تطويرها باستخدام قاعدة بيانات GALE، التي تحتوي على حوالي 200 ساعة من بيانات الأخبار المتلفزة.
كما تتميز بدعمها لتقنيات المتقدمة مثل الشبكات العصبية العميقة Deep Neural Networks التي تساعد على التعلم من البيانات واستخراج الأنماط المعقدة في الصوت، والتدريب التمييزي Discriminative Training الذي يزيد من قدرتها على التفريق بين الكلمات المتشابهة صوتيًا مما يجعلها مناسبة لبناء أنظمة معقدة.
كما توفر مرونة كبيرة في تخصيص النماذج، سواء الصوتية أو اللغوية، بما في ذلك إمكانية دمج قواعد خاصة كقواعد التجويد Tajweed في تطبيقات القرآن الكريم. وقد استخدمت Kaldi في عدة أبحاث مثل: Quran Recitation Recognition using End-to-End Deep Learning لتطوير أنظمة تعرف تلقائيًا على تلاوة القرآن مع مراعاة الخصائص الفريدة مثل التجويد والنطق الصحيح، وحققت معدلات خطأ منخفضة نسبيًا على مستوى الكلمات والجمل.
محرك Vosk
Vosk هو محرك مفتوح المصدر للتعرف على الكلام طورته شركة Alpha Cephei Inc، مبني على أساس Kaldi، لكنّه مصمم ليكون أخف وأسهل للاستخدام في التطبيقات العملية ويناسب العمل على أجهزة مثل Raspberry Pi أو الهواتف الذكية، يدعم Vosk أكثر من 20 لغة ولهجة، بما في ذلك العربية على سبيل المثال، هناك نموذج عربي يُعرف بـ vosk-model-ar-mgb2-0.4 بحجم يقارب 318 ميغابايت.
يدعم Vosk واجهات برمجة التطبيقات للغات متعددة مثل Python و Java و#C و Go وغيرها.. مما يوفر مرونة كبيرة في التطوير. كما يوفر إمكانية دمج نموذج لغوي مُخصّص لتحسين دقة التعرف، كمايوفّر النموذج كذلك إمكانية التعرّف على المتحدثين أو التفريق بين الأصوات في المقابلات أو التسجيلات التي تضم أكثر من متحدث، ويوفّر استجابة في الزمن الحقيقي تقريبًا.
الخلاصة
كانت هذه جولة سريعة استعرضت فيها أبرز النماذج مفتوحة المصدر للتعرف التلقائي على الكلام ASR والتي يمكن الاستفادة منها في تطوير تطبيقات لتلاوة القرآن الكريم.
ختامًا تجدر الإشارة لأن هناك عدة تحديات جوهرية لازالت قائمة في التعرف على التلاوات القرآنية ومن أبرزها: زمن الاستجابة فالأداء البطيء للنماذج الكبيرة يعتبر عائقًا كبيرًا أمام تحقيق التغذية الراجعة الفورية الضرورية لمتعلمي القرآن، إلى جانب تعقيد التعرف الدقيق على أحكام التجويد والحاجة للتركيز على مقاييس أكثر دقة.
ما رأيكم؟ هل هناك تحديات أخرى تواجه تطبيقات التلاوة وهل يجب أن يركز التوجه المستقبلي لنماذج ASR أكثر على السرعة أم على الدقة أم على معايير أخرى. وهل تعرفون نماذج أخرى مفتوحة المصدر مناسبة لتطبيقات التلاوة القرآنية؟
يسرني مشاركة تجاربكم واقتراحاتكم.