لماذا تخفق برمجيات حوسبة اللغة العربية في الوصول إلى مستويات دقة عالية؟ (1/4)
رغم وجود مساحات مشتركة بين اللغات، يبقى لكل لغة خصوصيّتها، مما يجعل استنساخ الحلول الحاسوبية من لغة إلى لغة أخرى دون مراعاة خصوصيتها عملية محكومة بالفشل.
لا يخفى على من يتابع سوق البرمجيات الخاصة بحوسبة اللغات الإنسانية، التفاوتُ الكبير بشكل عام بين مستويات هذه البرمجيات في لغات عالمية مثل الإنجليزية، ومستوياتها في اللغة العربية. مما يجعل السؤال عن أسباب هذا التفاوت سؤالاً مشروعاً بل ضرورياً.
وسوف نحاول في سلسلة المقالات القصيرة هذه توضيح أهم أسباب هذا التفاوت في ضوء الخبرة العملية.
تنقسم حلول مشاكل حوسبة اللغة بشكل عام إلى نوعين: حلول تعتمد على وضع قواعد؛ وحلول تعتمد على تعلّم الآلة. وفي حين يظن البعض أن النوع الأول من الحلول هو وحده ما يتطلب معرفة لغوية، فإن الواقع هو أنّ كلا النوعين يتطلبان معرفة لغوية، وقدرة على توصيف الظاهرة اللغوية المراد معالجتها توصيفاً علمياً صحيحاً.
وهنا يكمن السبب الأول من أسباب القصور في البرمجيات العربية، فغالبية هذه البرمجيات لا تنبني على فهم حقيقي للظاهرة اللغوية التي تعالجها، ولكنها تسارع إلى وضع حلول للمشكلة قبل تعريفها وتوصيفها ووضعها في إطارها العلمي، وبالتالي تقضي هذه البرمجيات على نفسها بالفشل قبل أن تبدأ.
ولكن لماذا يحدث ذلك؟
في الواقع يرجع السبب إلى أن غالبية من يقومون على إنشاء هذه البرمجيات هم إما قادمون من خلفية حاسوبية بحتة (حاسوبيون أو علماء بيانات)، ومن الواضح أنّ فهم الظواهر اللغوية وتفسيرها يقع خارج نطاق عمل هؤلاء؛ أو هم مهندسو لغة (لغويّون حاسوبيّون) يعتقدون أن بوسعهم استنساخ الحلول القائمة في لغات عالمية أخرى كالإنجليزية إلى اللغة العربية كما هي. والحقيقة أن الفروق بين اللغات أكثر تعقيداً من أن يتمّ التعامل معها بهذا التبسيط.
ولنأخذ، مثالاً عملياً على ذلك، أية برمجية تهدف إلى تصحيح أخطاء القواعد في اللغة العربية. من الواضح أن هناك اختلافاً جوهرياً في كثير من أنواع الأخطاء التي تقع في قواعد اللغة العربية عن اللغة الإنجليزية. فمثلاً في العربية توجد حالات إعرابية (الرفع والنصب والجر) وغالبية أخطاء الناس تقع فيها، بينما لا يوجد هذا النوع من الأخطاء في الإنجليزية. لذلك يجب أن تبدأ عملية المعالجة في هذه الحالة من تعريف المشكلة وتوصيفها وتأطيرها، تمهيداً لإيجاد الحلول المناسبة.