GPT
R

roberta_toxicity_classifier

קוד פתוח

s-nlpopenrail++2022-03-02

  • transformers
  • pytorch
  • roberta
  • text-classification
  • toxic comments classification

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

  • 514טוקנים בהקשר
  • 479 MBמשקל הקבצים
  • 273,318הורדות בחודש
  • 75לייקים

מה זה

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

במבחנים על סט הבדיקה של Jigsaw הוא מציג AUC-ROC של 0.98 וציון F1 של 0.76. ה־AUC הגבוה מראה שהוא מדרג נכון משפטים מובהקים, אבל ה־F1 הממוצע יותר חושף שבשטח, כשמציבים רף החלטה קשיח, תיתקלו בפספוסים או בזיהויים שגויים סביב מקרי קצה עמומים.

מתאים ל

  • סינון תגובות באנגלית

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

  • בקרת צ'אט פנימי

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

  • ניקוי דאטה לאימון

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

איפה זה נופל

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

שאלות
נפוצות

האם הוא מזהה קללות ורעילות בעברית?

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

איזה פלט המודל מחזיר בקוד?

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

איך מריצים

המשקל הכולל של הקבצים עומד על 479 מגה-בייט בלבד, כך שלא צריך מעבד גרפי כבד כדי להריץ אותו. מעבד רגיל יספיק לרוב המשימות, ואפשר להרים אותו ישירות דרך ספריית transformers בפייתון עם טוען המודלים הסטנדרטי של RoBERTaForSequenceClassification.

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

from transformers import pipeline

pipe = pipeline("text-classification", model="s-nlp/roberta_toxicity_classifier")
print(pipe("שלום"))

הקבצים

8 קבצים במאגר, 479 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • מגבלות שימוש ברישיון

הרישיון המלא בעמוד המודל ↗