Загрузите следующий датасет: просьбы жильцов. Датасет большой, рекомендуется для работы взять его часть (далее - корпус). Если вам не нравится этот набор данных, можете использовать другой, по своему вкусу.
Рассмотрите каждый объект корпуса как отдельный текстовый документ. Выполните предварительную обработку каждого объекта.
Выполните токенизацию, произведите векторизацию каждого токена любым способом (можно с помощью своих моделей Word2Vec, при условии, что Word2Vec модели обучались на той же выборке документов; можно использовать другие библиотеки и модели).
Закодируйте значения целевого признака (категория обращения). Разделите данные на обучающую и тестирующую выборки.
С помощью PyTorch соберите и обучите три нейронных сети для решения задачи классификации (предсказания категории обращения); количество слоев и значения других параметров конфигурируете по вашему усмотрению:
сеть на базе блока RNN;
сеть на базе блока LSTM;
сеть на базе блока GRU.
Используя известные вам метрики классификации и тестирующую выборку оцените качество каждой из обученных моделей. Сделайте вывод о том, какая из моделей на ваших данных отработала лучше других.
Средствами PyTorch реализуйте свой собственный GRU-блок для обработки последовательностей. Используйте материалы практического задания, чтобы правильно свяать все компоненты внутри слоя. Постройте нейронную сеть для решения задачи классификации с использованием своего собственного блока, вычислите для нее метрики.
Корпус документов предварительно обработан, токенизирован, все токены векторизованы; целевой признак кодирован; данные разделены на обучающие и тестирующие;
обучены 3 модели с различными рекуррентными блоками (RNN, LSTM, GRU);
оценено качество моделей с использованием тестирующей выборки;
реализован класс GRU-блока, который обрабатывает последовательности, построеная нейронная сеть с его использованием и вычислены метрики качества.