המשימה 'סיווג טקסט' של MediaPipe מאפשרת לסווג טקסט לקבוצה של קטגוריות מוגדרות, כמו סנטימנט חיובי או שלילי. הקטגוריות מוגדרות במהלך אימון המודל. המשימה הזו פועלת על נתוני טקסט באמצעות מודל למידת מכונה (ML) כנתונים סטטיים, ומפיקה רשימה של קטגוריות ודירוגי הסבירות שלהן.
תחילת העבודה
כדי להתחיל להשתמש במשימה הזו, פועלים לפי אחד מהמדריכים הבאים להטמעה בפלטפורמה שבה אתם עובדים:
- Android – דוגמה לקוד
- Python – דוגמה לקוד
- אינטרנט – דוגמה לקוד – מדריך
- iOS – דוגמה לקוד
המדריכים האלה, שמותאמים לכל פלטפורמה, כוללים הנחיות להטמעה בסיסית של המשימה הזו, כולל מודל מומלץ ודוגמת קוד עם אפשרויות ההגדרה המומלצות.
פרטי המשימה
בקטע הזה מוסבר על היכולות, הקלט, הפלט והאפשרויות להגדרה של המשימה הזו.
תכונות
- עיבוד טקסט קלט – תמיכה ביצירת אסימונים מחוץ לתרשים למודלים ללא יצירת אסימונים בתרשים
- כמה כותרות של סיווג – כל כותרת יכולה להשתמש בקבוצת קטגוריות משלה
- Label map locale (לוקאל של מפה עם תוויות) – הגדרת השפה שבה ייכתבו שמות התצוגה
- סף ניקוד – סינון התוצאות על סמך ציונים של תחזיות
- תוצאות הסיווג של Top-k – סינון מספר תוצאות הזיהוי
- תיוג של רשימת ההיתרים ורשימת הדחייה – מציינים את הקטגוריות שזוהו
קלט של משימות | פלט של משימות |
---|---|
סיווג הטקסט מקבל את סוג נתוני הקלט הבא:
|
מסווג הטקסט מניב רשימה של קטגוריות שמכילות:
|
אפשרויות הגדרה
למשימה הזו יש את אפשרויות ההגדרה הבאות:
שם האפשרות | תיאור | טווח ערכים | ערך ברירת מחדל |
---|---|---|---|
displayNamesLocale |
הגדרת השפה של התוויות לשימוש בשמות התצוגה שסופקו במטא-נתונים של מודל המשימה, אם הם זמינים. ברירת המחדל היא en לאנגלית. אפשר להוסיף תוויות מותאמות לשוק המקומי למטא-נתונים של מודל מותאם אישית באמצעות TensorFlow Lite Metadata Writer API
| קוד לוקאל | en |
maxResults |
מגדיר את המספר המקסימלי האופציונלי של תוצאות הסיווג עם הדירוג הגבוה ביותר שיוחזר. אם הערך < 0, כל התוצאות הזמינות יחזרו. | מספרים חיוביים | -1 |
scoreThreshold |
הגדרת הסף של ציון התחזית, שמבטל את הסף שצוין במטא-נתונים של המודל (אם קיים). תוצאות מתחת לערך הזה נדחות. | כל ערך צף | לא מוגדר |
categoryAllowlist |
הגדרת רשימה אופציונלית של שמות קטגוריות מותרים. אם הערך לא ריק, תוצאות הסיווג ששם הקטגוריה שלהן לא נמצא בקבוצה הזו יוחרגו מהסינון. המערכת מתעלמת משמות קטגוריות כפולים או לא מוכרים.
האפשרות הזו לא תואמת לאפשרות categoryDenylist , ושימוש בשתיהן גורם לשגיאה. |
מחרוזות כלשהן | לא מוגדר |
categoryDenylist |
הגדרת רשימה אופציונלית של שמות קטגוריות אסורים. אם הערך לא ריק, תוצאות הסיווג ששם הקטגוריה שלהן נמצא בקבוצה הזו יוסר. המערכת מתעלמת משמות קטגוריות כפולים או לא מוכרים. האפשרות הזו לא תואמת לאפשרות categoryAllowlist , ושימוש בשתיהן גורם לשגיאה. |
מחרוזות כלשהן | לא מוגדר |
דגמים
אפשר להשתמש ב-Text Classifier עם יותר ממודל אחד של למידת מכונה. כשמתחילים לפתח באמצעות המשימה הזו, מומלץ להתחיל עם מודל ברירת המחדל המומלץ לפלטפורמת היעד. במודלים האחרים הזמינים, בדרך כלל יש פשרה בין הביצועים, הדיוק, הרזולוציה ודרישות המשאבים, ובמקרים מסוימים הם כוללים תכונות נוספות.
המודלים שהוכשרו מראש מאומנים לניתוח סנטימנטים, ומאפשרים לחזות אם הסנטימנט של טקסט הקלט הוא חיובי או שלילי. המודלים הוכשרו על מערך הנתונים SST-2 (Stanford Sentiment Treebank), שמכיל ביקורות על סרטים שמסומנות כחיוביות או שליליות. לתשומת ליבכם, המודלים תומכים רק באנגלית. מאחר שהם הוכשרו על סמך מערך נתונים של ביקורות על סרטים, יכול להיות שתבחינו באיכות נמוכה יותר בטקסטים שעוסקים בנושאים אחרים.
מודל סיווג של BERT (מומלץ)
המודל הזה מבוסס על ארכיטקטורה של BERT (במיוחד המודל MobileBERT), והוא מומלץ בגלל הדיוק הגבוה שלו. הוא מכיל מטא-נתונים שמאפשרים למשימה לבצע יצירת אסימונים של BERT מחוץ לתרשים.
שם דגם | צורת הקלט | סוג הקידוד | גרסאות |
---|---|---|---|
BERT-classifier | [1x128],[1x128],[1x128] | טווח דינמי | חדש |
מודל ממוצע להטמעת מילים
המודל הזה משתמש בארכיטקטורה ממוצעת של הטמעת מילים (word embedding). המודל הזה מציע גודל מודל קטן יותר וזמן אחזור נמוך יותר, אבל רמת הדיוק של החיזויים שלו נמוכה יותר בהשוואה למסווג BERT. גם התאמה אישית של המודל הזה באמצעות אימון נוסף מהירה יותר מאשר אימון של הסיווג שמבוסס על BERT. המודל הזה מכיל מטא-נתונים שמאפשרים למשימה לבצע יצירת אסימונים של ביטוי רגולרי מחוץ לתרשים.
שם דגם | צורת הקלט | סוג הקידוד | גרסאות |
---|---|---|---|
הטמעת מילה ממוצעת | 1 x 256 | None (float32) | חדש |
נקודות השוואה של משימות
בהמשך מוצגות נקודות השוואה של המשימות בצינור עיבוד הנתונים כולו, על סמך המודלים שהוכשרו מראש שלמעלה. תוצאת זמן האחזור היא זמן האחזור הממוצע ב-Pixel 6 באמצעות מעבד או יחידת עיבוד גרפי (GPU).
שם דגם | זמן האחזור של המעבד (CPU) | זמן אחזור של GPU |
---|---|---|
הטמעת מילה ממוצעת | 0.14 אלפיות השנייה | - |
מסווג BERT | 57.68 אלפיות השנייה | - |
מודלים מותאמים אישית
אם אתם רוצים לשפר או לשנות את היכולות של המודלים שסופקו, תוכלו להשתמש במשימה הזו עם מודל למידת מכונה בהתאמה אישית. אפשר להשתמש ב-Model Maker כדי לשנות את המודלים הקיימים או ליצור מודל באמצעות כלים כמו TensorFlow. מודלים מותאמים אישית שמשמשים ב-MediaPipe חייבים להיות בפורמט TensorFlow Lite ולכלול metadata ספציפיים שמתארים את הפרמטרים התפעוליים של המודל. מומלץ להשתמש ב-Model Maker כדי לשנות את המודלים שסופקו למשימה הזו לפני שיוצרים מודל משלכם.