Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,3 +1,56 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: cc-by-4.0
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- 'no'
|
| 4 |
+
- nb
|
| 5 |
+
- nn
|
| 6 |
license: cc-by-4.0
|
| 7 |
+
pipeline_tag: token-classification
|
| 8 |
---
|
| 9 |
+
# Targeted Sentiment Analysis model for Norwegian text
|
| 10 |
+
This model is a fine-tuned version of [ltg/norbert3-large](https://huggingface.co/ltg/norbert3-large) For Targeted Sentiment Analysis (TSA) on Norwegian text. The fine-tuning script is avaiable [on github](https://github.com/egilron/seq-label.git).
|
| 11 |
+
In TSA, we identify sentiment targets, "That what is spoken positively or negatively about" in each sentence. Our models performs the task through sequence labeling, AKA "token classification".
|
| 12 |
+
|
| 13 |
+
The dataset used for fine-tuning is [ltg/norec_tsa](https://huggingface.co/datasets/ltg/norec_tsa), at its defaul settings, were sentiment targets are labeled as either "targ-Positive" or "targ-Negative". The norec_tsa dataset is derived from the [NoReC_fine dataset](https://github.com/ltgoslo/norec_fine).
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
## Quick start
|
| 17 |
+
You can use this model in your scripts as follows:
|
| 18 |
+
```>>> from transformers import pipeline
|
| 19 |
+
>>> origin = "ltg/norbert3-large_TSA"
|
| 20 |
+
>>> trust_remote = "norbert3" in origin.lower()
|
| 21 |
+
>>> text = "Hans hese , litt såre stemme kler bluesen , men denne platen kommer neppe til å bli blant hans største kommersielle suksesser ."
|
| 22 |
+
>>> if trust_remote: # Downloads configurations for norbert3
|
| 23 |
+
... pipe = transformers.pipeline( "token-classification",
|
| 24 |
+
... aggregation_strategy='first',
|
| 25 |
+
... model = origin,
|
| 26 |
+
... trust_remote_code=trust_remote,
|
| 27 |
+
... tokenizer = AutoTokenizer.from_pretrained(origin)
|
| 28 |
+
... )
|
| 29 |
+
... preds = pipe(text)
|
| 30 |
+
... for p in preds:
|
| 31 |
+
... print(p)
|
| 32 |
+
|
| 33 |
+
{'entity_group': 'targ-Positive', 'score': 0.6990814, 'word': ' Hans hese , litt såre stemme', 'start': 0, 'end': 28}
|
| 34 |
+
{'entity_group': 'targ-Negative', 'score': 0.5721016, 'word': ' platen', 'start': 53, 'end': 60}
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
## Training hyperparameters
|
| 40 |
+
- per_device_train_batch_size: 64
|
| 41 |
+
- per_device_eval_batch_size: 8
|
| 42 |
+
- learning_rate: 1e-05
|
| 43 |
+
- gradient_accumulation_steps: 1
|
| 44 |
+
- num_train_epochs: 24 (best epoch 18)
|
| 45 |
+
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
|
| 46 |
+
|
| 47 |
+
## Evaluation
|
| 48 |
+
``` precision recall f1-score support
|
| 49 |
+
|
| 50 |
+
targ-Negative 0.4648 0.3143 0.3750 210
|
| 51 |
+
targ-Positive 0.5097 0.6019 0.5520 525
|
| 52 |
+
|
| 53 |
+
micro avg 0.5013 0.5197 0.5104 735
|
| 54 |
+
macro avg 0.4872 0.4581 0.4635 735
|
| 55 |
+
weighted avg 0.4969 0.5197 0.5014 735
|
| 56 |
+
```
|