visolex/VLSP2018-ABSA-Restaurant
Viewer • Updated • 4.75k • 34
This model is a fine-tuned version of bartpho on the VLSP2018-ABSA-Restaurant dataset for aspect-based sentiment analysis in Vietnamese reviews.
323e-51002560.01500Model was trained on VLSP2018 ABSA Restaurant dataset for aspect-based sentiment analysis.
Model được train để phân tích sentiment cho các aspects sau:
The model was evaluated on test set with the following metrics:
0.83360.22280.48930.29300.1798import torch
from transformers import AutoTokenizer, AutoModel
# Load model and tokenizer
repo = "visolex/bartpho-absa-restaurant"
tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModel.from_pretrained(repo, trust_remote_code=True)
model.eval()
# Aspect labels for VLSP2018-ABSA-Restaurant
aspect_labels = [
"AMBIENCE#GENERAL",
"DRINKS#PRICES",
"DRINKS#QUALITY",
"DRINKS#STYLE&OPTIONS",
"FOOD#PRICES",
"FOOD#QUALITY",
"FOOD#STYLE&OPTIONS",
"LOCATION#GENERAL",
"RESTAURANT#GENERAL",
"RESTAURANT#MISCELLANEOUS",
"RESTAURANT#PRICES",
"SERVICE#GENERAL"
]
# Sentiment labels
sentiment_labels = ["POSITIVE", "NEGATIVE", "NEUTRAL"]
# Example review text
text = "Nhà hàng có không gian đẹp, đồ ăn ngon nhưng giá hơi đắt."
# Tokenize
inputs = tokenizer(
text,
return_tensors="pt",
padding=True,
truncation=True,
max_length=256
)
inputs.pop("token_type_ids", None)
# Predict
with torch.no_grad():
outputs = model(**inputs)
# Get logits: shape [1, num_aspects, num_sentiments + 1]
logits = outputs.logits.squeeze(0) # [num_aspects, num_sentiments + 1]
probs = torch.softmax(logits, dim=-1)
# Predict for each aspect
none_id = probs.size(-1) - 1 # Index of "none" class
results = []
for i, aspect in enumerate(aspect_labels):
prob_i = probs[i]
pred_id = int(prob_i.argmax().item())
if pred_id != none_id and pred_id < len(sentiment_labels):
score = prob_i[pred_id].item()
if score >= 0.5: # threshold
results.append((aspect, sentiment_labels[pred_id].lower()))
print(f"Text: {text}")
print(f"Predicted aspects: {results}")
# Output example: [('aspects', 'positive'), ('aspects', 'positive'), ('aspects', 'negative')]
If you use this model, please cite:
@misc{visolex_absa_bartpho_absa_restaurant,
title={BartPho for Vietnamese ABSA for Vietnamese Aspect-based Sentiment Analysis},
author={ViSoLex Team},
year={2025},
url={https://huggingface.co/visolex/bartpho-absa-restaurant}
}
This model is released under the Apache-2.0 license.