Downloads · 30 days
12
6% of all-time downloads
ebrukilic/bert-absa-tr-2
bert-absa-tr-2 is a text classification model from ebrukilic. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
Bu model, Türkçe metinler üzerinde Sentiment Analysis (Duygu Analizi) yapmak için Türkçe dilindeki giyim ürünlerine ait metinlerden oluşturulan veri kümesi kullanılarak fine-tune edilmiş bir ABSA (Aspect-Based Sentime…
Downloads · 30 days
12
6% of all-time downloads
All-time downloads
205
Public
Parameters
111M
443 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors443 MB · 100%
From the Hugging Face model README
Bu model, Türkçe metinler üzerinde Sentiment Analysis (Duygu Analizi) yapmak için Türkçe dilindeki giyim ürünlerine ait metinlerden oluşturulan veri kümesi kullanılarak fine-tune edilmiş bir ABSA (Aspect-Based Sentiment Analysis) modelidir.
Model, dbmdz/bert-base-turkish-cased temel modelinden türetilmiştir ve Türkçe dilindeki metinlerde olumlu, olumsuz veya nötr duygu kategorilerine ait etiketleri tahmin edebilmektedir.
Bu model, doğrudan metin verisini alıp duygu etiketlerini tahmin etmek için kullanılabilir. Modelin çıktı olarak "olumlu", "olumsuz" veya "nötr" etiketlerinden birini döndürmesi beklenir.Model, sadece duygu analizi için eğitilmiştir. Karmaşık doğal dil işleme (NLP) görevleri, makale yazımı veya özetleme gibi işlemler için uygun değildir.
Modeli, transformers kütüphanesini kullanarak yükleyebilir ve metinlerdeki duygu analizini gerçekleştirebilirsiniz.
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
# modelin ve tokenizerın yüklenmesi
model_name = "ebrukilic/bert-absa-tr-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# cuda
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval()
# test etmek için örnek
text = "Ürün çok güzel ama kolları kısa ve çok dar"
aspect = "Beden"
inputs = tokenizer(aspect, text, truncation=True, padding='max_length', max_length=128, return_tensors="pt").to(device)
# model ile tahmin yapılması:
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class_id = torch.argmax(logits, dim=-1).item()
# Tahmin edilen etiketin açıklaması
id_to_label = {0: "negatif", 1: "nötr", 2: "pozitif"}
predicted_label = id_to_label[predicted_class_id]
print(f"Tahmin edilen etiket: {predicted_label}")
ebrukilic/clothing_products_ABSA_v2
Model, Türkçe metinlerdeki kullanıcı yorumları ve ilgili "aspect"ler (özellikler) kullanılarak eğitildi. Etiketler, 3 sınıflı duygu (polarite) kategorisinde negatif, nötr ve pozitif olarak tanımlanmıştır. Veri kümesi eğitim ve test olmak üzere toplamda 11,470 örnekten oluşmaktadır.
Veri seti:
from transformers import Trainer, TrainingArguments, AdamW
training_args = TrainingArguments(
output_dir='./results', # modelin kaydedildiği yer
per_device_train_batch_size=32,
per_device_eval_batch_size=32,
num_train_epochs=4, # ilkinde 3'tü -> ebrukilic/bert-finetune-araproje
evaluation_strategy="steps",
eval_steps=50,
save_strategy="steps",
save_steps=50,
load_best_model_at_end=True,
fp16=True,
weight_decay=0.01,
logging_dir='./logs',
logging_steps=10,
)
optimizer = AdamW(
params=model.parameters(), # modelin parametreleri
lr=3e-5, # öğrenme hızı -> ilkinde 2e-5 idi, bu model için 3e-5 olarak değiştirildi
eps=1e-8 # epsilon değeri
)
ebrukilic/tubitak_clothing_absa_v3 veri kümesi üzerinde yapılan test sonucu aşağıdaki gibidir.
{'negatif': 0, 'nötr': 1, 'pozitif': 2}| Label | Precision | Recall | F1-score | Support |
|---|---|---|---|---|
| negatif | 0.93 | 0.82 | 0.87 | 1719 |
| nötr | 0.55 | 0.64 | 0.59 | 653 |
| pozitif | 0.87 | 0.92 | 0.89 | 1639 |
| macro avg | 0.78 | 0.79 | 0.79 | 4011 |
| weighted avg | 0.84 | 0.83 | 0.83 | 4011 |
| Label | Precision | Recall | F1-score | Support |
|---|---|---|---|---|
| negatif | 0.78 | 0.63 | 0.70 | 1719 |
| nötr | 0.27 | 0.38 | 0.32 | 653 |
| pozitif | 0.74 | 0.77 | 0.75 | 1639 |
| macro avg | 0.60 | 0.59 | 0.59 | 4011 |
| weighted avg | 0.68 | 0.65 | 0.66 | 4011 |