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

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

يمكنك مشاهدة هذه المهمة وهي قيد التنفيذ من خلال عرض demo. مزيد من المعلومات حول الإمكانات والنماذج وخيارات الضبط هذه المهمة، راجع نظرة عامة.

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

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

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

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

الطرود

تستخدم أداة رصد اللغة حزمة mediapip. يمكنك تثبيت التبعية مع ما يلي:

$ python -m pip install mediapipe

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

عليك استيراد الصفوف التالية للوصول إلى وظائف أداة رصد اللغة:

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

الطراز

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

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

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

تحديد مسار النموذج باستخدام الكائن BaseOptions model_asset_path كما هو موضح أدناه:

base_options = BaseOptions(model_asset_path=model_path)

إنشاء المهمة

تستخدم مهمة أداة رصد اللغة MediaPipe الدالة 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). تتعامل المهمة مع إدخال البيانات المعالجة المسبقة، بما في ذلك الترميز والمعالجة المسبقة لـ Tenor. الكل تتم معالجة عمليات المعالجة المسبقة ضمن دالة 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.