Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

PaKicek/News-Classifier

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News Classifier

Сбор информации с новостных сайтов и обучение модели для классификации заголовков по темам и актуальности (от 1 до 5).

Цели и задачи

Разработать и обучить модель, позволяющую по заголовкам новостей классифицировать их по темам и определять их актуальность (от 1 до 5).

Функциональные требования (MVP)

  • Экспортер должен собирать информацию по новостям с помощью 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,1
    • Economics: 1,4
    • Society: 1
    • Accidents: 1
    • Sport: 0,7
    • Science and tech: 1,3
    • Culture: 0,9
    • Health: 1,2
    • Travels and tourism: 0,8
    • Weather: 0,9
    • Unknown: 1
  • Метрика ограничивается значениями от 1 до 5 включительно (то есть если, к примеру, после умножения на коэффициент значение стало равным 5,3), то оно будет равным 5.

Этапы разработки

Задача Статус
Разработка экспортера для сбора информации с новостных сайтов Выполнено (✅)
Сбор информации с помощью экспортера и получение датасета Выполнено (✅)
Exploratory Data Analysis, разбиение датасета с помощью k-fold Выполнено (✅)
Поиск подходящих моделей машинного обучения для решения задач Выполнено (✅)
Обучение модели на тренировочной части датасета Выполнено (✅)
Визуализация результатов (графики, проверка на тестовых данных) Выполнено (✅)

About

A classifier which collects news via RSS and trains ML models to classify headlines by category.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.