Разработка модели машинного обучения и парсинг ВК
38
Задание состоит из нескольких частей:
Обучить модель машинного обучения на Python для решения задачи классификации новостных русскоязычных текстов по темам: экономика, политика, социальная сфера, здравоохранение, образование, экология, либо отнесение к категории "не заданная категория". Для классификации должен использоваться метод наивного байеса. Обучающую выборку я предоставлю.
Обучить модель машинного обучения на Python для решения задачи классификации русскоязычных комментариев по тональности: позитивная, негативная, нейтральная. Метод, используемый для классификации не принципиален, но необходимо указать его в комментариях к коду.
Обе модели должны сохранять текущее состояние, т.е. не обучаться с нуля при каждом запуске скрипта, а использовать уже имеющиеся знания для классификации.
Необходимо парсить посты и комментарии к ним из групп, начиная с 01.01.2024. Сообщества:
https://vk.com/mos
https://vk.com/m24
При запуске скрипта должны происходить следующие действия:
1)Создание .csv файла, который должен содержать в себе поля:
Post_ID – уникальный идентификатор каждой записи в таблице; Post_text – текстовое содержание поста;
Group – название группы, из которой был взят пост;
Post_date – дата публикации поста в формате дд.мм.гггг;
Post_topic – тема публикации – поле заполняется путем применения обученной ранее модели;
ERpost – коэффициент вовлеченности в обсуждение поста, который рассчитывается по формуле:
ERpost = (количество реакций на публикации + количество комментариев на публикации + количество репостов на публикации)/количество просмотров публикации.
Comment_text – текстовое содержание комментария к конкретной публикации;
Comment_tonality – поле, содержащее в себе оценку тональности комментария – поле заполняется путем применения обученной ранее модели;
Age – возраст автора комментария;
Gender – пол автора комментария.
Необходимо предоставить исходные файлы с кодом, весь код должен быть написан в объектно-ориентированном стиле и разбит на файлы для лучшей читаемости, должны быть соблюдены ограничения по количеству запросов к API вконтакте. При каждом запуске скрипта парсинг должен начинаться с последнего записанного в файле поста (т.е. последний пост пропускается и в файл записывается следующий за ним пост), в случае удаления со стены группы последнего поста - парсить начиная с последнего неудаленного поста. В случае, если какая-либо информация в профиле автора комментария недоступна/неуказана - оставить поле пустым.