שלב 1: אוספים נתונים

איסוף נתונים הוא השלב החשוב ביותר בפתרון כל בעיה שקשורה ללמידה של מכונה בפיקוח. האיכות של מסַווג הטקסט (textסווג) יכולה להיות פחות טובה ממערך הנתונים שממנו הוא נוצר.

אם אין לכם בעיה ספציפית שאתם רוצים לפתור ואתם מעוניינים רק לבחון את סיווג הטקסט באופן כללי, יש מגוון מערכי נתונים בקוד פתוח. יש קישורים לחלק מהם במאגר GitHub שלנו. לעומת זאת, אם מתמודדים עם בעיה ספציפית, צריך לאסוף את הנתונים הנדרשים. הרבה ארגונים מספקים ממשקי API ציבוריים כדי לגשת לנתונים שלהם, לדוגמה X API או NY Times API. ייתכן שתוכלו להשתמש בממשקי ה-API האלה לבעיה שאתם מנסים לפתור.

כמה דברים שחשוב לזכור כשאוספים נתונים:

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

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