visolex/ViSFD
Viewer • Updated • 11.1k • 219
This model is a fine-tuned version of textcnn on the ViSFD dataset for aspect-based sentiment analysis in Vietnamese reviews.
323e-51002560.01500Model was trained on ViSFD (Vietnamese Smartphone Feedback 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.94220.45200.59830.89860.3662import torch
from transformers import AutoTokenizer, AutoModel
# Load model and tokenizer
repo = "visolex/textcnn-absa-smartphone"
tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModel.from_pretrained(repo, trust_remote_code=True)
model.eval()
# Aspect labels for ViSFD
aspect_labels = [
"BATTERY",
"CAMERA",
"DESIGN",
"FEATURES",
"GENERAL",
"PERFORMANCE",
"PRICE",
"SCREEN",
"SER&ACC",
"STORAGE"
]
# Sentiment labels
sentiment_labels = ["POSITIVE", "NEGATIVE", "NEUTRAL"]
# Example review text
text = "Pin rất tốt, camera đẹp nhưng giá hơi cao."
# 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_textcnn_absa_smartphone,
title={TextCNN for Vietnamese ABSA for Vietnamese Aspect-based Sentiment Analysis},
author={ViSoLex Team},
year={2025},
url={https://huggingface.co/visolex/textcnn-absa-smartphone}
}
This model is released under the Apache-2.0 license.