Сбор данных — самый важный шаг в решении любой задачи машинного обучения с учителем. Ваш текстовый классификатор может быть настолько хорош, насколько хорош набор данных, из которого он создан.
Если у вас нет конкретной проблемы, которую вы хотите решить, и вы просто заинтересованы в изучении классификации текста в целом, существует множество доступных наборов данных с открытым исходным кодом. Вы можете найти ссылки на некоторые из них в нашем репозитории GitHub . С другой стороны, если вы решаете конкретную проблему, вам нужно будет собрать необходимые данные. Многие организации предоставляют общедоступные API для доступа к своим данным, например, Twitter API или NY Times API . Возможно, вы сможете использовать их для решения проблемы, которую пытаетесь решить.
Вот несколько важных моментов, которые следует помнить при сборе данных:
- Если вы используете общедоступный API, ознакомьтесь с ограничениями API перед их использованием. Например, некоторые API устанавливают ограничение на скорость выполнения запросов.
- Чем больше у вас есть обучающих примеров (называемых образцами в остальной части этого руководства), тем лучше. Это поможет вашей модели лучше обобщать.
- Убедитесь, что количество образцов для каждого класса или темы не слишком несбалансировано . То есть у вас должно быть сопоставимое количество образцов в каждом классе.
- Убедитесь, что ваши образцы адекватно охватывают пространство возможных входных данных , а не только общие случаи.
В этом руководстве мы будем использовать набор данных с обзорами фильмов из базы данных фильмов в Интернете (IMDb), чтобы проиллюстрировать рабочий процесс. Этот набор данных содержит обзоры фильмов, опубликованные людьми на сайте IMDb, а также соответствующие метки («положительные» или «отрицательные»), указывающие, понравился ли фильм рецензенту или нет. Это классический пример проблемы анализа настроений.