מדריך להטמעת טקסט

המשימה 'הטמעת טקסט ב-MediaPipe' מאפשרת ליצור ייצוג מספרי של נתוני טקסט, כדי להבין את המשמעות הסמנטית שלהם. לעיתים קרובות משתמשים בפונקציונליות הזו כדי להשוות את הדמיון הסמנטי של שני קטעי טקסט באמצעות שיטות השוואה מתמטיות כמו קוסינוס דמיון. המשימה הזו פועלת על נתוני טקסט עם מודל של למידת מכונה (ML), ומפיקה ייצוג מספרי של נתוני הטקסט כרשימה של וקטורים של מאפיינים תלת-ממדיים, שנקראים גם וקטורים של הטמעה, בצורה של נקודה צפה (floating-point) או בצורה כמותית.

כדאי לנסות!

מתחילים

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

פרטי המשימה

בקטע הזה מתוארות היכולות, הקלט, הפלט ואפשרויות ההגדרה של המשימה הזו.

תכונות

  • עיבוד טקסט בקלט – תומך ביצירת אסימונים מחוץ לתרשים למודלים ללא אסימון בתוך התרשים.
  • הטמעת חישוב דמיון – פונקציית תועלת מובנית לחישוב דמיון קוסינוס בין שני וקטורים של תכונות.
  • קביעת כמות – תומכת בקוונטיזציה סקלרית עבור הווקטורים של התכונות.
קלט למשימות פלט המשימות
'הטמעת טקסט' מקבל את סוג נתוני הקלט הבא:
  • מחרוזת
הכלי 'הטמעת טקסט' יוצר רשימת הטמעות שכוללת:
  • הטמעה: הווקטור של התכונה עצמו, בצורה של נקודה צפה (floating-point) או בפורמט סקלרי.
  • אינדקס ראש: האינדקס של הראש שהפיק את ההטמעה הזו.
  • שם הראש (אופציונלי): שם הראש שהפיק את ההטמעה הזו.

אפשרויות של הגדרות אישיות

במשימה הזאת קיימות אפשרויות ההגדרה הבאות:

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
l2_normalize האם לנרמל את וקטור התכונה שמוחזר עם נורמת L2. יש להשתמש באפשרות הזו רק אם המודל עדיין לא מכיל L2_NORMALIZATION TFLite Op. . ברוב המקרים, זה כבר המצב, וכתוצאה מכך מתקבל מסקנות של TFLite, ללא צורך באפשרות הזו. Boolean False
quantize האם יש לכמת את ההטמעה שמוחזרת לבייטים באמצעות קוונטיזציה סקלרית. ההנחה היא שההטמעות הן נורמת יחידה, ולכן לכל מאפיין מובטח שיהיה ערך [ -1.0, 1.0]. אם זה לא המצב, מומלץ להשתמש באפשרות l2_Normalize. Boolean False

דגמים

כשמתחילים לפתח עם המשימה הזו, אנחנו מציעים מודל ברירת מחדל מומלץ.

המודל הזה משתמש בארכיטקטורת מקודד כפולה ואומן לפי מערכי נתונים שונים של תשובות לשאלות.

נשקול את זוג המשפטים הבאים:

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

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

שימו לב שלמרות שלשני המשפטים בצמד השני יש סנטימנטים מנוגדים, יש ביניהם דמיון גבוה כי יש ביניהם נושא משותף.

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

נקודות השוואה למשימות

אלה נקודות ההשוואה למשימות לגבי כל צינור עיבוד הנתונים, בהתבסס על המודלים שהוכשרו מראש למעלה. זמן האחזור הוא זמן האחזור הממוצע ב-Pixel 6 כשמשתמשים במעבד (CPU) או ב-GPU.

שם דגם זמן אחזור של המעבד (CPU) זמן אחזור של GPU
מקודד משפט אוניברסלי 18.21 אלפיות השנייה -