Downloads · 30 days
19
33% of all-time downloads
gauneg/bert-gts-absa-triple
bert-gts-absa-triple is a machine learning model from gauneg. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
This work is based on Grid Tagging Scheme for Aspect-oriented Fine-grained Opinion Extraction.The code from their github repository was also utilized along with their dataset.
Downloads · 30 days
19
33% of all-time downloads
All-time downloads
57
Public
Parameters
112M
448 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors448 MB · 100%
From the Hugging Face model README
This work is based on Grid Tagging Scheme for Aspect-oriented Fine-grained Opinion Extraction.The code from their github repository was also utilized along with their dataset.
This model requires custom code as it uses GridTaggingScheme to predict the labels on the input. For the convenience, the custom code and model architecture has been included with the model.
pip install --upgrade huggingface_hub
from huggingface_hub import hf_hub_download
import sys
# Download the custom model code
bert_gts_pretrained = hf_hub_download(repo_id='gauneg/bert-gts-absa-triple', filename="bert_opinion.py")
post = hf_hub_download(repo_id='gauneg/bert-gts-absa-triple', filename="post.py")
sys.path.append(bert_gts_pretrained.rsplit("/", 1)[0])
sys.path.append(post.rsplit("/", 1)[0])
from bert_opinion import BertGTSOpinionTriple
from post import DecodeAndEvaluate
from transformers import AutoTokenizer
model_id = 'gauneg/bert-gts-absa-triple'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = BertGTSOpinionTriple.from_pretrained(model_id)
dec_and_infer = DecodeAndEvaluate(tokenizer)
test_sentence0 = """I charge it at night and skip taking the cord with me because of the good battery life ."""
test_sentence = "The Dell Inspiron 14 Plus is the most well-rounded laptop with great display and battery life that money can buy."
# prediction
print(dec_and_infer.decode_predict_string_one(test_sentence, model, max_len=128))
Expected output
[['display', 'great', 'positive'], ['battery life', 'great', 'positive']]
The model has been trained to use Grid Tagging Scheme (GTS) to predict Opinion Target, Opinion Span and Sentiment Polarity. For the purpose of training this model the domain specific datasets (laptop and restaurant reviews) were combined. The grid tagging example is shown
in the following diagram:
In the above sentence there are two absa triples. Each triple is expressed in the following order:
[<span style="color:red">Aspect Term/Opinion Target</span>, <span style="color:#7393B3">opinion span</span>, <span style="color:purple">sentiment polarity</span>]
The model and sample code as shown in the snippet with extract opinion triplets as: [ [<span style="color:red">hot dogs</span>, <span style="color:#7393B3">top notch</span>, <span style="color:purple">positive</span>], [<span style="color:red">coffee</span>, <span style="color:#7393B3">avergae</span>, <span style="color:purple">neutral</span>] ]
Definitions <a href="https://aclanthology.org/2020.findings-emnlp.234/">(Wu et al., Findings 2020)</a>: