Views
No views yet
1
2from transformers import pipeline
3
4ate_sent_pipeline = pipeline(task='ner',
5 aggregation_strategy='simple',
6 model="gauneg/deberta-v3-base-absa-ate-sentiment")
7
8text_input = "Been here a few times and food has always been good but service really suffers when it gets crowded."
9ate_sent_pipeline(text_input)
101[{'entity_group': 'pos', #sentiment polarity
2 'score': 0.87505656,
3 'word': 'food', # aspect term
4 'start': 25,
5 'end': 30},
6 {'entity_group': 'neg',# sentiment polarity
7 'score': 0.4558051,
8 'word': 'service', #aspect term
9 'start': 55,
10 'end': 63}]
111from transformers import AutoTokenizer, AutoModelForTokenClassification
2model_id = "gauneg/deberta-v3-base-absa-ate-sentiment"
3tokenizer = AutoTokenizer.from_pretrained(model_id)
4
5
6
7# the sequence of labels used during training
8labels = {"B-neu": 1, "I-neu": 2, "O": 0, "B-neg": 3, "B-con": 4, "I-pos": 5, "B-pos": 6, "I-con": 7, "I-neg": 8, "X": -100}
9id2lab = {idx: lab for lab, idx in labels.items()}
10lab2id = {lab: idx for lab, idx in labels.items()}
11
12model = AutoModelForTokenClassification.from_pretrained("../models/deberta-v3-base-bio-w-pol/",
13 num_labels=len(labels), id2label=id2lab, label2id=lab2id)
14
15# making one prediction at a time (should be padded/batched and truncated for efficiency)
16text_input = "Been here a few times and food has always been good but service really suffers when it gets crowded."
17tok_inputs = tokenizer(text_input, return_tensors="pt")
18
19
20y_pred = model(**tok_inputs) # predicting the logits
21
22
23# selecting the most favoured labels for each token from the logits
24y_pred_fin = y_pred.logits.argmax(dim=-1)[0]
25
26
27# since first and the last tokens are excluded ([CLS] and [SEP]) they have to be removed before decoding
28decoded_pred = [id2lab[logx.item()] for logx in y_pred_fin[1:-1]]
29
30## displaying the input tokens with predictions and skipping [CLS] and [SEP] tokens at the beginning and the end respectively
31decoded_toks = tok_inputs['input_ids'][0][1:-1]
32tok_levl_pred = list(zip(tokenizer.convert_ids_to_tokens(decoded_toks), decoded_pred))1[('▁Been', 'O'),
2 ('▁here', 'O'),
3 ('▁a', 'O'),
4 ('▁few', 'O'),
5 ('▁times', 'O'),
6 ('▁and', 'O'),
7 ('▁food', 'B-pos'),
8 ('▁has', 'O'),
9 ('▁always', 'O'),
10 ('▁been', 'O'),
11 ('▁good', 'O'),
12 ('▁but', 'O'),
13 ('▁service', 'B-neg'),
14 ('▁really', 'O'),
15 ('▁suffers', 'O'),
16 ('▁when', 'O'),
17 ('▁it', 'O'),
18 ('▁gets', 'O'),
19 ('▁crowded', 'O'),
20 ('.', 'O')]| Test Dataset | Base Model | Fine-tuned Model | Precision | Recall | F1 Score |
|---|---|---|---|---|---|
| hotel reviews (SemEval 2015) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 71.16 | 73.92 | 71.6 |
| hotel reviews (SemEval 2015) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 70.92 | 72.28 | 71.07 |
| hotel reviews (SemEval 2015) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 64.05 | 79.69 | 70.0 |
| hotel reviews (SemEval 2015) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 66.29 | 72.78 | 68.92 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| laptop reviews (SemEval 2014) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 70.58 | 61.52 | 64.21 |
| laptop reviews (SemEval 2014) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 66.38 | 50.62 | 54.31 |
| laptop reviews (SemEval 2014) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 70.82 | 48.97 | 52.08 |
| laptop reviews (SemEval 2014) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 73.61 | 46.38 | 49.87 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| MAMS-ATE (2019) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 81.07 | 79.66 | 80.35 |
| MAMS-ATE (2019) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 79.91 | 78.95 | 79.39 |
| MAMS-ATE (2019) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 74.46 | 84.5 | 78.75 |
| MAMS-ATE (2019) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 77.8 | 79.81 | 78.75 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2014) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 88.59 | 87.0 | 87.45 |
| restaurant reviews (SemEval 2014) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 92.26 | 82.95 | 86.57 |
| restaurant reviews (SemEval 2014) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 93.07 | 81.95 | 86.32 |
| restaurant reviews (SemEval 2014) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 92.94 | 81.71 | 86.01 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2015) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 72.91 | 75.4 | 72.74 |
| restaurant reviews (SemEval 2015) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 70.54 | 77.48 | 72.63 |
| restaurant reviews (SemEval 2015) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 68.32 | 79.84 | 72.28 |
| restaurant reviews (SemEval 2015) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 71.94 | 74.75 | 71.84 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2016) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 70.22 | 75.83 | 71.84 |
| restaurant reviews (SemEval 2016) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 71.54 | 73.38 | 71.2 |
| restaurant reviews (SemEval 2016) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 71.35 | 72.78 | 70.85 |
| restaurant reviews (SemEval 2016) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 66.68 | 77.97 | 70.79 |
| Test Dataset | Base Model | Fine-tuned Model | Precision | Recall | F1 Score |
|---|---|---|---|---|---|
| hotel reviews (SemEval 2015) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 51.92 | 65.55 | 54.94 |
| hotel reviews (SemEval 2015) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 54.62 | 53.65 | 54.08 |
| hotel reviews (SemEval 2015) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 55.43 | 56.53 | 54.03 |
| hotel reviews (SemEval 2015) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 52.88 | 55.19 | 53.85 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| laptop reviews (SemEval 2014) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 44.25 | 41.55 | 42.81 |
| laptop reviews (SemEval 2014) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 46.15 | 33.23 | 37.09 |
| laptop reviews (SemEval 2014) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 41.7 | 34.38 | 36.93 |
| laptop reviews (SemEval 2014) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 44.98 | 31.87 | 35.67 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| MAMS-ATE (2019) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 72.06 | 72.98 | 72.49 |
| MAMS-ATE (2019) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 72.97 | 71.63 | 72.26 |
| MAMS-ATE (2019) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 69.34 | 73.3 | 71.07 |
| MAMS-ATE (2019) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 65.74 | 75.11 | 69.77 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2014) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 61.15 | 58.46 | 59.74 |
| restaurant reviews (SemEval 2014) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 60.13 | 56.81 | 58.13 |
| restaurant reviews (SemEval 2014) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 56.79 | 59.3 | 57.93 |
| restaurant reviews (SemEval 2014) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 58.99 | 54.76 | 56.45 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2015) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 53.89 | 55.7 | 54.11 |
| restaurant reviews (SemEval 2015) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 54.36 | 55.38 | 53.6 |
| restaurant reviews (SemEval 2015) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 51.67 | 56.58 | 53.29 |
| restaurant reviews (SemEval 2015) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 54.55 | 53.68 | 53.12 |
| ------------ | ---------- | ---------------- | --------- | ------ | -------- |
| restaurant reviews (SemEval 2016) | FacebookAI/roberta-large | gauneg/roberta-large-absa-ate-sentiment-lora-adapter | 53.7 | 60.49 | 55.05 |
| restaurant reviews (SemEval 2016) | FacebookAI/roberta-base | gauneg/roberta-base-absa-ate-sentiment | 52.31 | 54.58 | 52.33 |
| restaurant reviews (SemEval 2016) | (this) microsoft/deberta-v3-base | gauneg/deberta-v3-base-absa-ate-sentiment | 52.07 | 54.58 | 52.15 |
| restaurant reviews (SemEval 2016) | microsoft/deberta-v3-large | gauneg/deberta-v3-large-absa-ate-sentiment-lora-adapter | 49.07 | 56.5 | 51.25 |