File size: 2,123 Bytes
f9f78a9
 
 
fd7894e
0c714ba
7d53171
 
 
0c714ba
 
 
 
 
 
 
 
 
 
 
 
7d53171
 
fd7894e
7d53171
 
18c38c4
 
 
 
 
 
 
89883b6
 
 
a83329a
c43ed45
18c38c4
c43ed45
18c38c4
c43ed45
18c38c4
89883b6
 
18c38c4
 
89883b6
18c38c4
 
89883b6
18c38c4
 
 
89883b6
18c38c4
 
 
89883b6
 
18c38c4
c43ed45
18c38c4
c43ed45
18c38c4
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
license: mit
---
## BERT-based Text Classification Model
This model is a fine-tuned version of the bert-base-uncased model, specifically adapted for text classification across a diverse set of categories. The model has been trained on a dataset collected from multiple sources, including the News Category Dataset on Kaggle and various other websites.

The model classifies text into one of the following 12 categories:

* Food
* Videogames & Shows
* Kids and fun
* Homestyle
* Travel
* Health
* Charity
* Electronics & Technology
* Sports
* Cultural & Music
* Education
* Convenience
The model has demonstrated robust performance with an accuracy of 0.721459, F1 score of 0.659451, precision of 0.707620, and recall of 0.635155.

## Model Architecture
The model leverages the BertForSequenceClassification architecture, It has been fine-tuned on the aforementioned dataset, with the following key configuration parameters:

* Hidden size: 768
* Number of attention heads: 12
* Number of hidden layers: 12
* Max position embeddings: 512
* Type vocab size: 2
* Vocab size: 30522
* The model uses the GELU activation function in its hidden layers and applies dropout with a probability of 0.1 to the attention probabilities to prevent overfitting.

## Example 

```from transformers import AutoModelForSequenceClassification, TFAutoModelForSequenceClassification```

```from transformers import AutoTokenizer```

```import numpy as np```

```from scipy.special import expit```

    
```MODEL = f"PavanDeepak/Topic_Classification"```
```tokenizer = AutoTokenizer.from_pretrained(MODEL)```

```model = AutoModelForSequenceClassification.from_pretrained(MODEL)```
```class_mapping = model.config.id2label```

```text = "I love chicken manchuria"```
```tokens = tokenizer(text, return_tensors='pt')```
```output = model(**tokens)```

```scores = output[0][0].detach().numpy()```
```scores = expit(scores)```
```predictions = (scores >= 0.5) * 1```


```for i in range(len(predictions)):```

  ```if predictions[i]:```
  
    ```print(class_mapping[i])```

## Output:

* Food
* Videogames & Shows
* Homestyle
* Travel
* Health