Views
No views yet
yeniguno/absa-turkish-bert-dbmdz temel modelinden türetilmiştir ve Türkçe dilindeki metinlerde olumlu, olumsuz veya nötr duygu kategorilerine ait etiketleri tahmin edebilmektedir.transformers kütüphanesini kullanarak yükleyebilir ve metinlerdeki duygu analizini gerçekleştirebilirsiniz.1from transformers import AutoModelForSequenceClassification, AutoTokenizer
2import torch
3
4# modelin ve tokenizerın yüklenmesi
5model_name = "ebrukilic/ara-proje-bert"
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForSequenceClassification.from_pretrained(model_name)
8
9# cuda
10device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11model.to(device)
12model.eval()1# test etmek için örnek
2text = "Ürün çok güzel ama kolları kısa ve çok dar"
3aspect = "Beden"
4
5inputs = tokenizer(aspect, text, truncation=True, padding='max_length', max_length=128, return_tensors="pt").to(device)
6
7# model ile tahmin yapılması:
8with torch.no_grad():
9 outputs = model(**inputs)
10
11logits = outputs.logits
12predicted_class_id = torch.argmax(logits, dim=-1).item()
13
14# Tahmin edilen etiketin açıklaması
15id_to_label = {0: "negatif", 1: "nötr", 2: "pozitif"}
16predicted_label = id_to_label[predicted_class_id]
17print(f"Tahmin edilen etiket: {predicted_label}")negatif, nötr ve pozitif olarak tanımlanmıştır. Veri kümesi 5045 örnekten oluşmaktadır.
Bu veri setine ek olarak SemEval ABSA 2016 Türkçe Restoran verileri (1535) kullanılmıştır.1from transformers import Trainer, TrainingArguments, AdamW
2
3training_args = TrainingArguments(
4 output_dir='./results', # modelin kaydedildiği yer
5 per_device_train_batch_size=32,
6 per_device_eval_batch_size=32,
7 num_train_epochs=4, # ilkinde 3'tü -> ebrukilic/bert-finetune-araproje
8 evaluation_strategy="steps",
9 eval_steps=50,
10 save_strategy="steps",
11 save_steps=50,
12 load_best_model_at_end=True,
13 fp16=True,
14 weight_decay=0.01,
15 logging_dir='./logs',
16 logging_steps=10,
17)
18
19optimizer = AdamW(
20 params=model.parameters(), # modelin parametreleri
21 lr=3e-5, # öğrenme hızı -> ilkinde 2e-5 idi, bu model için 3e-5 olarak değiştirildi
22 eps=1e-8 # epsilon değeri
23)