תאריך פרסום: 13 בנובמבר 2024
דברי שטנה, הטרדה והתעללות באינטרנט הפכו לבעיה נפוצה באינטרנט. תגובות רעילות משתקות קולות חשובים וגורמות למשתמשים וללקוחות להתרחק. זיהוי תוכן רעיל מגן על המשתמשים ויוצר סביבה בטוחה יותר באינטרנט.
בסדרה הזו, שמחולקת לשני חלקים, נסביר איך משתמשים ב-AI כדי לזהות רעילות ולצמצם אותה כבר במקור שלה: במקלדות של המשתמשים.
בחלק הראשון הזה נדון בתרחישי לדוגמה וביתרונות של הגישה הזו.
בחלק השני, נשתף את ההטמעה, כולל דוגמאות לקוד וטיפים לממשק המשתמש.
למה כדאי לבצע זיהוי תכנים רעילים בצד הלקוח
יתרונות
זיהוי תוכן רעיל בצד הלקוח הוא קו הגנה ראשון שימושי, והוא משלים מצוין לבדיקות בצד השרת. לזיהוי תוכן רעיל בצד הלקוח יש כמה יתרונות:
- זיהוי רעילות בשלב מוקדם באמצעות בדיקות מצד הלקוח, תוכלו לזהות תוכן רעיל כבר במקור, בלי לגעת בשרת.
- מפעילים את הבדיקות בזמן אמת. אתם יכולים להשתמש במהירות בצד הלקוח כדי ליצור אפליקציות עם זמן אחזור קצר ולספק משוב מיידי למשתמשים.
- הפחתה או אופטימיזציה של עומס העבודה בצד השרת. לצמצם את עומס העבודה והעלויות של זיהוי תוכן רעיל בצד השרת: ראשית, כי הטיפים שמוצגים למשתמשים עשויים לעזור בהפחתת נפח התגובות הרעילות, וגם כי סימון תגובות מסוימות כתוכן שעלול להיות רעיל לפני שהן מגיעות לשרת עוזר לתת להן עדיפות בבדיקות בצד השרת.
- צמצום העומס על העובדים. הפחתת העומס על מנהלי התוכן האנושיים.
תרחישים לדוגמה
ריכזנו כאן כמה סיבות אפשריות ליצירת זיהוי תכנים רעילים בצד הלקוח:
- זיהוי מיידי במערכות תגובות. נותנים משוב מיידי למשתמשים שכותבים תגובות רעילות, ומעודדים אותם לנסח מחדש את ההודעה לפני פרסום. בעזרת AI בצד הלקוח, אפשר להשיג זאת בלי מפתח API, בלי עלויות סיווג בזמן ריצה בצד השרת ועם זמן אחזור קצר. האפשרות הזו יכולה להתאים לאפליקציות צ'אט.
- ניהול תגובות בזמן אמת בצ'אט בשידור חי. זיהוי מהיר של הודעות רעילות ממשתמשים וסימון שלהן, כדי שמנהלי התוכן יוכלו להתערב באופן מיידי.
שמירה על הבדיקות בצד השרת
זיהוי תוכן רעיל מצד הלקוח הוא מהיר, אבל משתמש זדוני שמבין ב-frontend יכול להשבית אותו. בנוסף, אף מערכת לזיהוי תוכן רעיל לא מדויקת ב-100%.
לכן מומלץ מאוד להמשיך להטמיע בדיקה נוספת באמצעות שרת, או לשמור עליה, במקום להסתמך רק על זיהוי רעילות בצד הלקוח. לדוגמה, תוכלו להשלים את הבדיקה בזמן אמת בצד הלקוח באמצעות בדיקה אסינכררונית בצד השרת באמצעות Perspective API. כדי לקבל גישה מקיפה, תוכלו לשלב את הפתרונות האלה עם ניהול ידני.
נקודות שצריך לשים לב אליהן:
כדי לזהות תוכן רעיל בצד הלקוח, צריך להוריד מודל סיווג לדף האינטרנט, ולעיתים קרובות גם ספריית AI בצד הלקוח.
כדאי להביא בחשבון את ההשלכות:
- בניית מודל לעלויות אירוח והצגה יכול להיות שהמודל גדול.
- ביצועים וחוויית משתמש. הספרייה והמודל יגדילו את גודל החבילה.
כדאי לשקול את היתרונות לפני שמחליטים אם האפשרות הזו מתאימה למקרה השימוש שלכם. יישום שיטות מומלצות לשיפור הביצועים של AI בצד הלקוח ואחסון המודל במטמון כדי שההורדה תהיה בעלות חד-פעמית.
איך פועל סיווג התוכן כרעיל
לפני שנדבר על ההטמעה המלאה, נציג את העקרונות הבסיסיים של זיהוי תוכן רעיל.
מודל לזיהוי תכנים רעילים מנתח טקסט קיים, במקום ליצור תוכן חדש (AI גנרטיבי). זוהי משימה קלאסית של עיבוד שפה טבעית (NLP).
זיהוי תוכן רעיל מתבסס על סיווג טקסט שמחלק את הטקסט לקטגוריות של תוכן שעלול להיות רעיל או לא מזיק. סיווגים של תוכן רעיל מקבלים טקסט כקלט ומקצים לו תוויות שונות של תוכן רעיל, יחד עם ציון. הדירוגים נעים בין 0 ל-1. ככל שהציון גבוה יותר, כך יש סיכוי גבוה יותר שהקלט רעיל.
זיהוי תוכן רעיל מתבסס על סיווג טקסט שמחלק את הטקסט לקטגוריות של תוכן שעלול להיות רעיל או לא מזיק.
לדוגמה, המודל Xenova/toxic-bert הוא גרסה שתואמת לאינטרנט של המודל unitary/toxic-bert. יש בו שישה תוויות:
toxic
severe_toxic
insult
obscene
identity_hate
threat
תוויות כמו toxic
ו-severe_toxic
מציינות את הרעילות הכוללת.
תוויות אחרות מפורטות יותר. הם מזהים סוגים ספציפיים של תכנים רעילים, למשל identity_hate
(בריונות או איומים על הזהות של אדם, כמו גזע, דת, זהות מגדרית וכו') או threat
(הצהרה על כוונה לגרום נזק).
למודלים שונים של רעילות יש גישות שונות לסיווג. ריכזנו כאן כמה דוגמאות מייצגות.
בדוגמה הזו, הקלט הבא כולל את המילה 'שנאה' ומופנה כלפי אדם, ולכן הציון של toxicity
גבוה (0.92
). לא זוהה סוג ספציפי של רעילות, ולכן הציונים האחרים נמוכים.
Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]
בדוגמה הבאה, יש לתוכן שהוזן אווירה כללית של שנאה, ולכן הוא קיבל ציון toxicity
גבוה (0.92
). בגלל אזכור מפורש של נזק, גם הציון של threat
גבוה (0.81
).
Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]
הסרטון הבא
עכשיו, אחרי שהבנתם את ההקשר, תוכלו להתחיל ליצור מערכת לזיהוי רעילות מבוססת-AI בצד הלקוח.