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

תאריך פרסום: 24 בספטמבר 2024, תאריך עדכון אחרון: 10 בדצמבר 2024

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

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

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

שנתחיל?

אתם יכולים להצטרף לגרסת המקור לניסיון של Language Detector API, שפועלת ב-Chrome בגרסאות 132 עד 135, כדי לבדוק את ה-API עם משתמשים אמיתיים בסביבת הייצור. ניסויים במקור מאפשרים להפעיל את התכונה לכל המשתמשים במקור ב-Chrome.

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

כדי להתחיל להשתמש ב-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://flags/#language-detection-api.
  2. בוחרים באפשרות מופעל.
  3. לוחצים על הפעלה מחדש או מפעילים מחדש את Chrome.

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

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

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

שימוש ב-Language Detector API

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

if ('ai' in self && 'languageDetector' in self.ai)
  // The Language Detector API is available.
}  

הורדת מודל

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

כדי לבדוק אם המודל מוכן לשימוש, צריך להפעיל את הפונקציה האסינכרונית self.ai.languageDetector.availability() ולבדוק את ההבטחה (promise) שנוצרת. יש שלוש תשובות אפשריות:

  • "unavailable": אין תמיכה באפשרויות המבוקשות או שלא ניתן להציג בקשה לדוגמה.
  • "downloadable": הבקשה נתמכת, אבל צריך להוריד קבצים נוספים כדי ליצור סשן. ההורדות האלה עשויות לכלול את מודל השפה או את השיפורים.
  • "downloading": הבקשה נתמכת וההורדה נמשכת. צריך להשלים אותה לפני יצירת הסשן.
  • "available": הבקשה נתמכת וניתן ליצור סשן.

כדי להפעיל את ההורדה וליצור מופע של גלאי השפה, צריך להפעיל את הפונקציה האסינכרונית self.ai.languageDetector.create(). אם התגובה ל-availability() הייתה 'downloadable' או 'downloading', מומלץ להאזין להתקדמות ההורדה כדי שתוכלו להודיע למשתמש אם ההורדה נמשכת זמן רב.

הדוגמה הבאה ממחישה איך מאתחלים את גלאי השפה.

const availability = await self.ai.languageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await self.ai.languageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await self.ai.languageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  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.