دليل اكتشاف اللغة للويب

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

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

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

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

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

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

حزم JavaScript

يتوفّر رمز أداة رصد اللغة من خلال @mediapipe/tasks-text طرد. يمكنك العثور على هذه المكتبات وتنزيلها من الروابط المتوفرة في النظام الأساسي دليل الإعداد.

يمكنك تثبيت الحِزم المطلوبة بالرمز البرمجي التالي للمراحل المحلية. باستخدام الأمر التالي:

npm install @mediapipe/tasks-text

إذا أردت النشر إلى خادم، يمكنك استخدام أداة إرسال المحتوى خدمة الشبكة (CDN)، مثل jsDelivr، إضافة الرمز مباشرةً إلى صفحة HTML على النحو التالي:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

الطراز

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

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

<dev-project-root>/app/shared/models

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

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

إنشاء المهمة

استخدِم إحدى وظائف أداة رصد اللغة LanguageDetector.createFrom...() من أجل وتجهز المهمة لتشغيل الاستنتاجات. يمكنك استخدام createFromModelPath(). مع مسار نسبي أو مطلق لملف النموذج المدرَّب. الرمز يوضح المثال أدناه استخدام الدالة createFromOptions(). لمزيد من المعلومات، معلومات حول تهيئة المهام، راجع خيارات الإعداد:

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

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

خيارات الإعداد

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

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

تجهيز البيانات

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

const inputText = "The input text for the detector.";

تنفيذ المهمة

تستخدم "أداة رصد اللغة" الدالة detect لتشغيل الاستنتاجات. للغة هذا يعني عرض اللغات المحتملة لنص الإدخال.

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

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

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

في مهمة "أداة رصد اللغة"، يتم إخراج 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."

كمثال على التعليمة البرمجية المطلوبة لمعالجة وتصور نتائج هذه المهمة، فراجع نموذج تطبيق على الويب: