Views
No views yet
Qwen/Qwen3-0.6B taban modeli üzerine gururaser/turkish-ecommerce-ner-dataset verisetindeki 1.500 adet doğal Türkçe e-ticaret ürünü kullanılarak NVIDIA L4 GPU üzerinde Unsloth + LoRA altyapısıyla fine-tune edilmiştir.| F1-Score | Precision | Recall | Exact Match | Model | Inference Süresi (ms) |
|---|---|---|---|---|---|
| 0.855 | 0.867 | 0.844 | 57.5% | Qwen3-0.6B (Fine-Tuned Unsloth) | 11832 |
| 0.589 | 0.646 | 0.541 | 0.0% | GLiNER (urchade/gliner_multi-v2.1) | 115 |
| 0.352 | 0.435 | 0.295 | 0.0% | GLiNER2 (fastino/gliner2-base-v1) | 133 |
| 0.077 | 0.154 | 0.051 | 0.0% | BERT-Turkish-NER (savasy/bert) | 5 |
| 0 | 0 | 0 | 0.0% | Base Qwen3-0.6B (Zero-Shot) | 5563 |
| Etiket | Açıklama | Örnek Çıktı |
|---|---|---|
BRAND | Marka Adı | Nike, Samsung, İstikbal, Karaca |
CATEGORY | Ürün Kategorisi / Türü | Spor Ayakkabı, Akıllı TV, Koltuk Takımı |
MODEL | Model veya Ürün Serisi | Air Max 270, Galaxy S24, Nova |
COLOR | Renk Bilgisi | Siyah, Uzay Grisi, Bej, Lacivert |
SIZE_VARIANT | Beden / Boyut / Kapasite | 42 Numara, XL, 150x220 cm, 128 GB |
GENDER_TARGET | Hedef Kitle | Erkek, Kadın, Çocuk, Unisex |
MATERIAL | Malzeme / Kumaş Bileşimi | Pamuk, Deri, Paslanmaz Çelik, Granit |
SPECIFICATION | Nitelik / Teknik Özellik | Kareli, Kablosuz, Su Geçirmez, Mat Bitiş |
1from unsloth import FastLanguageModel
2import json
3
4model, tokenizer = FastLanguageModel.from_pretrained(
5 model_name="gururaser/qwen3-0.6b-turkish-ecommerce-ner",
6 max_seq_length=512,
7 load_in_4bit=True
8)
9FastLanguageModel.for_inference(model)
10
11prompt_system = "Sen e-ticaret ürün isimlerinden marka, kategori, renk, beden, cinsiyet ve malzeme gibi NER bileşenlerini çıkaran uzman bir sistemdir."
12user_input = "Kategori: Ayakkabı\nÜrün Adı: Nike Air Max 270 Siyah Erkek Spor Ayakkabı 42 Numara"
13prompt = f"<|im_start|>system\n{{prompt_system}}<|im_end|>\n<|im_start|>user\n{{user_input}}<|im_end|>\n<|im_start|>assistant\n"
14
15inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
16input_len = inputs["input_ids"].shape[1]
17
18outputs = model.generate(**inputs, max_new_tokens=256)
19gen_tokens = outputs[0][input_len:]
20
21result_json = tokenizer.decode(gen_tokens, skip_special_tokens=True).strip()
22print(json.loads(result_json))
23