Article Theme Classifier
Описание
Данный проект представляет собой модель для классификации тем статей, исходя из их названия и аннотации (abstract). Одно из этих полей обязательно для работы программы. Модель позволяет выбрать кумулятивный threshold для предсказания наиболее вероятных тем.
Архитектура модели
В качестве основы для классификации была использована модель distilbert-base-cased. На эту модель был добавлен классификатор, состоящий из двух линейных слоев:
- Линейный слой (с размером выходного пространства 256), за которым следует активация ReLU.
- Линейный слой (с выходом на 8 классов), с активацией LogSoftmax.
Используемая loss функция
Для обучения модели была использована loss функция nn.KLDivLoss, которая применима для задач, где модель генерирует вероятностные распределения.
Датасет
Модель обучалась на предложенном Kaggle датасете "neelshah18/arxivdataset".
Проблемы и ограничение модели
Несмотря на использование сильной основы, результаты модели оказались не очень хорошими. Возможные причины:
- Выбор модели: Использованная модель
distilbert-base-casedявляется сравнительно небольшой и может не иметь достаточной мощности для более сложных задач классификации. - Размер входных данных: Для модели был установлен небольшой
MAX_LENGTH, что ограничивает количество информации, которую модель может обработать. - Выбор loss функции:
KLDivLossне всегда является оптимальным выбором для классификационных задач. Возможно, использование другой loss функции, например,CrossEntropyLoss, улучшило бы результаты.