تشخیص زبان در کروم با هوش مصنوعی داخلی، تشخیص زبان در کروم با هوش مصنوعی داخلی

تاریخ انتشار: 24 سپتامبر 2024

قبل از ترجمه متن از یک زبان به زبان دیگر، ابتدا باید تعیین کنید که در متن داده شده از چه زبانی استفاده شده است. پیش از این، این نیاز به آپلود متن در یک سرویس ابری داشت. با استنباط در دستگاه، می توانید داستان حریم خصوصی خود را بهبود ببخشید. در حالی که امکان ارسال یک کتابخانه خاص که این کار را انجام می دهد وجود دارد، برای دانلود به منابع بیشتری نیاز دارد.

هدف پیشنهاد API تشخیص زبان، حل این چالش با تنظیم دقیق یک مدل برای این کار، با یک API داخلی در مرورگر است.

موارد استفاده نمونه

API تشخیص زبان عمدتاً در سناریوهای زیر مفید است:

  • زبان متن ورودی را تعیین کنید تا بتوان آن را ترجمه کرد.
  • زبان متن ورودی را تعیین کنید تا بتوان مدل صحیح را برای کارهای خاص زبان، مانند تشخیص سمیت، بارگذاری کرد.
  • زبان متن ورودی را تعیین کنید تا بتوان آن را به درستی برچسب گذاری کرد، مثلاً در سایت های شبکه اجتماعی آنلاین.
  • زبان متن ورودی را تعیین کنید تا رابط برنامه را بتوان بر این اساس تنظیم کرد. به عنوان مثال، در یک سایت بلژیکی فقط رابط مربوط به کاربران فرانسوی را نشان می دهد.

از API تشخیص زبان استفاده کنید

API تشخیص زبان بخشی از خانواده بزرگتر API ترجمه است. ابتدا تشخیص ویژگی را اجرا کنید تا ببینید آیا مرورگر از API تشخیص زبان پشتیبانی می کند یا خیر.

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detection API is available.
}  

دانلود مدل

تشخیص زبان به مدلی بستگی دارد که برای کار خاص تشخیص زبان ها به خوبی تنظیم شده باشد. در حالی که API در مرورگر ساخته شده است، اولین باری که یک سایت سعی می کند از API استفاده کند، مدل بر اساس تقاضا دانلود می شود. در کروم، این مدل در مقایسه با مدل های دیگر بسیار کوچک است. در واقع، با توجه به اینکه این مدل توسط ویژگی های مرورگر کروم نیز استفاده می شود، ممکن است قبلاً وجود داشته باشد.

برای اینکه ببینید آیا مدل آماده استفاده است یا خیر، تابع translation.canDetect() ناهمزمان را فراخوانی کنید. سه پاسخ ممکن وجود دارد:

  • 'no' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند، اما در حال حاضر نمی توان از آن استفاده کرد. به عنوان مثال، به دلیل اینکه فضای دیسک آزاد کافی برای دانلود مدل وجود ندارد.
  • 'readily' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند و می توان بلافاصله از آن استفاده کرد.
  • 'after-download' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند، اما ابتدا باید مدل را دانلود کند.

برای شروع دانلود و نمونه سازی آشکارساز زبان، تابع translation.createDetector() غیر همزمان را فراخوانی کنید. اگر پاسخ به canDetect() 'after-download' بود، بهترین تمرین برای شنیدن پیشرفت دانلود است، بنابراین می توانید در صورتی که دانلود زمان بر است به کاربر اطلاع دهید.

مثال زیر نحوه مقداردهی اولیه آشکارساز زبان را نشان می دهد.

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

ردیاب زبان را اجرا کنید

API تشخیص زبان از یک مدل رتبه‌بندی استفاده می‌کند تا مشخص کند کدام زبان به احتمال زیاد در یک متن خاص استفاده می‌شود. رتبه بندی نوعی یادگیری ماشینی است که هدف آن سفارش دادن لیستی از موارد است. در این مورد، 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
// ...

نسخه ی نمایشی

پیش نمایش API تشخیص زبان در نسخه نمایشی ما. متن نوشته شده به زبان های مختلف را در قسمت متن وارد کنید.

برای آزمایش اولیه ثبت نام کنید

برای شروع آزمایش این API با کاربران خود، برای آزمایشی API آشکارساز زبان ثبت نام کنید. این نسخه آزمایشی اصلی از کروم 130 تا 135 اجرا می شود.

درباره نحوه کارآزمایی های مبدا بیشتر بدانید.

تلاش برای استانداردسازی

پس از اینکه پیشنهاد مربوطه از پشتیبانی کافی برخوردار شد، API تشخیص زبان به گروه جامعه انکوباتور وب W3C منتقل شد. API بخشی از یک پیشنهاد بزرگتر Translation API است. تیم کروم از گروه معماری فنی W3C بازخورد درخواست کرد و از موزیلا و WebKit برای موقعیت‌های استاندارد فروشنده مرورگر خاص درخواست کرد.

بازخورد خود را به اشتراک بگذارید

اگر بازخوردی در مورد اجرای Chrome دارید، یک اشکال Chromium را ثبت کنید. بازخورد خود را در مورد شکل API API تشخیص زبان با نظر دادن در مورد موجود یا باز کردن یک شماره جدید در مخزن Translation API GitHub به اشتراک بگذارید.

