Krok 1. Zbierz dane
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zebranie danych jest najważniejszym krokiem do rozwiązania każdego problemu z nadzorowanymi systemami uczącymi się. Klasyfikator tekstu może być tak dobry, jak zbiór danych, na podstawie którego został utworzony.
Jeśli nie masz konkretnego problemu do rozwiązania i chcesz poznać ogólną klasyfikację tekstu, masz do wyboru wiele zbiorów danych typu open source. Linki do niektórych z nich znajdziesz w repozytorium GitHub.
Z drugiej strony, jeśli masz do czynienia z konkretnym problemem, musisz zebrać niezbędne dane. Wiele organizacji udostępnia publiczne interfejsy API umożliwiające dostęp do danych, na przykład X API lub NY Times API. Możesz użyć tych interfejsów API, aby rozwiązać problem, który próbujesz rozwiązać.
Oto kilka ważnych kwestii, o których musisz pamiętać podczas zbierania danych:
- Jeśli używasz publicznego interfejsu API, zapoznaj się z jego ograniczeniami, zanim go użyjesz. Na przykład niektóre interfejsy API ograniczają częstotliwość wykonywania zapytań.
- Im więcej masz przykładów treningowych (nazywanych w dalszej części tego przewodnikami przykładami), tym lepiej. Dzięki temu model będzie lepiej uogólniany.
- Upewnij się, że liczba próbek dla każdych klas lub tematu nie jest nadmiernie nierównoważona. Oznacza to, że liczba próbek w każdej klasach powinna być porównywalna.
- Sprawdź, czy próbki wystarczająco obejmują obszar możliwych danych wejściowych, a nie tylko typowe przypadki.
W tym przewodniku wykorzystamy zbiór danych z recenzjami filmów w Internet Movie Database (IMDb), aby ilustrować przepływ pracy. Ten zbiór danych zawiera recenzje filmów opublikowane przez użytkowników w witrynie IMDb, a także odpowiadające im etykiety („pozytywne” lub „negatywne”) wskazujące, czy dany film podobał się recenzentowi. To klasyczny przykład problemu z analizą nastawienia.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 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,["# Step 1: Gather Data\n\nGathering 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."]]