Шаг 1: Соберите данные
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Сбор данных — самый важный шаг в решении любой проблемы контролируемого машинного обучения. Ваш текстовый классификатор может быть настолько хорош, насколько хорош набор данных, на основе которого он создан.
Если у вас нет конкретной проблемы, которую вы хотите решить, и вы просто заинтересованы в изучении классификации текста в целом, существует множество доступных наборов данных с открытым исходным кодом. Ссылки на некоторые из них вы можете найти в нашем репозитории на GitHub . С другой стороны, если вы решаете конкретную проблему, вам нужно будет собрать необходимые данные. Многие организации предоставляют общедоступные API для доступа к своим данным, например X API или NY Times API . Возможно, вы сможете использовать эти API для решения проблемы, которую пытаетесь решить.
Вот несколько важных вещей, которые следует помнить при сборе данных:
- Если вы используете общедоступный API, ознакомьтесь с ограничениями API, прежде чем использовать его. Например, некоторые API устанавливают ограничение на скорость выполнения запросов.
- Чем больше обучающих примеров (далее в этом руководстве называемых образцами ) у вас будет, тем лучше. Это поможет вашей модели лучше обобщать .
- Убедитесь, что количество образцов для каждого класса или темы не слишком несбалансировано . То есть у вас должно быть сопоставимое количество образцов в каждом классе.
- Убедитесь, что ваши образцы адекватно покрывают пространство возможных входных данных , а не только общие случаи.
В этом руководстве мы будем использовать набор данных обзоров фильмов из базы данных Internet Movie Database (IMDb), чтобы проиллюстрировать рабочий процесс. Этот набор данных содержит рецензии на фильмы, опубликованные людьми на сайте IMDb, а также соответствующие метки («положительные» или «негативные»), указывающие, понравился фильм рецензенту или нет. Это классический пример задачи анализа настроений.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 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-29 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."]]