--- license: apache-2.0 language: - tr base_model: Qwen/Qwen2.5-7B-Instruct tags: - finance - turkish - sentiment-analysis - kap - stock-market - mlx - gguf - qwen2 library_name: transformers pipeline_tag: text-generation datasets: - ituperceptron/turkish-financial-sentiment-256k - furkanyllmz/kap-turkish-financial-sentiment model-index: - name: kap-turkish-financial-sentiment results: [] --- # Qwen KAP Turkish Financial Sentiment Model BIST100 piyasası için özelleştirilmiş **KAP (Kamuyu Aydınlatma Platformu)** bildirimi analiz modeli. Bu model, Qwen2.5-7B-Instruct üzerine **iki aşamalı fine-tuning** ile eğitilmiştir. ## Model Bilgileri | Özellik | Değer | |---------|-------| | **Base Model** | Qwen/Qwen2.5-7B-Instruct | | **Parametre** | 7.6B | | **Dil** | Türkçe | | **Görev** | Finansal Sentiment Analizi | | **Quantization** | 4-bit (MLX), Q4_K_M (GGUF) | | **Context Length** | 32K tokens | ## Kullanım Alanları - KAP bildirimlerinden sentiment analizi - Hisse senedi haberlerinin değerlendirilmesi - Volatilite tahmini - İlişkili taraf işlemi tespiti - Döviz etkisi analizi - Bildirim kategorilendirmesi ## İki Aşamalı Eğitim ### Stage 1: Türkçe Finansal Sentiment - **Dataset:** 161K Türkçe finansal haber ([ituperceptron/turkish-financial-sentiment](https://huggingface.co/datasets/ituperceptron/turkish-financial-sentiment)) - **Görev:** 3 sınıflı sentiment (pozitif/nötr/negatif) - **Amaç:** Modele Türkçe finansal dil ve terminoloji öğretmek ### Stage 2: KAP Çok Boyutlu Analiz - **Dataset:** 3.8K KAP bildirimi (GPT-4 etiketli) ([furkanyllmz/kap-turkish-financial-sentiment](https://huggingface.co/datasets/furkanyllmz/kap-turkish-financial-sentiment)) - **Görev:** Multi-label JSON üretimi (sentiment, volatilite, kategori vb.) - **Amaç:** KAP bildirimlerinden yapılandırılmış veri çıkarımı ### Eğitim Parametreleri - **Fine-tuning:** LoRA (Low-Rank Adaptation) - **Epochs:** 3 - **Learning Rate:** 1e-5 - **Batch Size:** 4 - **LoRA Rank:** 64 - **LoRA Alpha:** 128 ## Dosyalar ### MLX Format (macOS Apple Silicon) ``` ├── config.json ├── model.safetensors ├── tokenizer.json └── tokenizer_config.json ``` ### GGUF Format (Windows/Linux/Cross-platform) ``` └── gguf/ └── qwen-kap-final-Q4_K_M.gguf (4.4 GB) ``` ## Kullanım ### MLX ile (macOS) ```python from mlx_lm import load, generate model, tokenizer = load("MODEL_REPO_ID") messages = [ {"role": "system", "content": """Sen bir KAP uzmanısın. Verilen bildirimi analiz et ve JSON formatında sonuç üret: { "sentiment": <-40 ile +40 arası>, "volatility": <0-5>, "is_related_party": <0/1>, "currency_impact": <0/1/2>, "category": "" }"""}, {"role": "user", "content": "ASELSAN, Savunma Sanayii Başkanlığı ile 500 milyon dolarlık yeni ihale sözleşmesi imzaladı."} ] prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) response = generate(model, tokenizer, prompt=prompt, max_tokens=150) print(response) ``` ### Transformers ile ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("MODEL_REPO_ID") tokenizer = AutoTokenizer.from_pretrained("MODEL_REPO_ID") # ... aynı mesaj formatı ``` ### llama.cpp ile (GGUF) ```bash ./llama-cli -m qwen-kap-final-Q4_K_M.gguf \ -p "<|im_start|>system Sen bir KAP uzmanısın...<|im_end|> <|im_start|>user ASELSAN yeni ihale kazandı.<|im_end|> <|im_start|>assistant " -n 150 ``` ### Ollama ile ```bash # Modelfile oluştur echo 'FROM ./qwen-kap-final-Q4_K_M.gguf' > Modelfile ollama create qwen-kap -f Modelfile ollama run qwen-kap ``` ### LM Studio ile 1. GGUF dosyasını indir 2. LM Studio'da "My Models" → "Import" ile ekle 3. Chat arayüzünde kullan ## Çıktı Formatı Model JSON formatında çıktı üretir: ```json { "sentiment": 30, "volatility": 2, "is_related_party": 0, "currency_impact": 2, "category": "YATIRIM_SOZLESME" } ``` ### Sentiment Değerleri | Değer | Anlam | |-------|-------| | +40 | Çok Olumlu (devre kesici tavan) | | +30 | Olumlu (kâr artışı, temettü, yeni sözleşme) | | +20 | Hafif Olumlu | | 0 | Nötr | | -20 | Hafif Olumsuz (zarar açıklaması) | | -40 | Çok Olumsuz (devre kesici taban) | ### Volatilite Değerleri | Değer | Anlam | |-------|-------| | 0 | Düşük - rutin bilgilendirme | | 1 | Normal | | 2 | Orta | | 3 | Yüksek | | 5 | Çok Yüksek - devre kesici | ### Kategoriler - `GENEL_BILGI` - Rutin bilgilendirmeler - `FINANSAL_RAPOR` - Mali tablolar, kâr/zarar - `YATIRIM_SOZLESME` - Yeni yatırım, sözleşme - `SERMAYE_TEMETTU` - Temettü, sermaye artırımı - `KAR_PAYI_DAGITIM` - Kâr payı dağıtımı ## Sınırlamalar - Model sadece Türkçe finansal metinler için optimize edilmiştir - Yatırım tavsiyesi niteliği taşımaz - Gerçek zamanlı piyasa verisi içermez - Tahminler %100 doğruluk garantisi vermez ## Lisans Apache 2.0 ## Teşekkürler - **ITU Perceptron** - Stage 1 eğitimi için [turkish-financial-sentiment](https://huggingface.co/datasets/ituperceptron/turkish-financial-sentiment-256k) dataseti - **Qwen Team** - Base model ## Katkıda Bulunanlar - **Furkan Yılmaz** - ([@furkanyllmz](https://huggingface.co/furkanyllmz)) - **Aleyna Taşdemir** ([@aleynatasdemir](https://huggingface.co/aleynatasdemir)) ## Referanslar - [Qwen2.5 Technical Report](https://arxiv.org/abs/2309.16609) - [KAP - Kamuyu Aydınlatma Platformu](https://www.kap.org.tr/) --- **Not:** Bu model araştırma ve kişisel QuantTrade algoritmalarına anlamlı feature ekleme amaçlıdır. Yatırım kararlarınızda profesyonel danışmanlık almanızı öneririz.