Вопрос по кривым датасетам и тому, как с этим бороться.
Есть задача классификации текстов. Есть комментарии пользователей относительно оказанной им услуги, которые классифицируются по 12 категориям. Задача multi-label classification, т. к. один отзыв может попадать как в одну, так и в несколько категорий.
Проблема датасета в том, что большая часть комментариев относится к одной или двум категориям. Т. е. где-то 80% всех комментов присваивается метка1 или метка2 или они вместе. Все остальные 20% примерно равномерно распределены по остальным категориям. Т. е. мне кажется, что массив очевидно кривой и обученная модель будет практически каждый новый комментарий засоввать в 1-ю или 2-ю категорию
Соответственно встал вопрос борьбы с этим и выравнивания обучающей выборки. Далее встал вопрос oversampling'а. Не undersampling'а, т. к. массив небольшой, порядка 5 500 текстов, и если убрать оттуда доминирующую котегорию(и), то он сократиться текстов до 500.
Ну и далее мой вопрос, на который я надеюсь получить тут ответ: а правильно я понимаю, что oversampling в данном случае будет происходить за счет того, что тексты с "непопулярными" метками будут скопированы в массиве несколько раз, дабы довести их долю до значимого процента? Не повлияет ли это в худшую сторону на способность модели классифицировать новые тексты, ведь для непопулярных категорий она будет учиться на одних и тех же текстах? Ну и вообще, правильно ли я подхожу к решению этой проблемы? Да и существует ли она тут или мне просто забыть про "кривой" обущающий датасет и учить модель на нем, какой он есть?