على مدار هذه السلسلة، تابع رحلة Seasalt.ai لإنشاء تجربة الاجتماعات الحديثة المتكاملة، بدءًا من البدايات المتواضعة، إلى تحسين الخدمة على أجهزة ونماذج مختلفة، إلى دمج أنظمة معالجة اللغة الطبيعية المتقدمة، وأخيرًا تحقيق SeaMeet، حلول الاجتماعات الحديثة التعاونية.
ما وراء الخوارزمية
Modern Meetings كان عرضًا رائعًا، لكنه بقي عرضًا فقط. لا يزال هناك طريق طويل لجعله جاهزًا للإنتاج. قمنا أولاً بتنفيذ النسخة التجريبية بنجاح باستخدام Microsoft Azure stack. ولكن بعد التعرف على جميع العيوب، قررنا استبدال الخوارزميات بخوارزمياتنا الخاصة وجعل التجربة أكثر سلاسة وخفة ومرونة. هناك أربعة مكونات رئيسية لـ Modern Meetings:
- معالجة الإشارة على مصفوفة الميكروفونات، خاصة تشكيل الحزمة
- تقسيم وتحديد المتحدثين
- التعرف على الكلام المخصص
- واجهة مستخدم أفضل
سنشرح الآن جميع المكونات المهمة بالتفصيل.

