מדריך משימות לסיווג טקסטים

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

כדאי לנסות!

מתחילים

כדי להתחיל להשתמש במשימה הזו, כדאי לפעול לפי אחד ממדריכי ההטמעה הבאים בפלטפורמה שבה אתם עובדים:

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

פרטי המשימה

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

תכונות

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

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

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

שם האפשרות תיאור טווח ערכים ערך ברירת מחדל
displayNamesLocale ההגדרה הזו מגדירה את השפה של התוויות שישמשו לשמות תצוגה שנמסרים במטא-נתונים של מודל המשימה, אם יש כאלה. ברירת המחדל היא en עבור אנגלית. אפשר להוסיף תוויות שהותאמו לשוק המקומי למטא-נתונים של מודל מותאם אישית באמצעות TensorFlow Lite Metadata Writer API קוד הלוקאל en
maxResults הפונקציה מגדירה את המספר המקסימלי האופציונלי של תוצאות מהסיווג הגבוה ביותר להחזרה. אם הערך קטן מ-0, יוחזרו כל התוצאות הזמינות. כל מספר חיובי -1
scoreThreshold השדה הזה מגדיר את סף הציון של החיזוי ששונה מהסף שצוין במטא-נתונים של המודל (אם יש כזה). תוצאות מתחת לערך הזה יידחו. כל מספר ממשי (float) לא הוגדרה
categoryAllowlist מגדיר את הרשימה האופציונלית של שמות הקטגוריות המותרות. אם השדה לא ריק, תוצאות סיווג ששם הקטגוריה שלהן לא נכלל בקבוצה הזו יסוננו. המערכת מתעלמת משמות כפולים או לא ידועים של קטגוריות. האפשרות הזו בלעדית ל-categoryDenylist ומשתמשת בשתי התוצאות כשגיאה. כל מחרוזת לא הוגדרה
categoryDenylist מגדיר את הרשימה האופציונלית של שמות קטגוריות אסורים. אם התוצאות לא ריקות, תוצאות הסיווג ששם הקטגוריה שלהן נכלל בקבוצה הזו יסוננו. המערכת מתעלמת משמות כפולים או לא ידועים של קטגוריות. האפשרות הזו בלעדית ל-categoryAllowlist, והשימוש בשתי האפשרויות האלה גורם לשגיאה. כל מחרוזת לא הוגדרה

דגמים

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

המודלים שעברו אימון מראש מאומנים לניתוח סנטימנטים, וחוזים אם הסנטימנט של טקסט הקלט הוא חיובי או שלילי. המודלים אומנו על מערך הנתונים SST-2 (Stanford Sentiment Treebank), שכולל ביקורות על סרטים שתויגו כחיוביות או כשליליות. שימו לב שהמודלים תומכים באנגלית בלבד. מכיוון שהם הוכשרו לפי מערך נתונים של ביקורות על סרטים, יכול להיות שתראו איכות נמוכה יותר של טקסט שמתייחס לתחומים אחרים.

המודל הזה מבוסס על ארכיטקטורה שמבוססת על BERT (ספציפית, מודל MobileBERT), והוא מומלץ בגלל רמת הדיוק הגבוהה שלו. הוא מכיל מטא-נתונים שמאפשרים למשימה לבצע המרה לאסימונים של BERT באמצעות אסימונים.

שם הדגם צורת הקלט סוג הכמות גרסאות
מסווג BERT [1x128],[1x128],[1x128] טווח דינמי האחרון

מודל ממוצע של הטמעת מילים

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

שם הדגם צורת הקלט סוג הכמות גרסאות
הטמעת מילים ממוצעת 1 x 256 ללא (float32) האחרון

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

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

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

מודלים בהתאמה אישית

תוכלו להשתמש במשימה הזו במודל ML מותאם אישית, אם אתם רוצים לשפר או לשנות את היכולות של המודלים שסופקו. תוכלו להשתמש ב-Model Maker כדי לשנות את המודלים הקיימים או לבנות מודל באמצעות כלים כמו TensorFlow. מודלים בהתאמה אישית עם MediaPipe חייבים להיות בפורמט TensorFlow Lite, והם חייבים לכלול מטא-נתונים ספציפיים שמתארים את הפרמטרים להפעלה של המודל. כדאי להשתמש ב'יוצר המודלים' כדי לשנות את המודלים שסופקו למשימה זו לפני בניית המודלים שלכם.