منابع

،

تاریخ انتشار: 24 سپتامبر 2024

قبل از ترجمه متن از یک زبان به زبان دیگر، ابتدا باید تعیین کنید که در متن داده شده از چه زبانی استفاده شده است. پیش از این، این نیاز به آپلود متن در یک سرویس ابری داشت. با استنباط در دستگاه، می توانید داستان حریم خصوصی خود را بهبود ببخشید. در حالی که امکان ارسال یک کتابخانه خاص که این کار را انجام می دهد وجود دارد، برای دانلود به منابع بیشتری نیاز دارد.

هدف پیشنهاد API تشخیص زبان، حل این چالش با تنظیم دقیق یک مدل برای این کار، با یک API داخلی در مرورگر است.

موارد استفاده نمونه

API تشخیص زبان عمدتاً در سناریوهای زیر مفید است:

  • زبان متن ورودی را تعیین کنید تا بتوان آن را ترجمه کرد.
  • زبان متن ورودی را تعیین کنید تا بتوان مدل صحیح را برای کارهای خاص زبان، مانند تشخیص سمیت، بارگذاری کرد.
  • زبان متن ورودی را تعیین کنید تا بتوان آن را به درستی برچسب گذاری کرد، مثلاً در سایت های شبکه اجتماعی آنلاین.
  • زبان متن ورودی را تعیین کنید تا رابط برنامه را بتوان بر این اساس تنظیم کرد. به عنوان مثال، در یک سایت بلژیکی فقط رابط مربوط به کاربران فرانسوی را نشان می دهد.

از API تشخیص زبان استفاده کنید

API تشخیص زبان بخشی از خانواده بزرگتر API ترجمه است. ابتدا تشخیص ویژگی را اجرا کنید تا ببینید آیا مرورگر از API تشخیص زبان پشتیبانی می کند یا خیر.

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detection API is available.
}  

دانلود مدل

تشخیص زبان به مدلی بستگی دارد که برای کار خاص تشخیص زبان ها به خوبی تنظیم شده باشد. در حالی که API در مرورگر ساخته شده است، اولین باری که یک سایت سعی می کند از API استفاده کند، مدل به صورت درخواستی دانلود می شود. در کروم، این مدل در مقایسه با مدل های دیگر بسیار کوچک است. در واقع، با توجه به اینکه این مدل توسط ویژگی های مرورگر کروم نیز استفاده می شود، ممکن است قبلا وجود داشته باشد.

برای اینکه ببینید آیا مدل آماده استفاده است یا خیر، تابع translation.canDetect() ناهمزمان را فراخوانی کنید. سه پاسخ ممکن وجود دارد:

  • 'no' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند، اما در حال حاضر نمی توان از آن استفاده کرد. به عنوان مثال، به دلیل اینکه فضای دیسک آزاد کافی برای دانلود مدل وجود ندارد.
  • 'readily' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند و می توان بلافاصله از آن استفاده کرد.
  • 'after-download' : مرورگر فعلی از API تشخیص زبان پشتیبانی می کند، اما ابتدا باید مدل را دانلود کند.

برای شروع دانلود و نمونه سازی آشکارساز زبان، تابع translation.createDetector() غیر همزمان را فراخوانی کنید. اگر پاسخ به canDetect() 'after-download' بود، بهترین تمرین برای شنیدن پیشرفت دانلود است، بنابراین می توانید در صورتی که دانلود زمان بر است به کاربر اطلاع دهید.

مثال زیر نحوه مقداردهی اولیه آشکارساز زبان را نشان می دهد.

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

ردیاب زبان را اجرا کنید

API تشخیص زبان از یک مدل رتبه‌بندی استفاده می‌کند تا مشخص کند کدام زبان به احتمال زیاد در یک متن خاص استفاده می‌شود. رتبه بندی نوعی یادگیری ماشینی است که هدف آن سفارش دادن لیستی از موارد است. در این مورد، 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
// ...

نسخه ی نمایشی

پیش نمایش API تشخیص زبان در نسخه نمایشی ما. متن نوشته شده به زبان های مختلف را در قسمت متن وارد کنید.

برای آزمایش اولیه ثبت نام کنید

برای شروع آزمایش این API با کاربران خود، برای آزمایشی API آشکارساز زبان ثبت نام کنید. این نسخه آزمایشی اصلی از کروم 130 تا 135 اجرا می شود.

درباره نحوه کارآزمایی های مبدا بیشتر بدانید.

تلاش برای استانداردسازی

پس از اینکه پیشنهاد مربوطه از پشتیبانی کافی برخوردار شد، API تشخیص زبان به گروه جامعه انکوباتور وب W3C منتقل شد. API بخشی از یک پیشنهاد بزرگتر Translation API است. تیم کروم از گروه معماری فنی W3C بازخورد درخواست کرد و از موزیلا و WebKit برای موقعیت‌های استاندارد فروشنده مرورگر خاص درخواست کرد.

بازخورد خود را به اشتراک بگذارید

اگر بازخوردی در مورد اجرای Chrome دارید، یک اشکال Chromium را ثبت کنید. بازخورد خود را در مورد شکل API API تشخیص زبان با نظر دادن در مورد موجود یا باز کردن یک شماره جدید در مخزن Translation API GitHub به اشتراک بگذارید.

منابع