פורסם: 24 בספטמבר 2024, עדכון אחרון: 20 במאי 2025
לפני שמתרגמים טקסט משפה אחת לשפה אחרת, צריך קודם לקבוע באיזו שפה הטקסט כתוב. בעבר, כדי לתרגם טקסט היה צריך להעלות אותו לשירות ענן, לבצע את התרגום בשרת ואז להוריד את התוצאות.
Language Detector API פועל בצד הלקוח, כך שאתם יכולים להגן על פרטיות המשתמשים. אפשר לשלוח ספרייה ספציפית שעושה את זה, אבל זה ידרוש משאבים נוספים להורדה.
מתי כדאי להשתמש בזיהוי שפה
השימוש העיקרי ב-Language Detector API הוא בתרחישים הבאים:
- לקבוע את השפה של טקסט הקלט, כדי שיהיה אפשר לתרגם אותו.
- קביעת השפה של טקסט הקלט, כדי שניתן יהיה לטעון את המודל הנכון למשימות ספציפיות לשפה, כמו זיהוי רעילות.
- קביעת השפה של טקסט הקלט, כדי שאפשר יהיה לסמן אותו בצורה נכונה, למשל באתרים של רשתות חברתיות אונליין.
- קביעת השפה של טקסט הקלט, כדי שניתן יהיה להתאים את הממשק של האפליקציה בהתאם. לדוגמה, באתר בלגי, הממשק יוצג רק למשתמשים שמדברים צרפתית.
שנתחיל?
מריצים זיהוי תכונות כדי לראות אם הדפדפן תומך ב-Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
הורדת המודל
זיהוי השפה מתבסס על מודל שעבר כוונון עדין למשימה הספציפית של זיהוי שפות. ה-API מובנה בדפדפן, אבל המודל מורד לפי דרישה בפעם הראשונה שאתר מנסה להשתמש ב-API. בדפדפן 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}%`);
});
},
});
הפעלת זיהוי השפה
ה-API של Language Detector משתמש במודל דירוג כדי לקבוע באיזו שפה הכי סביר שנעשה שימוש בקטע טקסט נתון. דירוג הוא סוג של למידת מכונה, שבו המטרה היא לסדר רשימה של פריטים. במקרה הזה, ה-API של Language Detector מדרג את השפות מהסבירות הגבוהה ביותר לנמוכה ביותר.
הפונקציה 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 playground
אפשר להתנסות ב-Language Detector API בסביבת הניסויים של API. מזינים את הטקסט שכתוב בשפות שונות באזור הטקסט.
מדיניות הרשאות, מסגרות iframe ו-Web Workers
כברירת מחדל, ה-API של Language Detector זמין רק לחלונות ברמה העליונה ול-iframe מאותו מקור. אפשר להעניק גישה ל-API ל-iframes ממקורות שונים באמצעות מאפיין 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>
ממשק ה-API של Language Detector לא זמין ב-Web Workers. הסיבה לכך היא המורכבות של יצירת מסמך אחראי לכל עובד כדי לבדוק את הסטטוס של מדיניות ההרשאות.
שיתוף משוב
נשמח לראות מה אתם בונים באמצעות Language Detector API. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.
אם יש לכם משוב על ההטמעה של Chrome, אתם יכולים לדווח על באג ב-Chromium.