זיהוי שפה ב-Chrome באמצעות AI מובנה

תאריך הפרסום: 24 בספטמבר 2024

לפני שמתרגמים טקסט משפה אחת לאחרת, צריך קודם לזהות את השפה שבה נכתב הטקסט. בעבר, כדי לתרגם טקסט היה צריך להעלות אותו לשירות בענן, לבצע את התרגום בשרת ואז להוריד את התוצאות.

ב-Language Detector API נעשה שימוש בהסקה במכשיר כדי לשפר את סטטוס הפרטיות שלכם. אפשר לשלוח ספרייה ספציפית שמבצעת את הפעולה הזו, אבל תצטרכו להוריד משאבים נוספים.

זמינות

הרשמה לתקופת הניסיון של גרסת המקור

כדי להתחיל להשתמש ב-Language Detector API:

  1. מאשרים את המדיניות של Google בנושא שימוש אסור ב-AI גנרטיבי.
  2. עוברים אל גרסת המקור לניסיון של Language Detector API.
  3. לוחצים על Register וממלאים את הטופס.
    • בשדה Web origin, מזינים את המקור או את מזהה התוסף, chrome-extension://YOUR_EXTENSION_ID.
  4. לוחצים על Register.
  5. מעתיקים את האסימון שסופק ומוסיפים אותו לכל דף אינטרנט במקור או בקובץ של התוסף שבו רוצים להפעיל את תקופת הניסיון.
  6. מתחילים להשתמש ב-Language Detection API.

איך מתחילים להשתמש בגרסת המקור לניסיון

הוספת תמיכה ב-localhost

כדי לגשת ל-Language Detection API ב-localhost במהלך גרסת המקור לניסיון, צריך לעדכן את Chrome לגרסה האחרונה. לאחר מכן, בצע פעולות אלה:

  1. פותחים את Chrome באחת מהפלטפורמות הבאות: Windows,‏ Mac או Linux.
  2. לעבור אל chrome://flags/#language-detection-api.
  3. בוחרים באפשרות מופעל.
  4. לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.

תרחישים לדוגמה

ממשק ה-API לזיהוי שפה שימושי בעיקר בתרחישים הבאים:

  • קביעת שפת הטקסט להזנה, כדי שניתן יהיה לתרגם אותו.
  • זיהוי השפה של טקסט הקלט, כדי שאפשר יהיה לטעון את המודל הנכון למשימות ספציפיות לשפה, כמו זיהוי תוכן רעיל.
  • לקבוע את השפה של טקסט הקלט, כדי שאפשר יהיה לתייג אותו בצורה נכונה, למשל באתרים של רשתות חברתיות אונליין.
  • לקבוע את שפת הטקסט להזנה, כדי שאפשר יהיה לשנות את הממשק של האפליקציה בהתאם. לדוגמה, באתר בבלגיה, כדי להציג רק את הממשק הרלוונטי למשתמשים שדוברים צרפתית.

שימוש ב-Language Detector API

ה-API לזיהוי שפה הוא חלק מהמשפחה הרחבה יותר של Translator API. קודם כול, מריצים זיהוי תכונות כדי לבדוק אם הדפדפן תומך ב-Language Detector API.

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

הורדת מודל

זיהוי השפה תלוי במודל שעבר התאמה אישית למשימות ספציפיות של זיהוי שפות. ה-API מובנה בדפדפן, אבל המודל מוריד על פי דרישה בפעם הראשונה שבה אתר מנסה להשתמש ב-API. ב-Chrome, המודל הזה קטן מאוד בהשוואה למודלים אחרים. למעשה, יכול להיות שהוא כבר קיים, כי התכונות של דפדפן Chrome משתמשות גם במודל הזה.

כדי לבדוק אם המודל מוכן לשימוש, צריך להפעיל את הפונקציה translation.canDetect() האסינכרונית. יש שלוש תשובות אפשריות:

  • 'no': הדפדפן הנוכחי תומך ב-Language Detector API, אבל לא ניתן להשתמש בו כרגע. לדוגמה, כי אין מספיק מקום פנוי בדיסק כדי להוריד את המודל.
  • 'readily': הדפדפן הנוכחי תומך ב-Language Detector API, וניתן להשתמש בו באופן מיידי.
  • 'after-download': הדפדפן הנוכחי תומך ב-Language Detector 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;
}

הפעלת הכלי לזיהוי שפה

ב-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. מזינים טקסט שנכתב בשפות שונות בתיבת הטקסט.

מאמץ סטנדרטיזציה

ה-Language Detector API הועבר לקבוצת הקהילה של W3C Web Incubator אחרי שההצעה המתאימה קיבלה מספיק תמיכה. ה-API הוא חלק מהצעה גדולה יותר ל-Translation API.

צוות Chrome ביקש משוב מקבוצת הארכיטקטורה הטכנית של W3C, וביקש מ-Mozilla ומ-WebKit את עמדותיהם בנושא התקנים.

שיתוף משוב

אם יש לכם משוב על ההטמעה ב-Chrome, תוכלו לשלוח דיווח על באג ב-Chromium. כדי לשלוח משוב על צורת ה-API של Language Detector API, אפשר להגיב על בעיה קיימת או לפתוח בעיה חדשה במאגר GitHub של Translation API.