MostoHF commited on
Commit
197d761
·
verified ·
1 Parent(s): df57d81

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +30 -13
README.md CHANGED
@@ -1,13 +1,30 @@
1
- ---
2
- title: Article Sphere Classification
3
- emoji: 🐠
4
- colorFrom: indigo
5
- colorTo: blue
6
- sdk: streamlit
7
- sdk_version: 1.44.1
8
- app_file: app.py
9
- pinned: false
10
- short_description: Define article sphere by it's name and abstract
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Article Theme Classifier
2
+
3
+ ## Описание
4
+
5
+ Данный проект представляет собой модель для классификации тем статей, исходя из их названия и аннотации (abstract). Одно из этих полей обязательно для работы программы. Модель позволяет выбрать кумулятивный threshold для предсказания наиболее вероятных тем.
6
+
7
+ ## Архитектура модели
8
+
9
+ В качестве основы для классификации была использована модель `distilbert-base-cased`. На эту модель был добавлен классификатор, состоящий из двух линейных слоев:
10
+
11
+ 1. Линейный слой (с размером выходного пространства 256), за которым следует активация ReLU.
12
+ 2. Линейный слой (с выходом на 8 классов), с активацией LogSoftmax.
13
+
14
+ ## Используемая loss функция
15
+
16
+ Для обучения модели была использована loss функция `nn.KLDivLoss`, которая применима для задач, где модель генерирует вероятностные распределения.
17
+
18
+ ## Датасет
19
+
20
+ Модель обучалась на предложенном Kaggle датасете "neelshah18/arxivdataset".
21
+
22
+ ## Проблемы и ограничение модели
23
+
24
+ Несмотря на использование сильной основы, результаты модели оказались не очень хорошими. Возможные причины:
25
+
26
+ 1. **Выбор модели**: Использованная модель `distilbert-base-cased` является сравнительно небольшой и может не иметь достаточной мощности для более сложных задач классификации.
27
+ 2. **Размер входных данных**: Для модели был установлен небольшой `MAX_LENGTH`, что ограничивает количество информации, которую модель может обработать.
28
+ 3. **Выбор loss функции**: `KLDivLoss` не всегда является оптимальным выбором для классификационных задач. Возможно, использование другой loss функции, например, `CrossEntropyLoss`, улучшило бы результаты.
29
+
30
+