تحويل الكلام إلى نص باللغة العربية: مقارنة بين Deepgram و Whisper و Azure، واختبار الأسبوع الواحد على مكالماتك الخاصة
أرقام الدقة المنشورة لن تخبرك بكيفية تعامل المحرك مع متصل خليجي عبر خط الهاتف. إليك ما يميز Deepgram و Whisper و Azure للغة العربية، واختبار لمدة أسبوع لحسم الأمر على ملفاتك الصوتية.
أرقام الدقة للغة العربية التي ينشرها كل مزود تم قياسها على ملفات صوتية لا تخصك. هذه الأرقام تأتي غالباً من كلام مقروء ونقي باللغة العربية الفصحى (MSA). بينما يتحدث المتصلون بك باللهجة الخليجية أو المصرية أو الشامية، وغالباً من داخل سيارة، وعبر خط هاتف مضغوط. لذلك، فإن التقييم الموجود على صفحة المزود لا يخبرك بالكثير عن مكالماتك الفعلية.
هذه الفجوة مهمة لأن تحويل الكلام إلى نص (STT) هو الخطوة الأولى في أي وكيل (agent) صوتي. كل شيء بعد ذلك يعتمد على النص المستخرج. النص الخاطئ يعطيك إجابة خاطئة. والنص البطيء يجعل المحادثة بأكملها تتأخر.
عادةً ما يضع المشترون في الخليج ثلاثة محركات في القائمة المختصرة: Deepgram، و Whisper من OpenAI، و Azure AI Speech من مايكروسوفت. نحن لم ننشر مقارنة معيارية مباشرة، ولن نختلق واحدة. بدلاً من ذلك، سنوضح لك الاختلافات الهيكلية التي تحسم الاختيار، بالإضافة إلى بروتوكول اختبار يمكنك تشغيله على تسجيلاتك الخاصة في حوالي أسبوع.
لماذا تفشل التقييمات المصممة للإنجليزية مع اللغة العربية
اللغة العربية تتميز بالازدواجية اللغوية. يكتب الناس بالفصحى (MSA) لكنهم يتحدثون باللهجات، وهناك اختلاف بينهما في المفردات والنطق والقواعد. النموذج (model) المدرب غالباً على نشرات الأخبار والكتب الصوتية يميل إلى تحويل الكلام العامي إلى أقرب شكل فصيح. هذا يؤدي إلى إسقاط كلمات، أو "تصحيح" قواعدي لم يستخدمه المتصل أبداً، أو حتى اختراع عبارات كاملة. تمت تغطية المشكلة الأوسع في Arabic tokenization, dialects and search in production.
الصوت عبر الهاتف يزيد الأمر سوءاً. معظم خطوط الهاتف تنقل صوتاً بنطاق ضيق بتردد 8kHz. العديد من النماذج الحديثة مدربة على صوت بتردد 16kHz، لذا تصلها تسجيلات الهاتف وجزء من الإشارة مفقود.
هناك أيضاً فخ في التقييم. تختلف الإملاءات العربية بطرق لا تغير المعنى: أشكال الألف المختلفة، التاء المربوطة المكتوبة كهاء، والتشكيل الاختياري. إذا قمت بتقييم المخرجات الخام مقابل نص مرجعي، فستُحسب هذه الاختلافات كأخطاء. قد يبدو المحرك أسوأ بكثير مما هو عليه في الواقع. قم بتوحيد كلا النصين قبل مقارنتهما.
بالنسبة لأي وكيل صوتي مباشر، هناك ثلاثة أشياء تحسم النتيجة:
- ▸الوقت حتى أول نص. مدى سرعة المحرك في إرجاع نص قابل للاستخدام بينما لا يزال المتصل يتحدث.
- ▸دقة اللهجة في الصوت الهاتفي. معدل خطأ الكلمات (WER) على مكالمات عملائك، وليس على خطابات البث التلفزيوني.
- ▸تحديد نقطة النهاية (Endpointing). مدى سرعة وموثوقية المحرك في تحديد أن المتصل قد انتهى من الكلام.
تحديد نقطة النهاية (Endpointing) هو المكان الذي تفشل فيه العديد من المشاريع التجريبية الصوتية. أظهرت دراسة حول تبادل الأدوار في عشر لغات أن الفجوة النموذجية بين المتحدثين تبلغ حوالي 200 مللي ثانية (Stivers et al., PNAS, 2009). إذا انتظر نظامك ثانية كاملة تقريباً من الصمت قبل أن يقرر أن المتصل قد انتهى، فسيبدو بطيئاً حتى قبل أن يبدأ النموذج اللغوي في العمل. إعدادات Deepgram التي تتحكم في ذلك، endpointing versus utterance_end_ms, with code، موجودة في مقال زمن الاستجابة (latency).
Deepgram: مصمم للمحادثات المباشرة
تم تصميم Deepgram من أجل البث المباشر (streaming). يدخل الصوت عبر اتصال مستمر وتعود النصوص الجزئية بينما لا يزال المتصل يتحدث. بالنسبة لموظف استقبال بالذكاء الاصطناعي، أو خط فرز، أو وكيل تأهيل مبيعات، فإن هذا التصميم هو نقطة الانطلاق الصحيحة.
يمكن ضبط إعدادات الـ endpointing الخاصة به. تصف وثائق Deepgram حد الصمت الذي يغلق الجملة. هذا هو الإعداد الذي يؤثر بشكل كبير على ما إذا كان الوكيل سيقاطع الناس أو سيبدو بطيئاً. عائلة النماذج الحالية لديه هي Nova. تسرد صفحة دعم اللغات في Deepgram اللغة العربية لعائلة Nova، مع رموز إقليمية تشمل ar-AE و ar-SA و ar-EG. قبل الالتزام، تحقق من شيئين في تلك الصفحة: هل رمز اللهجة الذي تحتاجه مدرج، وهل البث المباشر مدعوم لإعداد اللغة الذي تخطط لاستخدامه؟
نقطة الضعف هي مفردات المجال المتخصص. أسماء الأدوية، وأسماء المشاريع المحلية، والعربية المختلطة بمصطلحات الأعمال الإنجليزية هي الأماكن التي يتعثر فيها أي نموذج عام. يدعم Deepgram تعزيز الكلمات المفتاحية، وهو أمر مفيد. اختبره على قائمة المصطلحات الخاصة بك بدلاً من افتراض أنه سيعمل.
Whisper: دقيق، لكنه مصمم للتسجيلات
عائلة Whisper من OpenAI هي نماذج مفتوحة الأوزان. تتعامل نماذجها الكبيرة بشكل جيد مع ضوضاء الخلفية واللغة العربية المختلطة بالإنجليزية. نظراً لأن الأوزان عامة، يمكنك تشغيلها على خوادمك الخاصة، وهو أمر مهم إذا كانت بياناتك لا يمكن أن تخرج من مبناك. توضح The PDPL checklist for data that cannot leave the building ماذا يعني هذا الالتزام في السعودية والإمارات.
المشكلة تكمن في طريقة عمله. يعالج Whisper الصوت في نوافذ مدتها 30 ثانية. توجد نسخ تدعم البث المباشر، لكنها تواجه مقايضة هيكلية. إذا أخرجت النص مبكراً، تنخفض الدقة، وأحياناً يتم اختراع كلمات. وإذا انتظرت المزيد من الصوت، فسينتظر المتصل أيضاً. هذه المقايضة هي السبب في أن Whisper نادراً ما يناسب وكيل مباشر.
إنه الخيار الصحيح عندما لا يكون هناك من ينتظر على الخط:
- ▸تفريغ تسجيلات المكالمات لمراجعة الجودة
- ▸استخراج أدلة الامتثال من مكالمات المبيعات بأثر رجعي
- ▸الإملاء، حيث يقوم شخص بالتسجيل أولاً ويقرأ النتيجة لاحقاً
في هذه المهام، الدقة تهم أكثر بكثير من السرعة، وهنا تبرز نقاط قوة Whisper.
Azure AI Speech: خيار الامتثال والتخصيص
يتم وضع Azure AI Speech في القائمة المختصرة من قبل البنوك والمستشفيات والجهات الحكومية في الخليج. جاذبيته لا تتعلق بالسرعة الخام بقدر ما تتعلق بالمشتريات والتحكم.
تمتلك Azure مناطق لمراكز البيانات في الخليج، بما في ذلك شمال الإمارات. تُظهر قائمة مناطق Azure لخدمة Speech منطقة uaenorth مع دعم التفريغ الصوتي في الوقت الفعلي والدفعات. يتم تشغيل تدريب النماذج الصوتية المخصصة في مناطق أخرى، ثم يتم نسخ النموذج المدرب. إذا كان المنظم أو الفريق القانوني لديك يطلب معالجة البيانات الصوتية داخل الدولة، فقد يحسم هذا الأمر مبكراً. تأكد من أن ميزات الصوت التي تحتاجها متوفرة فعلياً في تلك المنطقة، لأن التوافر يختلف حسب الميزة. بالنسبة لعمليات النشر في السعودية، حدد التزاماتك بموجب نظام حماية البيانات الشخصية (PDPL) أولاً.
الميزة الأبرز في Azure هي Custom Speech. يمكنك رفع نصوص وصوتيات من مجالك الخاص، مثل أسماء الأدوية أو أسماء الأحياء والمشاريع، لتكييف النموذج العربي الأساسي. بالنسبة للمفردات المتخصصة، غالباً ما يكون هذا هو أكبر مكسب في الدقة يمكن الحصول عليه. التكلفة هنا هي العمل المستمر: يجب على شخص ما صيانة بيانات التدريب وإعادة الاختبار بعد كل تحديث للنموذج الأساسي.
يدعم Azure البث المباشر. ما إذا كانت سرعته تناسب ميزانية المحادثة الخاصة بك يعتمد على مسار شبكتك وإعداداتك. قم بقياس زمن الاستجابة؛ لا تفترض.
حساب التكلفة
تتم محاسبة STT بالدقيقة، لذا المعادلة بسيطة:
عدد المكالمات يومياً × متوسط طول المكالمة بالدقائق × عدد الأيام في الشهر × السعر لكل دقيقة
خذ السعر المعلن اليوم لكل محرك من صفحة التسعير الخاصة به. ثم قم بتعديله بناءً على ثلاثة أشياء لا يشملها السعر المعلن:
- ▸مستويات الحجم. جميع المزودين الثلاثة يقدمون خصومات عند زيادة الحجم. في أحجام مستوى الشركات، اطلب عرض سعر بدلاً من استخدام السعر العام.
- ▸التخصيص. يتم تسعير النماذج المخصصة على Azure بشكل منفصل عن الخدمة القياسية.
- ▸الاستضافة الذاتية. تشغيل Whisper على وحدات معالجة الرسومات الخاصة بك يحول التكلفة لكل دقيقة إلى تكلفة شهرية ثابتة. هذا يؤتي ثماره فقط إذا كان حجم عملك يبقي الأجهزة مشغولة. قارن
التكلفة الشهرية للـ GPU والهندسة ÷ الدقائق المفرغةمقابل سعر الـ API عند حجمك الفعلي.
بالنسبة لمشغل متوسط الحجم، عادة ما تكون فاتورة STT صغيرة مقارنة بتكلفة نص خاطئ أو متصل يغلق الخط. اختر بناءً على الملاءمة أولاً. ثم فاوض على السعر.
الاختبار: احسم الأمر على ملفاتك الصوتية في أسبوع
يمكنك إجراء هذا الاختبار بنفسك، وستكون النتيجة أكثر فائدة من أي جدول منشور.
- ▸اجمع 100 إلى 200 مقطع من مكالمات حقيقية، طول كل منها من 20 إلى 60 ثانية. اسحبها من نظام الهاتف الفعلي لديك بمعدل العينة الأصلي. احصل على الموافقة وقم بإزالة البيانات الشخصية أولاً.
- ▸وزعها على اللهجات والظروف المختلفة. طابق مزيج المتصلين الفعلي لديك حسب اللهجة، وقم بتضمين مكالمات صاخبة ومكالمات تخلط بين العربية والإنجليزية. ضع تصنيفاً لكل مقطع.
- ▸اطلب من متحدث أصلي كتابة النصوص المرجعية باللهجة المنطوقة فعلياً، وليس بلغة عربية فصحى "منقحة".
- ▸اكتب سكريبت توحيد لأشكال الألف، والتاء المربوطة، والتشكيل، والأرقام. قم بتطبيقه على كل من النص المرجعي ومخرجات كل محرك.
- ▸احسب معدل خطأ الكلمات (WER) ومعدل خطأ الحروف لكل لهجة. المتوسط الإجمالي الواحد يخفي أين يفشل المحرك.
- ▸قيّم مصطلحاتك الحرجة بشكل منفصل. احسب عدد المرات التي يصيب فيها كل محرك أهم 50 اسماً ومنتجاً ورقماً لديك. اسم دواء واحد خاطئ يكلف أكثر من عشر كلمات حشو خاطئة.
- ▸قم ببث المقاطع في الوقت الفعلي من المنطقة التي ستقوم بالنشر فيها. سجل الوقت حتى أول نص جزئي والوقت حتى النص النهائي بعد انتهاء الكلام.
- ▸اختبر الـ endpointing مع الوقفات الطبيعية. احسب عدد المرات التي يقطع فيها كل محرك المتصل في منتصف الجملة، والمدة التي يستغرقها لإغلاق جملة منتهية.
- ▸دوّن حجم العينة والطريقة مع النتائج، حتى يمكن التحقق من القرار وتكراره بعد تحديث النموذج القادم.
يمكن لمهندس كفء تشغيل هذا الاختبار في أربعة إلى ستة أيام عمل. يذهب معظم هذا الوقت في تجهيز النصوص المرجعية بشكل صحيح.
الأسئلة الشائعة
هل يمكننا تشغيل Whisper على خوادمنا الخاصة لتوفير تكاليف الـ API؟ نعم، وبالنسبة للبيانات التي يجب أن تبقى داخل المؤسسة غالباً ما يكون هذا هو الإجراء الصحيح. إنه يوفر المال فقط إذا كان حجم عملك يبقي الـ GPUs مشغولة. بالنسبة للمحادثات المباشرة، يتطلب الأمر أيضاً هندسة جادة للحفاظ على زمن الاستجابة في حدود مقبولة. أما بالنسبة للتفريغ الصوتي للتسجيلات على شكل دفعات، فهو أبسط بكثير وعادة ما يكون الأنسب.
كيف تتعامل هذه المحركات مع العربية والإنجليزية في نفس الجملة؟ تدعي المحركات الثلاثة دعم ذلك، لكنها تعده بشكل مختلف. يقرأ Whisper نافذة الصوت بالكامل، مما يساعد في الكلام المختلط. عادة ما يحتاج Deepgram و Azure إلى إعداد اللغة الصحيح أو إعداد اكتشاف اللغة في الطلب، ويمكن أن يضيف الاكتشاف المستمر تأخيراً. قم بتضمين مقاطع لغة مختلطة في مجموعة الاختبار الخاصة بك وقيّمها بشكل منفصل.
لماذا يستمر الوكيل الصوتي في مشروعنا التجريبي في مقاطعة المتصلين؟ عادة ما يتم تعيين الـ endpointing بشكل صارم جداً، وغالباً ما يكون حداً ثابتاً للصمت ينطلق عندما يتوقف المتصل لالتقاط أنفاسه. الحل هو ضبط الحد على مكالمات حقيقية. ادمج ذلك مع فحص ما إذا كانت الجملة تبدو منتهية، بدلاً من الاعتماد على الصمت وحده. اختبر ذلك مع الوقفات الطبيعية في تسجيلاتك الخاصة، وليس مع كلام مكتوب مسبقاً.
القرار
النمط السليم هو استخدام محركين، وليس واحداً. خط معالجة مباشر يتعامل مع المحادثة المباشرة. ومحرك أبطأ وأكثر دقة يراجع التسجيلات لاحقاً. إذا كنت خاضعاً للتنظيم، فإن موقع البيانات يضيق القائمة قبل حتى قياس الدقة. بمجرد اختيار محرك التفريغ الصوتي، قم بإجراء نفس الاختبار لمدة يومين للجانب الصوتي قبل اختيار صوت تحويل النص إلى كلام.
خياراتك الحقيقية هي اثنان. أي محرك بث مباشر ينجو من الخطوة 7 من الاختبار على متصليك، وهل تبرر مفرداتك صيانة نموذج مخصص؟ قم بإجراء الاختبار قبل التوقيع على التزام بحجم معين، وأعد تشغيله بعد كل تحديث رئيسي للنموذج، لأن هذه المحركات تتغير بسرعة.
→ زمن الاستجابة في الذكاء الاصطناعي الصوتي: كيف تبني خط معالجة تدفقي يجيب في أقل من 500 مللي ثانية → مقارنة بين ElevenLabs و Azure Neural Voice للغة العربية: التكلفة، زمن الاستجابة، والتحكم في النطق → الذكاء الاصطناعي العربي في بيئة الإنتاج: الترميز، اللهجات، والبحث الذي يجد المستند الصحيح