Сбор информации с новостных сайтов и обучение модели для классификации заголовков по темам и актуальности (от 1 до 5).
Разработать и обучить модель, позволяющую по заголовкам новостей классифицировать их по темам и определять их актуальность (от 1 до 5).
- Экспортер должен собирать информацию по новостям с помощью RSS и создавать датасет в формате CSV
- Используемые сайты (минимум): https://lenta.ru/, https://www.vedomosti.ru/, https://tass.ru/, https://russian.rt.com/
- В датасете должны быть столбцы
Website,Title,Author,Publication Date,Link,Picture Link,Category(категория на сайте),Topic(таргет, изначально будет определяться поCategory, если это возможно),Relevance(таргет, изначально будет определяться поPublication Date, если это возможно) - Значение столбца
Topicдолжно быть одним изPolitics,Economics,Society,Accidents,Sport,Science and tech,Culture,Health,Travels and tourism,Weather,Unknown - Значение столбца
Relevanceдолжно быть от 1 до 5 включительно
- Экспортер должен быть написан на языке программирования Java
- Реализация отдельных модулей, связанных с обработкой датасета, должна быть написана в отдельных файлах с расширением
.py - EDA датасета и визуализация результатов должны быть описаны в Jupyter Notebook
- Должен быть обоснован выбор моделей машинного обучения и их гиперпараметров (почему использовалась та или иная модель)
- Модели должны быть проверены по метрикам
AccuracyиF1
- Актуальность новости (
Relevance) зависит прежде всего от времени её публикации. Список временных порогов:- До 1 часа назад: 5
- До 6 часов назад: 4
- До 1 суток назад: 3
- До 3 суток назад: 2
- После 3 суток назад: 1
- После этого метрика дополнительно умножается на коэффициент, зависящий от темы новости. Список коэффициентов:
Politics: 1,1Economics: 1,4Society: 1Accidents: 1Sport: 0,7Science and tech: 1,3Culture: 0,9Health: 1,2Travels and tourism: 0,8Weather: 0,9Unknown: 1
- Метрика ограничивается значениями от 1 до 5 включительно (то есть если, к примеру, после умножения на коэффициент значение стало равным 5,3), то оно будет равным 5.
| Задача | Статус |
|---|---|
| Разработка экспортера для сбора информации с новостных сайтов | Выполнено (✅) |
| Сбор информации с помощью экспортера и получение датасета | Выполнено (✅) |
| Exploratory Data Analysis, разбиение датасета с помощью k-fold | Выполнено (✅) |
| Поиск подходящих моделей машинного обучения для решения задач | Выполнено (✅) |
| Обучение модели на тренировочной части датасета | Выполнено (✅) |
| Визуализация результатов (графики, проверка на тестовых данных) | Выполнено (✅) |