دليل اكتشاف اللغة في Python

تتيح لك مهمة MediaPipe Language Detector التعرّف على لغة النص. توضح لك هذه التعليمات كيفية استخدام أداة الكشف عن اللغة مع Python. نموذج التعليمات البرمجية الموضح في هذه التعليمات متاح على GitHub.

يمكنك الاطّلاع على هذه المهمة قيد التنفيذ من خلال عرض العرض التوضيحي. للحصول على مزيد من المعلومات حول الإمكانيات والنماذج وخيارات الإعداد لهذه المهمة، يُرجى الاطّلاع على نظرة عامة.

مثال الرمز البرمجي

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

ضبط إعدادات الجهاز

يصف هذا القسم الخطوات الأساسية لإعداد بيئة التطوير ومشاريع الرموز البرمجية لاستخدام "أداة كشف اللغة" تحديدًا. للحصول على معلومات عامة حول إعداد بيئة التطوير لاستخدام مهام MediaPipe، بما في ذلك متطلبات إصدار النظام الأساسي، راجع دليل إعداد Python.

الطرود

تستخدم أداة رصد اللغة حزمة ملفات الوسائط (pip) يمكنك تثبيت التبعية باستخدام ما يلي:

$ python -m pip install mediapipe

عمليات الاستيراد

قم باستيراد الفئات التالية للوصول إلى وظائف مهمة أداة كشف اللغة:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

الطراز

تتطلّب مهمة MediaPipe Language Detector نموذجًا مدرَّبًا متوافقًا مع هذه المهمة. للحصول على مزيد من المعلومات حول النماذج المدرَّبة المتاحة لاستخدام أداة رصد اللغة، راجِع قسم النماذج نظرة عامة على المهمة.

حدد النموذج ونزّله ثم قم بتخزينه في دليل المشروع:

model_path = '/absolute/path/to/language_detector.tflite'

حدِّد مسار النموذج باستخدام معلَمة model_asset_path للعنصر BaseOptions، كما هو موضّح أدناه:

base_options = BaseOptions(model_asset_path=model_path)

إنشاء المهمة

تستخدم مهمة MediaPipe Language Detector الدالة create_from_options لإعداد المهمة. تقبل الدالة create_from_options قيمًا لخيارات الضبط لضبط خيارات أداة الرصد. يمكنك أيضًا إعداد المهمة باستخدام وظيفة create_from_model_path الأصلية. تقبل الدالة create_from_model_path مسارًا نسبيًا أو مطلقًا إلى ملف النموذج المدرَّب. لمزيد من المعلومات حول ضبط المهام، يمكنك الاطّلاع على خيارات الضبط.

يوضح الرمز التالي كيفية إنشاء هذه المهمة وتكوينها.

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

خيارات الضبط

تتضمن هذه المهمة خيارات التهيئة التالية لتطبيقات بايثون:

اسم الخيار الوصف نطاق القيمة القيمة التلقائية
max_results لضبط الحد الأقصى الاختياري لتوقعات اللغة ذات التقييم الأعلى للعرض. وإذا كانت هذه القيمة أقل من صفر، يتم عرض جميع النتائج المتاحة. أي أرقام موجبة -1
score_threshold لتعيين الحد الأدنى لدرجة التنبؤ الذي يتجاوز الحد المقدم في البيانات الوصفية للنموذج (إن يتوفر). يتم رفض النتائج التي تقلّ عن هذه القيمة. أي عائم لم يتم الضبط.
category_allowlist تحدِّد هذه السياسة القائمة الاختيارية لرموز اللغات المسموح بها. وإذا لم تكن هذه البيانات فارغة، فستتم فلترة عبارات البحث المقترَحة التي لا يكون رمز اللغة فيها ضمن هذه المجموعة. لا يمكن استخدام هذا الخيار مع category_denylist، ويؤدي استخدام كلا الخيارين إلى حدوث خطأ. أي سلاسل لم يتم الضبط.
category_denylist تحدِّد هذه السياسة القائمة الاختيارية لرموز اللغات غير المسموح بها. وإذا لم تكن هذه التوقعات فارغة، فستتم فلترة عبارات البحث المقترَحة التي تتضمن رمز اللغة في هذه المجموعة. لا يمكن استخدام هذا الخيار مع category_allowlist، ويؤدي استخدام كلا الخيارين إلى حدوث خطأ. أي سلاسل لم يتم الضبط.

إعداد البيانات

تعمل "أداة التعرّف على اللغة" مع البيانات النصية (str). تتعامل المهمة مع المعالجة المسبقة لإدخال البيانات، بما في ذلك إنشاء الرموز المميزة والمعالجة المسبقة للتوتر. وتتم معالجة كل عمليات المعالجة المسبقة ضمن دالة detect. ليست هناك حاجة لمزيد من المعالجة المسبقة لنص الإدخال مسبقًا.

input_text = 'The input text to be classified.'

تنفيذ المهمة

تستخدم "أداة التعرّف على اللغة" الدالة detect لإيجاد الاستنتاجات. بالنسبة إلى التعرُّف على اللغة، يعني هذا عرض اللغات المحتملة لنص الإدخال.

توضح التعليمة البرمجية التالية كيفية تنفيذ المعالجة باستخدام نموذج المهمة.

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

التعامل مع النتائج وعرضها

تقدِّم أداة رصد اللغة LanguageDetectorResult قائمة من عبارات البحث المقترَحة باللغة بالإضافة إلى الاحتمالات المتَّبعة على هذه عبارات البحث. ويوضح ما يلي مثالاً على بيانات المخرجات من هذه المهمة:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

تم الحصول على هذه النتيجة من خلال تشغيل النموذج على نص الإدخال: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

للحصول على مثال عن الرمز البرمجي المطلوب لمعالجة نتائج هذه المهمة وعرضها بيانيًا، راجِع نموذج تطبيق Python.