تاریخ انتشار: ۲۴ سپتامبر ۲۰۲۴، آخرین بهروزرسانی: ۲۰ مه ۲۰۲۵
قبلاز ترجمه نوشتار از زبانی به زبان دیگر، ابتدا باید مشخص کنید چه زبانی در نوشتار دادهشده استفاده شده است. قبلاً برای ترجمه لازم بود نوشتار در سرویس ابری بارگذاری شود، ترجمه در سرور انجام شود، و سپس نتایج بارگیری شود.
Language Detector API در سمت کارخواه کار میکند، یعنی میتوانید از حریم خصوصی کاربر محافظت کنید. اگرچه امکان ارسال کتابخانه خاصی که این کار را انجام میدهد وجود دارد، اما برای بارگیری به منابع اضافی نیاز دارد.
زمان استفاده از تشخیص زبان
Language Detector API عمدتاً در سناریوهای زیر مفید است:
- زبان نوشتار ورودی را تعیین کنید تا بتوان آن را ترجمه کرد.
- زبان نوشتار ورودی را تعیین کنید تا مدل صحیح برای تکالیف خاص زبان، مانند تشخیص سمیت، بار شود.
- تشخیص زبان نوشتار ورودی، برای اینکه بتوان آن را بهدرستی برچسبگذاری کرد، برای مثال، در سایتهای شبکهسازی اجتماعی آنلاین.
- زبان نوشتار ورودی را تعیین کنید تا میانای برنامه بتواند براساس آن تنظیم شود. برای مثال، در یک سایت بلژیکی فقط واسطی را نشان دهید که به کاربران فرانسویزبان مربوط است.
شروع کنید
Language Detector و Translator APIs در Chrome در رایانه کار میکنند. این میاناهای برنامهسازی کاربردی در دستگاههای همراه کار نمیکنند.
تشخیص ویژگی را اجرا کنید تا ببینید آیا مرورگر از 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 را در محیط API ما امتحان کنید. نوشتار نوشتهشده به زبانهای مختلف را در ناحیه نوشتاری وارد کنید.
خطمشی اجازه، iframe، و Web Workers
بهطور پیشفرض، Language Detector API فقط برای پنجرههای سطح بالا و iframeهای هممبدأ آنها دردسترس است. دسترسی به میانای برنامهسازی کاربردی را میتوان بااستفاده از مشخصه allow="" «خطمشی اجازه» به iframe میانمبدئی واگذار کرد:
<!--
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 دردسترس نیست. این امر بهدلیل پیچیدگی ایجاد سند مسئول برای هر کارمند بهمنظور بررسی وضعیت «خطمشی اجازهها» است.
همرسانی بازخورد
میخواهیم ببینیم با Language Detector API چه چیزی میسازید. وبسایتها و برنامههای وب خود را در X، YouTube، و LinkedIn با ما همرسانی کنید.
اگر درباره پیادهسازی Chrome بازخوردی دارید، اشکال Chromium را ثبت کنید.
به «برنامه پیشنمایش اولیه» بپیوندید تا نگاهی اولیه به میاناهای برنامهسازی کاربردی هوش مصنوعی داخلی جدید داشته باشید و به بحث در فهرست پستی ما دسترسی پیدا کنید.