منتشر شده: ۲۴ سپتامبر ۲۰۲۴، آخرین بهروزرسانی: ۲۰ مه ۲۰۲۵
قبل از ترجمه متن از یک زبان به زبان دیگر، ابتدا باید مشخص کنید که در متن داده شده از چه زبانی استفاده شده است. پیش از این، ترجمه نیاز به آپلود متن در یک سرویس ابری، انجام ترجمه روی سرور و سپس دانلود نتایج داشت.
رابط برنامهنویسی کاربردی تشخیص زبان (Language Detector API) در سمت کلاینت کار میکند، به این معنی که میتوانید از حریم خصوصی کاربر محافظت کنید. اگرچه میتوان کتابخانه خاصی را ارائه داد که این کار را انجام دهد، اما برای دانلود به منابع اضافی نیاز دارد.
چه زمانی از تشخیص زبان استفاده کنیم
رابط برنامهنویسی کاربردی تشخیص زبان (Language Detector API) عمدتاً در سناریوهای زیر مفید است:
- زبان متن ورودی را تعیین کنید تا بتوان آن را ترجمه کرد.
- زبان متن ورودی را تعیین کنید، تا مدل صحیح برای وظایف خاص زبان، مانند تشخیص سمیت، بارگذاری شود.
- زبان متن ورودی را تعیین کنید تا بتوان آن را به درستی برچسبگذاری کرد، برای مثال، در سایتهای شبکههای اجتماعی آنلاین.
- زبان متن ورودی را تعیین کنید تا رابط کاربری برنامه بتواند بر اساس آن تنظیم شود. به عنوان مثال، در یک سایت بلژیکی، فقط رابط کاربری مربوط به کاربرانی که به زبان فرانسوی صحبت میکنند را نشان دهد.
شروع کنید
برای بررسی اینکه آیا مرورگر از رابط برنامهنویسی کاربردی تشخیص زبان (Language Detector API) پشتیبانی میکند یا خیر، تشخیص ویژگی (feature detection) را اجرا کنید.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
دانلود مدل
تشخیص زبان به مدلی بستگی دارد که برای وظیفه خاص تشخیص زبانها به دقت تنظیم شده باشد. در حالی که API در مرورگر ساخته شده است، این مدل به صورت درخواستی و اولین باری که یک سایت سعی میکند از API استفاده کند، دانلود میشود. در کروم، این مدل در مقایسه با سایر مدلها بسیار کوچک است. ممکن است از قبل وجود داشته باشد، زیرا این مدل توسط سایر ویژگیهای کروم استفاده میشود.
برای تعیین اینکه آیا مدل آماده استفاده است یا خیر، تابع ناهمزمان 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) از یک مدل رتبهبندی برای تعیین اینکه کدام زبان به احتمال زیاد در یک متن مشخص استفاده میشود، استفاده میکند. رتبهبندی نوعی یادگیری ماشینی است که در آن هدف، مرتبسازی فهرستی از موارد است. در این مورد، رابط برنامهنویسی کاربردی تشخیص زبان، زبانها را از بالاترین احتمال تا پایینترین احتمال رتبهبندی میکند.
تابع 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 ما آزمایش کنید. متن نوشته شده به زبانهای مختلف را در ناحیه متن وارد کنید.
سیاست دسترسی، iframeها و Web Workerها
به طور پیشفرض، API تشخیص زبان فقط برای پنجرههای سطح بالا و iframe های هممبنای آنها در دسترس است. دسترسی به API را میتوان با استفاده از ویژگی 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 Workerها موجود نیست. این به دلیل پیچیدگی ایجاد یک سند مسئول برای هر Worker به منظور بررسی وضعیت سیاست مجوزها (Permissions Policy) است.
بازخورد خود را به اشتراک بگذارید
ما میخواهیم ببینیم که شما با رابط برنامهنویسی کاربردی تشخیص زبان (Language Detector API) چه چیزی میسازید. وبسایتها و برنامههای وب خود را در X ، YouTube و LinkedIn با ما به اشتراک بگذارید.
اگر در مورد پیادهسازی کروم بازخوردی دارید، یک گزارش اشکال کرومیوم ثبت کنید.
برای مشاهدهی زودهنگام APIهای جدید هوش مصنوعی داخلی و دسترسی به بحث در فهرست پستی ما ، به برنامهی پیشنمایش اولیه بپیوندید .