ميزة "التعرّف على اللغة" باستخدام تكنولوجيات الذكاء الاصطناعي المدمجة

تاريخ النشر: 24 سبتمبر 2024، تاريخ آخر تعديل: 20 مايو 2025

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

قبل ترجمة نص من لغة إلى أخرى، عليك أولاً تحديد اللغة المستخدمة في النص المحدّد. في السابق، كانت الترجمة تتطلّب تحميل النص إلى خدمة سحابية، ثم إجراء الترجمة على الخادم، ثم تنزيل النتائج.

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

حالات استخدام ميزة "اكتشاف اللغة"

تكون واجهة برمجة التطبيقات Language Detector مفيدة بشكل أساسي في الحالات التالية:

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

البدء

نفِّذ عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح استخدام Language Detector API.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

تنزيل النموذج

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

لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ الدالة غير المتزامنة LanguageDetector.availability(). إذا كان الردّ على availability() هو downloadable، استمع إلى مستوى التقدّم في عملية التنزيل وأبلِغ المستخدم بذلك، لأنّ عملية التنزيل قد تستغرق بعض الوقت.

لتفعيل عملية التنزيل وإنشاء مثيل لأداة رصد اللغة، تحقَّق من تفعيل المستخدم. بعد ذلك، استدعِ الدالة غير المتزامنة LanguageDetector.create().

const detector = await LanguageDetector.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

تشغيل أداة رصد اللغة

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

يمكن أن تعرض الدالة detect() إما النتيجة الأولى أو الجواب الأرجح أو تتكرر على المرشحين المرتبين حسب مستوى الثقة. يتم عرض هذه البيانات كقائمة من عناصر {detectedLanguage, confidence}. يتم التعبير عن مستوى confidence كقيمة بين 0.0 (أدنى مستوى ثقة) و1.0 (أعلى مستوى ثقة).

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

ساحة تجارب واجهة برمجة التطبيقات

جرِّب واجهة Language Detector API في ساحة لعب واجهات برمجة التطبيقات. أدخِل نصًا مكتوبًا بلغات مختلفة في مساحة النص.

سياسة الأذونات وإطارات iframe وWeb Workers

تتوفّر واجهة برمجة التطبيقات Language Detector API تلقائيًا للنوافذ ذات المستوى الأعلى وإطارات iframe من المصدر نفسه. يمكن تفويض إذن الوصول إلى واجهة برمجة التطبيقات لإطارات iframe من مصادر متعددة باستخدام السمة allow="" في Permission Policy:

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Language Detector API by
  setting the `allow="language-detector"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>

لا تتوفّر واجهة برمجة التطبيقات Language Detector API في Web Workers. ويرجع ذلك إلى صعوبة إنشاء مستند مسؤول لكل عامل من أجل التحقّق من حالة &quot;سياسة الأذونات&quot;.

مشاركة ملاحظاتك

نريد أن نرى ما تنشئه باستخدام واجهة برمجة التطبيقات Language Detector API. يمكنك مشاركة مواقعك الإلكترونية وتطبيقات الويب معنا على X وYouTube وLinkedIn.

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