שלב 1: אוספים נתונים
קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
איסוף נתונים הוא השלב החשוב ביותר בפתרון כל בעיה שקשורה ללמידה של מכונה בפיקוח. האיכות של מסַווג הטקסט (textסווג) יכולה להיות פחות טובה ממערך הנתונים שממנו הוא נוצר.
אם אין לכם בעיה ספציפית שאתם רוצים לפתור ואתם מעוניינים רק לבחון את סיווג הטקסט באופן כללי, יש מגוון מערכי נתונים בקוד פתוח. יש קישורים לחלק מהם במאגר GitHub שלנו. לעומת זאת, אם מתמודדים עם בעיה ספציפית, צריך לאסוף את הנתונים הנדרשים. הרבה ארגונים מספקים ממשקי API ציבוריים כדי לגשת לנתונים שלהם, לדוגמה X API או NY Times API. ייתכן שתוכלו להשתמש בממשקי ה-API האלה לבעיה שאתם מנסים לפתור.
כמה דברים שחשוב לזכור כשאוספים נתונים:
- אם אתם משתמשים ב-API ציבורי, חשוב להבין את המגבלות של ה-API לפני שאתם משתמשים בהן. לדוגמה, חלק מממשקי ה-API מגבילים את הקצב שבו אפשר לשלוח שאילתות.
- כדאי לנסות כמה שיותר דוגמאות אימון (שנקראות דוגמאות בשאר המדריך). כך המודל שלכם יכלל טוב יותר.
- חשוב לוודא שמספר הדגימות בכל כיתה או נושא לא לא מאוזן מדי. כלומר, צריך להיות לכם מספר דומה של דגימות בכל מחלקה.
- חשוב לוודא שהדוגמאות מכסות כראוי את מרחב הקלט האפשרי, ולא רק את המקרים הנפוצים.
כדי להדגים את תהליך העבודה, לאורך המדריך הזה נשתמש במערך הנתונים של ביקורות הסרטים במסד הנתונים של סרטים באינטרנט (IMDb). מערך הנתונים הזה מכיל ביקורות על סרטים שאנשים פרסמו באתר IMDb, וגם את התוויות המתאימות (חיוביות או שליליות) שמציינות אם כותב הביקורת אהב את הסרט או לא. זוהי דוגמה קלאסית לבעיה בניתוח סנטימנטים.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[[["\u003cp\u003eHigh-quality data is crucial for building effective supervised machine learning text classifiers, with more training samples generally leading to better performance.\u003c/p\u003e\n"],["\u003cp\u003ePublic APIs and open-source datasets can be leveraged for data collection, but it's important to understand API limitations and ensure data balance across classes.\u003c/p\u003e\n"],["\u003cp\u003eAdequate data representation across all possible input variations is necessary, and the IMDb movie reviews dataset will be used to demonstrate text classification workflow for sentiment analysis.\u003c/p\u003e\n"],["\u003cp\u003eWhen collecting data, aim for a balanced dataset with a sufficient number of samples for each class to avoid imbalanced datasets and promote better model generalization.\u003c/p\u003e\n"]]],[],null,["Gathering data is the most important step in solving any supervised machine\nlearning problem. Your text classifier can only be as good as the dataset it is\nbuilt from.\n\nIf you don't have a specific problem you want to solve and are just interested\nin exploring text classification in general, there are plenty of open source\ndatasets available. You can find links to some of them in our [GitHub\nrepo](https://github.com/google/eng-edu/blob/master/ml/guides/text_classification/load_data.py).\nOn the other hand, if you are tackling a specific problem,\nyou will need to collect the necessary data. Many organizations provide public\nAPIs for accessing their data---for example, the\n[X API](https://developer.x.com/docs) or the\n[NY Times API](http://developer.nytimes.com/). You may be able to leverage\nthese APIs for the problem you are trying to solve.\n\nHere are some important things to remember when collecting data:\n\n- If you are using a public API, understand the *limitations* of the API before using them. For example, some APIs set a limit on the rate at which you can make queries.\n- The more training examples (referred to as *samples* in the rest of this guide) you have, the better. This will help your model [generalize](/machine-learning/glossary#generalization) better.\n- Make sure the number of samples for every *class* or topic is not overly [imbalanced](/machine-learning/glossary#class_imbalanced_data_set). That is, you should have comparable number of samples in each class.\n- Make sure that your samples adequately cover the *space of possible inputs*, not only the common cases.\n\nThroughout this guide, we will use the [Internet Movie Database (IMDb) movie\nreviews dataset](http://ai.stanford.edu/%7Eamaas/data/sentiment/) to illustrate\nthe workflow. This dataset contains movie reviews posted by people on the IMDb\nwebsite, as well as the corresponding labels (\"positive\" or \"negative\")\nindicating whether the reviewer liked the movie or not. This is a classic\nexample of a sentiment analysis problem."]]