grapheme-kit: Grapheme-Level Metrics and Text Processing for Multilingual NLP
تقدم الورقة البحثية grapheme-kit، وهي مكتبة بايثون مفتوحة المصدر تعزز تقييم معالجة اللغات الطبيعية متعددة اللغات من خلال العمل على مجموعات الحروف (grapheme clusters) بدلاً من نقاط كود يونيكود (Unicode code points)، مما يوفر معالجة محسنة للخطوط المعقدة مثل التاميلية والسينهالية ويوفر مقاييس خطأ أكثر دقة لأنظمة الكتابة المعقدة.
تخيل أنك تحاول تعليم روبوت كيفية قراءة كتاب. بالنسبة للروبوت، الكتاب ليس سوى سلسلة طويلة من كتل صغيرة غير مرئية تسمى "نقاط الرمز" (code points). بالنسبة للغات البسيطة مثل الإنجليزية، يعمل هذا بشكل رائع: حرف واحد، كتلة واحدة. ولكن بالنسبة للعديد من اللغات الأخرى حول العالم، يتكون الحرف الواحد الذي تراه عيناك في الواقع من عدة كتل غير مرئية ملتصقة ببعضها البعض. الأمر يشبه لو أن حرف "é" لم يكن مجرد كتلة واحدة، بل كان عبارة عن كتلة "e" وكتلة علامة إعرابية صغيرة ملتصقة بها.
عندما تحاول الحواسيب قياس مدى جودة قراءة الروبوت أو كتابته لهذه اللغات المعقدة، فإنها غالبًا ما تعد الكتل غير المرئية بدلاً من الحروف المرئية. هذا يشبه تقييم طالب في اختبار إملائي من خلال عد عدد ضربات الفرشاة الصغيرة التي استخدمها لرسم حرف ما، بدلاً من معرفة ما إذا كان الحرف نفسه يبدو صحيحًا. إذا رسم الطالب حرف "e" بشكل مثالي ولكن علامة الإعراب كانت غير دقيقة قليلاً، فقد يعتقد الكمبيوتر أنه ارتكب خطأً فادحًا، رغم أن القارئ البشري يرى أن الحرف لا يزال صحيحًا. هذا يجعل من الصعب جدًا الحكم بإنصاف على مدى جودة الذكاء الاصطدي في فهم لغات مثل التاميلية، أو السنهالية، أو الهندية.
هذه هي المشكلة التي تهدف أداة جديدة تسمى "grapheme-kit" إلى حلها. أدرك الباحثون وراء هذه الأداة، وهم فريق من جامعات في سريلانكا والولايات المتحدة وهولندا، أنه لإصلاح قراءة الروبوت، نحتاج إلى التوقف عن عد الكتل غير المرئية والبدء في عد "الرموز التي يدركها المستخدم" (user-perceived characters) — وهي الأشياء التي يراها البشر بالفعل كحروف مفردة. لقد بنوا مكتبة مفتوحة المصدر (مجموعة أدوات للمبرمجين) تقوم بهذا العمل بالضبط. فبدلاً من معاملة الحرف المعقد كمجموعة فوضوية من نقاط الرمز، تقوم "grapheme-kit" بتجميعها في وحدة واحدة مرتبة تسمى "عنقود الرسم الكتابي" (grapheme cluster).
تشير الورقة البحثية إلى أنه باستخدام عناقيد الرسم الكتابي هذه، يمكننا قياس الأخطاء بطريقة أكثر إنصافًا. في اختبار يتعلق بالتعرف الضوئي على الحروف (OCR) — حيث تحاول الحواسيب قراءة النصوص من الصور — أظهرت الطريقة الجديدة فرقًا هائلاً. على سبيل المثال، عند الاختبار على اللغة التاميلية، قالت الطريقة القياسية إن معدل الخطأ بلغ 5.48%، لكن الطريقة الجديدة المدركة للرسم الكتابي قالت إن الخطأ كان 0.62% فقط. هذه قفزة هائلة في الدقة! وجد الباحثون أنه بالنسبة للغات التي تتكون حروفها من نقاط رمز متعددة، كان الأسلوب القديم في القياس يعاقب الكمبيوتر بشكل غير عادل على أعطال صغيرة غير مرئية لم تغير في الواقع معنى الكلمة.
ومع ذلك، يحرص المؤلفون على ملاحظة أن هذا ليس حلاً سحريًا لكل شيء. فأداتهم تعمل حاليًا بشكل أفضل مع اللغتين التاميلية والسنهالية، حيث قاموا بإصلاح بعض الأخطاء البرمجية المعقدة في كيفية تعامل هاتين اللغتين تحديدًا مع شخصيات "الغراء" غير المرئية. كما يقرون بأن نتائجهم تستند إلى اختبارات محددة، مثل قراءة النصوص المطبوعة، وأن الأداة تحتاج إلى التوسع لدعم المزيد من اللغات في المستقبل. لكن الفكرة الأساسية متينة: إذا أردنا من الحواسيب أن تفهم حقًا لغات العالم، فعلينا التوقف عن النظر إلى الكود غير المرئي والبدء في النظر إلى الحروف المرئية.
ملخص تقني: grapheme-kit
بيان المشكلة
تعتمد أنظمة معالجة اللغات الطبيعية (NLP) الحديثة بشكل أساسي على نقاط كود يونيكود (Unicode code points) كوحدة معجمية أساسية. ورغم فعالية هذا النهج في العديد من أنظمة الكتابة، إلا أنه يخلق قيوداً وعوائق كبيرة للغات ذات النصوص المعقدة (مثل التاميل، والسينهالا، والهندية، والبورمية)، حيث يتم تمثيل حرف واحد مدرك بصرياً (grapheme) بواسطة نقاط كود متعددة من يونيكود. يؤدي هذا التفاوت إلى أعباء حسابية إضافية وعدم كفاءة. علاوة على ذلك، فإن مقاييس التقييم الحالية (مثل معدل خطأ الحروف Character Error Rate، وBLEU، وchrF) ومقاييس المسافة المعجمية تعمل على نقاط الكود أو الوحدات الفرعية (subwords)، مما يؤدي غالباً إلى تمثيل خاطئ للأخطاء في هذه النصوص. على سبيل المثال، قد يتم معاقبة الخطأ الذي يؤثر على حرف مرئي واحد يتكون من نقاط كود متعددة بشكل غير متناسب إذا تم تقييمه على مستوى نقطة الكود. بالإضافة إلى ذلك، تفشل مكتبات تقسيم الـ grapheme الموجودة في تحديد أنماط كتابية محددة في لغات مثل التاميل والسينهالا، لا سيما فيما يتعلق بالتعامل مع الروابط الصفرية (Zero Width Joiner - ZWJ) والروابط الصفرية غير الرابطة (Zero Width Non-Joiner - ZWNJ).
المنهجية
يقدم المؤلفون grapheme-kit، وهي مكتبة بايثون مفتوحة المصدر مصممة لنقل الوحدة الأساسية لمعالجة النصوص وتقييمها من نقاط كود يونيكود إلى عناقيد الـ grapheme (grapheme clusters). يتبع بنية النظام سير عمل محدد:
التطبيع (Normalization): تخضع النصوص المدخلة الخام لعملية تطبيع لحل التناقضات في يونيكود والاضطرابات في الترميز الخاصة باللغة.
التقسيم (Graphemizer): يتم تقسيم النص المطبق (normalized) إلى عناقيد grapheme. تبني المكتبة على مكتبة grapheme الموجودة ولكنها تقدم وحدة Graphemizer مخصصة لتصحيح الإخفاقات المعروفة. وتحديداً، تقوم باكتشاف التسلسلات المرتبطة بـ ZWJ في لغة السينهالا، وتقوم بدمج الحروف الساكنة، والـ viramas، ومعدلات الحروف المتحركة المرتبطة بـ ZWJs بشكل متكرر في عنقود واحد، مما يضمن عدم تقسيم الحروف الموحدة لغوياً.
توسيع المقاييس: تم توسيع المقاييس المعجمية الرئيسية لتعمل على عناقيد الـ grapheme هذه بدلاً من نقاط الكود. وتصنف المكتبة هذه المقاييس إلى:
التركيب والتفكيك (Composition and Decomposition): لدعم التحليل اللغوي الدقيق، توفر المكتبة أدوات لتفكيك الـ graphemes في لغتي التاميل والسينهالا إلى مكوناتها من حروف ساكنة أساسية ومكونات حروف متحركة (والعكس)، مما يعالج عملية الربط بين علامات الحروف المتحركة التابعة والحروف المتحلة المستقلة.
الواجهات (Interfaces): يمكن الوصول إلى مجموعة الأدوات عبر واجهة برمجة تطبيقات بايثون (Python API) للتكامل مع خطوط الإنتاج (pipelines)، وواجهة سطر أوامر (CLI) للمعالجة الجماعية والفحص.
المساهمات الرئيسية
تحدد الورقة أربع مساهمات رئيسية:
مكتبة grapheme-kit: مجموعة أدوات شاملة ومفتوحة المصدر لمعالجة النصوص وتقييمها القائم على الـ grapheme عبر اللغات.
توسيع المقاييس: توسيع المقاييس المعجمية القياسية (المسافة، التشابه، والتقييم) لتعمل مباشرة على عناقيد الـ grapheme.
تحسينات خاصة باللغة: تصحيح تحديد عناقيد الـ grapheme للغات التاميل والسينهالا، وتحديداً معالجة أخطاء التعامل مع ZWJ/ZWNJ الموجودة في المكتبات السابقة. كما توفر المكتبة أدوات تفكيك الحروف المتحركة والساكنة لهاتين اللغتين، مع تصميم يهدف لسهولة التوسع ليشمل لغات هندية أخرى.
سهولة الوصول: متاحة للجمهور عبر PyPI، مصحوبة بالوثائق وعرض تجريبي حي تفاعلي لتسهيل الاعتماد.
النتائج
يتحقق المؤلفون من فائدة مقاييس مستوى الـ grapheme من خلال تقييمين رئيسيين:
دراسة حالة التعرف الضوئي على الحروف (OCR): تم اختبار المكتبة في مهمة التعرف الضوئي على الحروف باستخدام مجموعة بيانات FLORES+ على 12 لغة (بما في ذلك اللاتينية، والعربية، واللغات المعقدة).
التحول في المقياس: بالنسبة للغات ذات التفكيك العالي في يونيكود (مثل التيلوجو، والتاميل، والسينهالا)، أظهرت مقاييس مستوى الـ grapheme (مثل grapheme-CER وgrapheme-chrF++) تحسناً ملحوظاً مقارنة بمقاييس مستوى نقطة الكود القياسية. على سبيل المثال، ارتفع معدل grapheme-chrF++ للغة التاميل من 74.05 إلى 98.99، وللسينهالا من 86.45 إلى 98.88.
تصحيح الانحياز: أظهرت الدراسة أن التقييم القائم على نقطة الكود يعاقب بشكل غير متناسب الأخطاء التي يتم فيها التعرف جزئياً على حرف مرئي واحد مكون من عدة نقاط كود. يوفر التقييم القائم على الـ grapheme تقييماً أكثر دقة لأداء النظام، حيث يعامل مثل هذه الأخطاء كعمليات تعديل واحدة.
تحليل الاضطراب المنضبط: لعزل تأثير وحدات التقييم، طبق المؤلفون اضطرابات مستهدفة (حذف نقاط الكود مقابل حذف الـ graphemes الكاملة) على الجمل المرجعية.
انحياز الحذف: عندما تم حذف نقطة كود واحدة (مما أدى إلى إفساد grapheme)، سجل grapheme-CER درجة خطأ أعلى من CER القياسي، مما حدد بدقة الفساد المرئي. وعلى العكس من ذلك، عندما تم حذف grapheme كامل، سجل grapjem-CER درجة خطأ أقل، حيث عامل إزالة الوحدة اللغوية كعملية تعديل واحدة، بينما عدّها CER القياسي عمليات تعديل متعددة لنقاط الكود.
سلوك المقياس: سلط التحليل الضوء على أنه بينما يستفيد grapheme-CER من معاملة الـ graphemes متعددة نقاط الكود كوحدات واحدة، فإن grapheme-chrF يتصرف بشكل مختلف بسبب اعتماده على تداخل الـ n-gram، والذي قد يكون أكثر حساسية للتغيرات المحلية في مساحة وحدة أصغر.
الأهمية والادعاءات
تزعم الورقة أن grapheme-kit تعالج فجوة حرجة في أدوات معالجة اللغات الطبيعية متعددة اللغات من خلال توفير إطار عمل موحد لتقييم ومعالجة النصوص بناءً على وحدات ذات معنى لغوي (graphemes) بدلاً من وحدات الترميز التقنية (code points).
التقييم الأمين: يؤكد المؤلفون أن مقاييس مستوى الـ grapheme توفر تقييماً أكثر دقة للغات المعقدة، مما يصحح انحياز القياس المتأصل في النهج القائم على نقاط كود يونيكود.
فجوة الأدوات: تسلط الورقة الضوء على أنه بينما تُستخدم الـ graphemes في مهام التعرف على الكلام (ASR) والتعرف الضوئي على الحروف (OCR)، فقد كان هناك نقص في الأدوات الشاملة لمعالجة وتقييم النصوص على مستوى الـ grapheme، وهو ما تسده هذه المكتبة.
القابلية للتوسع: صُممت المكتبة لتكون قابلة للتوسع من قبل خبراء اللغات لدعم لغات هندية إضافية بخلاف التاميل والسينهالا.
يتبنى المؤلفون موقفاً متواضعاً، معترفين بالقيود الحالية: دقة مقاييس التقييم تعتمد على منطق التقسيم الأساسي، كما أن ميزات التركيب والتفكيك تقتصر حالياً على التاميل والسينهالا. ويؤكدون أن المكتبة تعمل كأساس متاح لتطوير وتقييم أنظمة معالجة اللغات الطبيعية متعددة اللغات باستخدام وحدات نصية ذات معنى لغوي.