قمنا بتكييف جميع المكونات الأربعة الرئيسية لـ Modern Meetings مع تقنيتنا الخاصة: 1. معالجة الإشارة بمصفوفة الميكروفونات؛ 2. تقسيم وتحديد المتحدثين؛ 3. التعرف على الكلام المخصص؛ 4. واجهة ويب حديثة.
معالجة الإشارة على مصفوفة الميكروفونات
مصفوفة الميكروفونات، مقارنةً بميكروفون واحد قريب، تلتقط الأصوات من جميع الاتجاهات بزاوية 360 درجة، حتى مسافة 5 أمتار. لذلك، يمكن لمصفوفة ميكروفونات واحدة جمع الصوت في غرفة اجتماعات متوسطة الحجم 10x10 متر. نظرًا لأن جميع الميكروفونات مجمعة في جهاز واحد، فإن ذلك يقلل بشكل كبير من الأسلاك في الغرفة ويسهل الإعداد والصيانة. الهدف من استخدام مصفوفة الميكروفونات هو تزويد نماذجنا بأفضل جودة بيانات ممكنة. لذلك، قبل تمرير الصوت عبر التعرف التلقائي على الكلام، نقوم أولاً بتنفيذ عدة خوارزميات معالجة الإشارة. المكون الرئيسي في خط المعالجة المسبقة لدينا هو خوارزمية تشكيل الحزمة. نظرًا لأننا نعمل مع مصفوفات ميكروفونات دائرية ومتعددة، يمكننا الاستفادة من فرق الوقت الصغير الذي يستغرقه الصوت للوصول إلى الميكروفونات المختلفة. ما يفعله تشكيل الحزمة هو تحديد الخصائص الرئيسية للإشارة — الحزمة الأفضل — ويعزز هذه الترددات بينما يضعف الأصوات غير المرغوب فيها. التأثير هو إزالة الضوضاء وتقليل الصدى بينما تصبح الإشارة الرئيسية، في حالتنا الكلام، أعلى وأكثر وضوحًا.
للحصول على أداء مثالي للعديد من خوارزميات تشكيل الحزمة، نحتاج إلى معرفة الموقع الدقيق للمصدر (المتحدث) بالنسبة للميكروفون. ولكن في التطبيق الفعلي، هذا مستحيل، لذلك نحسب أولاً ما يسمى بأوزان المجال البعيد من خلال تحديد اتجاه المصدر. هذه الخطوة الأولى، المعروفة باسم تحديد موقع المصدر أو تحديد اتجاه الوصول (DOA)، كانت صعبة. المشكلة الرئيسية كانت التنعيم. أعطتنا الخوارزمية نتيجة تقريبية صحيحة ولكن المصدر المحدد كان يتغير باستمرار بمقدار 30 درجة على جانبي الاتجاه الحقيقي مما أثر على تشكيل الحزمة. الحل الذي توصلنا إليه هو السماح لخوارزمية تحديد موقع المصدر باستخدام نطاق الترددات الذي يشفر معظم الكلام البشري فقط. أضفنا إلى ذلك تقنية التنعيم حيث نحتفظ بـ “تاريخ” نتائج DOA للمعدل. مع نتائج DOA أكثر موثوقية، يمكننا حساب أوزان المجال البعيد واستخدامها لتحديد الحزمة الأفضل.
مع سلسلة الخوارزميات المنفذة على Kinect DK: تشكيل الحزمة، إزالة الضوضاء، تقليل الصدى، تحديد موقع المصدر، تمكنا من إنتاج كلام بشري واضح ومحسن في الوقت الفعلي مع تحديد الاتجاه التقريبي للمتحدث. هذا سيساعد كثيرًا في تحديد المتحدث في الخطوة التالية.
تقسيم وتحديد المتحدثين
المكون التالي في نظام نسخ الاجتماعات الحديث هو التعرف التلقائي على المتحدثين. كما ذكرنا في الجزء السابق من هذه السلسلة، فإن قراءة نص محادثة غير منظم بدون معلومات عن من قال ماذا أمر محبط ويفقد النظام هدفه. هنا يأتي دور التعرف على المتحدثين.
من خلال هذا المكون يمكننا محاذاة النسخ الصوتية والصوت تلقائيًا مع اسم المتحدث. لتحقيق ذلك، نستخدم عملية تسمى التقسيم التي تجمع مقاطع الصوت في عدد معين من المجموعات تمثل عدد المتحدثين في التسجيل. يتم ذلك من خلال نظام كشف النشاط الصوتي (VAD) لتحديد مقاطع الكلام، ومن خلالها يمكننا استخراج تمثيل متجه لنافذة قصيرة. كل متجه مستخرج من النوافذ يسمى xvector على مستوى الجملة وعند المتوسط نحصل على xvector على مستوى المتحدث. يتم تمرير هذه xvectors عبر خوارزمية التجميع، حيث يمثل كل تجمع مقاطع الكلام التي تنتمي إلى نفس المتحدث. تجدر الإشارة إلى أن اختيار خوارزمية التجميع يؤثر بشكل كبير على أداء التقسيم، وقد حققنا معدل خطأ تقسيم مثالي (DER) باستخدام التجميع الطيفي مع مصفوفة التقارب ذات العتبة المضبوطة تلقائيًا باستخدام قيم NME. أخيرًا، نحتاج إلى تحديد أي متحدث يمثل كل تجمع. قبل الاجتماع، يمكننا إجراء عملية تسجيل لاستخراج xvectors من تسجيلات مدتها 40 ثانية لكل متحدث، والتي يمكننا مقارنتها مع التجمعات لتحديد المتحدث المقابل.
جمال هذه العملية يكمن في مرونتها. في العديد من سيناريوهات الاجتماعات، من غير العملي وغالبًا ما يكون من المستحيل الحصول على تسجيلات لكل متحدث مسبقًا. فكر في اجتماعات الأعمال مع عملاء VIP أو الندوات الكبيرة التي تضم 50 متحدثًا. في هذه الحالة، يمكن تخطي خطوة التسجيل، ولا يزال نظام التقسيم الخاص بنا قادرًا على فرز مقاطع الكلام وتجميع المقاطع التي تنتمي إلى نفس المتحدث. كل ما يتطلبه الأمر هو أن يستمع شخص لبضع ثوانٍ من كل تجمع لتحديد هوية المتحدث. مع واجهة مستخدم حديثة مخصصة، يمكننا تقديم نفس الوظيفة ولكن بمرونة أكبر.
التعرف على الكلام المخصص
بعد التعرف على نظام نسخ الاجتماعات من Microsoft وما يجعله قويًا، كنا مستعدين لجعل نظامنا مستقلًا تمامًا وتجاوز منتج ثوري بالفعل. القوة الدافعة وراء Modern Meetings وأي منتج نسخ هي نماذج التعرف التلقائي على الكلام (ASR). لذلك كان هذا محور اهتمامنا الأكبر. تقدم Azure Cognitive Services العديد من النماذج عبر العديد من اللغات واللهجات. ومع ذلك، كان الأداء بين اللهجات المختلفة صعب التمييز. بالنسبة للهجات الإنجليزية المختلفة، من المحتمل أن معظم الجهد والبيانات ذهبت إلى نموذج الإنجليزية الأمريكية الذي تم تحسينه بعد ذلك باستخدام بيانات اللهجات لإنشاء نماذج اللهجات المختلفة. أردنا التأكد من أنه إذا قدمنا نموذجًا مميزًا، فيجب أن يكون مضبوطًا لحالة استخدام محددة. هذا يعني جمع آلاف الساعات من الصوت المحلي والنسخ، وقضاء أسابيع في التدريب والتحسين. لكن كان الأمر يستحق الرضا عند رؤية نماذجنا تتحسن مع كل حقبة وتفي بما وعدنا به.
بمجرد أن أصبح لدينا نموذج أساسي قوي، كانت الخطوة التالية هي توسيع قابلية الاستخدام والتخصيص. كل صناعة لديها مجموعة من المصطلحات الخاصة بها مما يجعل من الصعب على نماذج ASR التمييز بين المفردات الغامضة وسلسلة من الكلمات الشائعة المتشابهة صوتيًا.
ردنا هو SeaVoice، الذي يوفر موقعًا مركزيًا حيث يمكن للمستخدمين بسهولة ضبط النماذج وفقًا لاحتياجاتهم الخاصة.