اكتشاف اللغات باستخدام التعلم الآلي | Language Detection with Machine Learning

السبت 07 جمادى الأولى 1443ھ السبت 11 ديسمبر 2021م
فيسبوك
إكس
واتساب
تيليجرام
لينكدإن

611 كلمة

14 دقيقة

المحتوى
Scene Living Room – 1

مقدمة

تعد مهمة اكتشاف اللغات Language Detection من أحد تطبيقات معالجة اللغات الطبيعية NLP وكل ما نحتاج له للتعرف على لغة معينة وجود نص أو مستند من النصوص لهذه اللغة. سابقًا كانت هذه المهمة أحد الصعوبات التي تواجه التعلم الآلي Machine Learning وذلك لعدم توفر كمية بيانات كافية لجميع اللغات على عكس ما نحن عليه اليوم حيث نشهد إنفجارًا مهولاً في البيانات أضف إلى ذلك تنوع النماذج القوية في هذا المجال وسرعة تطورها.

في هذا الدرس سأقدم شرحاً بالخطوات لكيفية أداء هذه المهمة بلغة بايثون وذلك من خلال تدريب نموذج قادر على اكتشاف 22 لغة مختلفة من ضمنها لغتنا العربية.

اكتشاف اللغة

كإنسان ، يمكنك بسهولة اكتشاف اللغات التي تعرفها، على سبيل المثال، يمكنني التعرف بسهولة على كل من اللغة الإنجليزية ، العربية ، واليابانية . ولكن لو تم عرض لغات أخرى علي سأفشل بتخمين اللغة إلى حد كبير و هذا هو المكان الذي يمكن فيه استخدام التعلم الآلي لأداء مهمة اكتشاف اللغة.

يعتبر Google Translate أحد أشهر أدوات ترجمة اللغات في العالم ويستخدمه الكثير من الأشخاص حول العالم والذي يتضمن أيضًا نموذجًا للتعلم الآلي لاكتشاف اللغات التي يمكنك استخدامها إذا كنت لا تعرف تحديدًا اللغة التي تريد ترجمتها.

image
1.1 خاصية التعرف التلقائي على اللغة في ترجمة جوجل
image 2
1.2 استخدام الخاصية في التعرف على اللغة الهندية

البيانات هي أهم جزء في تدريب نموذج الكشف عن اللغة. فكلما زادت البيانات لديك حول كل لغة، زادت دقة أداء نموذجك في الوقت الفعلي. تم جمع مجموعة البيانات Dataset التي سنستخدمها في هذا الدرس من موقع Kaggle، والتي تحتوي على بيانات 22 لغة شائعة حول العالم وتحتوي على 1000 جملة في كل لغة ، لذلك ستكون مجموعة بيانات مناسبة لتدريب نموذجنا الخاص في اكتشاف اللغات باستخدام التعلم الآلي.

المكتبات المستخدمة في تطبيق الدرس تثبيتها من خلال pip قبل الشروع 📦 :

Numpy==1.19.5 scikit-learn==0.24.1 pandas==1.1.3

استدعاء المكتبات

سحب البيانات و استعراضها

image 4
1.3 نتيجة الشفرة البرمجية

ما نلاحظه أنه يوجد لدينا مجموعة بيانات مكونة ميزتين رئيستين (الأعمدة)

  • النص text : يحتوي على مجموعة من الكلمات تستخدم في اللغة
  • اللغة language : يحتوي على اللغة التي تشير إلى النص أو تمثله

مجموعة البيانات مكونة من 21990 عينة من النصوص واللغات التي تمثلها.

التحقق من البيانات واستكشافها

التحقق من القيم المفقودة في مجموعة البيانات

image 5
1.4 نتيجة الشفرة البرمجية

لحسن الحظ لا يوجد أي قيم مفقودة 😄

image 6
1.5 نتيجة الشفرة البرمجية

تحتوي مجموعة البيانات هذه على 22 لغة مع 1000 جملة من كل لغة. تعتبر هذه البيانات متوازنة للغاية ولا تحتوي على قيم مفقودة ، لذلك يمكننا القول أن مجموعة البيانات هذه جاهزة تمامًا لاستخدامها في تدريب نموذج التعلم الآلي.

تطوير نموذج اكتشاف اللغات

دعونا الآن نقسم البيانات إلى مجموعتين تدريب واختبار:

المسألة التي نتعامل معها هي مسألة تصنيف متعدد الفئات multi-class classification لذلك سأستخدم خوارزمية Multinomial Naïve Bayes لتدريب نموذج اكتشاف اللغات لأن هذه الخوارزمية تعمل غالبًا بشكل جيد جدًا على المشكلات القائمة على التصنيف متعدد الفئات:

تجهيز النموذج واختبار مدى ضبطه model’s accuracy

image 8
1.6 نتيجة الشفرة البرمجية

الآن سنستخدم هذا النموذج لاكتشاف لغة النص من خلال جعل المستخدم يدخل النص:

image 9
1.7 اختبار النموذج على اللغة العربية
image 11
1.8 نتيجة الشفرة البرمجية
image 12
1.9 اختبار النموذج على اللغة الفرنسية
image 13
1.10 نتيجة الشفرة البرمجية

كما ترون أن النموذج يعمل بشكل جيد. شيء وما يجب ملاحظته هنا هو أن هذا النموذج يمكنه فقط اكتشاف اللغات الموجودة في مجموعة البيانات.

ملخص

كان استخدام التعلم الآلي لتحديد اللغة مهمة صعبة منذ بضع سنوات لأنه لم يكن هناك الكثير من البيانات حول اللغات ، ولكن مع توفر البيانات بسهولة ، وتوفر العديد من نماذج التعلم الآلي القوية لتحديد اللغة أصبح الأمر أسهل بكثير. آمل أن يكون هذا الدرس قد نال على إعجابكم والذي تطرق إلى اكتشاف اللغات بواسطة التعلم الآلي وباستخدام لغة بايثون. لا تترددوا في طرح أسئلتكم في قسم التعليقات أدناه.

المصدر

Language Detection with Python

نشرة فهم البريدية
لتبقى على اطلاع دائم على كل ما هو جديد مما تقدمه منصة فهم، انضم لنشرتنا البريدية.
استشاري تقني في علم البيانات والذكاء الاصطناعي، مهتم بكل ما يخص البيانات من إدارة، حوكمة، وتنفيذ، حاصل على بكالوريوس في علوم الهندسة الكهربائية، صانع محتوى على منصة فهم، أنشر المعرفة الرقمية على حساباتي في وسائل التواصل الاجتماعي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *