MichaelHuang
commited on
Commit
•
8e22bcc
1
Parent(s):
3464d03
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- ur
|
4 |
+
tags:
|
5 |
+
- sentiment analysis
|
6 |
+
---
|
7 |
+
|
8 |
+
# Sentiment Binary Classifier for Urdu
|
9 |
+
## muril_base_cased_urdu_sentiment_2.0
|
10 |
+
|
11 |
+
Compared to muril_base_cased_urdu_sentiment, the base model went through an additional pre-training procedure of "masked LM" (MLM) on a dataset of over [1 Million Urdu news](https://data.mendeley.com/datasets/834vsxnb99/3).
|
12 |
+
Muril_base_cased_urdu_sentiment_2.0 outperformed muril_base_cased_urdu_sentiment by about 0.2 accuracy rate on news data.
|
13 |
+
Base model is [google/muril-base-cased](https://huggingface.co/google/muril-base-cased), a BERT model pre-trained on 17 Indian languages and their transliterated counterparts.
|
14 |
+
Urdu sentiment analysis dataset is from [mirfan899](https://github.com/mirfan899/Urdu/tree/master/sentiment).
|
15 |
+
|
16 |
+
## Usage
|
17 |
+
### example:
|
18 |
+
```python
|
19 |
+
import torch
|
20 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
21 |
+
|
22 |
+
# Load the model and tokenizer
|
23 |
+
tokenizer = AutoTokenizer.from_pretrained("google/muril-base-cased")
|
24 |
+
model = AutoModelForSequenceClassification.from_pretrained("MichaelHuang/muril_base_cased_urdu_sentiment_2.0")
|
25 |
+
|
26 |
+
|
27 |
+
# Define the input text
|
28 |
+
text = '''
|
29 |
+
لیکن مسٹر پوتن نے یہ بھی کہا کہ یہ منصوبہ اسی وقت پیش کیا جا سکتا ہے جب لوگ 'مغرب اور کیئو میں' اس کے لیے تیار ہوں۔
|
30 |
+
روسی رہنما نے منگل کو ماسکو میں چینی صدر شی جن پنگ سے ملاقات کی جس میں روس یوکرین جنگ اور دونوں ممالک کے درمیان تعلقات پر تبادلہ خیال کیا گیا۔
|
31 |
+
گذشتہ ماہ شائع ہونے والے چین کے منصوبے میں واضح طور پر روس سے یوکرین چھوڑنے کا مطالبہ نہیں کیا گیا ہے۔
|
32 |
+
'''
|
33 |
+
|
34 |
+
# Tokenize the input text
|
35 |
+
inputs = tokenizer(text, return_tensors='pt')
|
36 |
+
|
37 |
+
# Make a prediction
|
38 |
+
outputs = model(**inputs)
|
39 |
+
predicted_class = torch.argmax(outputs.logits).item()
|
40 |
+
|
41 |
+
# Print the predicted class
|
42 |
+
if predicted_class == 1:
|
43 |
+
print('Positive')
|
44 |
+
else:
|
45 |
+
print('Negative')
|
46 |
+
|
47 |
+
```
|
48 |
+
|
49 |
+
### Training results
|
50 |
+
|
51 |
+
| eval_loss | epoch | step | eval_accuracy |
|
52 |
+
|:-------------:|:-----:|:----:|:--------:|
|
53 |
+
| 0.31 | 1.0 | 3000 | 0.89 |
|
54 |
+
| 0.28 | 2.0 | 6000 | 0.90 |
|
55 |
+
| 0.33 | 3.0 | 9000 | 0.91 |
|